1、 硬件抗干扰设计
1) 选择抗干扰性能强的CPU
单片机和单片机抗干扰能力是不一样的。如果你的产品是工作在干扰比较大的环境,可以试试选用不同品牌的单片机;原来我在一个光电所,做YAG激光治疗机的控制部分,脉冲激光机的电源放电的时候,能量是很大的,在采取了所有能够想到的光电隔离等措施之后,还是不行;后来,选用了intel的8031,就可以了。
现在,8031兼容的厂家是越来越多了,很多厂家号称自己的芯片怎么怎么牛。那么,当你的系统遇到被干扰的时候,可以试试看,哪些单片机抗干扰性能最强。
这也是为什么在单片机系统中,选用51的原因,可以选择替换的兼容的CPU多;
实际上,摩托罗拉的单片机的抗干扰性能要比51的好。在北美大量使用。
2) 数字量的光电隔离
开关量信号实际上有不同的信号传输方式:
1) TTL电平
2) RS232电平(非平衡信号)
3) RS485电平(平衡信号,或者差分信号)
4) 电流环路(有电流或者无电流)
单片机的输入输出口线是最容易引进干扰的地方;对于不使用的I/O口线,需要使用电阻上拉到高电平,不可悬置。
直接将开关量信号接到单片机的口线上,是最不可取的设计;至少要加一个缓冲驱动的芯片隔离,而且这个芯片要跟CPU尽量近;在严重干扰的情况下,需要将所有的口线采用光耦光电隔离。
光耦隔离就是采用电流环路传输,避免在长线传输的时候,在传输线上积累高压和感应信号,使得数据紊乱甚至损坏TTL接口芯片,或者干扰单片机的正常运行。
注意,采用光电隔离是为了信号使用电流环路传输,而不是使用TTL电平传输,这意味着,从Cpu模块的角度看,开关量输出,驱动器件,如:74LS244/245/07…等等,在CPU模块这里,光耦在另外一块电路板处;开关量输入,光耦在CPU模块处,而驱动器件在另外一块电路板处;这样才能形成电流环路。数字信号的电流环路的电流一般在5mA~10mA,根据光耦的指标而定。
在工业环境下与CPU模块相对独立的键盘,需要使用光耦光电隔离接入到系统中,否则极易损坏接口芯片;
3) 模拟量的光电隔离
模拟量隔离有2种方法,一种是,使用线性光耦,隔离模拟量;但是由于线性光耦的昂贵的价格,并且线性区也很窄,不推荐使用。
比较常用的办法是,,选用SPI接口,或者3线接口的AD或者DA,把数据、时钟和使能信号,使用光耦隔离。
这实际上是把模拟量的信号转换成串行的开关量的数据流传输;
还有一种是使用4~20mA的电流环路,但是4~20mA的芯片价格比较昂贵,而且电路也复杂;
4) 模拟量的通讯传输
另外一种办法,就是使用一个CPU,把模拟量读入到CPU,再通过RS485接口把数据按照通讯协议,传输到主CPU模块;当然,也可以传输开关量信号等;
实际上,这是一个分布式的测控网络的方法;多板的单片机测控系统经常使用这种方法。
5) 独立的看门狗
选用独立的看门狗作为系统复位信号产生;当系统跑飞时,由于没有喂狗,看门狗产生复位信号,使得系统可以最大限度地找回跑飞前的数据,尽可能重新开始平稳的运行。
6) 采用RS232电平传输
比如,机箱的面板显示,经常采用max7219,这时如果使用TTL电平,经常被干扰使得显示不正常;可以在发送端使用一片MAX232,将TTL电平转换成RS232电平,在面板显示电路板,选用一片MC1489,将RS232电平,转换TTL电平,加强驱动能力,就可以保证信号正确传输;
7) 采用RS422电平传输
同样,也可以在发送端,采用一片MAX485,将TTL电平转换成RS485电平,在接收端,选用一片MAX485,将RS485电平,转换TTL电平,就可以保证信号正确传输;
2、软件抗干扰设计
1) 一些文章指出,单字节指令,如SJMP就比LJMP抗干扰性能要好;
2) 在多字节指令地方加入一些单字节指令:比如NOP;这是牺牲程序空间,换取系统的稳定;
3) 在程序开始时,检查RAM,判断是上电复位还是程序跑飞了看门狗复位;最大限度争取程序重新回到跑飞的地方,不被外部察觉平稳运行。
4) 一个比较好的程序结构是避免程序进入死循环的重要方法;这是牺牲高效率的代码获得的。
5) 如果能预知干扰,比如触发一个放电设备,或者控制一个交流接触器,采用休眠+定时器唤醒的办法是实用的;这是一个有效的方法。
可以参考:
《单片机应用程序设计技术》 周航慈 北京航空航天大学出版社
3、 PCB的可靠性设计
1)尽量减少过孔;
2)尽量减小PCB的面积;
3)尽量加粗线条
4、冗余设计
2倍以上的冗余量。
比如:
1) 5V的电源,选用25V耐压的电容;
2) 功耗1/8W的电阻,选用1/4W的电阻;
3) 系统平均功耗5V/2A,选用5V/4A的开关电源等
4) 光耦的电流,在数据手册额定的范围内;
5) 驱动芯片带负载,如7407,uln2003等,选取工作范围的一半~3/4处;
这是为了产品能够有比较长的系统寿命。
但是我也注意到,在一些国外的进口产品,往往有一些薄弱的环节。
试举一例:
在某德国进口的磁卡设备中,有一个红外发射和接收的模块,以定位磁卡的位置;使用中发现红外发射的模块经常损坏,经研究发现,红外发射二极管的限流电阻在100欧姆(大概值,时间长忘了,电源是5V),导致红外发射管经常损坏。而接收管与发射管之间的距离仅仅几个mm。我相信,这不是设计者的疏忽,而是在有意识地控制产品的寿命,以获得相应的备件和售后服务的利润。
5、其它
1)在复杂现场条件下,可以考虑,把整个CPU控制电路,采用金属机箱,做好接地;接地电阻不小于4欧姆;保证没有空间干扰的串入;
2)所有机箱对外的接口,使用光电隔离、4~20mA电流环路,或者平衡信号传输,没有公共的信号地;保证没有干扰由控制线路串入;
3)对于功率驱动来说,尽量采用Opto-22兼容的无触点的固态继电器,与机械继电器相比,固态继电器更加可靠,具有更快的反应速度和抗噪声功能。国外的固态继电器,
4)控制设备尽量远离执行机构;比如,控制一个交流接触器,使用固态继电器模块,将该模块放置在配电柜内;而控制设备放置在监控室。
文章评论(0条评论)
登录后参与讨论