[技术问答] 电机的启停影响单片机程序的运行,该如何解决?

[复制链接]
1151|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 | 显示全部楼层
有电机的系统 模拟地和数字地是不是应该分开呢
coshi 发表于 2023-5-11 09:00 | 显示全部楼层
单片机经常复位会不会对其寿命及正常使用有不好的影响呢
kxsi 发表于 2023-5-11 11:08 | 显示全部楼层
如果需要保存参数的话  在非正常复位的时候需要对所需的所有外设进行初始化吗
wiba 发表于 2023-5-11 11:29 | 显示全部楼层
非正常复位的情况下 会接着复位瞬间的状态运行吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

1626

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部