实验室札记
单片机的I/O接口与抗干扰问题

🏠 首页 《无线电》杂志 2005年 🔗 第6期 🔗 第37页 分类:电脑·单片机·通信 🔗 张春峰 🔗

在单片机的应用过程中,抗干扰处理是一个相当重要的问题。有人认为:对整个研制开发过程进行回顾,为抗干扰而做的工作往往比前期实验室研制样机的工作还要多,有时甚至多几倍。笔者对此深有体会。

结构功能

笔者曾参与研制设计过电力变压器的自动排线绕线机。整个系统由机身、滑架、电机、变频器及相关的智能控制等部分组成。智能控制部分的电路结构如附图所示。电路中与单片机直接相连的有触摸屏、旋转编码器、步进电机驱动器、显示驱动电路、输入输出接口等。

图1
图1 🔍原图 (567×456)

触摸屏
:用于绕线的线宽、绕线总匝数等设置以及一些开关量的按钮控制。它是通过RS232专用电路MAX232N与MCU的串行口连接的。


旋转编码器:
用来反映绕线机主轴旋转状态。每转一周,旋转编码器输出1000个脉冲,脉冲信号是通过光电耦合加到MCU的两个外部中断口的,由此辨别旋转方向及记录旋转量,同时也以此进而控制步进电机。


步进电机驱动器:
用以驱动步进电机来配合自动排线的。驱动信号由MCU智能运算后加至步进电机驱动器,与其他输出控制信号一样,都是通过ULN2804电平变换后输出的。

此外,所有控制信号的输入都是通过光耦隔离后加到MCU的I/O口。

问题现象

整个智能控制部分设计组装完毕后,在实验室里进行与触摸屏连接、开关量控制、对旋转编码器的旋转信号的计数等调试,结果都很正常。可是当整套电控部分装配到自动排线绕线机上进行实地调试时问题出现了——当变频器驱动电机进行现场运作时,所记录的绕线周数与实际线圈匝数有偏差; 步进电机运行不稳定,有时步进电机会无缘无故地改变转动方向。

发现问题后首先怀疑的是软件程序可能有差错。针对以上的问题清查了相关的程序软件,未发现异常。后来怀疑可能是变频器的干扰所至,我们关闭了变频器及其驱动的电机,切换挡位改用人为的手动旋转操作,就一切都正常了,步进电机运行稳定,所记录的绕线数据及转动旋转角的定位都丝毫无差。

分析解决

以上的手动操作实验,确定了出错现象不是程序问题而是干扰所致,且确定干扰源主要来自变频器运行的高次谐波。为此,采取抗干扰的种种措施:加铁壳屏蔽、扼流圈陷波、电感电容滤波等,收效都甚微,虽然步进电机的运行稳定了不少,也不常变动其旋转方向了,但绕线周数的记录与实际所绕匝数仍然有偏差。现场运行绕线一二百周就会偏差四五周。

后来从MCU的I/O接口及其相关的电路结构上去探究,发觉在电路设计上有一个麻痹性的失误,与MCU的十几个输入端口相加接的光电耦合电路“耦合”的两边是共用同一个“地”的,光电耦合隔离得不彻底可能便是导致抗干扰“措施”不力的原因所在。在此思路下,将光电耦合器两边的“地”分割开来,并加了一组电源,使光电耦合器两边的电源各管各,即完全独立隔离(两边不共地,抑制了由于地环路所产生的干扰)。这样处理后再上机现场调试,步进电机稳步运行;计数显示也基本准确,几百转后只偏差0.02周。这偏差已不影响记录及其他所要求的精度了。

讨论总结

实验告知,在一个系统中,要完全消除干扰是很难做到的,只能尽量减少干扰,保证系统正常工作。

抗干扰措施有硬件措施和软件措施。在诸多的实践中都会感觉到,单片机的应用过程中硬件抗干扰处理比软件抗干扰的更为直观、有效。硬件措施如果得当,可将绝大部分干扰拒之门外。当然仍然会有少数干扰进入微机系统,故软件措施作为第二道防线也是必不可少的。由于软件抗干扰措施是以CPU为代价的,有时会影响系统的工作效率和实时性。因此,一个完整的抗干扰系统是由硬件和软件相结合构成的。

然而,无论硬件措施还是软件措施,如何采取都得视具体情况而言的。比如,硬件措施采用光电隔离电路,对数字量的输入/输出效果很好;采用双绞线能有效地抗共模干扰等。同样,软件措施的采取也有软件陷阱技术、软件看门狗、软件中值滤波、算术平均值滤波等。显然,并不是每一个系统中必须同时采用各种抗干扰措施,而是根据系统的具体情况选用其中的一种或几种来满足现场的要求就可以了。

参考资料

电路中的单片机AT89S52、MAX232N、ULN2804、旋转编码器、步进电机驱动器、触摸屏等的相关资料分别可由以下网址查阅:

http://www.icbase.com/pdf/add/ti/DS-101-00056cn.pdf。

http://www.icbase.com/pdf/STM/STM26880105.pdf。

http://proface.5230cn.com/GP-2301S.htm。

http://www.pro-face.com/support/manual/manual/manual_pdf/gp_hard/GP2301-MT12-BTHe_eng.pdf。

文/张春峰