驱动继电器的方式,可以理解成驱动LED灯,驱动方法很简单.
目录
2.继电器模块(以光耦继电器为例)不同继电器的驱动方式都大同小异
NC:常闭端(normally close) 通常是闭合的(如果不驱动,NC和COM是导通的 也就是常闭)
0.引言
继电器作为常用设备我们需要对他有足够的了解,在许多电气控制系统中,低压电路需要控制高压电路或高功率设备,直接连接可能存在安全隐患。这就需要到了继电器.
-
低压控制高压:继电器通常由低压电流驱动,通过电磁感应或其他机制控制高压电路的开关。这使得低压控制电路与高压负载电路之间保持物理和电气上的隔离。
-
隔离作用:继电器提供了电气隔离,避免低压控制电路受到高压电流影响,减少电气故障的风险。例如,微控制器或低压开关可以通过继电器控制高压电动机的启动或停止。
-
安全性:直接用低压电路控制高压电器会涉及到高电流和高电压,可能造成电击或设备损坏。继电器作为中介装置,能够安全地在低压控制信号和高压设备之间进行切换。
1.常用继电器
1.1常用继电器种类
1.1.1电磁继电器
工作原理
电磁继电器基于电磁原理工作。当输入端有电流通过线圈时,产生磁场,吸引或释放触点,从而实现开关控制。当输入电流消失时,磁场消失,触点恢复原位。
优点:(只讲常用)
- 可以承载大电流,适用于高功率的控制场合。
- 适用于需要长期稳定工作的电气控制系统。
缺点:
- 工作时可能会产生噪音。(电磁干扰和噪声,会影响单片机的正常使用,完美使用需要滤波)
注意:
- 继电器开关关断的瞬间,继电器内部的线圈电感会产生一个自感电动势,其需要短时间内释放能量,因此需要反浪涌吸收装置,一般建议安装压敏电阻或者肖特基二极管作为反浪涌保护器件.
防浪涌器件 | 原理 |
---|---|
肖特基二极管 | 在输入两端并联上肖特基二极管,释放线圈上多余的能量(低功耗、超高速、反向恢复时间极短、正向压降小,适合做整流电路) |
压敏电阻 | 主要用于在电路承受过压时进行电压钳位,吸收多余的电流以保护敏感器件。压敏电阻器称为"突波吸收器",有时也称为“电冲击(浪涌)抑制器(吸收器) |
1.1.2光耦继电器
工作原理
-
输入端:
光耦继电器的输入端通常包括一个光发射二极管(LED),作为控制信号的接收部分。控制端(例如微控制器、开关或传感器)提供一个低电压信号(通常为DC电压)来驱动这个LED.当低电压信号加到LED时,LED发光。 -
光隔离部分:
- 光发射二极管(LED)与输出端的光接收部分(如光敏三极管或光电二极管)之间是通过光的方式进行信号传递的。它们通常被物理隔离,电气上没有直接连接。
- LED发出的光会激活光接收部分,使接收部分发生变化,改变其电导性。
-
输出端:
- 在接收部分,通常是光敏三极管、光敏晶体管或光敏二极管,它们在光照射下会导通或断开电流。通过控制这种导通或断开的状态,光耦继电器就实现了对输出端的控制。
- 由于光敏元件的导通状态控制了一个继电器的线圈,继电器的线圈一旦通电就会吸合,从而控制高电压电路的开关。
-
继电器部分:
- 光耦继电器内通常包含一个机械继电器。光接收部分(光敏三极管或光电二极管)通过控制继电器的线圈使继电器的触点打开或闭合,从而控制高压电路的连接与断开。
- 当光敏元件检测到光信号时,它会使继电器线圈通电,吸合继电器触点,进而完成高压电路的控制。
优点:
电气隔离:
光耦继电器通过光耦合元件实现输入和输出之间的电气隔离,防止高压电流影响低压控制电路,提升了系统的安全性。
抗干扰能力强:
光耦继电器通过光信号传输控制信息,能够有效减少电磁干扰,适合在复杂的电磁环境中使用。
缺点:
负载容量有限
光耦继电器的负载能力相对较低,尤其是在小型光耦继电器中,其继电器触点的额定电流和电压常常不能支持高功率或大电流的负载。因此,通常不适合直接控制大功率设备或高电流电路。如果需要更大的负载容量,可能需要使用其他类型的继电器或继电器模块。
温度和环境敏感性
光耦继电器的光耦元件对温度、湿度等环境因素较为敏感。在高温、潮湿或过于恶劣的环境条件下,光耦合器可能会受到影响,导致工作不稳定或寿命缩短。尽管现代光耦继电器有一定的防护措施,但其环境适应性仍不如一些固态或传统的机械继电器。
常见外观
电磁和光耦的外观几乎相似 需要注意购买时的具体选型.
1.1.3固态继电器
工作原理
输入端(控制端)
输入端的信号通过一个光耦合器传递给输出端的控制电路。光耦合器通过一个LED发光二极管和光敏元件(如光电二极管或光敏晶体管)来实现隔离。输入信号驱动LED发光,LED发出的光会触发输出端的光敏元件,从而控制后续的开关动作。
输出端(负载端)
在输出端,控制信号触发了半导体开关器件(如TRIAC、SCR、MOSFET等),这些器件通过其导通或截止状态来实现对负载电路的开关。具体的工作方式如下:当控制信号激活时,固态继电器内部的MOSFET或其他晶体管将闭合(导通),让直流电流通过负载。如果控制信号关闭,晶体管或MOSFET将停止导电,切断负载电路.
负载控制
当固态继电器的输出端导通时,负载电路接通,电流开始流动,负载工作;当输出端截止时,负载电路断开,电流停止流动,负载停止工作。固态继电器可以根据控制信号的变化来开关负载,通常控制信号可以是开关量(开或关)或具有调节功能的控制信号(如脉冲宽度调制(PWM)信号)。
1.2三者区别
特性 | 光耦继电器(Optocoupler) | 固态继电器(SSR) | 电磁继电器(Electromagnetic) |
---|---|---|---|
工作原理 | 利用光电隔离传递控制信号 | 利用电子元件(如晶体管、可控硅)开关控制 | 利用电磁吸引力控制机械触点 |
响应速度 | 快速(微秒级) | 快速(毫秒级) | 较慢(毫秒级至秒级) |
负载能力 | 适合小功率负载 | 适合中高功率负载 | 适合大功率负载 |
噪音 | 无噪音 | 无噪音 | 可能有噪音(由于机械接点) |
使用寿命 | 长(无机械接触) | 长(无机械磨损) | 相对较短(有机械接点磨损) |
成本 | 较高 | 较高 | 较低 |
应用领域 | 微控制器电路、电气隔离等 | 自动化设备、高频控制、电力控制等 | 工业控制、高功率电器等 |
每种继电器都有其独特的优势和适用范围,选择时需根据具体需求(如负载电流、响应速度、使用环境等)做出合适的决定。
1.3常用继电器噪声
1.3.1 线圈电磁干扰
电磁干扰是由继电器的线圈产生的电磁辐射或电场、磁场波动引起的干扰。继电器工作时,线圈中的电流变化会产生磁场,而这种磁场的变化可能会以电磁波的形式辐射出去,影响附近的电子设备和电路。
- 源头:继电器线圈中电流的急剧变化(如开启或关闭继电器时)会产生高频的电磁波,可能干扰周围电路中的敏感元件(如信号线、通信电路等)。
- 表现:可能表现为其他电子设备的误动作、信号干扰、噪声、甚至设备损坏。
1.3.2 反向电动势
反向电动势是指在电感元件(如继电器的线圈)断电时,由于电感的性质(电感会产生反向电动势以抵抗电流变化),在线圈两端产生的电压。继电器工作时,当电流被切断,线圈的磁场会迅速消失,这时反向电动势会在瞬间产生一个高电压脉冲。
- 源头:当继电器关闭时,线圈中的电流变化产生的反向电动势,可能导致高压尖峰。
- 表现:反向电动势可能会对其他电路中的元件(如晶体管、二极管、微控制器等)产生损害,导致设备不稳定,甚至烧毁其他元件。
1.3.3 解决方案
解决线圈电磁干扰
-
滤波与抑制电源噪声:
- 在继电器电源线或控制线中加入适当的滤波电容(例如,常用的0.1µF陶瓷电容),能够平滑电流的波动,减少高频噪声。
- 可以使用LC滤波器(电感+电容)来滤除高频电磁干扰。
-
使用低噪声继电器
初学者推荐使用光耦继电器,因为我们驱动的设备大多是低电流设备.
解决反向电动势
-
并联二极管(续流二极管):
- 在继电器线圈两端并联一个二极管(也称为“自由轮二极管”或“吸收二极管”),二极管的作用是为线圈提供一个通路,当线圈的电流被切断时,反向电动势会通过二极管回流,从而消耗反向电动势的能量,防止产生高电压脉冲。
- 二极管应当具备快速反应能力(如快速恢复二极管),以有效抑制反向电动势。
-
RC吸收电路:
- 在线圈两端并联一个电阻和电容(RC电路),可以有效地将反向电动势转化为热能,并通过电容进行平滑,从而减小电压尖峰。
- 这个方法对高频噪声有更好的抑制效果,尤其适用于固态继电器等快速切换的场合。
-
使用电感钳制器:
- 在某些情况下,利用电感钳制器或瞬态抑制二极管(TVS二极管)来限制电压尖峰,也可以有效抑制反向电动势带来的高电压冲击。
2.继电器模块(以光耦继电器为例)不同继电器的驱动方式都大同小异
2.1继电器引脚说明
NC:常闭端(normally close) 通常是闭合的(如果不驱动,NC和COM是导通的 也就是常闭)
COM:公共端
NO:常开端(normally open) 通常是开路状态
VIN:信号输入
GND:GND
VCC:根据继电器的型号 这里是电源输入 继电器的驱动电源
2.2继电器参数
2.2.1主要参数
工作电压 最大负载 AC250V/10A意思是 最大接在250V交流电压下,且最大的电流是10A
DC30V/10A 是直流电压下30V 最大电流10A
高电平导通还是低电平导通
我这里使用的是高电平导通,即VIN信号输入高电平 常开端和公共端连接.
3.实际操作
3.1连线图
3.2实验现象
LED实现1s的交替闪烁.(我这里懒省事,没有给led串联限流电阻,因为led内部有些许阻值)主要是也便宜,坏了也没啥影响.
3.3代码
继电器可以等效成一个小灯泡,驱动方式是一样的,
void setup() {
pinMode(2,OUTPUT);
digitalWrite(2,1);//默认点亮
}
void loop() {
digitalWrite(2,1);
delay(1000);
digitalWrite(2,0);
delay(1000);
}