首页 > 其他分享 >继电器模块详解

继电器模块详解

时间:2024-07-31 11:42:29浏览次数:15  
标签:LED PIN 继电器 stm32 电路 详解 模块 GPIO

继电器,一种常见的电控制装置,其应用几乎无处不在。在家庭生活,继电器被广泛应用于照明系统、电视机、空调等电器设备的控制;在工业领域,它们用于控制电机、泵站、生产线等高功率设备的运行;继电器还在通信网络、交通系统以及医疗设备中发挥着重要作用。

不仅如此,继电器也是学习其他电子原理和技术的入门工具。通过理解继电器的工作原理和使用方法,你将为更深入地探索电子世界打下坚实基础。

所以,如果你还是一枚小白,不必担心!继电器是一个很好的起点,可以帮助你逐步了解电子领域的基础概念和应用。相信我,一旦你掌握了继电器的奥秘,你将获得打开通向电子世界更大门的钥匙!

1. 源码下载及前置阅读

良许嵌入式​www.lxlinux.net/e/

本文所涉及的源码及安装包如下(由于平台限制,请点击以下链接阅读原文下载):

继电器模块详解 | 良许嵌入式​www.lxlinux.net/e/stm32/relay-tutorial.html

往期教程,有兴趣的小伙伴可以看看。

  • 零基础快速上手STM32开发(手把手保姆级教程):
零基础快速上手STM32开发(手把手保姆级教程) | 良许嵌入式​www.lxlinux.net/e/stm32/stm32-quick-start-for-beginner.html
  • 万字猛文:MQTT原理及案例:
万字猛文:MQTT原理及案例 | 良许嵌入式​www.lxlinux.net/e/stm32/mqtt-turorial.html
  • 如何快速成为点灯大师?:
如何快速成为点灯大师? | 良许嵌入式​www.lxlinux.net/e/stm32/stm32-gpio-hal.html

2. 继电器介绍

继电器,可以被形象地比作一个开关,就像电灯开关一样,按下,电路闭合,电路通,灯亮;再按下,电路断开,电路不通,灯灭。它能够通过控制小电流来打开或关闭大电流电路,实现电路的控制和信号的传递。不过,与普通的物理开关相比,继电器具有更高的可靠性和灵活性,能够应对复杂的电路控制需求。

3. 继电器工作原理

当继电器的电磁线圈通电时,产生的磁场会引起机械部件的运动,从而改变触点的状态,触点可以是常闭或常开。

继电器原理示意图如下:

当信号电源断开,线圈两端没有施加电压,线圈没有产生磁力,衔铁在弹簧拉力下不接触触点,工作电路不连通,负载电器不工作。

当信号电源闭合,线圈两端施加电压,线圈产生磁力把衔铁往下拉,衔铁接触触点,工作电路连通,负载电器工作。

继电器的控制电路与工作电路是隔离的,这种切换状态的能力使得继电器能够控制高电压、大电流电路的开关操作。

4. 型号介绍

我们常见的继电器型号按照两方面分类:电压和路数。

1. 以电压分类:

根据控制电路的工作电压来分类,如 5V、12V、24V 等继电器。

  • 5V 继电器:通常在低电压应用中使用,如微控制器或单片机系统。
  • 12V 继电器:广泛应用于汽车电子、家用电器和工业自动化等领域。
  • 24V 继电器:常见于工业自动化和建筑控制系统等高电压应用。

2. 以路数分类:

按路数可分为 1/2/4/8 等路数,就像一板电灯开关上可以有 1/2/4/8 个开关,每个开关可以控制各自的电灯开关。8 路继电器就可以控制 8 个电路的开关。

5. 工作参数及引脚介绍

以下是常见继电器的工作参数,不过大家做项目前还是要按照商家详情页的挑选合适的,毕竟每个厂家会有些不同。

有些继电器可通过跳线设置高电平/低电平触发,跳线与 L 短接时为低电平触发,跳线与 H 短接时为高电平触发。

接线如下:

  • 输入部分:
  • 输出部分:

以下三个引脚,COM 一定要接,NO 和 NC 二选一。

6. 编程实战

6.1 通信示意图

我们的实现目标是由 STM32 控制继电器闭合与松开,让 LED 的红灯亮灭。

6.2 硬件连接

本教程使用的硬件如下:

  • 单片机:STM32F103C8T6
  • 继电器:5V 一路继电器
  • 小灯:三色 LED 灯模块
  • 电池
  • 烧录器:ST-LINK V2

烧录的时候接线如下表,如果不会烧录的话可以看我之前的文章 STM32下载程序的五种方法:https://www.lxlinux.net/e/stm32/five-ways-to-flash-program-to-stm32.html 。

接好如下图:

6.3 继电器代码

代码很简单,就是初始化一个引脚,连接继电器的 IN:高电平,继电器吸合,LED 亮;低电平,继电器悬空,LED 灭。

#include "sys.h"
#include "usart.h"
#include "delay.h"


//继电器控制LED引脚定义
#define LED_CLK()       __HAL_RCC_GPIOB_CLK_ENABLE()
#define LED_GPIO        GPIOB
#define LED_PIN         GPIO_PIN_8 

void led_init(void);                    /* LED初始化函数声明 */

