0 硬件平台
5V高/低触发继电器模块、STM32F103C8T6、ST-Link、7.4V电池、强电负载(工作电压7.4V直流电)
1 继电器用途
弱电控制强电,可以理解为你要控制一个较高电压电路的开关,为了保护你的安全,选择用较小的电压信号代替你的手去控制这个开关闭合导通高压电路。
2 继电器原理
通过高/低电平的弱电信号,控制触点动作。以低电平触发为例,当控制输入端保持高电平时,触点不动作保持原状态,当控制端输出低电平时,触发电磁铁使常开触点(NO,normal open)闭合,使常闭触点(NC,normal close)断开。一般使用公共触点COM和常开触点NO作为开关。
3 关于触发问题
5V继电器通过stm32高电平触发,无论推挽输出还是开漏输出不能直接实现,必须外接上拉电阻或三极管等外围器件,因此可以通过低电平触发实现(将继电器模块的跳线帽改为低电平触发端),经过测试,stm32GPIO口无论推挽输出还是开漏输出均可实现触发。
4 stm32与继电器间的接线
弱电控制端: DC+ 接stm32的3.3V;DC-接stm32的GND; IN接stm32的GPIO口(个人测试PA0)
强电输出端:COM 接电池正极,NO接负载入,负载出接电池负极
5 GPIO控制 relay.h
#include "stm32f10x.h" // Device header
void relay_ON(void) //继电器低电平触发,PA0
{
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
}
void relay_OFF(void)
{
GPIO_SetBits(GPIOA, GPIO_Pin_0);
}
void relay_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
relay_OFF();
}
6 实验现象与小结
当发生触发时,模块会有LED灯亮并伴随触点闭合声,强电输出端负载开始运行。
本文主要是为了解决高电平触发问题,并帮助各位快速了解使用继电器模块。
因笔者为小白一枚,如有纰漏疏忽之处,请批评指正!
7 参考内容
[1] 【精选】【STM32】继电器的使用_stm32控制继电器-CSDN博客文章来源:https://www.toymoban.com/news/detail-784168.html
[2] 【优信电子】1/2/4/8路5V12V24V继电器模块 光耦隔离高低电平触发-淘宝网 (taobao.com)文章来源地址https://www.toymoban.com/news/detail-784168.html
到了这里,关于stm32+5V继电器选择低电平触发方式使用小记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!