技术文档

电机 干扰 单片机 电机启动时单片机死机故障的分析

小编 2024-11-28 技术文档 23 0

电机启动时单片机死机故障的分析

几天前,一个朋友碰到了一个棘手的技术问题,找到了我。

朋友应其客户要求找人设计了一款用于控制显示屏上下位置的装置,功能比较简单:

根据按键操作或者是蓝牙命令调节电脑显示屏的上下位置;

这样做好了,客户不远万里来到工厂一起调试样机。

在关键节骨眼上,样品掉了链子:只要一启动电机,单片机就死机重启。

反复测试和调整,始终无法解决问题。

无奈之下,找到了我这个有几十年工作经验的工程师。

我让朋友把电路图和PCB发给了我,如下图:

电路原理图

PCB

线性变压器将220VAC转为12VAC之后,经过桥式整流由电容滤成脉动直流由稳压成直流5.0V给控制电路供电;

12VAC还给电机供电。

单片机通过继电器控制电机运行;

该电路图和PCB有以下几点值得重点关注;

1) 桥式整流后级的储能电容是1个100uF/50V的电解电容;

2) RS485的A+,B-输出没有任何保护;

3) 给电机供电的导线,从top layer到bottom layer的连接,仅用两个0.3mm/0.8mm的过孔;

单片机死机重启,比较有可能有以下两个原因:

1) 电源跌落,电机运行瞬间,电机的磁场还没有建立,电机的阻抗为导线的直流等效电阻,此时的电流非常大,高达正常工作电流的近十倍。

由线性变压器供电的储能电容仅为100uF,是远远不够的,根据本人多年的经验,线性变压器共电的储能电容至少应该为几千uF。一般多用4700uF或者6800uF。

由二极管整流桥整成的直流为频率为50Hz的脉动直流,而不是一条恒定的直线。

根据I=Cdu/dt,我们可以根据负载电流大概估算出所需储能电容的大小。

电机启动瞬间的瞬态过程中,启动电流非常大,线性变压的输出可能被拉低,没有办法给+5V的稳压电路供电;

此时,由储能电容向控制电路供电,两个继电器线圈电流为100mA,启动时间如果为100ms,如果此时允许2v的电压跌落;

电容C=100mA*100ms/2=10000uF。

2) 干扰信号耦合到复位脚导致复位,电机启动瞬间,电流变化非常大。

其产生的变化磁场也非常大,如果复位脚的导线因为这个变化的磁场感应出干扰电压,也有可能导致复位。

从PCB板上来看,电机控制线离单片机还有几十cm的距离,而且PCB的走线也没有看出形成环路。

应该不至于有那么大的干扰导致复位。

综合以上两点考虑,我立即让朋友找客户做了以下事情:

1) 用示波器测试桥式整流之后的电压波形,其不是一条恒定直流,而是一条波动的线,在的果然在电机启动时,电压发生了跌落;

2)将100uF/50V的电容改成4700uF/50V的电容,故障消失,电机启动时,单片机不再死机;

至此,问题顺利解决,最后我让朋友对该电路图以及PCB进一步做了下述改进:

1)大电流的导线不能只用两个过孔来做层间连接,过孔的载流能力很差,印象中过孔的铜箔厚度仅为0.5OZ, 仅为17um,大电流时,直接就烧毁断路了。

2)RS485的输出脚A+, B-需要加TVS进行保护;

3)为了降低干扰,可以在电机控制输出端加上TVS吸引高压的反向电动势。

4)可以考虑在电机控制输出端加上自恢复保险丝PTC,做输出短路保护,避免输出短路时烧断铜箔。

谈谈数字电路、单片机中出现的干扰问题及解决措施

形成干扰的基本要素有三个:

(1)干扰源,指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。

(2)传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。

(3)敏感器件,指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。

抗干扰设计的基本原则是:抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(类似于传染病的预防)

1 抑制干扰源

抑制干扰源就是尽可能的减小干扰源的du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。

抑制干扰源的常用措施如下:

