打印

单片机控制继电器问题

[复制链接]
6134|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
355643303|  楼主 | 2011-9-7 18:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 355643303 于 2011-9-8 17:10 编辑

问题:单片机驱动NPN三极管,连基级,发射接地,集电极接继电器口A,,5V或者24v接继电器口B,,,当上电瞬间,,I/0口为高电平,,,是不是会让继电器瞬间工作一次????。。。。如果用12V,用PNP,,那么在倒灌时,,12v相对I/O口5V为高电平,,也会让继电器工作,,就必须用5V控制5V的继电器从集电极倒灌吗,,,是不是只有用光耦加npn,控制继电器才是最好的方案!!!

相关帖子

沙发
lyjian| | 2011-9-7 19:09 | 只看该作者
单片机驱动NPN三极管,连基级,集电极接地,发射级接继电器口A
***************************
首先这里是错的,集电极和发射极反了.

是不是只有用光耦加npn,控制继电器才是最好的方案!!!
********************************
其实,这里也是错误的认识.你不会再加一个NPN三极管吗?一个三极管可比一个光耦便宜多多。

使用特权

评论回复
板凳
gx_huang| | 2011-9-7 19:39 | 只看该作者
LZ连最基本的硬件电路都搞不清楚,不会和一个硬件工程师合作一下?
三极管电路是最基本的电路。

使用特权

评论回复
地板
chunyang| | 2011-9-7 19:42 | 只看该作者
用PNP驱动比较好,原因是负逻辑设计可以避免上电误动,另外MCU的灌电流能力往往比拉电流能力强,驱动管必须饱和,所以用PNP管低电平驱动的设计比NPN管高电平驱动的设计好。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
355643303 + 1
5
rclong| | 2011-9-7 20:43 | 只看该作者
本帖最后由 rclong 于 2011-9-7 20:46 编辑

两个NPN结成共射集结构 第一个工作在5V 基集接单片机GPIO 加上拉
第二个接12V起继电器开关作用

这样的话GPIO低电平导通 上电不会误动作 尖峰干扰不会误动作

补充一句 如果是GPIO高电平电压与继电器电压相同 例如都是5V 用一个PNP 低电平导通就可以了

使用特权

评论回复
6
lyjian| | 2011-9-7 20:58 | 只看该作者
用PNP驱动比较好,原因是负逻辑设计可以避免上电误动,另外MCU的灌电流能力往往比拉电流能力强,驱动管必须饱和,所以用PNP管低电平驱动的设计比NPN管高电平驱动的设计好。
***************************
不同的应用要求不同而已,不见得哪个一定比哪个好。

使用特权

评论回复
7
chunyang| | 2011-9-7 22:30 | 只看该作者
那楼上如何解决驱动和误动问题?别跟我说要加电路。

使用特权

评论回复
8
草履虫| | 2011-9-7 23:25 | 只看该作者
本帖最后由 草履虫 于 2011-9-7 23:33 编辑

至于是选择NPN还是PNP,这个问题需要看需求.不同的需求是不一样的.
举个例子:
1. 继电器要求上电的过程中不能吸合.
2. 选用的是8051, 用的驱动端口是P1端口.
3. 继电器是5V或者是3.3V.
这种情况下,就要考虑用PNP的.
原因:
通常用的8051上电的期间(复位前,或程序还没有进行初始化的时候), P1端口是输出状态,有上拉,高电平.这时候驱动的时候就要考虑用PNP的.
1. 如果继电器是12V或者是24V驱动的,那么就要考虑用双NPN的了.
2. 如果是其他的MCU, 上电的时候是输出开漏或者是输入高阻的,就要用NPN.
3. 如果是上电的时候端口是输入上拉,即可以用PNP的,又可以用NPN的(用NPN的时候,需要接一个下拉电阻,且不能够太大,1K左右)

对于12V或者24V这样的继电器,当MCU上电的时候io是高电平,用单PNP控制的话,基本上没戏,即使是MCU能够正常工作也没戏. 如果用单NPN的,上电的时候会有误动作,如果代码跑起来了,也就无所谓了. 为了防止上电的时候误动作最好采用双NPN的方式控制.

使用特权

评论回复
9
chunyang| | 2011-9-7 23:53 | 只看该作者
即使存在工作电压问题也应该采用负逻辑设计。

使用特权

评论回复
10
chunyang| | 2011-9-7 23:55 | 只看该作者
关于这个问题,我曾在侃单片机栏目里发过一个相关帖子,给出了多种高可靠暂态控制的解决方法,有兴趣的去翻翻老帖。

使用特权

评论回复
11
rclong| | 2011-9-8 08:51 | 只看该作者
之前我为了把这个问题解决就把论坛给翻了一遍

两个NPN接成第一个以共射集输出形式就实现了负逻辑驱动了

使用特权

评论回复
12
草履虫| | 2011-9-8 09:26 | 只看该作者
我也翻了,其他的我比较认同,但是负逻辑没有必要. 正负没有关系.负逻辑也没有特别优势.

使用特权

评论回复
13
355643303|  楼主 | 2011-9-8 11:42 | 只看该作者
10# chunyang


谢谢,,我去找找!!

使用特权

评论回复
14
lyjian| | 2011-9-8 12:52 | 只看该作者
7楼: 那楼上如何解决驱动和误动问题?别跟我说要加电路。
**********************
你要解决这个误动问题那是因为你不想它开机的时候驱动一下,如果我本来就想它开机的时候就驱动一下,那我需要解决这个问题吗?
一个例子就是驱动蜂鸣器,如果我的原意就是希望它上电的时候响一下,那我需要管这个误动问题?不用,因为这就是我的设计需要的,这样就可以提醒用户:通电了!而我又不需要写额外的代码来让它上电的时候响一下,多好!
我说了:用PNP还是用NPN只和应用需求有关,和哪个好哪个坏没任何关系。你这样想说明你的设计思路太局限了。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
草履虫 + 1 非常赞同.一切缘于需要.
15
355643303|  楼主 | 2011-9-8 13:56 | 只看该作者
cunyang大哥的 互补逻辑或翻转逻辑设计
引用:
(“互补逻辑设计指一系列由特定01交替逻辑的组合为有效值,否则就判为无效;翻转逻辑则是通过时序上01逻辑按特定规则交替出现为有效值,否则判为无效。此二者也称“组合逻辑法”和“时序逻辑法”,优点是高可靠性但执行电路的设计比较复杂,具体应用中需根据实际情况灵活选用。”)

,是怎么回事呢,,可以详细点不呢,,,不太理解,,谁知道啊

使用特权

评论回复
16
lyn3210| | 2011-9-8 16:45 | 只看该作者
集电极,发射级搞错了吧?

使用特权

评论回复
17
liujx5| | 2011-9-8 17:08 | 只看该作者
高手还是很多呀

使用特权

评论回复
18
guipo123| | 2011-9-8 19:01 | 只看该作者
支持

使用特权

评论回复
19
355643303|  楼主 | 2011-9-9 00:03 | 只看该作者
再次请问双NPN控制继电器怎么回事???
三极管如何连接???

使用特权

评论回复
20
草履虫| | 2011-9-9 09:14 | 只看该作者
两级反向

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:立足根基,放眼未来!

4

主题

94

帖子

1

粉丝