继电器模块的使用与代码示例

目录

前言

继电器简介

模块接线

工作原理

驱动代码

relay.h

relay.c

main.c

参考手册


继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节安全保护、转换电路等作用。 

继电器_百度百科 (baidu.com)

.f1f3c5685916495fabfe280beca26183.png

前言

继电器的驱动代码和LED类似,比较简单。

继电器简介

继电器(relay)是用于在低电压电路中控制高电压电路的开关。

例如,当我们需要控制家里的电灯或电器时,由于电灯或电器的负载电流较大,直接用微控制器或其他低功率电子元件控制开关是不现实的,这时就需要用继电器来控制开关。

1.继电器可实现电路的隔离(输入回路与输出回路没有接线关系,因此继电器具有隔离功能),从而保护低功率电子元件,使其不会受到高电压或大电流的影响。

2.用弱电控制强电,保证人们不会在高压电路中因为某种因为发生危险。

模块接线

引脚解释
弱电端与单片机连接
VCC电源正极(多少V继电器就用多少V供电)
GND电源负极
IN信号输入脚(一般有低电平触发和高电平触发两种,如低电平触发IN口输入低电平时NO和COM导通)
强电端与负载端相连
NO(normal open)表示常开端,默认状态是和COM不导通(继电器线圈未通电时断开)
COM公共端,不同状态下与NO、NC的导通状态不同
NC(normal close)表示常闭端,默认状态和COM导通(继电器线圈未通电时闭合)

cfdeabe71534424ba39a7b26eda8d937.png

0d6c0d4772d648ea96a86f8e4acb8cbb.png

开路即断路,闭合指的是开关闭合,也就是说,在没有任何上电之类的动作时,NC和COM端相当于已经连通,这种继电器模块的连线一般情况下NC是闭合的,所以我们要接到NO接口,然后信号输入引脚即IN引脚给低电平(低电平触发)或者高电平(高电平触发方式),NC端断开,NO端闭合,负载端电路形成闭合回路,开始工作,当IN端给相反电平时时,NO端断开,负载即停止工作。

 如果想一直工作,给信号停止工作,即把NO端的连线接在NC端就行了。

 切记:继电器的GND要和单片机的GND接在一起共地,也可用同一电源来达到共地的效果。

 80c31676357b420596fca9e5bb969cd5.png

我使用的模块如上图所示,为高电平触发

继电器(弱电端)STM32F103C8T6
VCC3.3V
GNDGND
INPA0
继电器(强电端)负载
COMGND
NO正极

工作原理

电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放

451ef708b4ad43d6a209ff8f06ccf18c.png

驱动代码

relay.h

#ifndef         _RELAY_H_
#define			_RELAY_H_

#define RELAY_HIGH     	1
#define RELAY_LOW       0

void  Relay_Init(void);
void  Relay_High(void);
void  Relay_Low(void);
#endif

relay.c

#include "stm32f10x.h"                  // Device header
#include "relay.h"

void Relay_Init(void)
{
	
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
 
		GPIO_InitTypeDef GPIO_InitStruct;
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitStruct);
		//默认输出低电平
}

void  Relay_High(void)
{
	GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)RELAY_HIGH);	
}
 
void  Relay_Low(void)
{
	GPIO_WriteBit(GPIOA,GPIO_Pin_0,(BitAction)RELAY_LOW);
}

main.c

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "relay.h"

int main(void)
{
	Relay_Init();
	
	while (1)
	{
		Relay_High();
		Delay_ms(1000);
		Relay_Low();
		Delay_ms(1000);
		
	}
}

可以听到继电器开关的声音

参考手册

0c60443cd73e45c19eb5b3d0adf6a217.png

34e568a855b544fcbbf63f82e78a2616.png

44ca8c8c16f24a6c8bb2b318a70e72e6.png

a93063d7d8f24d188e43914d26b5b657.png

参考手册

JQC-3FF-S-Z 数据表 PDF - TONGLING (datasheet4u.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值