(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。仅加续流二极管会使继电器的断开时间滞后,增加稳压二极管后继电器在单位时间内可动作更多的次数。

(2)在继电器接点两端并接火花抑制电路(一般是RC串联电路,电阻一般选几K到几十K,电容选0.01uF),减小电火花影响。

(3)给电机加滤波电路,注意电容、电感引线要尽量短。

(4)电路板上每个IC要并接一个0.01μF~0.1μF高频电容,以减小IC对电源的影响。注意高频电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。

(5)布线时避免90度折线,减少高频噪声发射。

(6)可控硅两端并接RC抑制电路,减小可控硅产生的噪声(这个噪声严重时可能会把可控硅击穿的)。

按干扰的传播路径可分为传导干扰和辐射干扰两类。

所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意处理。所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加蔽罩。

2 切断干扰传播路径的常用措施如下:

(1)充分考虑电源对单片机的影响。电源做得好,整个电路的抗干扰就解决了一大半。许多单片机对电源噪声很敏感,要给单片机电源加滤波电路或稳压器,以减小电源噪声对单片机的干扰。比如,可以利用磁珠和电容组成π形滤波电路,当然条件要求不高时也可用100Ω电阻代替磁珠。

(2)如果单片机的I/O口用来控制电机等噪声器件,在I/O口与噪声源之间应加隔离(增加π形滤波电路)。控制电机等噪声器件,在I/O口与噪声源之间应加隔离(增加π形滤波电路)。

(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。此措施可解决许多疑难问题。

(4)电路板合理分区,如强、弱信号,数字、模拟信号。尽可能把干扰源(如电机,继电器)与敏感元件(如单片机)远离。

(5)用地线把数字区与模拟区隔离,数字地与模拟地要分离,最后在一点接于电源地。A/D、D/A芯片布线也以此为原则,厂家分配A/D、D/A芯片引脚排列时已考虑此要求。

(6)单片机和大功率器件的地线要单独接地,以减小相互干扰。大功率器件尽可能放在电路板边缘。

(7)在单片机I/O口,电源线,电路板连接线等关键地方使用抗干扰元件如磁珠、磁环、电源滤波器,屏蔽罩,可显著提高电路的抗干扰性能。

3 提高敏感器件的抗干扰性能

提高敏感器件的抗干扰性能是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。

提高敏感器件抗干扰性能的常用措施如下:

(1)布线时尽量减少回路环的面积,以降低感应噪声。

(2)布线时,电源线和地线要尽量粗。除减小压降外,更重要的是降低耦合噪声。

(3)对于单片机闲置的I/O口,不要悬空,要接地或接电源。其它IC的闲置端在不改变系统逻辑的情况下接地或接电源。

(4)对单片机使用电源监控及看门狗电路,如:IMP809,IMP706,IMP813,X25043,X25045等,可大幅度提高整个电路的抗干扰性能。

(5)在速度能满足要求的前提下,尽量降低单片机的晶振和选用低速数字电路。

(6)IC器件尽量直接焊在电路板上,少用IC座。

先说说在这方面的经验:

软件方面:

1、常将不用的代码空间全清成“0”,因为这等效于NOP,可在程序跑飞时归位;

2、在跳转指令前加几个NOP,目的同1;

3、在无硬件WatchDog时可采用软件模拟WatchDog,以监测程序的运行;

4、涉及处理外部器件参数调整或设置时,为防止外部器件因受干扰而出错可定时将参数重新发送一遍,这样可使外部器件尽快恢复正确;

5、通讯中的抗干扰,可加数据校验位,可采取3取2或5取3策略;

6、在有通讯线时,如I^2C、三线制等,实际中我们发现将Data线、CLK线、INH线常态置为高,其抗干扰效果要好过置为低。

硬件方面:

1、地线、电源线的部线肯定重要了!

2、线路的去偶;

3、数、模地的分开;

4、每个数字元件在地与电源之间都要104电容;

5、在有继电器的应用场合,尤其是大电流时,防继电器触点火花对电路的干扰,可在继电器线圈间并一104和二极管,在触点和常开端间接472电容,效果不错!

6、为防I/O口的串扰,可将I/O口隔离,方法有二极管隔离、门电路隔离、光偶隔离、电磁隔离等;

7、当然多层板的抗干扰肯定好过单面板,但成本却高了几倍。

8、选择一个抗干扰能力强的器件比之任何方法都有效,这点应该最重要。

相关问答

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

电机的启停瞬间工作电流比较大,也会产生一些干扰信号解决问题之前先要定位问题在哪里。电机启动瞬间电流特别大,如果电源供电不足,会把电压瞬间拉低,导致单...

求助: 单片机 可能受到强电 干扰 经常死机,怎么办?

1、接入线加电感或磁环;2、单片机用金属外壳封闭,外壳可靠接地;1、接入线加电感或磁环;2、单片机用金属外壳封闭,外壳可靠接地;

400Hz的高电压会对 单片机 有射频 干扰 吗?

主要是工频50HZ的干扰吧。射频没有。越是有大变压器和大功率电机的周围,干扰越强。工频的穿透力很强,一般的铁盒都屏蔽不了。除了用屏蔽盒,也想办法做个接地...

电机干扰 ,导致STM32死机,求帮助?

中断最好不要弄太多,你可以试试STM32的SLEEPMODE,先挂起SYSTICK,然后调用进入SLEEP的函数,这时候单片机会休眠,任意中断可以唤醒,让程序继续往下执行,这...

单片机 33v供电 干扰 怎么解决?

单片机供电电源出现干扰纹波,消除的方法如下:1、在交流电源端加装交流电源滤波器。2、直流电源加设LC滤波电路。3、在直流电源输出端加大滤波电容,消除电路...

请问这个步进 电机 驱动器可以直接接5V 单片机 io口控制吗?

一般这样的步进电机使用12-24V直流控制的,其DIR,PULSE及EN信号可以使用单片机IO口直接驱动,但是为了单片机及电路的稳定性、抗干扰考虑,一般由单片机控制光耦...

如何消除氩弧焊机对 单片机 干扰 ?

干扰主要有两部分,一是电源线路的干扰,解决办法(单片机的供电电源选用宽电压范围的开关电源),二是来自空间的电磁辐射,解决办法(整个单片机系统用铁壳包裹,...

单片机 可以同时进行2个不同的延时吗?

这个很好控制,用定时器来控制就可以了,可以让两个步进电机速度不同,相互工作互不干扰。这个很好控制,用定时器来控制就可以了,可以让两个步进电机速度不同,相...

智能付费电表最怕什么 干扰 ?

可以,每个厂家都设置了一套通用的校表仪器(无线的),可以读出电表当前值或历史明细,可以设置倒表、加速(每个脉冲走N圈)等系数、参数、电量数值等。目前大...

单片机 输入信号如何避免 干扰 ?

1、将单片机控制板用金属罩封起来(网状金属罩机可以)2、交流输入线如口端加磁环3、加电源滤波器增加抗干扰性。4、信号线的屏蔽层加电感接地或电源。1、将...

猜你喜欢