打印
[技术问答]

电机的启停影响单片机程序的运行,该如何解决?

[复制链接]
800|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mattlincoln|  楼主 | 2023-4-25 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  解决问题之前先要定位问题在哪里。电机启动瞬间电流特别大,如果电源供电不足,会把电压瞬间拉低,导致单片机发生低电压复位。如果电机启停瞬间产生的EMI干扰信号通过VDD窜入单片机,也会使单片机程序跑飞或者复位。
用示波器测量单片机VDD,可以有效的发现问题,观察电机启停瞬间VDD有波形。如果VDD在电机启停瞬间有拉低,很大可能是单片机发生了低电压复位。可以把单片机连接到仿真器,在程序里设置断点,进一步确定电机启停瞬单片机是否发生复位。

  如果在电机启停瞬间有尖峰出现,说明电机发生的EMI干扰信号已经通过传导或者辐射干扰到单片机的电源VDD了。同样可以把单片机连接到仿真器,在程序里设置断点,进一步确定电机启停瞬单片机程序跑飞还是受干扰复位了。

  02

  避免单片机低电压复位

  如果电压的变化不是太大,可以给单片机的VDD增加一个容量较大的电容。电压拉低一瞬间,电容会给单片机维持供电,避免发生低电压复位;如果电压拉低实在太严重,就需要检查电源的设计是否合理了。

  03

  滤除电机产生的EMI干扰

  针对电机产生的EMI干扰信号的频率,加入适合的高频电容、电感、磁珠。滤除窜进单片机VDD的干扰信号。

  04

  单片机复位后自恢复参数

  经过改善,消除了低电压复位或者EMI干扰是最好的解决方法。如果实在没办法解决问题,还可以通过软件来处理。打开单片机的看门狗,程序执行电机启、停指令前先把重要的参数保存下来;单片机发生复位后,根据状态标志位判断是否是电机启停产生的非正常复位,如果是非正常的复位,恢复之前保存的参数再继续运行程序。

使用特权

评论回复

相关帖子

沙发
tpgf| | 2023-5-10 17:13 | 只看该作者
一看题目我感觉是不是启停的电流变化大 产生了干扰呢

使用特权

评论回复
板凳
qcliu| | 2023-5-10 17:28 | 只看该作者
功率不够的话 确实会导致电压下降从而印象单片机的运行

使用特权

评论回复
地板
drer| | 2023-5-11 08:21 | 只看该作者
有电机的系统 模拟地和数字地是不是应该分开呢

使用特权

评论回复
5
coshi| | 2023-5-11 09:00 | 只看该作者
单片机经常复位会不会对其寿命及正常使用有不好的影响呢

使用特权

评论回复
6
kxsi| | 2023-5-11 11:08 | 只看该作者
如果需要保存参数的话  在非正常复位的时候需要对所需的所有外设进行初始化吗

使用特权

评论回复
7
wiba| | 2023-5-11 11:29 | 只看该作者
非正常复位的情况下 会接着复位瞬间的状态运行吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

1347

帖子

3

粉丝