基于单片机的远程无线控制系统设计

server/2024/9/20 11:28:37/ 标签: 单片机, 嵌入式硬件, 毕设
摘 要 主要介绍了一种以单片机 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 个继电器分别控制报警灯的亮灭和发声, 较好地达到了预期的 最后对电机进行了简单的启动 停止控制 ,也达到了预期的效果, 实现了对电机的简单控制 为下一步的研究提供了基础。

http://www.ppmy.cn/server/119383.html

相关文章

时序数据库 TDengine 的入门体验和操作记录

时序数据库 TDengine 的学习和使用经验 什么是 TDengine ?什么是时序数据 ?使用RPM安装包部署默认的网络端口 TDengine 使用TDengine 命令行(CLI)taosBenchmark服务器内存需求删库跑路测试 使用体验文档纠错 什么是 TDengine &…

.Net日志组件之NLog的使用和配置

文章目录 .Net日志组件之NLog的使用和配置1、新建.Net8控制台项目2、Nuget安装NLog组件3、添加配置文件nlog.config4、右键文件nlog.config,修改属性为“始终复制 or 较新则复制”5、编写nlog.config配置文件内容6、编写c#代码测试记录简单日志7、编写c#代码测试记录…

【VUE3.0】动手做一套像素风的前端UI组件库---先导篇

目录 引言准备素材字体鼠标手势图 创建vue3项目构建项目1. 根据命令行提示选择如下:2. 进入项目根目录下载依赖并启动。3. 设置项目src路径别名,方便后期应用路径。4. 将素材按照自己的规则放置在assets文件夹下:5. 初始化全局css样式&#x…

python AutoGen接入开源模型xLAM-7b-fc-r,测试function calling的功能

AutoGen主打的是多智能体,对话和写代码,但是教程方面没有langchain丰富,我这里抛砖引玉提供一个autogen接入开源function calling模型的教程,我这里使用的开源repo是:https://github.com/SalesforceAIResearch/xLAM 开…

如何在 Qt 的 QListWidget 中逐行添加和显示数据

文章目录 如何在 Qt 的 QListWidget 中逐行添加和显示数据目标实现步骤1. 在 Qt Designer 中添加 QListWidget2. 在代码中逐行添加数据示例代码 代码解析3. 使用自定义项 运行效果总结 如何在 Qt 的 QListWidget 中逐行添加和显示数据 QListWidget 是 Qt 提供的一个非常方便的…

mysql DBA常用的sql

是否一般查询日志,默认关闭 show variables like ‘general_log’; 是否开启慢日志查询 默认关闭 show global variables like ‘slow_query_log’; 开启慢日志查询 SET GLOBAL slow_query_log ‘ON’; 默认是10 单位s SELECT long_query_time; 设置超过1s就算…

软考高级:数据库规范化: 1NF、2NF、3NF和 BCNF AI 解读

数据库的规范化是数据库设计中的一个重要过程,旨在减少数据冗余和提高数据一致性。它通过一系列规则(称为范式)来优化数据库表的结构。 常见的范式有1NF、2NF、3NF和BCNF。让我们分别来解释这些范式。 生活化例子 想象你在整理一个家庭成…

一、编译原理(引论)

目录 【一】、引论 一、编译器 1、编译器 2、编译器与解释器 3、编译器结构 【一】、引论 一、编译器 1、编译器 (1)编译器:将人类易懂的 高级语言 翻译成 硬件可执行的目标机器语言 (2) 高级语言 ⚫ 直接面…

回归预测|基于饥饿游戏搜索优化随机森林的数据回归预测Matlab程序HGS-RF 多特征输入单输出 高引用先用先创新

回归预测|基于饥饿游戏搜索优化随机森林的数据回归预测Matlab程序HGS-RF 多特征输入单输出 高引用先用先创新 文章目录 一、基本原理1. 饥饿游戏搜索优化算法(HGS)简介2. 随机森林(RF)简介3. HGS-RF回归预测流程1. 初始化2. 随机森…

linux第三课(linux中安装nginx与redis及SpringBoot集成redis)

目录 一.nginx引入 二.关于nginx 1.什么是nginx 2.nginx的特点 3.在nginx中安装nginx 三.关于redis 1.背景引入 2.什么是redis 3.redis的特点 4.在linux下的docker中安装redis 四.redis中的数据结构 (1)String(字符串) (2)Hash (3)list(列表) (5)zset(sorted se…

Qt_布局管理器

目录 1、QVBoxLayout垂直布局 1.1 QVBoxLayout的使用 1.2 多个布局管理器 2、QHBoxLayout水平布局 2.1 QHBoxLayout的使用 2.2 嵌套的Layout 3、QGridLayout网格布局 3.1 QGridLayout的使用 3.2 设置控件大小比例 4、QFormLayout 4.1 QFormLayout的使用 5、…

Modbus_tcp

目录 一:modbus起源 1.起源 2. 分类: 3. 优势: 4. 应用场景: 5.ModbusTCP特点(掌握): 二、 ModbusTCP的协议 1. 报文头 2. 寄存器 1. 线圈(Coils) 2. 离…

openmv与stm32通信

控制小车视觉循迹使用 OpenMV 往往是不够的。一般使用 OpenMV 对图像进行处理,将处理过后的数据使用串口发送给STM32,使用STM32控制小车行驶。本文主要讲解 OpenMV 模块与 STM32 间的串口通信以及两种循迹方案,分别是划分检测区域和线性回归。…

每日刷题(算法)

我们N个真是太厉害了 思路: 我们先给数组排序,如果最小的元素不为1,那么肯定是吹牛的,我们拿一个变量记录前缀和,如果当前元素大于它前面所有元素的和1,那么sum1是不能到达的值。 代码: #def…

第十一章 【后端】商品分类管理微服务(11.5)——增强响应

11.5 增强响应 在前后端分离的开发模式下,我们一般会统一后端的响应格式,比如自定义 Response 结构,但每个开发者可能会封装各自的 Response 结构,造成不一致,因此我们需要将响应格式统一起来,定义一个统一的标准响应格式。 11.5.1 创建响应模块 新建 yumi-etms-respon…

[PTA]7-1 藏头诗

[PTA]7-1 藏头诗 本题要求编写一个解密藏头诗的程序。 注:在 2022 年 7 月 14 日 16 点 50 分以后,该题数据修改为 UTF-8 编码。 输入格式: 输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占三…

WPF经典面试题全集

以下是一些常见的WPF(Windows Presentation Foundation)经典面试题及其答案详解: 1. WPF 是什么?与 WinForms 有何区别? 答案: WPF 是 Windows Presentation Foundation,是微软开发的用于构建…

关系运算符

判断相等或者不等的运算符,一般被称为关系运算符。 相等和不相等 C/C/Java/C#使用””表示相等,””表示赋值,”!”代表不相等。C/C无法根据使用场景区分赋值和相等运算符,因为支持赋值运算符返回整数并作为判断条件。VB用””判…

C++编译环境(IDE)推荐及安装

IDE是什么 嗨嗨嗨,我又来水博文了 今天来给大家推荐几款好用的IDE IDE是集成开发环境(Integrated Development Environment)的缩写,是一种软件应用程序,提供了用于软件开发的各种工具和功能,包括代码编辑…

GPT-4论文阅读

GPT-4 Technical Report论文阅读 文章目录 GPT-4 Technical Report论文阅读 Abstract训练的稳定性Training processPredictable scaling训练的稳定性多么难能可贵 Capabilities考试成绩传统的benchmark语言方面的能力Visual inputsSteerability LimitationsRisks & mitigat…