一、arduino控制继电器
典型的继电器结构原理图如下:
继电器有一个输入回路,一般接低压电源,有一个输出回路,一般接高压电源。
输入回路中有一个电磁铁线圈,当输入回路有电流通过,电磁铁产生磁力,吸力使输出回路的触点接通,则输出回路导电(通)。
当输入回路无电流通过,电磁铁失去磁力,输出回路的触点弹回原位,断开,则输出回路断电(断)。
产品介绍:
本模块5V继电器,低电平触发
产品介绍:
1、本模块符合国际安全标准,控制区域与负载区域有隔离槽;
2、采用松乐正品继电器;
3、具有电源和继电器动作指示,吸合亮,断开不亮;
4、信号输入端有信号时,公共端与常开端会导通;
5、可以用作单片机开发板模块,可以用作家电控制;
6、控制直流或者交流信号,可以控制220V交流负载;
7、有一个常开和一个常闭触点;
8、蓝色KF301端子接控制线更方便。
高电平触发指的是信号输入端与地之间有电压的触发方式,可以理解为信号输入端与VCC正极短路触发的一种方式; 低电平触发指的是信号输入端与地之间的电压为OV的触发方式,可以理解为信号输入端与GND负极短路触发的一种方式
二、继电器模块实验(使用继电器模块)
应用例子
用单片机去打开或关闭一个电压220V的电灯,由于单片机工作在5V, 而电灯是220V,因此需要由单片机控制一个继电器,通过控制这个继电器充当电灯的开关。
继电器的输出回路一般有三个触点,中间的触点是动触点(公共端),其它两个触点是静触点。
输入回路不通电时,动触点(公共端)总是和一个静触点断开(称为常开),与另一个静触点闭合(称为常闭)
输入回路通电后,原来闭合的成断开状态。即:动触点(公共端)与和常开触点闭合,与常闭触点断开。
1、继电器模块
2、接线
用三根杜邦线把继电器模块的三个管脚接到开发板上,其中“-”脚接GND, ‘+’脚接5V, S脚接 D3。
3、 在Arduino IDE中写个Arduino程序控制继电器模块
程序:
int pinRelay = 3; //管脚D3连接到继电器模块的信号脚
void setup() {
pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态
}
void loop() {
digitalWrite(pinRelay, HIGH);//输出HIGH电平,继电器模块闭合
delay(5000); //等待5000毫秒
digitalWrite(pinRelay, LOW);//输出LOW电平,继电器模块断开
delay(8000); //等待8000毫秒
}
运行效果:
蜂鸣器“pa”一声,闭合,持续5秒。(此时用万用表测量 常开变成闭合, 常闭变成断开)
蜂鸣器“pi”一声,断开,持续8秒。(此时用万用表测量 常开变回断开, 常闭变成闭合)
三、继电器实验(使用继电器元器件自已搭电路)
1、 准备元器件和器材
继电器(型号 松乐SRD-05VDC-SL-C) 一个, 面包板一块,PNP型三极管(型号8550)一个,二极管一个, 1K 电阻一个,杜邦线若干。
2、了解继电器元器件
继电器 松乐SRD-05VDC-SL-C 正面标注了它的型号、电压
继电器底面有5个管脚, 标注了 内部接线, 各脚含义如下:
接在线圈两端的是两个输入脚
公共端、常开端、常闭端是三个输出脚。 公共端与常开端 组成常开开关,公共端与常闭端组成常闭开关
当线圈两端两个输入端加一个5V电压,则 公共端与常开端 闭合, 公共端与常闭端断开
接线前务必要搞清楚管脚。也可以用万用表量一个各脚间的电阻、验证一下。
3、继电器驱动电路原理图
继电器元件需要通过一个驱动电路接在单片机上。 典型的驱动电路原理图如下:
上述电路中用一个PNP型三极管做为控制开关, 图中Relay是继电器
三极管C极接GND,E极接继电器的线圈一端(输入端),三极管的B极通过一只1K-2K的电阻到单片机的GPIO脚 。
继电器线圈另一端(输入端2)接VCC。
继电器线圈两个输入端之间要反向并联一个二极管,这个二极管的作用是过滤掉线圈充放电过程中产生的反向电流。
该电路中三极管相当于一个开关, 运行原理如下:
1、当GPIO输出高电平,三极B极与E极间没有电压差,三极管E极与C极间不通,继电器没有电流通过。
2、当GPIO输出低电平,三极B极与E极间形成电压差,三极管E极与C极之间导通,电流通过继电器线圈两个输入端,继电器闭合。
三极管型号为 8550, 其引脚如下图:
如图所示,
1脚=E(发射极,电路图中带箭头的那个)
2脚=B(基极,电路图中跟R相接的那个)
3脚=C(集电极,与E相对的那个)
二极管两个脚有正负极之分, 有一个小环的那个脚为负极
4、用面包板接线
把三极管, 继电器, 二极管, 电阻插入面包板, 按上述电路原理图,用杜邦线接线, 接线如下图:
5、 在Arduino IDE中写个Arduino程序控制继电器
程序:
int pinRelay = 3; //管脚D3连接到继电器模块的信号脚
void setup() {
pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态
}
void loop() {
digitalWrite(pinRelay, HIGH);//输出HIGH电平,继电器模块闭合
delay(5000); //等待5000毫秒
digitalWrite(pinRelay, LOW);//输出LOW电平,继电器模块断开
delay(8000); //等待8000毫秒
}
这个程序与使用继电器模块的程序是一样的。
运行效果:
蜂鸣器“pa”一声,闭合,持续5秒。(此时用万用表测量 继电器的公共端与常开端变成闭合,公共端与常闭端变成断开)
蜂鸣器“pi”一声,断开,持续8秒。(此时用万用表测量公共端与常开端变回断开,公共端与常闭端变成闭合)