基于微信订阅号的扫地机器人远程监控系统设计

2020-09-14 10:27章盼梅朱万浩
实验室研究与探索 2020年8期
关键词:扫地子系统红外

章盼梅, 朱万浩

(华南理工大学广州学院a. 机械工程学院;b. 电气工程学院,广州510800)

0 引 言

随着电子技术的快速发展,人们对生活品质要求越来越高,市面上出现了一批扫地机器人。扫地机器人集扫地、拖地、吸尘于一体,为人们打扫卫生带来极大的方便。扫地机器人通常采用一键启动方式,当人们需要它工作时,只需按下启动按钮,便按照预先设定的程序自动运行,它的缺点在于人们无法对它进行远程监控[1]。本文利用STC单片机为中央控制器,微信订阅号为上位机,结合云服务器、WiFi、以太网技术开发了一套远程监控系统,实现了扫地机器人的远程监控。

1 系统总体方案

基于微信订阅号的扫地机器人远程监控系统分上位机、中间层及现场执行层3 部分[2]。上位机主要由基于微信订阅号2 次开发的监控软件,负责监控扫地机器人的运行状态,例如:启动、停止按钮等;中间层主要由STC89C52 单片机组成,它是整个系统的核心部分,主要接收来自现场各传感器发送过来的信号,经处理后发送给执行元件,控制扫地机器人工作。现场执行层主要由扫地、拖地、爬行、电子罗盘和红外线避障等模块组成,它们负责把现场的各种信号转换为电信号,发送给单片机,单片机处理后发送给各类执行元件,保证扫地机器人正常工作,系统总体方案如图1所示。

图1 系统总体方案

2 系统硬件设计

扫地机器人硬件部分由单片机控制系统、罗盘探测、红外、扫地、拖地等模块组成,它们主要负责把现场信号转换为电信号、处理信息和控制扫地机器人运行。

2.1 单片机控制系统设计

扫地机器人控制系统中央处理器采用STC89C52单片机。它是一款低功耗、高性能的微控制器,FLASH内存为8KB、RAM内存为512KB、I/ O接口32 个、定时器3 个,可同时实现多个单片机级联,是一款非常适合扫地机器人的微控制器[3]。STC89C52 最小系统如图2 所示,UCC引脚接5 V电源,RST引脚接由C1和R1构成的复位电路,XTAL1、XTAL2 接由晶振和电容构成的时钟电路。

图2 STC89C52单片机最小控制系统电路图

2.2 罗盘探测模块设计

罗盘探测模块用磁阻传感器感应地球磁场,将感应到的地磁信息转换为数字信号输送到单片机中。它的作用是检测扫地机器人周围的磁场强度,辨别前进的方向[4]。电子罗盘模块由HMC5883L 芯片及外围电路组成,当扫地机器人工作时,向罗盘芯片数据总线SDA发送地址0X3C,芯片收到信号后发送回0X3D指令应答单片机。此时,单片机和罗盘芯片建立了连接,单片机读取罗盘芯片发送过来的磁场信号,根据磁场信号控制扫地机器人的运动方向,罗盘探测模块电路如图3 所示。

图3 罗盘探测模块电路图

2.3 红外模块设计

扫地机器人采用红外模块来识别故障,该模块由发射模块和接收模块两部分组成[5-6]。扫地机器人工作时,红外发射模块发射红外线,当红外线碰到故障物时,红外接收模块收到返回的红外线,识别故障物的存在。红外发射模块发射红外线,接收模块接收红外线,两个模块需相互配合,缺一不可。红外发射模块电路如图4 所示,与非门74HC00 芯片与R1、R2、C1构成一个RC振荡电路,与非门芯片6 脚形成一个方波信号,经过电阻R4驱动三极管Q1不断地导通和关断。三极管Q1不断地导通和关断,使发光二极管D1也不断地导通和关断,发送出一串连续的方波,完成红外模块发射红外信号。

图4 红外发射模块电路图

红外接收模块由LM567 芯片及外围电路组成,LM567 是一个音频解码器,能处理特定的信号。当红外接收三极管接收到红外信号时,产生一个方波信号发送到LM567 芯片的IN 脚,LM567 判断接收的信号和芯片内部设定的信号是否一致,一致则OUT脚输出一个低电平,不一致则OUT 脚输出一个高电平,实现故障判断功能[7-8],红外接收模块电路如图5 所示。

图5 红外接收模块电路图

3 系统软件设计

