快乐向前冲2014季冠军:谈谈51单片机做工控 中国电子开发网(www.ourdev.cn)

来源:百度文库 编辑:偶看新闻 时间:2024/04/25 22:07:16
我在一家玩具公司做设备控制,常会遇到这样的问题,控制动作很多,输入输出口也需要很多(常超过20个I/O),但是动作并不复杂,如果采用如此多点数的PLC一般都需要好一千多元,如果还需要一些A/D转换功能的话成本就更高了,这种情况下,我就采用了编程灵活成本低廉的单片机来控制,但是单片机用于工控有个致命缺点就是抗干扰能力较弱,经多次实践和摸索,我总结了以下几点来解决,已经使用有6年左右了,基本没有出现明显的干扰问题.
 
硬件方面: 一般来说我们做的工控是非标的,较难购到现成的,就算偶尔购到也不能完全做到抗干扰,于是我便动手自制,输入输出口采用晶体管来做隔离(8550或8050),基极用一只1K左右的电阻到芯片,同时在基极用一只104P的电容到地旁路杂波信号,集电极接一只10K的上拉电阻到电源,发射极直接接地,最后在集电极取信号控制继电器(一般采用固态继电器,就是带光耦控制的双向可控硅);
 软件方面,这也是最重要的,一般我们在编程时习惯采用高电平有效(如点亮一只LED,我们一般是将它的负端通过限流电阻接地,正端接I/O,当芯片输出为高时,Led 发光),但是这就给干扰影响控制埋下了隐患,因为一般外界的干扰都产生的的是正脉冲(杂波),很易引起设备误动作,解决的办法就是在初始化时将各I/O电平拉高,然后再用低电平来做有效控制,这样大大第减少了干扰机会,当然,这些还远远不够,我们还需要在编写程序时用看门狗来防止程序跑飞和按键防抖来抗干扰,这些都用上基本就能解决干扰问题了.
 在此提出这个问题是希望大家能共同探讨,相互学习,同时也是我入门注_册通过审核的条件,希望能得到大家的支持.