本帖最后由 hzocce 于 2017-4-22 21:12 编辑
STM32 IO接到74HC595,其OE接死GND,74HC595的D0~D7接光耦发光管的阴极,往595灌入电流的形式,光耦发光管的1脚上通过电阻上拉到VCC。
在上电一瞬间,光耦会导通一下,也就是74HC595的D0~D7端为低电平,导致光耦简短导通一下。后面就关掉,也就是STM32配置595关断的。
通过STM32的Reset脚复位单片机,光耦不会导通,
也就是在STM32还没有起来工作,来得及配置它时,74HC595的D0~D7就输出为低。
1.加大595的滤波电容到4.7uF无效果。
2.减小STM32的复位电容,电阻都无效果。原来是0.1uF/10K)
3.将595的OE脚扳起,OE脚通过10K电阻接到地,OE脚再通过0.1uF电容到VCC。
上电瞬间光耦导通的故障消除。
改装过板子上面的2片595故障消除;
(此办法比较麻烦,电阻站着,头顶595的OE端,脚踩PCB的GND焊盘(原来595 OE焊盘),上面再举一个电容,通过一飞线接到VCC。
4.将595的OE脚扳起,OE脚通过10K电阻接到地。
改装过板子上面的另外2片595故障消除;
结论:难道是上电瞬间OE是打开的,导致D0~D7就输出为低?
上述3跟4办法都比较麻烦,有其他办法么? |
评论
|