APP下载

基于单片机的多功能扫地机器人设计

2019-04-16刘鑫项瑜茜

科学与技术 2019年17期
关键词:STM32单片机控制

刘鑫 项瑜茜

摘要:本文设计了一种基于STM32 单片机的多功能扫地机器人,介绍了智能扫地机器人机械结构设计和控制系统设计,使用超声波、环境监测模块实现避障和环境检测,边刷和吸尘电机进行清洁,使用STM32 单片机作为控制芯片,有自主导航和手机APP两种控制模式,扫地机器人在行走过程中采用混合路径规划技术,完成运动轨迹的规划,同时可以接收手机APP模块的指令,根据指令作出相应的反应。

关键词:STM32单片机;扫地机器人;APP 控制;WIFI连接

1 引言

智能掃地机器人的出现让人们从繁重的家庭清洁任务中解脱出来,从而可以将精力转移到 更重要的领域中如何在保证清扫质量的前提下更有效率地完成指定的清扫任务,是扫地机器人面临的重要问题。。改进扫地机器人的机械结构及优化其控制技术,对市场化的扫地机器人具有重大的研究意义[1]。目前智能扫地机器人的路径全覆盖规划方法主要包括随机覆盖法、单元域分割法、模板匹配法等。单一的使用这些方法,存在着低覆盖率及高重复率的缺点。为了避免单一路径规划带来的缺陷,本设计提供了自主导航和手机APP遥控两种控制模式:自主导航采用混合路径规划技术,完成运动轨迹的规划[2],精准定位家居环境,实现全面有序清扫;APP遥控运用WIFI进行连接控制,使用更加方便。扫地拖地功能模块独立设计,方便更换,清洁效果良好。

2 扫地机器人的系统设计

扫地机器人的主要构件有:行走装置、清扫装置、垃圾收集装置、传感检测装置、电源装置、WiFi装置等,采用混合路径规划技术[3],完成运动轨迹的规划,通过手机APP选择不同的模式进行工作,图1为扫地机器人系统总体框图。供电模块电源采用5200mAh的4S-14.8规格的航模电池,供机器人所有模块用电,电源模块连接电机驱动、单片机模块以及LCD1602显示模块。主体模块由传感器、STM32控制器以及动力装置组成。扫地模块由清扫垃圾的毛刷、吸尘集尘结构、电机电路组成,拖地模块,配备可拆卸拖布,加装一个蠕动泵来控制出水量,对地面进行清洁。

2.1 扫地清洁模块

为了避免其在转弯的过程中卡住,该扫地机器人外形采用市面上常见的圆形结构。在扫地机器人的底盘的靠前的方位,设计一个由直流减速电机驱动的单向旋转扫帚,工作时电机时刻旋转。扫帚是一个圆柱体形状的毛刷机构,尽可能的靠近地面,选定合适的电机旋转速度带动扫帚。同时采取分离式吸尘技术[4],引入抽风机建立低压环境,一方面,模仿簸箕加扫帚的清扫组合对付较大垃圾,辅助收集较小的垃圾;另一方面,使用下风道和滤纸组合,增强单位面积的吸尘能力,完成清扫灰尘及颗粒状垃圾的工作,并将垃圾清扫到垃圾收集装置中存储。

2.2 拖地清洁模块

拖地模块通过加装一个蠕动泵控制出水量,保证均匀出水,拖布被均匀润湿的同时可以控制使用水的量,从而减少拖地的次数。拖地模块由亚克力制作底板、3D打印制作支撑、外部防护、水箱、水泵构成。在抹布和底板中间附着带有出水小孔的软管来润湿抹布,控制水箱阀门选择干拖或湿拖,完成不同的任务需求,拖布可根据地板材质更换,易于拆卸清洗。

2.2 垃圾收集模块

垃圾收集装置安装于扫地机器人底部,其前端有一块紧贴在地面上的薄的刀片状塑料,紧挨清扫装置的后方,便于及时将垃圾扫入收集装置中,避免垃圾从下方漏过,有效的保证行进路线上垃圾的清扫效率。垃圾收纳盒配有传感器,当垃圾盒杂物过多将发出报警。

2.3 动力移动模块

单片机微处理器使用 PWM 控制方式,通过 L298N 电机驱动模块实现电机驱动,来控制电机转速和转向。使用两个带光电编码器的直流减速电机放置于扫地车的后方,提供足够大的驱动力让扫地车前进、后退和转弯。并采用防滑轮胎避免小车打滑。通过光电编码器记录并计算小车行进路程,清楚地知道其位置状态信息。前面使用两个固定方向的小轮,尽可能的使小车能够趋于直线行驶。通过一个电机停转一个电机转动的方式实现差速转弯,利用光电编码器即可实现任意角度转向。