扫地机器人远程监控系统采用微信订阅号软件平台进行2 次开发。监控系统分为设备控制、数据监测、个人中心和智能控制算子系统。设备控制子系统包含自动和手动控制设备模块,主要负责对红外模块、罗盘探测等模块的控制;数据监测子系统包含实时数据和实时数据查询模块,主要对扫地机器人运行记录数据等的采集;个人中心子系统包括用户登录注册及查询模块,负责对用户信息的管理;智能控制子系统包含设备决策控制模块和数据信息推送模块,负责设备智能控制方法的决策及优化[9],软件系统功能结构如图6所示。

图6 软件系统功能结构图

3.1 设备控制子系统设计

扫地机器人控制方式分为手动控制、自动控制和远程控制3 种方式[10]。手动控制是指在扫地机器人上按前进、后退等按钮进行控制;自动控制是指通过按自动运行按钮,扫地机器人按照已设定好的程序自动运行;远程控制是指在手机微信端进行控制,通过云端实现远距离的操作。扫地机器人控制按钮包括前进、后退、扫地、拖地和自动运行等,在微信监控端点击前进按钮时,变量ctr_run ==1;当点击后退按钮时,变量ctr_run ==0。微信监控系统通过云服务器发送命令给单片机,经处理后控制设备的运行,设备控制子系统流程如图7 所示。

图7 设备控制子系统流程图

3.2 数据监测子系统设计

扫地机器人在运行过程中,CPU 把相关的参数记录下来,以便管理者查询[11]。数据监测子系统中,主要有扫地机器人的扫地/拖地时间、扫地/拖地行走轨迹、设备前进/后退/启动/停止等操作记录、设备报警、故障等记录。数据监测子系统中包含实时数据和历史数据,实时数据是指扫地机器人现场运行的数据,实时的显示在微信监控系统上;历史数据是把以往至今的运行数据保存起来,供管理员查询,如:扫地机器人从出厂至今的运行记录,数据监测流程如图8 所示。

图8 数据监测子系统流程图

3.3 个人中心子系统设计

根据用户权限的不同,分为游客、普通用户和管理员[12-13]。游客权限最低,只能查看监控系统;普通用户指一般的使用者,权限比游客高,可以监控扫地机器人;管理员权限最高,可以查看系统中的任何信息。系统中默认给扫地机器人使用者一个管理员账号,登录管理员账号,可以查看普通用户的注册申请、分配用户的操作权限、增加或删除用户的信息。用户成功注册后,点击登录界面,登录的信息通过Java 等技术验证格式、内容等是否正确。同时,系统对用户名密码进行算法加密,防止数据被盗,个人中心子系统设计流程如图9 所示。

图9 个人中心子系统设计流程图

4 系统测试

系统测试是一个重要且必不可少的环节,是保证系统稳定可靠运行的关键[14-15]。在系统测试之前,首先组装好单片机控制系统、罗盘探测、红外检测等模块。在微信监控系统测试端,为方便更多消费者使用,选择市场占有率较高、价格较便宜的Note8 智能手机,它采用Android系统、高通骁龙665 八核处理器、6GB RAM/ 128GB ROM,扫地机器人实物如图10 所示。

图10 扫地机器人实物

在微信监控系统界面端,设计有远程、就地、扫地、拖地、前进等按钮。点击“远程”按钮,扫地机器人只接受微信控制,扫地机器人上的控制按钮无法操作;点击“就地”按钮,情况刚好相反。点击“扫地”按钮,扫地机器人启动扫地程序;点击“拖地”,扫地机器人执行拖地程序;点击“自动运行”按钮,扫地机器人按照预设的程序和算法自动运行,扫地机器人软件测试界面如图11 所示。

图11 扫地机器人软件测试图

5 结 语

本文设计了一种以STC 单片机为中央控制器、微信为上位机的扫地机器人远程监控系统。与传统的扫地机器人相比,该系统能远距离启动、停止扫地机器人,并能监视它的运行状态。扫地机器人自试运行以来,性能稳定、运行可靠、工况良好,各项数据均达标,得到了同行的好评。该系统主要的创新点在于利用手机微信、以太网和云服务器技术,实现了扫地机器人的远程监控,为研发人员远程监控技术改造提供参考。

猜你喜欢
扫地子系统红外
扫地机器人
不对中转子系统耦合动力学特性研究
网红外卖
闪亮的中国红外『芯』
GSM-R基站子系统同步方案研究
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
妈妈洗衣我扫地
驼峰测长设备在线监测子系统的设计与应用
扫地扫到树上面