为什么单片机不能直接驱动继电器和电磁阀
作者:瑞生(QQ/微信:253 057 617)电子设计经验分享第一人
注意:此文是写给单片机初学者的。
为什么要写篇文章?
虽然这个问题对于电子老白来说不值一提,不过对于初学单片机的朋友,问这个
问题的人实在是太多了,以前总是一句一句的解释给你们听,重复的劳动实在没
有意义,看来非常有必要在这里统一的说一下了。
既然是初学者,还得简单介绍一下继电器是个什么东西。
(这是我手头上的一个继电器)
继电器就是个开关,这个开关是由它内部的线圈控制的,给它的线圈通电,继电
器就吸合,开关就动作了。
有些人还会问什么是线圈?看上图,1 脚和 2 脚就线圈的两个引脚,3 脚和 5
脚现在是通的,3 脚和 2 脚是不通的。如果你给 1 脚和 2 脚通电,你就会听到
继电器一声响,然后 3 脚和 4 脚就通了。
比如你要控制一条线的通断,就可以把这条线故意搞断以后,一端接到 3 脚,
一端接到 4 脚,然后通过给线圈通电和断电,就可以控制这条线的通断了。
线圈 1 脚和 2 脚加多大电压?
这个问题,需要看你用的继电器的正面,比如我现在这个,你可以看到是
05VDC,所以你可以给这个继电器的线圈通 5V 电,继电器就会吸合。
线圈电压怎么加?
终于说到正题了。
你可以直接用两只手拿上 5V 和 GND 两条线直接通到继电器线圈的两个引脚,
就会听到响声了。
那用单片机怎么给他加电压?我们知道,单片机引脚就可以输出 5V,是不是直
接用单片机引脚连接继电器线圈,就可以了呢?
答案当然不是的。
为什么呢?
万变不离其宗,还是欧姆定律。
你用万用表量一下继电器线圈的电阻。
比如我这个继电器线圈的电阻,大概是 71.7 欧姆,加 5V 电压的话,电流就是
5 除以 71.7 约等于 0.07A,就是 70mA。记住,我们单片机的普通引脚最大
输出 10mA 电流,大电流的引脚最大输出 20mA 电流(这点可参照单片机的
datasheet)。
看到了吧,虽然是 5V,但是输出电流能力有限,达不到驱动继电器的电流,所
以无法直接驱动继电器。
这时候就需要想办法。比如用三极管 S8050 驱动。电路图如下。
看 S8050 的 datasheet,S8050 是一个 NPN 管,ICE 最大允许电流是
500mA,远远大于 70mA,所以用 S8050 驱动继电器绝对是没有问题的。
看上图,ICE 也就是从 C 流到 E 的电流,就是和继电器线圈一条线的电流。NPN
三极管,在这里就是个开关,单片机引脚输出 5V 高电平,ICE 就导通继电器就
会吸合;单片机引脚输出 0V 低电平,ICE 就截止,继电器就不吸合。
同理,电磁阀也是一种电阻很小功率很大的负载,也需要按照上述欧姆定律的方
法,选择合适的驱动元件。
你听懂了吗?