单片机驱动继电器的稳定性问题
本帖最后由 wzhao03 于 2011-3-24 16:04 编辑我做的一个单片机驱动继电器的电路,在测试程序中,让继电器以1次/S的频率不停地开合,等过几十分钟后(有时连续几小时都没问题,有时甚至不到十分钟,不同的电路板表现出不同的时间特性,),电路有时候会停止工作,继电器就固定在开或是关的状态。请大家帮忙看看电路是否有不对的地方。 停止的时候,单片机输出的脉冲还在么? 停止的时候单片机没输出了,通过总线查找这个模块也找不到了。重新上电后又能找到。 MCU死机了,把继电器换成LED,测试一下 Q1的b极对地下拉一个10K的电阻。 MCU死机了,把继电器换成LED,测试一下
ayb_ice 发表于 2011-3-25 13:20 https://bbs.21ic.com/images/common/back.gif
感觉对,打开看门狗!:) 本帖最后由 johnwjl 于 2011-3-25 14:50 编辑
感觉是继电器动作造成mcu死机,楼主可以按ayb_ice的方法测试一下。 今天反复测试了一下,发现MCU没死,继电器不动作的时候,总线也找不到设备,但是过一段时间又能找到(不需要断电) 以前使用ULN2003作继电器驱动的时候没这个问题,当时为了测试继电器的机械寿命,曾经让继电器不间断地动作5万次,电路都没出问题。
所以现在不知道是不是继电器驱动电路有问题呢还是因为CPU抗干扰能力不够。 是你的S8050驱动没有弄好。 Q1的状态在不改通的时候可能通了,该断得时候没法断。 加Q1的B极加10K的下拉,再试试,然后重新调整下R4的阻值。 继电器的电流有多大? Q1的基极电流实测为6.2mA,继电器电流实测为42.5mA 本帖最后由 linbei1988 于 2011-3-26 10:12 编辑
估计是程序问题...都经过光耦驱动了,单片机怎么可能因为1S/次的继电器工作频率而死机
中断处理,子程序返回,寄存器翻页都看看,是不是数据错了..这样的确会导致不同时间的死机 基本肯定是程序本身的问题 我一般直接用DTC114TSA "继电器不动作的时候,总线也找不到设备"说明MCU程序已跑飞。有光耦隔离继电器不会影响到MCU.除了你不是使用两个独立电源。程序出问题也有可能,如果你认为是干扰问题,可以在MCU的电源输入端加个100UF的电解电容和104电容,这样有可能把干扰虑掉。 应该是你驱动电路的问题,以前我用一个三极管和一个达林顿管做过实验,感觉一个三极管驱动能力不够,你可以试试用两个三极管搭成达林顿试试。 赞成10楼19楼的意见
页:
[1]
2