Daer TI工程师:
MCU控制继电器时,SN74HC5954路级联控制的32路LED灯会无规格的闪烁,SN74HC595已经加入上拉和低通,SN74HC595 的VCC加入磁珠,OE端加入磁珠,还是有此问题,有无更稳定的芯片和改善方案。。
user4676412:
继电器是用达林顿二极管驱动的,加入了反向二极管。
anfu lee:
回复 user4676412:
@xu xu1,
继电器线圈是感性负载,容易产生干扰信号,影响MCU工作。采用光耦,隔离595和继电器线圈。
是595直接驱动继电器线圈吗?要注意595的驱动能力是否足够!一般继电器的线圈的工作电流约为20mA,而595的驱动能力<10mA,要确认驱动能力是否足够。
FYI !
anfu lee:
回复 anfu lee:
@xu xu1,
继电器是用达林顿二极管驱动的话,那驱动能力应该是足够的。是ULN2803,ULN2003之类的吧!那就在595与ULN之间加光耦,如ACPL181之类的就可以。
Jerry Chen:
你好,
写MCU程序的时候是不是先用OE关闭输出,再完成数据写入,最后用OE脚使能输出?
user4676412:
回复 Jerry Chen:
Dear Jerry Chen:
之前有做过用I0口控制OE端,比数据延时一段时间,可以修复乱闪,但是正常控制的LED会闪烁后再亮,肉眼可以查看出。不是最优方案。
user4676412:
回复 anfu lee:
Dear anfu lee:
谢谢你的回复!有用过DC-DC隔离电源和光耦隔离但是没有作用,(lll¬ω¬),继电器是用ULN2003A驱动的。
anfu lee:
回复 user4676412:
@xu xu1 ,
那我的好几个已量产的产品中,也采用跟你相同的方案,有动态扫描方式驱动7个数码管的,有动态扫描方式驱动32+的LED,都没你说的这个问题,不管是低主频的单片机,还是140M的ARM。关键是:要先移位(595在锁存状态),再打数,再锁存。Try again !