电机启动时单片机死机故障的分析
几天前,一个朋友碰到了一个棘手的技术问题,找到了我。
朋友应其客户要求找人设计了一款用于控制显示屏上下位置的装置,功能比较简单:
根据按键操作或者是蓝牙命令调节电脑显示屏的上下位置;
这样做好了,客户不远万里来到工厂一起调试样机。
在关键节骨眼上,样品掉了链子:只要一启动电机,单片机就死机重启。
反复测试和调整,始终无法解决问题。
无奈之下,找到了我这个有几十年工作经验的工程师。
我让朋友把电路图和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、选择一个抗干扰能力强的器件比之任何方法都有效,这点应该最重要。
相关问答
单片机 控制TT减速马达,共用5V电源 干扰 现象?碳刷电机工作时会产生“打火”干扰,特别是旧电机在刚启动时,启动电流比较大,这时不单产生的“打火”干扰大,还会造成电源急促波动,从而形成干扰源影响芯片工...
单片机 io 干扰 怎么处理?单片机io干扰可能是由于长线耦合空间的电磁干扰所致,可以通过注意电源设计及去耦、PCB布局走线和去耦电容的放置、连线,以及在编码器的供电端加电容去耦和磁珠...
单片机 供电电源有 干扰 纹波,如何滤除?单片机电源均为直流电源,且常见MCU供电电压为5V、3.3V、1.8V等。所以此问题可以看作是低压直流电源的纹波如何滤除的问题。首先我们要先明确一个问题:电压纹波...
有没有人遇到静电 干扰单片机 复位的问题?有啊,如果你做过有电磁兼容的要求产品,需要做EMC实验,其中就有静电放电测试,这个测试中最常见的故障就是单片机复位或者死机。有啊,如果你做过有电磁兼容的要...
STM32 单片机 受电磁 干扰 触发中断?LS的,接个电容还叫毛上升沿触发,跟高电平触发有什么区别。外接上拉电阻可以减少干扰,引脚接个1K~10k的电阻到电源就可以了。LS的,接个电容还叫毛上升沿触发,...
如何消除氩弧焊机对 单片机 的 干扰 ?干扰主要有两部分,一是电源线路的干扰,解决办法(单片机的供电电源选用宽电压范围的开关电源),二是来自空间的电磁辐射,解决办法(整个单片机系统用铁壳包裹,...
怎样处理220v380电压以及电磁铁等对 单片机 限位开关信号的 干扰 ?给电源电缆套上钢管或采用铠装型电缆,钢管或钢带可靠接地,可抑制低频干扰。给电源电缆套上钢管或采用铠装型电缆,钢管或钢带可靠接地,可抑制低频干扰。
单片机 可以同时进行2个不同的延时吗?这个很好控制,用定时器来控制就可以了,可以让两个步进电机速度不同,相互工作互不干扰。这个很好控制,用定时器来控制就可以了,可以让两个步进电机速度不同,相...
单片机 IO输入模式口悬空时 干扰 ?到底怎么回事,低电平时正常工作,高电平时也被判断成了低电平,加上拉电阻加电容都可解决问题,也可软件上采取些措施,像按键消抖一样到底怎么回事,低电平时正常...
plc直接控制伺服 电机 有什么优缺点?PLC编程,比较简单,而单片机编程不易掌握。PLC是生产商将其功能模块化了,并提供专用的编程软件,主要用于开关量的控制,其可靠性比较高。单片机就是一个没有...