基于CC2530的继电器模块实验

实验内容

  • 搭建实验硬件环境。
  • 理解继电器工作原理。
  • 通过程序编写开启、关闭继电器。

实验目的

  • 熟悉继电器模块实验套件的使用。
  • 了解继电器的相关知识。
  • 了解继电器的运用场景。

实验环境

实验所需硬件

序号 名称 数量 备注
1 电脑 1台 系统Windows7及以上
2 CC2530底座模块 1个 ·
3 继电器模块 1个 ·
4 CC Debugger 仿真器和连接线 1套 ·
5 USB线 1根 ·
6 继电器模块实验代码 1份 ·

实验所需软件

CC2530底座:HIVE ZigBee Pro(简称CC2530底座)是一种基于CC2530F256芯片的蜂巢底座。

实验硬件

CC Debugger 仿真器和连接线

实验硬件

继电器模块

继电器模块

USB线

USB线

实验要求

  • 掌握继电器的工作原理;
  • 熟悉继电器的常开触点(NO),常闭触点(NC),公共端(COM)。

实验原理

继电器的工作原理

如下图,当开关S闭合时,线圈结构A有电流通过产生电磁场,把衔铁B吸下来使D和E接触,工作电路闭合。工作电路正常工作。

当开关S断开时,线圈结构A内无电流通过失去磁性,衔铁B松开,弹簧把衔铁拉起来,D和E断开,切断工作电路。

总的说,继电器就是利用电磁铁控制工作电路通断的开关。继电器的工作原理,使得继电器非常适合于用低电压控制高电压、小电流控制大电流的场景。

继电器工作原理

常开触点(NO)、常闭触点(NC)、公共端(COM)

下图是一个开关,此时控制电路未动作,我们把这时的触点A称为公共端(COM)。触点B称为常闭(NC)触点,触点C称为常开(NO)触。

开关

NO英文全称Normal open,NC英文全称Normal close

继电器模块基本电路

继电器模块基本电路

通过对电路的分析,当PB14输出高电平时,RL2继电器工作,此时,LED3亮起,当PB13输出高电平时,RL1继电器,此时,LED2亮起。

实验步骤

① 将继电器模块安装在CC2530底座上,CC Debugger连接电脑与CC2530底座,如下图所示:

模块组装

② 轻按CCDebugger复位按键,指示灯变绿,表示连接正常。如下图:

模块组装

③ 访问github,进入github界面后点击Code,Clone HTTPS安全链接,如下图所示:

操作步骤

④ 打开电脑终端,进入工作目录workspace (workspace 为工程文件夹所在目录):

$ cd workspace

⑤ 运行clone命令:

$ git clone https://github.com/aiotcom/eps.git 

下载目录至指定文件夹下。
如果提示“command not found”表示电脑没有安装Git,请至Git官网下载。
如果电脑没有安装 Git 软件,也可以进入Github,点击 Code -> DownLoad ZIP 下载所有工程代码。如下图所示:
下载代码
如果电脑没有公网,可以进:D盘\实验教程与代码选择相应的代码。

⑥ 打开 IAR Embedded Workbench 工程软件,点击工具栏: File -> Open -> Workspace,选择工程文件:基于CC2530的模块实验\11.继电器模块\继电器模块程序\Relay.eww 并打开。

打开工程

选择文件

⑦ 点击Make按钮,重新编译文件,显示没有错误。

文件编译

⑧ 点击Download and Debug按钮,将程序下载到模块中。

下载程序

代码下载成功

⑨ 点击X退出仿真模式。

退出仿真

⑩ 移除CC Debugger仿真器,采用USB线供电。

⑪ 可以听到到继电器1和继电器2交替开关并伴随嗒嗒声。

代码讲解

① 程序目录结构,源代码文件如下图:

代码目录结构

② main.c代码对控制继电器的IO初始化,完成后,依次控制继电器1、继电器2,打开、关闭。 调用Relay1_ON()、Relay1_OFF()控制继电器1打开及关闭,Relay2_ON()、Relay2_OFF()控制继电器2打开及关闭。

    void main(void)
    {
        Hal_Init_32M();//初始化32M时钟
        Relay_Init();//初始化继电器控制IO

        while(1)
        {
            Relay1_ON();//继电器1 打开
            delay_ms(5000);
            Relay1_OFF();//继电器1 关闭
            delay_ms(5000);
            Relay2_ON();
            delay_ms(5000);//继电器2 打开
            Relay2_OFF();
            delay_ms(5000);//继电器2 关闭
        }
    }

常见问题

  1. 弹出警告窗口,不能下载程序。

    • 请确认CCDebugger驱动否安装。
    • 轻按CCDebugger仿真器的按键,指示灯不是绿色连接有问题。
    • CCDebugger仿真器是否正常接入到底座,参考实验步骤第一步。
  2. 下载代码后程序没观察到实验现象。

    • 请重新上电,或者按下底座上的复位按键。
    • 模块没有安装稳妥。
  3. 继电器控制不了。

    • 确认采用的是USB线进行供电而不是CCDebugger。

实验思考

  1. 编写一个函数输入参数为继电器编号、开关动作、打开动作持续时间。