继电器模块详解

news2024/11/15 13:52:16

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

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

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

1. 源码下载及前置阅读

本文首发 良许嵌入式网 :https://www.lxlinux.net/e/ ,欢迎关注!

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

https://www.lxlinux.net/e/stm32/relay-tutorial.html

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

  • 零基础快速上手STM32开发(手把手保姆级教程):https://www.lxlinux.net/e/stm32/stm32-quick-start-for-beginner.html
  • 万字猛文:MQTT原理及案例:https://www.lxlinux.net/e/stm32/mqtt-turorial.html
  • 如何快速成为点灯大师?:https://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 短接时为高电平触发。

工作电压静态电流MAX电流触发电压触发电流MAX负载
5V5mA190mA5V2-4mA交流250V/10A 直流30V/10A
12V5mA80mA12V2-4mA交流250V/10A 直流30V/10A
24V5mA50mA24V2-4mA交流250V/10A 直流30V/10A

工作示意图如下:

接线如下:

  • 输入部分:
继电器单片机/电路备注
DC+/VCC电源正极按继电器要求,接5V、12、24V或其他电压
DC-/GND电源负极
INIO口可以以高或低电平控制继电器吸合
  • 输出部分:

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

继电器电路备注
NO需要控制的电路,与 NC 二选一常开接口,继电器吸合前悬空,吸合后与COM短接,电路闭合
COM公共端继电器公用接口
NC需要控制的电路,与 NO 二选一常闭接口,继电器吸合前与COM短接,吸合后悬空,电路断开

6. 编程实战

6.1 通信示意图

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

6.2 硬件连接

本教程使用的硬件如下:

  • 单片机:STM32F103C8T6
  • 继电器:5V 一路继电器
  • 小灯:三色 LED 灯模块
  • 电池
  • 烧录器:ST-LINK V2
STM32继电器LED电池
3.3VCC
GGND
P8IN
COMR
GND负极
NO正极

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

ST-Link V2STM32
SWCLKSWCLK
SWDIOSWDIO
GNDGND
3.3V3V3

接好如下图:

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!

另外,想进大厂的同学,一定要好好学算法,这是面试必备的。这里准备了一份 BAT 大佬总结的 LeetCode 刷题宝典,很多人靠它们进了大厂。

刷题 | LeetCode算法刷题神器,看完 BAT 随你挑!

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

  • 程序员必备编程资料大全
  • 程序员必备软件资源

欢迎关注我的博客:良许嵌入式教程网,满满都是干货!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1421135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mini-spring|设计与实现资源加载器并从Spring.xml解析和注册Bean对象

**需求:**我们需要自动为bean加载资源,代替注册、注入属性、注入bean等功能 1.资源加载器属于相对独立的部分,它位于 Spring 框架核心包下的IO实现内容,主要用于处理Class、本地和云环境中的文件信息。 2.当资源可以加载后&#…

假期刷题打卡--Day18

1、MT1168阶乘数 输入正整数N,找出它是否是一个等于其他数的阶乘值的数,输出YES或者NO。 格式 输入格式: 输入正整数N 输出格式: 输出YES或者NO 样例 1 输入: 5输出: NO 相关知识点 阶乘 可以理…

研发人员如何做好日常工作的稳定性保障

一、前言 二、稳定性介绍 三、实际操作流程 1、需求分析阶段 2、设计阶段 2、1备选架构 2、2方案设计 2、3 架构设计 2、4设计的checklist 2、5的checklist 3、开发联调 4、自测环节 5、上线前环节 6、上线后的验收和复盘 四、稳定性、效率、成本之间的考量 五、…

12306 真的很拉跨吗?春运是对它最大的误解!

春节降至,大家都抢到火车票了吗?马上就要迎来春节,是不是都在吐槽 12306 的种种不好,它真的有这么拉跨吗? 其实不然,每到各种节假日,都是对 12306 最大的误解! 特别是春运&#xf…

Vite+Vue3使用Vue-i18n笔记

一、下载依赖 vue-i18n yarn add vue-i18n创建存放语言文件的目录 以及配置文件的配置 我是在src/lang 新建index.ts、cn.ts、en.ts以及test文件夹其中再分别新建cn.ts以及en.ts /lang/index.ts 用于导出vue-i18n需要的配置对象 import en from "./en.ts"; import…

PYTHON蓝桥杯——每日一练(简单题)

题目 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。 输入格式 输入一行,包含两个整数…

[ESXi 8]安装centos7

文章目录 创建虚拟机创建虚拟机选择centos7选择存储选择镜像文件上传ios镜像文件 安装即将完成 启动虚拟机自动获取ip设置root密码安装成功 创建虚拟机 创建虚拟机 选择centos7 选择存储 选择镜像文件 上传ios镜像文件 如图显示上传进度,上传完毕之后,将…

