【STM32-扩展模块】继电器模块Relay

article/2025/11/11 1:00:52

前言:

继电器模块工作电压5V,吸合电流约70mA每路,带继电器状态指示灯;I/O信号输入直接与单片机IO口或数字电路连接,输入高电平继电器吸合,输入低电平继电器释放; 全贴片元件,最合理驱动电路设计,采用8050三极管驱动继电器动作。

背景:

鉴于项目的需求,用正点原子-精英板(STM32F103)去驱动一个5v的继电器模块控制USB加湿器。本以为就是单片机直接I/O口直接输出高低电平就能实现开关切换了(控制原理跟点LED灯差不多,而且通常就是这么控制的),可实际情况我实验失败了。。。

我买的继电器模块是5V工作电压、低电平触发的,而且是支持单片机I/O直接驱动控制,然而我发现控制不了。用开漏输出才能正常控制继电器的工作状态,而使用通用推挽输出模式继电器都是不工作没反应的(正常来说继电器都是用推挽输出驱动I/O的),想问一下,为什么精英板不能用推挽输出模式驱动5V继电器模块?

百度了下什么都没有,说什么单片机I/O驱动能力不够,需要做个三极管放大驱动,都TM子虚乌有,其实现在淘宝的继电器模块都是考虑这些的都做好了的,单刀直入就行的。度娘救不了,这可咋办?

解决方法:

更改I/O口(GPIO)的输出模式。一般我们常用的都是推挽输出模式(GPIO_Mode_Out_PP ),我们就改为开漏输出模式(GPIO_Mode_Out_OD ),改完重新编译烧录,即可解决这个问题。

原GPIO初始化配置(推挽输出):

改成开漏输出模式之后:

   (1)推挽输出

       推挽输出(push-pull out),就是有推push有拉pull,任何时候I/O口的电平都是确定的,而且不需要我们外接上拉或者下拉电阻。

   (2)开漏输出

      开漏输出,就等于输出口接了个NPN三极管,且只接了e,b。 c极是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了。但是不接电阻上拉的时候,这个输出高就不能实现了。只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)

谢谢观看,有问题需要请教的,请加入STM32学习交流群(QQ群号:470804974),本人QQ号2974278195有问题可添加看到必回。


http://chatgpt.dhexx.cn/article/CobVRZS3.shtml

相关文章

Arduino笔记-继电器模块的使用

这里以一个小实验为例,当串口输入a时亮灯: 当输入b的时候,灭灯,这里主要是使用了继电器 后台打印如下: 这里说下继电器的理论: ab之间是线圈,只要在ab两端上加上一定的电压,线圈中就…

21、ZigBee 开发教程之基础篇—继电器模块

