打印

干扰害死人-单片机抗干扰问题(不知为啥结不了贴)

[复制链接]
楼主: cjseng
手机看帖
扫描二维码
随时随地手机跟帖
521
cjseng|  楼主 | 2014-1-11 20:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
menfiss 发表于 2014-1-11 20:07
对呀,没这么喂狗的

这样喂狗没见过吧?
MAX813L必须在WDI引脚上不断地翻转,狗才不会发出复位信号。我是在主程序里给该引脚一个电平,在定时中断里给另一个相反的电平,这样无论程序是在主程序里死掉了,还是在中断里死掉了,狗都会发出复位信号。实际上,每次程序跑飞,狗都会发出复位信号,我之前从未说过跑飞了还不会复位的话。
本来今年这个产品基本已经停产了,因为客户今年换了一家供应商,不买我的产品了。不过,我之前遇到的问题在新的供应商身上再次重现了。上个月客户要求我恢复供货,因为新的供应商的产品不能使用。

使用特权

评论回复
522
zrcb| | 2014-1-11 22:01 | 只看该作者
corset 发表于 2012-1-10 16:55
你要先分析,干扰从哪儿来的。
先在现场直接拿电池当电源试试。如果干扰没了,就集中解决电源问题。如果问 ...

同意,应该使用排除法,先用电瓶进行供电,从而查清是不是电源问题,而不是猜

使用特权

评论回复
523
zrcb| | 2014-1-11 22:04 | 只看该作者
chenzuoxiang 发表于 2013-8-12 17:57
有必要!这个是+5v和+12v负载感性和容性电路的释放,否者7805,7812可能会击穿失效,黑心的老板是不要,节 ...

这很重要,产品最重要的是防止意外

使用特权

评论回复
524
mailiang98| | 2014-1-12 13:15 | 只看该作者
这是你的emc没做好,换mcu没用,批量生产时你就麻烦

使用特权

评论回复
525
86hupeng| | 2014-1-18 16:47 | 只看该作者
不知道楼主现在怎么解决的,我现在遇到同样的问题。
用的AVR单片机,继电器+可控硅 大电流驱动电感线圈。
单片机电源=380变压器变12V,然后接一个宽电压的电源模块,12DC12,然后再12V转5V,现在观察示波器,继电器动作的时候,5V电源有正负2-5V的毛刺,毛刺时间200ns左右;现在有点怀疑是不是示波器的问题。

使用特权

评论回复
526
天南星雨| | 2014-1-24 09:24 | 只看该作者
变压器与板子之间的连接线采用带屏蔽功能的试试,感觉像是电源引入的干扰。

使用特权

评论回复
527
cjseng|  楼主 | 2014-1-24 13:25 | 只看该作者
86hupeng 发表于 2014-1-18 16:47
不知道楼主现在怎么解决的,我现在遇到同样的问题。
用的AVR单片机,继电器+可控硅 大电流驱动电感线圈。
...

就是前面有人说过的,示波器看到的不一定是真相,实际上我把示波器探头放在边上,根本不和板子连在一起,继电器动作时也能看到很大的干扰。

使用特权

评论回复
528
cjseng|  楼主 | 2014-1-24 13:29 | 只看该作者
天南星雨 发表于 2014-1-24 09:24
变压器与板子之间的连接线采用带屏蔽功能的试试,感觉像是电源引入的干扰。 ...

这是个系统的问题,不仅仅是电源引入的干扰。我把变压器放到壳子外面,通过引线把变压器接到板子上,就一切正常了。甚至,变压器还是放在壳子里,不过外壳不要关紧(外壳有前盖和后盖组成,都是金属的),留一点缝隙,情况也能大大改善。

使用特权

评论回复
529
大秦正声| | 2014-1-24 14:09 | 只看该作者
cjseng 发表于 2012-1-16 11:36
352# wxalex

你的理解完全正确!

很准确!很不错!很给力!
理论和实践结合的好。

使用特权

评论回复
530
工科小学生| | 2014-1-24 20:08 | 只看该作者
mark,恭喜楼主成功解决了问题,同时也谢谢楼主的经验分享

