使用STM32选择低电平触发方式控制5V继电器的小记

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博客

[2] 【优信电子】1/2/4/8路5V12V24V继电器模块 光耦隔离高低电平触发-淘宝网 (taobao.com)

物联沃分享整理
物联沃-IOTWORD物联网 » 使用STM32选择低电平触发方式控制5V继电器的小记

发表评论