打印
[软件资料]

用单片机IO直接驱动继电器

[复制链接]
2251|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2023-8-9 11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
继电器就是个开关,这个开关是由它内部的线圈控制的,给线圈通电,继电器就吸合,开关就动作了。绝大部分的继电器反面都会有如下图一样的标识,看标识也就能看出,下图中1脚2脚之间是线圈,3脚和5脚在继电器不动作的时候是连一起的,当1脚2脚上加电压后,继电器动作,此时3脚就断开5脚,吸合到了4脚上去。


比如你要控制一条线的通断,就可以把这条线故意搞断以后,一端接到3脚,一端接到4脚,然后通过给线圈通电和断电,就可以控制这条线的通断了。我们通过单片机开控制1脚2脚上的线圈通电就可以控制这个开关的闭合与断开了。
线圈1脚和2脚加多大电压呢?
这个问题,需要看你用的继电器的正面,比如蓝色这个继电器,最下面一行字为“SRD-05DCV-SL-C”,其中的“05DCV”就表示线圈上所需要的电压值,在此表示需要直流5V电压才能驱动这个继电器吸合。
前面我们说过了,可以用单片机控制这个线圈上的电压,你可以直接用两只手拿上5V和GND两条线直接通到继电器线圈的两个引脚,就会听到响声了。
那用单片机怎么给他加电压?我们知道,单片机引脚就可以输出5V,是不是直接用单片机引脚连接继电器线圈,就可以了呢?
答案当然不是的!
下面我们来测试一下,用万用表测量一下这个线圈的电阻,如下图所示这个继电器的线圈上的电阻是67.3Ω,假设我们把这个线圈当做一个电阻来看的话,在它两端加上5V的电压,欧姆定律用上一算,电流就是74mA左右。但是,我们单片机的普通引脚最大输出10mA电流,大电流的引脚最大输出20mA电流(具体的单片机输出能力需要参照单片机的datasheet)。


通过上面的计算,虽然5V的单片机可以输出5V的电压,但是输出电流能力有限,远远达不到驱动继电器的电流,所以无法直接驱动继电器。假如我们采用灌电流的连接方式,这样很有可能直接烧坏单片机的IO口。
这时候我们就需要想办法,想想怎么能通过小电流来控制大电流呢,此时我们应该不叫容易想到的三极管,比如比较常用的S8050三极管,ICE最大允许电流是500mA,远远大于70mA,所以用S8050驱动继电器绝对是没有问题的。电路图如下所示:


看上图,ICE也就是从C流到E的电流,就是和继电器线圈一条线的电流。NPN三极管,在这里就是个开关,单片机引脚输出5V高电平,ICE就导通继电器就会吸合;单片机引脚输出0V低电平,ICE就截止,继电器就不吸合。值得注意的是,刚才计算时候我们是把线圈当作了电阻,而实际它是线圈,线圈内的电流不能突变,所以在断开的瞬间会形成反向电动势,上图中的二极管就是为了释放这个反向电动势而设计的。
同理,电磁阀也是一种电阻很小功率很大的负载,也需要按照上述欧姆定律的方法,选择合适的驱动元件。
在更多的使用场景下,在同一个项目中可能需要驱动多个继电器,此时采用分立元件三极管来驱动可能就会有些繁琐了,此时可以采用一些驱动芯片,比较常见的有达林顿管ULN2003、ULN2803。采用这样的集成芯片驱动可以让电路变得简洁,还可以增加可靠性。如果需要更加保险的考虑的话可以在输入驱动信号的地方采用光耦作为隔离。

使用特权

评论回复
沙发
小夏天的大西瓜| | 2023-8-26 22:39 | 只看该作者
这个图片没有显示出来是怎么回事?

使用特权

评论回复
板凳
星辰大海不退缩| | 2023-8-27 09:18 | 只看该作者
确实采用驱动芯片能解决这个驱动能力问题

使用特权

评论回复
地板
tpgf| | 2023-9-6 13:32 | 只看该作者
如果直接控制继电器的话  单片机是不是只能控制低端啊

使用特权

评论回复
5
qcliu| | 2023-9-6 14:11 | 只看该作者
楼主发一下原文链接吧 看不到文章中提到的图片

使用特权

评论回复
6
drer| | 2023-9-6 14:55 | 只看该作者
如果直接驱动的话 会对引脚产生冲击吗

使用特权

评论回复
7
wiba| | 2023-9-6 19:42 | 只看该作者
这种应用是否应该添加吸收回路啊

使用特权

评论回复
8
kxsi| | 2023-9-6 20:11 | 只看该作者
继电器线圈瞬间会产生一个比较大的电流 不会损坏单片机吗

使用特权

评论回复
9
coshi| | 2023-9-6 20:50 | 只看该作者
个人感觉如果使用io引脚直接驱动继电器的话 继电器的动作可能不牢靠

使用特权

评论回复
10
小小蚂蚁举千斤| | 2023-9-10 20:22 | 只看该作者
楼主有用过3.3V驱动的继电器嘛

使用特权

评论回复
11
szt1993| | 2023-9-10 20:44 | 只看该作者
小小蚂蚁举千斤 发表于 2023-9-10 20:22
楼主有用过3.3V驱动的继电器嘛

貌似3.3V可以使用光耦或者MOS管

使用特权

评论回复
12
szt1993| | 2023-9-10 20:44 | 只看该作者
继电器与M OS管区别是啥

使用特权

评论回复
13
地瓜patch| | 2023-9-10 23:00 | 只看该作者
我一般加个三极管驱动继电器

使用特权

评论回复
14
中国龙芯CDX| | 2023-9-18 13:33 | 只看该作者
楼主有相关继电器的分享嘛

使用特权

评论回复
15
AdaMaYun| | 2023-9-21 17:29 | 只看该作者
kxsi 发表于 2023-9-6 20:11
继电器线圈瞬间会产生一个比较大的电流 不会损坏单片机吗

这个就跟继电器线圈有关系了

使用特权

评论回复
16
小小蚂蚁举千斤| | 2023-9-22 19:29 | 只看该作者
NPN三极管,在这里就是个开关

使用特权

评论回复
17
星辰大海不退缩| | 2023-9-22 19:39 | 只看该作者
达林顿管ULN2003、ULN2803驱动能力比较强

使用特权

评论回复
18
OKAKAKO| | 2023-11-10 17:38 | 只看该作者
单片机驱动能力弱。线圈电阻不大,需要的驱动电流比较大,不可直接使用单片io口来驱动继电器,因为单片机驱动能力弱,使用PNP 型单极管来驱动继电器。

使用特权

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

本版积分规则

964

主题

2938

帖子

7

粉丝