文章目录 1、实验目的2、实验设备3、实验相关电路图4、实验相关寄存器5、源码分析6、实验现象1、实验目的 1)通过实验掌握 CC2530 芯片 GPIO 的配置方法 2)掌握 HC-SR501 人体红外传感器的使用 2、实验设备 硬件:1、PC机一台;2、ZigBee(CC2530)(底板、核心板、仿真器、…

raspberryPi_继电器模块(relay)+风扇模块(fan)连接原理图/硬件调试

文章目录 继电器模块型号和样式型号样式1:端口介绍左侧 右侧(指示灯侧)双侧图 样式2:DC/IN 引脚介绍 继电器的使用和接入风扇的可用性调试 ⛔注意测试代码触发电平code (new)code(old) 测试继电器模块可用性可选材料Fritzing 接线图 关于继电…

matlab simulink继电器,4.2 齿隙及继电器模块

课时:117节课 时长:20.1小时 课级:中级提高 simulink是matlab中的一种可视化仿真工具, 是一种基于matlab的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中,在空气动力学、导航制导、…

继电器模块使用

继电器是一种小电压控制大电压的东西,由于在使用过程中出现过错误,在这里写一下记录一下使用方法。 这里是2路5v的继电器模块示意图,右边是它的控制部分及电源,in1、in2是他的输入引脚,即控制引脚,可通过单…

继电器模块

电路中各元器件的作用 晶体管T1为控制开关。电阻R1主要起限流作用,降低晶体管T1功耗。电阻R2使晶体管T1可靠截止。二极管D1反向续流,为三极管由导通转向关断时为继电器线圈中的提供泄放通路,并将其电压箝位在12V上。 工作原理简介 当输入高…

继电器模块的基本使用(高低电平触发)

一.继电器的基本原理 一个继电器拥有一个动触点以及两个静触点A和B。 当开关K断开时,继电器线路无电流通过,此时动触点与静触点B相接触,上半部分的电路导通。静触点B被称为常闭触点(NC) 常闭——NC(normal …

继电器模块讲解

在上一篇(“常用继电器模块的PCB设计与实物分享”)里我分享了一个自己制作的继电器模块,今天我来讲解一下继电器模块的作用和原理。 我们先来看一下这里的继电器实物图: 继电器模块的结构: 继电器的内部结构其实很简单,就是很…

单片机上面的继电器工作原理及其作用

继电器简介 单片机接继电器电路,用偏小的信号,达到直接控制大电流负载的目的,即弱电控制强电。单片机的引脚输出来控制继电器的闭合与断开。 从电路图可得知,继电器只有一个接口J2与单片机相连接。当接低电平时,继电…

继电器介绍及接线说明

继电器 继电器主要用于控制电路 继电器:是一种电控制器件,是当输入量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。继电器具有控制系统和被控制系统,通常应用于自动化的控制电路中,…

必备模块知识——继电器

一、继电器的概念 1.1、什么是继电器 继电器是一种电控制器件,是当输入量的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。继电器具有控制系统和被控制系统,通常应用于自动化的控制电路中,在电路中…

继电器模块的的使用方法、引脚说明、内部结构、接线说明(超通俗超详细看了就能给别人讲)

最近老师让做课程设计,同学们用继电器模块的人不少,但是同学们貌似都不会用继电器模块,这次我就写一个文章记录一下,详细的讲解一下继电器的模块使用,以及引脚的定义。 首先说最普通的继电器模块吧(在本文图…

日期操作类(DateFormat、SimpleDateFormat)

1.DateFormat类 此类是一个日期的格式化类,专门格式化日期的操作,因为java.util.Date类本身就已经包含了完整的日期,所以只需要将些日期按照一些好的格式格式化一下显示就好了. 观察DateFormat类的定义:此类是定义在java.test包中的。 public abstract class Dat…

@DateFormat与@JsonFormat

一、目的 代码中使用到了DateFormat 与JsonFormat ,但是不知道是什么意思。所以进行总结 二、分析 DateFormat 作用: 将从数据库中查询出来的数据格式化对应的格式 我们从数据库查询出来然后返回到前台,发现Date属性是类似 2022-05-22T11:04:42.000…

DateTime日期格式化

在C#中DateTime是一个包含日期、时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式。 目录 1. 分类 2. 制式类型 3. 自定义格式类型 1. 分类 DateTime调用ToString()传入的参数可分为制式和自定义…

DateFormat

DateFormat是日期/时间格式化子类的’抽象类’ 作用: 格式化(日期——>文本)、解析(文本——>日期)Date 成员方法: 1.String format(Date date):按照指定模式,把Date日期&…

DATE_FORMAT()用法

SELECT DATE_FORMAT(now(), ‘%Y-%m-%d %H:%i:%S’); 查询结果为

DateTimeFormatter格式化日期

DateTimeFormatter格式化日期 JDK8 提供了线程安全的 DateTimeFormatter 日期格式化工具类用来替换线程不安全的 SimpleDateFormat,下面简单的介绍一下如何使用DateTimeFormatter去格式化日期以及解析特定格式的文本。 直接上代码: public static voi…

日期格式化 new Date().format

需求:项目开发中,后端返回的日期以yyyy-MM-dd格式显示。 前端处理代码: new Date().format(yyyy-MM-dd)但报错 查找相关资料,原生js和jquery都不能直接用new Date().format(‘yyyy-MM-dd’)。 解决方法一: js引入d…

Date格式化

Date格式化: Date date new Date();System.out.println(date);/*注意,dd需要小写,另外,需要注意的是,匹配符字母不能随意写*//*获取date*/SimpleDateFormat sdf1 new SimpleDateFormat("YYYY年MM月dd日 ")…