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

2019-07-15 19:26发布

我用STC单片机驱动一个12v的继电器,电路如图: 4O582[5[WV)61{~5%LN@[FC.jpg

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
电纸人
1楼-- · 2019-07-16 01:03
你的控制继电器电路做的有些复杂
yuying2015
2楼-- · 2019-07-16 04:20
把R3去掉好一点吧,R3这个适合按键直接控制的时候拉低截止,单片机控制就不需要了反正是上拉推挽输出,又上拉又下拉多别扭
yuying2015
3楼-- · 2019-07-16 07:52
104滤波而已,别太介意
Keil_ㄨ_亻訁仰
4楼-- · 2019-07-16 10:44
 精彩回答 2  元偷偷看……
ntmusic
5楼-- · 2019-07-16 11:55
这个过程产生的直接原因不是104电容的问题,而是该单片机IO驱动能力的问题。
STC单片机IO口在默认情况下是标准弱上拉准双向口,高电平驱动能力只有几十微安,很明显这样的高电平再通过你的一个10K三极管基极电阻后是完全不能使三极管处于导通状态的,即不能驱动继电器。这就是你的第一种情况继电器不吸合的原因。
加了上拉电阻后,明显增强了IO口输出1的驱动能力,所以此时输出1时电流已经可以使三极管导通,所以继电器会吸合。这与有没有接104电容影响不大。该电容完全可以去掉。另外,增强型STC单片机可以通过设置IO为推挽模式输出来增强其输出能力,这样就可以不用接上拉电阻了。
最后,为什么明明上电后程序将输出置0继电器还是会动作呢?这是你忽略了STC单片机在上电后并不是马上执行用户程序,而是会有几十ms时间在执行ISP下载检测程序【这就会为什么下载程序需要断电再上电的原因】,在这个过程中,IO脚是输出高电平的,因此继电器会吸合,直到执行用户程序。解决方法应该就很清楚了,不要使用高电平驱动的电路,改为低电平驱动的电路即可。个人觉得你的驱动电路实在太繁琐,其实改为低电平控制后直接一个光耦就可以了,什么三极管都不用。
Keil_ㄨ_亻訁仰
6楼-- · 2019-07-16 15:25
ntmusic 发表于 2014-6-14 12:02
这个过程产生的直接原因不是104电容的问题,而是该单片机IO驱动能力的问题。
STC单片机IO口在默认情况下是 ...

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

一周热门 更多>