微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机去抗扰加104瓷片电容问题!

单片机去抗扰加104瓷片电容问题!

时间:10-02 整理:3721RD 点击:
我用STC单片机驱动一个12v的继电器,电路如图:


1、没加4.7K上拉电阻,和104瓷片电容时:当我按动控制继电器吸合的按钮,并且用手摸着信号端(单片机I/O口)时,继电器不吸合!
2、加上4.7K上拉电阻,和104瓷片电容时:用手按着单片机控制端,也能正常工作了,不受点触摸的干扰影响了。可是每上电的时候,继电器就会自动吸         合一次。不知道什么原因,我把104拆掉,直接接上拉电阻,上电的时候也会吸合。当我把上拉电阻拆掉留下104时,按键又没反应了(这个我理解的是,我给个高电平信号,时间很短暂,高电平直接被104吸收掉了,当做了干扰)。
------------单片机过来是高电平有效,程序开始就给JDQ端口置0了!
整个过程产生的问题原因是什么呢?

你的控制继电器电路做的有些复杂

把R3去掉好一点吧,R3这个适合按键直接控制的时候拉低截止,单片机控制就不需要了反正是上拉推挽输出,又上拉又下拉多别扭

104滤波而已,别太介意

恩恩,这个电阻我拆了!加了上拉4.7k,把下拉10k拆了,三极管b极接了4.7k,一上电就会误动作一次!怎么解决这个呢?

这个过程产生的直接原因不是104电容的问题,而是该单片机IO驱动能力的问题。
STC单片机IO口在默认情况下是标准弱上拉准双向口,高电平驱动能力只有几十微安,很明显这样的高电平再通过你的一个10K三极管基极电阻后是完全不能使三极管处于导通状态的,即不能驱动继电器。这就是你的第一种情况继电器不吸合的原因。
加了上拉电阻后,明显增强了IO口输出1的驱动能力,所以此时输出1时电流已经可以使三极管导通,所以继电器会吸合。这与有没有接104电容影响不大。该电容完全可以去掉。另外,增强型STC单片机可以通过设置IO为推挽模式输出来增强其输出能力,这样就可以不用接上拉电阻了。
最后,为什么明明上电后程序将输出置0继电器还是会动作呢?这是你忽略了STC单片机在上电后并不是马上执行用户程序,而是会有几十ms时间在执行ISP下载检测程序【这就会为什么下载程序需要断电再上电的原因】,在这个过程中,IO脚是输出高电平的,因此继电器会吸合,直到执行用户程序。解决方法应该就很清楚了,不要使用高电平驱动的电路,改为低电平驱动的电路即可。个人觉得你的驱动电路实在太繁琐,其实改为低电平控制后直接一个光耦就可以了,什么三极管都不用。

恩恩,首先谢谢您如此细心的回答!我那个电路驱动的是可控硅光耦,那个电压是有一定幅度的。我只是那这个图来说一个问题,呵呵。问题解决了。我用的方法是将三极管基极接了一个1k的电阻到IO,然后下拉了一个电阻到地,这样的话,单片机上电就不会动作了,单片机上电的时候那个io相当于一个准双向口,而我控制继电器的时候,将IO口输出设置成强推挽输出,这样就不用加上拉电阻了,而且也解决了问题。呵呵。谢谢你!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top