基于单片机的远程无线控制系统设计
摘 要
:
主要介绍了一种以单片机
AT89C2051
、
无线模块
APC200A-43
和继电器为核心的远程智能控制系统。
该系统通过对单片机功能的研究
,
使用单片机的输入输出口和中断实现对控制信号的处理,
通过调试无线通讯模块
,
控制接近开关实现对远程电机的启动
、
停止等控制
。
关键词
:
单片机
;
远程无线控制
;
无线模块
;
接近开关
引言
近年来
,
我国经济快速发展
,
煤炭需求量剧增
,
对煤矿安全生产提出了更高的要求。
据国家安全生产监督局统计,
我国煤炭安全事故死亡人数为
5 000~7 000 人
/a
,
如果能尽量减少井下作业的人数或者能让工人尽量远离危险的作业地点,
就能在一定程度上减少事故伤亡人数。
鉴于此
,
提出了基于单片机
的远程无线控制系统
,通过该系统来有效地控制远处的设备,
使作业人员尽量远离作业地点
。
1 远程控制系统总体设计
基于单片机的远程无线 控制系统主 要由发送模块与接收模块组成。
发送模块通过无线模块发送从外部接收到的指令(
如接近开关
),
接收模块接收到指令后传给单片机,
经过单片机处理后
,
控制继电器的闭合与断开,
达到远程控制电机的目的
。发送模块主要由单片机控制单元、
无线发射单元
、RS485 芯片和接近开关组成
,
原理框图如图
1
所示
。
图
1 发送模块组成框图
接收模块主要由无线接收单元
、
单片机控制单元、
RS485
芯片
、
继电器模块及电动机组成
。
原理框图如图 2
所示
。
图
2 接收模块组成框图
2 硬件设计
(
1
)
主要芯片的选择
由于控制过程较简单
,
选用了廉价的AT89C2051单片机
,
并外接
MAX813
看门狗芯片
,
芯片电路如图
3
所示
。
图
3 看门狗电路图
接近传感器选用的是防铝切削的
E2EZ
型接近开关。
无线模块选用的是多通 道微功率嵌 入式无线数传模块 APC200A-43
,
其传输距离可达
1 000 m
,工作频率为 431
~
478 MHz
,
256bytes
数据缓冲区
,
提供 UART/TTL
、
RS485
和
RS232
三种接口
,
适合大量数据传输,
本文采用的是
RS485
接口
。
电路图如图
4所示。
图
4 RS485 接口电路
在数据传输方式上选用的是地址数据传输
,
即所处传输的前 2
个字节为地址
,
后为数据
,
若接收端接收到匹配的数据包,
即将地址
、
数据传给终端设备,
否则将丢弃
,
使用这种方式能减轻上位机的软件开销。
(
2
)
发送模块设计
发送模块主要由
AT89C2051
单片机
,
看门狗芯片 MAX813
,
电压转换芯片
,
光电耦合器
,
APC200A-43 无线模块
,
RS485
芯片
,
指示灯及接近开关及滤波电路等组成。
实验过程中
,
通过控制接近传感器
(
选用的是防铝切削的 E2EZ
型接近开关
)
来提供高低电平,
控制单片机发送启动数据
(
AA
)
或者停止数据(55
),
单片机通过
RS485
芯片把数据传给无线模块
。发送模块中 的电源芯片 采用的是 MAX730
电压转换芯片,
转换电路如
5
所示
。
图
5 MAX730 电压转换电路
光电耦合器采用的是
4N35
,
原理图如
6
所示
。
图
6 光电隔离电路
实验过程中
,
RS485
接收发送选择位接单片机的 P3.3
口
,
接近开关的输出端通过
4N35
光电隔离后,
接到单片机的
P3.2
口
,
通过手动控制接近开关的接近与远离来控制单片机发送的数据,
程序中启动数 据设为 AA
,
停 止 数 据 设 为
55
,
用
RS485
芯 片连接单片机与 APC200A-43
,
通过
APC200A-43
把数据传给接收模块。
(
3
)
接收模块设计
接收模块主要由
DC/DC
电源转换模块
,
继电器,
APC200A-43
无线模块
,
RS485
芯片
,
指示灯及控制电路和滤波电路等组成。
24 V
电源经过滤波电路滤波后
,
给继电器供电
,此外还将 24 V
送入
DC/DC
电源转换模块
,
得到
5 V电压(
V
CC
),
滤波后供给单片机等使用
,
电压转换电路如图 7
所示
,
5 V
滤波电路如图
8
所示
。
图
7 24 V 转
5 V
电路
实验过程中
,
RS485
发送接收选择位接单片机的 P3.3
口
,
看门狗接
P1.6
口
,
继电器
1
接
P1.7
口
,继电器 2
接
P1.5
口
,
控制电路如图
9
所示
。
接收模块接收到发送模块发送的数据
(
AA
或55),
通过
RS485
传给单片机
,
单片机处理后
,
通过光电耦合器把信号放大后,
控制继电器控制电机的启动与停止。
3 软件设计与调试
软件设计采用了模块化结构
,
软件主要由主程序、
发送数据子程序
、
接收数据子程序
、
数据验证子程序、
定时子程序
、
延时子程序
、
中断服务子程序等组成。
基于以上各个程序模块的设计
,
本软件实现了对数据的发送与接收,
使得系统具有一定的实用价值。
主程序工作流程软件开发采用
Keil
软件的开发环境,
使用
C
语言模块化编程
,
为系统调试带来极大的方便。
(
1
)
接收模块主程序流程图
接收模块主程序流程图如图
10
所示
。
首先进行单片机的串口初始化,
进行短暂的延时后
,
由单片机发送数据 AA
启动电机或者报警指示灯
,
然后设置看门狗的复位时间,
最后通过判断接近开关的状态,
启动中断程序
,
确定发送数据是
AA
(
启动
)
还是 55
(
停止
),
延时后返回
。
(
2
)
发送模块主程序流程图
发送模块主程序流程图如图
11
所示
。
串口初始化之后,
进行延时等待
,
直到接收到数据
,
接收到数据后先进行判断,
如果数据正确
,
则由单片机发送指令控制继电器,
如果数据错误
,
则发送错误标志,
返回等待新的数据
。
4 结语
由于是研究无线模块
,
所以先是在实验室利用报警灯代替电机进行了初步调试,
2
个继电器分别控制报警灯的亮灭和发声,
较好地达到了预期的
果
。
最后对电机进行了简单的启动
、
停止控制
,也达到了预期的效果,
实现了对电机的简单控制
,
为下一步的研究提供了基础。