3 扫地机器人功能实现

3.1 传感器感知功能

系统共设置4个传感器构建扫地机器人的基本“视觉”系统,两个超声波传感器、两个光电传感器,所有传感器均与车轮面平行放置:

超声波模块:采用HC-RS04具有精度强体积小的优点,用于检测障碍物距离和角度。运用非径向排列的避障方法,此模块分辨率高达0.3cm,功耗低。模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm。基本工作原理为:

(1)采用IO口TRIG触发测距,给最少10us的高电平信号。

(2)模块自动发送8个40KHZ的方波,自动检测是否有信号返回。

(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间* 声速(340M/S))/2。

光电传感器:

扫地机器人感知功能算法实现如图2所示,在传感器中配置触碰开关、超声波传感器、光电传感器。当触碰开关被触发后,执行外部中断系统,代表遇到障碍物;否则,左右两个超声波同时测量数据,2个光电传感器依次占用模拟I?C通道,分时完成数据的测量和储存,定时器控制每5ms刷新一次数据采集。

3.2 环境监测功能

为了让机器人更加智能,在清洁的基础上添加了温湿度和环境质量监测模块,此模块选择DHT11数字温湿度和MQ135环境检测传感器。DHT11 可以对温度和湿度进行测量,而 MQ135 可以对室内的CO、笨、硫、甲醛等有害气体进行检测,且传感器的稳定性强、信号传输距离长、能耗低。通过单片机获取DHT11和 MQ135 测得的环境数据,将其显示在LCD1602液晶屏上。

3.3 路径规划算法实现

路径规划算法[5]主要是对感知系统收到的障碍信息进行判断和处理,系统采用混合路径规划算法,如图2所示。优先执行中断触发算法,分别执行左转或者右转指令。若存在大面积的障碍物便开始执行单元域分割算法,扫地机器人依据“弓”字形路径进行清洁;对于小尺寸障碍物,采用循障碍物边界进行清洁,降低单位面积内的功耗问题;若检测不到相应尺寸大小的障碍物,便执行的随机覆盖算法依据三角形轨迹进行清洁[6]。基于该算法,扫地机器人效率更高,更加节能。

4 软件设计

4.1 APP的设计

通过 JAVA 语言设计一款轻便的 WIFI小車 APP,APP与ESP8266-WIFI模块之间使用TCP/IP协议进行数据通信,从而控制小车前进、后退、左转、右转和调速等。

4.2 WIFI模块

WIFI 模块使用的是 ESP8266,它是一款超低功耗的 UARTWIFI 传输模块,体积小,稳定性好,专为移动设备和物联网应用设计,可将用户的物理设备连接到 WIFI 无线网络上,从而使设备和 APP 之间进行通信,方便的使用手机控制扫地机器人的行动。

4.2 PWM 控制算法

电机控制算法如图3,原理:通过控制单片机输出的2路PWM波(A路:左边B路:右边)的占空比来实现对小车的加速减速停车等动作。

当小车前方没有障碍物时,PWM波占空比最大,小车沿直线全速前进。

当小车左前方有障碍物时,B路PWM波占空比减小,相应的右轮减速,使小车向右转。

当小车右前方有障碍物时,A路PWM波占空比减小,相应的左轮减速,使小车向左转。

当小车正前方有障碍物时,优先向左转,A路PWM 波占空比减小,小车向左转。

5 结论

本论文完成的多功能扫地机器人基于STM32单片机,采用多种传感器不间断地检测周围环境中的障碍物信息,根据混合路径规划算法控制机器人的运动轨迹各个模块独立设计,是集清洁、自动导航、APP 控制、环境监测等功能于一体的智能清洁机器人。目前智能扫地机器人已经取得了很大的发展,扫地机器人已经走入了我们的生活,它的功能也会越来越强大,我们的研究也要不断深入,比如传感器还有很大的进步空间。在对扫地机器人研究的过程中自己还有许多不足的地方,以后要多加强这一方面的学习。

参考文献

[1]孙晓雪,赵玉山.扫地机器人的发展现状和趋势研究[J].科技资讯2017(28):238-239.

(作者单位:1.江苏大学机械工程学院仪器科学与工程系;2.江苏大学机械工程学院仪器科学与工程系)

猜你喜欢

STM32单片机控制
基于STM32芯片的移动机器人的避障研究
基于STM32的两轮自平衡遥控小车设计
社会转型期行政权控制的路径探索
会计预算控制现状及方法
浅谈高层建筑沉降监测关键环节控制
保险公司财务风险管理及控制研究