1、继电器
继电器是一种电控开关设备,由一个电磁系统和一个控制电路组成。当控制电路给予电磁系统足够的电流或电压时,电磁系统会产生磁场,使其内部的触点发生动作。这个动作可以使电流或电压在主电路中开关或转换,起到控制电路的作用。
继电器通常用于电路的控制、保护和自动化系统中。它可以实现电路的远程控制,可以将小电流或低电压信号转换为大电流或高电压信号,还可以实现电路的故障保护功能。继电器的工作原理比较简单,可靠性高,使用寿命长,因此在各种电子设备和工业控制系统中都广泛应用。
2、工作原理
SDR-05VDC-SLC继电器的核心工作原理基于电磁继电器的原理,通过控制电流的通断来改变继电器的状态。 当给继电器的线圈通电时,线圈中产生电磁力,吸引衔铁移动,进而改变触点的连接状态。具体来说:
- 当继电器线圈通电时,线圈中的铁芯产生电磁力,吸引衔铁移动,使得原本断开的触点(常闭触点)闭合,而原本闭合的触点(常开触点)断开。
- 当线圈断电时,衔铁在弹簧的作用下复位,使得原本闭合的触点断开,原本断开的触点闭合。
此外,SDR-05VDC-SLC继电器的输入电压为直流5V,支持最高250V交流电压或30V直流电压,电流可达10A。在实际应用中,可以通过编程控制继电器的通断状态,例如在Python编程中设置继电器模块的通断时间,从而实现自动化控制。
万万没想到,我这个继电器模块竟然坏了,搞了一下午白白浪费时间,网上买了一个继电器型号是JQC-3FF-S-Z。原理都一样,控制电流的接通与断开,这个模块看起来还简单点,毕竟还有2个指示灯,下端IN如接上电源红灯亮,继电器动作有电流通过绿灯亮。
3、接线说明
常开NO:常开输出端,火线接用电器后接到此端,如果你想用电器平时没电接到此
常闭NC:常闭输出端,火线接用电器后接到此端,如果你想用电器平时有电接到此
公共端:接零线
VCC:接树莓派的 3.3V 输出
GND:接树莓派的 Ground(地)
DQ:接树莓派的 GPIO5(BOARD 物理引脚编号29)
本次实验的输出端控制不会接强电,就用LED灯来模拟即可,由于我那个流水灯模块是低电平点亮,所以接线稍有不同,同学们注意。公共端接面包板GND,NO接流水灯的任意一个灯,相当于流水灯到GND的低电平中间被继电器输出端断开。只有继电器吸合,输出端的NO与COM就导通,给LED低电平然后就亮,否则继电器断开,NO与COM不导通,LED不亮。
4、实现现象和代码
继电器很简单,相当于GPIO口的LED、按键模块实验。这里就不赘述了,直接上代码,每1S继电器吸合一次,GPIO高电平关闭继电器,GPIO低电平吸合继电器。每次吸合都能听到卡塔卡塔的声音,有意思把。
import RPi.GPIO as GPIO
import time
RelayPin = 29 # 定义继电器管脚为Pin29
# 初始化工作
def makerobo_setup():
GPIO.setmode(GPIO.BOARD) # 采用实际的物理管脚给GPIO口
GPIO.setwarnings(False) # 去除GPIO警告
GPIO.setup(RelayPin, GPIO.OUT) # 设置Pin模式为输出模式
GPIO.output(RelayPin, GPIO.HIGH) # 关闭继电器
# 循环函数
def makerobo_loop():
while True:
# 继电器打开
GPIO.output(RelayPin, GPIO.HIGH)
time.sleep(1) # 延时1s
#继电器关闭
GPIO.output(RelayPin, GPIO.LOW)
time.sleep(1) # 延时1s
# 释放资源
def makerobo_destroy():
GPIO.output(RelayPin, GPIO.HIGH) # 关闭继电器
GPIO.cleanup() # 释放资源
# 程序入口
if __name__ == '__main__':
makerobo_setup() # 初始化
try:
makerobo_loop() # 调用循环函数
except KeyboardInterrupt: # 当按下Ctrl+C时,将执行destroy()子程序。
makerobo_destroy() # 释放资源