使用特权

评论回复
531
shibai8899| | 2014-1-25 09:22 | 只看该作者
单片机电源端有2V的波动?呵呵,本人认为这个2V一出来有可能瞬间令单片机工作于其允许的最低工作电压以下,造成单片机非正常复位造成的,有可能不是软件的问题。建议用低压型系列的51单片机试一试。

使用特权

评论回复
532
cjseng|  楼主 | 2014-1-25 12:17 | 只看该作者
shibai8899 发表于 2014-1-25 09:22
单片机电源端有2V的波动?呵呵,本人认为这个2V一出来有可能瞬间令单片机工作于其允许的最低工作电压以下, ...

我也不认为是软件问题,因为我现在改好了,原理图没变,程序也一个字节都没动。

使用特权

评论回复
533
avric| | 2014-1-25 21:20 | 只看该作者
本帖最后由 avric 于 2014-1-25 21:22 编辑

靠ULN2003里面的续流二极管释放继电器线圈产生的感应电动势,释放回路大,在继电器线圈脚间直接加续流二极管,让感应电动势在最小的回路释放,对外可产生最小的干扰。

使用特权

评论回复
534
xhngp| | 2014-1-25 22:36 | 只看该作者
这个干扰估计是控制器外部的电器产生强电磁场涡流通过控制器的金属外壳耦合到内部电源变压器及电路板而引的,换用非金属外壳或金属外壳上开槽。

使用特权

评论回复
535
tom_xu| | 2014-2-12 13:21 | 只看该作者
不错

使用特权

评论回复
536
tom_xu| | 2014-2-12 13:22 | 只看该作者
楼主是创业型的实干家.
业务肯定蒸蒸日上.

使用特权

评论回复
537
pa2792| | 2014-2-12 14:13 | 只看该作者
MAX813监测VCC引起的,当你电磁阀投切时会产生一个波动电压跳动,影响到MAX813监测的VCC所以会给一个RST信号单片机。在MAX813监测的VCC前加LC滤波,或者更换MAX813变成电压阀值在2.7以下的复位相片。

使用特权

评论回复
538
cjseng|  楼主 | 2014-2-12 14:37 | 只看该作者
pa2792 发表于 2014-2-12 14:13
MAX813监测VCC引起的,当你电磁阀投切时会产生一个波动电压跳动,影响到MAX813监测的VCC所以会给一个RST信 ...


不是这样的,我把813去掉,单片机跑飞后,数码管会乱闪,但还能响应按键操作,也能响应外部触发信号,有时候过很长时间能自动复位。把813装上,跑飞后2秒之内就会复位。
我的主程序什么也不做,仅控制程序进入休眠(退出定时中断就休眠,直到被下一次中断唤醒),所有的任务都在定时中断里完成,程序跑飞时,定时中断没有被关掉,所以跑飞后主要功能还得以保留。
实际上电磁阀动作并不会引起太大的电压波动,问题在于PCB布线不合理,控制电磁阀的继电器底部的走线离触点焊盘太近,隔离不够,这样导致继电器动作时,220v的交流电压叠加上电磁阀的感生电压击穿了绝缘隔离,“串到”DC12v的电源上,而不合理的铺铜,又使得DC12v和DC5v隔离不清,最终这个干扰就直接串到单片机的电源上了。虽然DC12V和DC5V并不共地,但不合理的铺铜使得这个隔离很勉强。
所以,最终我只是重新画了PCB,原理图和程序都没有任何改动,问题得到解决。

使用特权

评论回复
539
86hupeng| | 2014-2-21 09:56 | 只看该作者
cjseng 发表于 2014-1-24 13:25
就是前面有人说过的,示波器看到的不一定是真相,实际上我把示波器探头放在边上,根本不和板子连在一起, ...

嗯。现在可以确定是共模干扰;对单片机不会产生影响。

使用特权

评论回复
540
hewayking| | 2014-2-26 16:05 | 只看该作者
yewuyi 能否贴一块你的pcb开开眼

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则