为什么单片机不能直接驱动继电器和电磁阀
为什么要写篇文章?
虽然这个问题对于电子老白来说不值一提,不过对于初学单片机的朋友,问这个问题的人实在是太多了,以前总是一句一句的解释给你们听,重复的劳动实在没有意义,看来非常有必要在这里统一的说一下了。
简单介绍一下继电器是个什么东西。
继电器正面
继电器就是个开关,这个开关是由它内部的线圈控制的,给它的线圈通电,继电器就吸合,开关就动作了。
继电器背面
有些人还会问什么是线圈?看上图,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电流。
看到了吧,虽然是5V,但是输出电流能力有限,达不到驱动继电器的电流,所以无法直接驱动继电器。
这时候就需要想办法。比如用三极管S8050驱动。电路图如下。
单片机驱动继电器
看S8050的datasheet,S8050是一个NPN管,ICE最大允许电流是500mA,远远大于70mA,所以用S8050驱动继电器绝对是没有问题的。
看上图,ICE也就是从C流到E的电流,就是和继电器线圈一条线的电流。NPN三极管,在这里就是个开关,单片机引脚输出5V高电平,ICE就导通继电器就会吸合;单片机引脚输出0V低电平,ICE就截止,继电器就不吸合。
同理,电磁阀也是一种电阻很小功率很大的负载,也需要按照上述欧姆定律的方法,选择合适的驱动元件。
你听懂了吗?
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)