第25章 继电器实验

第二十五章 继电器实验

1. 导入

在前面章节中我们已经介绍了如何控制 51 单片机的 IO 口输出高低电平,本章我们通过另外一个实验来讲述 51 单片机 IO 口的输出。 通过 STC89CXX 芯片的一个 IO 口控制板载继电器, 实现继电器的开和断控制。

2. 继电器介绍

继电器是一种电子控制器件,它具有控制系统( 又称输入回路) 和被控制系统( 又称输出回路) , 通常应用于自动控制电路中, 它实际上是用较小的电流去控制较大电流的一种“ 自动开关” 。 故在电路中起着自动调节、 安全保护、 转换电路等作用。

我们开发板上面使用的是电磁继电器:

电磁式继电器一般由铁芯、 线圈、 衔铁、 触点簧片等组成的。 只要在线圈两端加上一定的电压, 线圈中就会流过一定的电流, 从而产生电磁效应, 衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯, 从而带动衔铁的动触点与静触点( 常开触点) 吸合。 当线圈断电后, 电磁的吸力也随之消失, 衔铁就会在弹簧的反作用力返回原来的位置, 使动触点与原来的静触点( 常闭触点)吸合。 这样吸合、 释放, 从而达到了在电路中的导通、 切断的目的。 对于继电器的“ 常开、 常闭” 触点, 可以这样来区分: 继电器线圈未通电时处于断开状态的静触点, 称为“ 常开触点” ; 处于接通状态的静触点称为“ 常闭触点” 。

参考:继电器模块的使用(超详细)_继电器模块工作原理-CSDN博客

3. 硬件设计

开发板上面的继电器模块电路如下图所示:

屏幕截图 2024 06 13 083915

上图中可以看出, 该电路是独立的, 继电器的 5、 6 脚为线圈, 1、 2 脚是常闭端即初始状态是导通的, 3、 4 脚是常开端即初始状态是断开的。 继电器线圈控制管脚并未直接连接到 51 单片机的 IO 上, 而是连接到 J15 端子上。 通过电阻 R01 和 PNP 三极管 Q8 进行电流放大, 从而驱动继电器。

DD1 为反相二极管,用于消除继电器吸合时产生的瞬间反相电动势, 保护三极管及单片机。

继电器的输出端由 P1 端子引出, 1、 2 脚初始是常闭, 2、 3 脚初始是常开, 所以也用符号NC 和 NO 表示。 在继电器控制电路中, 为了能够让用户直观的看出继电器的开合状态, 在三极管的集电极管脚处并联一个 DK1 指示灯。 当 RELAY 引脚输出低电平时, PNP 三极管导通, DK1 指示灯亮, 继电器线圈得电, 常闭端断开, 常开端导通; 当 RELAY 引脚输出高电平时, PNP 三极管截止, DK1 指示灯灭, 继电器线圈不得电, 常闭端导通, 常开端断开。

其实继电器就相当于一个开关, 大家可以把所要控制的线路一端接到 COM,另一端接到 NO( 初始和 COM 断开) 或 NC( 初始和 COM 连接) , 比如控制风扇的开启和停止, 就可以在风扇的电源和输入的电源间通过这个继电器来实现开和关功能。

4. 软件设计

本章所要实现的功能是: 控制继电器吸合 5S 后再断开。

#include <REGX52.H>

//定义继电器控制管脚
sbit Relay = P1^4;

#define RELAY_OEPN_TIME    5000    //定义继电器吸合时间为5000ms

// 延时函数
void delay_ms(unsigned int ms)
{
    unsigned int i,j;
    for(i=ms;i>0;i--)
        for(j=110;j>0;j--);
}

void main()
{    
    Relay = 0; // 继电器吸合
    delay_ms(RELAY_OEPN_TIME); // 延时
    Relay = 1; // 继电器断开
    while(1)
    {            

    }        
}

5. 小结

这一章终于简单了,主要就是一个继电器,继电器就相当于一个开关,0(低电平)开,1(高电平)关,这个实验通过观察指示灯可以看到,LED亮了5s熄灭。为什么?看代码应该很容易理解。

我们可以和按键控制LED一起理解:按键怎么控制的LED的?当按键按下,对应引脚改变电平从而来翻转LED状态,这里的继电器类似,当继电器吸合时对应引脚输出为低电平从而点亮LED啦


2024.7.23 第一次修订

2024.8.23 第二次修订,后期不再维护

posted @ 2024-08-23 09:52  hazy1k  阅读(9)  评论(0编辑  收藏  举报