int main(void)
{
    HAL_Init();                         /* 初始化HAL库 */
    sys_stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72Mhz */
    delay_init(72);                     /* 延时初始化 */
    led_init();                         /* LED初始化 */
    while(1)
    { 
        HAL_GPIO_WritePin(LED_GPIO,LED_PIN,GPIO_PIN_SET);   //继电器吸合,LED亮
        delay_ms(1000);
        HAL_GPIO_WritePin(LED_GPIO,LED_PIN,GPIO_PIN_RESET); //继电器悬空,LED灭
        delay_ms(1000); 
    }
}

/**
 * @brief       初始化LED相关IO口, 并使能时钟
 * @param       无
 * @retval      无
 */
void led_init(void)
{
    GPIO_InitTypeDef gpio_initstruct;
    LED_CLK();                                              /* IO口时钟使能 */

    gpio_initstruct.Pin = LED_PIN;                          /* LED0引脚 */
    gpio_initstruct.Mode = GPIO_MODE_OUTPUT_PP;             /* 推挽输出 */
    gpio_initstruct.Pull = GPIO_PULLUP;                     /* 上拉 */
    gpio_initstruct.Speed = GPIO_SPEED_FREQ_HIGH;           /* 高速 */
    HAL_GPIO_Init(LED_GPIO, &gpio_initstruct);              /* 初始化LED0引脚 */
}

6.4 效果展示

继电器「啪嗒」吸合,红灯亮;继电器「啪嗒」松开,红灯灭,如此循环。

6. 总结

继电器作为一种常见的电控制装置,在现代电子技术领域扮演着重要角色。它以其可靠性和高效性,成为各行各业中电路控制和电力传输的关键元件。希望通过本文的介绍大家能更好地理解和利用这一重要模块。感谢各位看官,love and peace!

标签:LED,PIN,继电器,stm32,电路,详解,模块,GPIO
From: https://www.cnblogs.com/geass-jango/p/18334278

相关文章

  • 我有一个“pywhatkit”python 模块属性错误。你能帮我吗?
    Pywhatkit已成功安装,但在任何属性代码中都显示属性错误。我可以修复它吗?我尝试过的代码:importpywhatkitpywhatkit.sendmsg('071*******','Ado',15,48)我如何修复这个问题:我将程序文件名“pywhatkit.py”重命名为“anotername.py”。谢谢所有帮......
  • 神经网络之卷积篇:详解计算机视觉(Computer vision)
    详解计算机视觉计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。还使得人脸识别技术变得更加效率和精准,即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。当解锁了手机,猜手机上一定......
  • PMSM电机方程详解
    一.dq轴下的电机方程1.电机方程分类做PMSM驱动,大家一定知道两个坐标系:αβ坐标系和dq坐标系。αβ坐标系,基于电机定子而言,所以又称定子坐标系或者静态坐标系。dq坐标系,基于电机转子而言,所以又称转子坐标系或者旋转坐标系。于是,在这两个坐标系下,就分别对应着各自的电机方程......
  • Go语言---sort 包中sort.Ints()、sort.Strings()、sort.Slice()、sort.SliceStable()、s
    在每一种编程语言中,都会涉及到排序操作。而在Go语言中,其中内置的sort包中提供了根据一些排序函数来对任何序列进行排序的功能。通过这个包中的一些方法,我们可以对一些基本的可以比较大小的类型的切片进行排序,也可以通过实现排序接口的几个特定方法实现自定义排序。sort.I......
  • 理解 C# 中的索引器(Indexer)详解与示例
    文章目录1.索引器的基本概念2.索引器的语法3、索引器示例3.1.定义一个简单的索引器3.2.使用索引器4、索引器进阶4.1.多维索引器4.2.索引器重载5.索引器的注意事项6.总结在C#中,索引器(Indexer)是一种特殊的属性,允许类的实例像数组一样通过索引访问。索引器......
  • (苍穹外卖 DAY3)启\禁用员工账号、编辑员工功能、分类模块解读
    写在前面在学习苍穹外卖过程中,弹幕常有“为什么我打不开?为什么我没有输出?”的疑问,针对这些我也在学习过程中同样遇到的问题,万分感激在弹幕中找到了答案,并作出这系列汇总。本文内容是基于弹幕对苍穹外卖项目的实施与补充,仅供学习与分享之用,如有侵权请联系删除~ 2024-07-30......
  • ARP欺骗与DNS劫持实验详解
    ARP欺骗原理ARP协议是AddressResolutionProtocol(地址解析协议)的缩写,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主......
  • c# RSA 要解密的数据超过此模块的最大值128/256字节
    publicstringDecrypt(){varbase64EncryptedData="";stringprivateKey=@"<RSAKeyValue>....</RSAKeyValue>";RSACryptoServiceProviderprovider=newRSACryptoServiceProvider();provider.FromXml......
  • WGS84、GCJ-02、BD09三大坐标系详解
    文章目录前言WGS84坐标系定义应用WGS84Web墨卡托投影GCJ-02坐标系(火星坐标系)定义应用GCJ-02经纬度投影与Web墨卡托投影BD09坐标系(百度坐标系)定义应用BD09经纬度投影与Web墨卡托投影坐标系之间的区别与注意事项总结前言WGS84、GCJ02、BD09坐标系互转在地理信......
  • 利用结构体数组 实现学生信息管理系统(模块化编程)
    核心功能(必须实现):                        新增信息查询信息修改信息删除信息 信息排序扩展功能:                        按字符串索引, 插入信息 提升功能:                        账号注......