如何提高单片机的抗干扰能力?亲 你懂吗?
如何提高单片机的抗干扰能力? 亲 你懂吗?
关于这个讨论我写了一个帖子总结,方便大家交流学习,需要查阅的请点击:
吴鉴鹰单片机项目详细解析系列(连载)之基于单片机的实战项目查看相关的帖子
一个工人把手伸进一个5吨重的剪板机下面想取出一块钢板,万万没有想到,瞬间一阵惨叫,两只手被压为肉泥;一天,一个化工厂的配料机的按钮被按下,想停止原料的继续流入,万万没有想到系统失控,造成一个化工厂夷为平地;这天,矿井下面一切正常的运转着,万万没有想到一个钢柱子朝着老张飞奔而去,插入老张腹部,幸好没中要害,但也留下后遗症、、、、、、
这些最终的结论都是设备的干扰造成的误动作,可能运行一千次出现一次,甚至运行十万次出现一次,更有甚者一年出现一两次,但是只要已经出现后果就不堪设想,造成人身财产的重大伤害。
原来我在镇江做焊机的时候,老是出现焊机在上电瞬间有信号输出,出现的频率很高,最严重的一次是差点将一个客户员工的手指压到。后来我想了个方法就是是在信号输出的I/O口上加上一个50k的上拉电阻,发现问题还是有,但是出现的频率降下来了,后来又改用15k的电阻,就彻底地把那个文艺解决了,后来查了很多资料才知道:由于干扰信号也遵循欧姆定律,所以在越存在干扰的场合,选择上拉电阻就要越小,因为干扰信号在电阻上产生的电压就越小。 因为这个事也得到了老板的赏识。
就像王兴之先生编写的《单片机应用系统电磁干扰与抗干扰技术》书中说到的那样—— 电磁干扰已成为许多电子设备与系统在现场正常操作运行的主要障碍之一 。这本书对单片机的电磁干扰可抗干扰技术做了详细的理论阐述和大量抗干扰的技术方法,大家可以看一看。
以上是我的一个小小的项目经验,那么作为一个优秀工程师的您,那么对于针对单片机的干扰,减少这种悲剧的发生,您能分享您宝贵的意见吗?热烈欢迎各同行各抒己见,提出自己的独特见解!
关于这个讨论我写了一个帖子总结,方便大家交流学习,需要查阅的请点击:
吴鉴鹰单片机项目详细解析系列(连载)之基于单片机的实战项目查看相关的帖子
对回帖分享自己的经验心得的,参加【每周论点】的朋友,将会根据讨论的深度、互动数量,评选出3位优秀参与者,送出精美礼品一份
说道这个,讲讲我以前遇到过的吧
MCU能够适应的电压范围一般在3V-5.5V,但电源的波动对MCU而言却很敏感,比如说MCU可以在3.3V电压下稳定工作,但却不能在电压在3V-5.5V波动的情况下稳定工作。
通常是用电源稳压块,做好电源的滤波等工作,提示:一定要在电源旁路并上0.1UF的瓷片电容来滤除高频干扰,因为电解电容对超过几十KHZ的高频干扰不起作用。这就是为什么经常在电源并上电容的原因
确实很重要,比如涉及模拟信号处理的,滤波电容一定要加足,宁大勿小,保证电源的纯净,信号不受干扰;电流大的线路,铜线必须得足够粗。
嗯,一般单片机项目我们都是在电源端口处一个10uf电解电容和一个104瓷介电容,作双重保证
说道这个,我记得看过一篇TI的文章,电容也会带来干扰失真的
全文如下:
我的电容器不完美
我们总喜欢把电容器想得太完美,这或许是错的,提到失真时更是如此。电容器通常位于信号路径中,可能会给其自身的所有电路带来失真。图 1 是一些信号路径中包含电容器的典型电路。
图1. 六阶带通滤波器的第一阶(a) 以及为ADC 驱动R/C 对的放大器(b)。
图 1a 是一个 Sallen-Key 带通滤波器级。该电路中有两个电容器都暴露在出现在滤波器信号路径中的 AC 电压中。图 1b 是一款在 SAR-ADC 输入驱动器路径中使用 R/C 网络的放大器。电容器 CF 在到达模数转换器 (ADC) 之前首先遇到输入信号。
失真的产生是因为电容器电压及频率的依从特性。
下列等式可描述电容随电压曲线的变化情况:
C = C0 ( 1 + bVCAP),
其中
C0 是标称电容
VCAP 是整个电容的电压
b 是电容器的电压系数。它通常包含引起非线性响应的更高阶项。
图 2 是电压与电容变化的典型曲线图。
图2. 电容器电压系数
变化电容器的输入输出电荷可穿过相邻阻抗,形成信号失真。由于来自电容器的充电电流具有电压依从性,因此它会产生非线性错误。对于任何信号来说,这种错误都包含谐波。
电容器电压系数特性在半导体工艺中会更加显著。由于图 1b 中的 ADC 输入具有内部输入 R/C,因此失真产生现象出现在转换器输入级内部。幸运的是,半导体厂商已经针对该错误调整了数字输出信号。此外,较小内部 ADC 电容器 (CSH) 的较大电压系数可通过较大外部电容器的电压系数拉低。
此外,电容器的电介质属性可能会引发更多与频率有关的失真。您可在图 3 中看到这些影响。
图3. 电容器THD+N 与频率的关系
图 3 是几个电容器的特性,以及其总谐波失真 + 噪声 (SINAD) 与频率性能的对比。该图中的绿线使用 C0G 电容器测得。金色线是系统测量结果。图中的其它曲线分别取自具有不同电介质 — Y5V(红)、Z5U(蓝)以及 X7R(黑)的陶瓷电容器。注意,这些类型的电容器会随频率变化而产生显著的非线性与信号失真。
图中未显示 NPO 类陶瓷电容器。NPO 类电容器与 C0G 性能基本一致。
信号失真的形式有多种,而电路信号路径中的电容器很可能是失真原因最后考虑的事情。为 C1 及 C2(图 1a)以及 CF(图 1b)选择适当的电容器类型非常关键。您会发现更高质量的外部电容器不会降低滤波器或 ADC 的性能。
这个分享很好,电源滤波是做好一个设备的前提,但是这仅仅是局限于该设别内部的干扰,假如客户一次性用好多台设备呢?那么设备之间的干扰又应该怎么滤除呢?
电容不一定是越大越好,大电容滤除低频,小电容滤除高频。
在MCU中时钟信号也会产生干扰
时钟信号不仅是受噪声干扰最敏感的部位,同时也是CPU 对外发射辐射干扰和引起内部干扰的噪声源。
辐射干扰的产生主要与时钟信号的上升和下降时间有关,即门电路的跳变时间Tr 。时钟频率越高,信息传输线上信息变换频率也就越高,致使干扰加剧,故在满足系统功能要求的前提下,要尽量降低时钟频率。这样有助于提高系统的抗干扰性能。为了避免时钟信号被干扰,可以采取以下措施:
(1) 时钟脉冲电路配置时应注意靠近CPU ,引线要短而粗。
(2) 外部时钟源用的芯片VCC与GND之间可接1μF 左右的去耦电容。
(3) 在可能的情况下,用地线包围振荡电路,晶体外壳接地。
(4) 若时钟还做其它芯片的脉冲源,要注意隔离和驱动措施。
我这个是针对电源端口的滤波电容的,而我们加滤波电容的习惯是电解电容和瓷介电容一起加,当电源电流越大时,其中的电解电容就得越大
设备与设备之间这个就比较复杂了
涉及到电磁干扰,这个可能更需要整个系统的抗干扰处理,比如屏蔽线或者隔离器等
你说的很对,需要提高整个系统的看干扰能力,屏蔽,或者用隔离变压器等器件,针对这个问题,您能更加详细的阐述一下吗?
我说的是电源Vcc和GND之间的滤波电容啊,信号路径的当然不能乱来,要计算的
说到这些,最基础的大家都熟悉的应该是是按键去抖动,这个大家都会遇到的,通常做法是软件去抖动,延时
确实如此,正如你说的,如图所示:滤波电容和陶瓷片电容一起用
但是解决电源问题只是解决整个系统干扰的一部分,对于其他部分,您还有其他的见解吗?
嗯,这个那当然是要计算的。
另外说道这个加电容,记得以前做产品时,看到MCU datasheet上有这么一说,某个引脚没有被用到,不能直接NC,要通过一个电容连接到地GND
嗯,是的,按键延时去抖这是解决人机界面的干扰,这也是单片机系统干扰的一部分。
屏蔽线对静电干扰有较强的抑制作用,而双胶线有抵消电磁感应干扰的作用.
开关信号检测线和模拟信号检测线可以使用屏蔽双胶线,来抵御静电和电磁感应干扰;
特殊的干扰源也可以用屏蔽线连接,屏蔽了干扰源向外施加干扰。
这个电路图是电源,电源要外接线到MCU电源端口,这段线有可能产生电感杂波,所以滤波电容要尽可能地加在靠近MCU电源引脚处
我有一次是三极管用错了,导致写不进去程序~~~
隔离这块,隔离目的之一是从电路上把干扰源和易干扰的部分隔离出来,使监控装置与现场仅保持信号联系,但不直接发生电的联系。
隔离的实质是把引进的干扰通道切断。从而达到隔离现场干扰的目的。
一般单片机应用系统既有弱电控制系统又有强电控制系统,通常实行弱电和强电隔离,是保证系统工作稳定、设备与操作人员安全的重要措施。
通常隔离有:电源隔离,输入输出口隔离,空间隔离