【讲座分享】| 复旦大学张奇教授——《自然语言发表论文如何打怪升级?NLP顶会论文发表》

文章目录 1 基础关1.1 基础书籍1.2 提高书籍1.3 课程链接1.4 编程实战 2 阅读关2.1 分层过滤2.2 集团作战,信息获取2.3 论文如何泛读 3 动机 方向关3.1 快速发论文3.2 好的研究 4 写作关4.1 论文写作流程4.2 从读者角度出发4.3 每一部分怎么写4.3.1 Abstract摘要4.3…

一体化设计:兼容多种OS系统Linux网关楼宇DDC

在工业物联网(IIoT)和智能建筑领域,钡铼网关具备高度灵活性与强大计算能力的边缘网关产品正逐渐成为推动行业智能化转型的关键要素。本文将详细介绍的基于Linux系统的4G工业智能网关,不仅拥有NXP i.MX8M Mini四核64位处理器的强大…

直播观看人次破30W | 极新「2024未来直播电商科技峰会」圆满落幕

“共话直播电商&消费科技行业破局之道” 文|德江&凯丰 编辑 | 云舒 出品|极新 1月27日,由极新携手北京电子商务协会联合举办的「2024未来直播电商科技峰会」圆满落幕!在峰会上,共进行了10 场演讲 &a…

【C++】笔试训练(八)

目录 一、选择题二、编程题1、两种排序方法2、求最小公倍数 一、选择题 1、关于重载函数,哪个说明是正确的() A 函数名相同,参数类型或个数不同 B 函数名相同,返回值类型不同 C 函数名相同,函数内部实现不…

018 用户交互Scanner

什么是Scanner对象 next()方法 // 声明输入对象 Scanner scanner new Scanner(System.in);System.out.println("next()方法接收:"); if (scanner.hasNext()) {// 输入 Hello worldString str1 scanner.next();// 输出 HelloSystem.out.println(str1); }…

能替代微软AD的国产化方案,搭建自主可控的身份管理体系

随着国产化替代步伐加速,以及企业出于信息安全建设的需要,越来越多的企业和组织开始考虑将现有的微软 Active Directory(AD)替换为国产化的LDAP身份目录服务(也称统一身份认证和管理)系统。本文将介绍一种国…

Excel中将16进制数转化成10进制(有/无符号)

Excel中将16进制数转化成10进制(有/无符号) Excel或者matlab中常用XXX2XXX进行不同进制的转换 16进制转10进制(无符号数):HEX2DEC 16进制转10进制(有符号数): FA46为例&#xff0c…

系统架构19 - 面向对象

面向对象设计 相关概念面向对象分析基本步骤基本原则分析模型 面向对象设计设计模型类的类型 面向对象编程基本特点需求建模设计原则面向对象软件测试 相关概念 接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。消…

基于链表实现贪吃蛇游戏

本文中,我们将使用链表和一些Win32 API的知识来实现贪吃蛇小游戏 一、功能 (1)游戏载入界面 (2)地图的绘制 (3)蛇身的移动和变长 (4)食物的生成 (5&…

Utreexo:优化Bitcoin UTXO集合的基于哈希的动态累加器

1. 引言 前序博客: Utreexo:比特币UTXO merkle tree proof以节约节点存储空间 MIT Digital Currency Initiative 的 Thaddeus Dryja 2019年论文 Utreexo: A dynamic hash-based accumulator optimized for the Bitcoin UTXO set。 开源代码实现见&…

如何在DBeaver中重命名数据库

前言 DBeaver是一款强大的开源通用数据库管理和开发工具,支持多种数据库类型。在某些数据库系统中,你可以直接通过DBeaver的图形界面来重命名数据库名称。本文将详细介绍如何在DBeaver中进行数据库重命名操作。 重要提示: 对于不同的数据库…

SSD寻址单元IU对寿命的影响有多大?

随着存储技术的不断进步,固态硬盘SSD的容量正以惊人的速度增长,尤其是采用高密度QLC NAND闪存技术的大容量SSD,如30TB及以上级别的产品。QLC NAND由于每个单元能够存储4比特数据,从而显著提高了存储密度,但同时也带来了…

Web服务器之Tomcat

文章目录 Web 服务器软件简介资源分类访问流程常见的Web服务器软件 Tomcat简介使用步骤使用Tomcat注意事项部署项目的方式方式一方式二方式三 问题中文乱码黑窗口一闪而过启动报错 Web 服务器软件 简介 服务器:安装了服务器软件的计算机服务器软件:接收…