基于CC2530的继电器模块实验
实验内容
- 搭建实验硬件环境。
- 理解继电器工作原理。
- 通过程序编写开启、关闭继电器。
实验目的
- 熟悉继电器模块实验套件的使用。
- 了解继电器的相关知识。
- 了解继电器的运用场景。
实验环境
实验所需硬件
序号 | 名称 | 数量 | 备注 |
---|---|---|---|
1 | 电脑 | 1台 | 系统Windows7及以上 |
2 | CC2530底座模块 | 1个 | · |
3 | 继电器模块 | 1个 | · |
4 | CC Debugger 仿真器和连接线 | 1套 | · |
5 | USB线 | 1根 | · |
6 | 继电器模块实验代码 | 1份 | · |
实验所需软件
- IAR 驱动安装步骤
- CC Debugger 驱动安装步骤
- Git 软件下载(可选)
CC2530底座:HIVE ZigBee Pro(简称CC2530底座)是一种基于CC2530F256芯片的蜂巢底座。
CC Debugger 仿真器和连接线
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 关闭
}
}
常见问题
-
弹出警告窗口,不能下载程序。
- 请确认CCDebugger驱动否安装。
- 轻按CCDebugger仿真器的按键,指示灯不是绿色连接有问题。
- CCDebugger仿真器是否正常接入到底座,参考实验步骤第一步。
-
下载代码后程序没观察到实验现象。
- 请重新上电,或者按下底座上的复位按键。
- 模块没有安装稳妥。
-
继电器控制不了。
- 确认采用的是USB线进行供电而不是CCDebugger。
实验思考
- 编写一个函数输入参数为继电器编号、开关动作、打开动作持续时间。