多功能智能清洁小车设计*
2020-12-16裴永兴
芦 婧,裴永兴
(1.太原工业学院,山西 太原 030008;2.山西省和顺县气象局,山西 晋中 030600)
近年来,随着科学技术的进步和社会的发展,特别是受生活节奏加快和工作压力增大的影响,人们希望从繁琐的日常清洁事务中解脱出来,于是服务型智能清洁机器人[1,2]进入人们的日常生活。但是市面上的清洁机器人存在避障不合理、自主定位不明确、路径规划不智能等[3]问题。本设计以地面清洁为主要任务,设计了一套以STC89C52为核心的可对家庭地面进行多功能清洁的智能小车,该小车可实现避障、扫地和拖地的功能。
1 清洁小车系统机械结构设计与实现功能
小车整体机械结构及传感器分布如图1所示。小车机械结构分为车模底板、扫地模块、拖地模块。扫地模块和拖地模块由木板作为底板,以3D打印件作为支撑,与积灰盒、水箱连接而成。扫地模块由双向聚拢的双边刷、积灰盒组成。拖地模块由蠕动泵、抹布、水箱、独立电源组成。小车行进由两个固定的电机驱动和一个万向轮实现。
图1 智能清洁小车整体机械结构及传感器分布图
为充分考虑清洁小车尺寸与障碍物的检测范围,在小车中间安放三个超声波测距模块,两侧为两个红外模块,超声波模块主要测量前方的障碍物距离,红外模块主要避免两侧发生碰撞。本设计还增加滚动刷,将聚集的灰尘能够带进积灰盒中,保证清扫的干净度。
以下是本设计实现的主要功能:
1) 避障。通过在小车周围安放不同种类的多个传感器,判断周围复杂环境,准确避开障碍物,并能按照一定路线行驶。
2) 扫地。通过控制双向聚拢的双边刷,将地面的颗粒碎屑收集在盒子中。
3) 拖地。抹布和底板中间接有软管,目的是润湿抹布,且保证出水均匀。
4) 工作模式切换。通过按键控制蠕动泵的出水量,实现干拖、湿拖功能的切换,以适应不同地面材质的要求。
2 清洁小车系统硬件电路设计
本设计系统的硬件电路框图如图2所示,系统硬件电路由单片机最小系统电路、电源电路、按键电路、传感器电路以及电机驱动电路等组成。
图2 系统硬件电路框图
其中单片机最小系统包括STC89C52主控芯片、晶振电路、复位电路、IO接口。另外,本设计电路的电压等级有12V、6V、5V、3.3V,方便多种外接传感器的需要,满足系统的功能要求。
下面详细介绍其传感器电路及电机驱动电路。
2.1 传感器电路设计
传感器电路包括超声波测距模块和红外模块,其中超声波模块负责远距离测距,红外模块负责近距离判断。
本设计采用的超声波测距模块型号为HC-SR04。采用该模块的第二个引脚来触发测距,当有信号返回时,会通过该模块的第三个引脚输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间,其中最后输出的高电平信号所占周期信号的百分比与传播的距离成比例。
本设计采用的红外测距模块型号为GP2Y0E03。该模块适合近距离探测障碍物,由发射管发射信号遇到障碍物后,反射回来被接收管处理,经过比较器电路处理后,输出端IO口输出一个低电平信号。该模块使用方便、工作稳定、成本较低,不宜测量远距离的物体,因此本设计中将该模块用作障碍物大致方位判断,避免小车与障碍物发生碰撞。
2.2 电机驱动电路设计
驱动模块采用L298N驱动芯片,该模块用于改变电机转速实现差速转向。L298N具有ENA、ENB两个使能控制端,编程中通常使能这两个端口,与单片机的相应IO口相连,可驱动控制所连电机的转速。此外,该模块还用于调节与电机相连的双向聚拢双边刷的转速,若双边刷转速过快,导致地面的颗粒碎屑被打飞,不能回收进积灰盒中;若双边刷转速过慢,导致不能很好地聚拢颗粒碎屑,完成地面的清扫工作。
3 清洁小车系统软件设计
3.1 系统总体程序设计
系统总体程序流程如图3所示,单片机先完成IO口配置初始化,其次完成定时器和中断的初始化后才进入主函数,再通过程序中函数的调用执行完主程序。主函数的执行包括传感器测试函数、障碍物处理函数、电机和蠕动泵的控制函数。
图3 系统整体程序流程
3.2 电机调速控制算法设计
本设计采用的电机调速方式为两轮电机驱动差速转向[4]。差速调节依据的模型是阿克曼原理[5],即小车在行驶过程中,保证小车的轮胎与地面之间纯滚动没有滑移的现象(如图4所示)。
图4 阿克曼数学模型
左右电机速度的表达公式为:
(1)
式中L为车长,α为夹角;
(2)
式中:v为匀速运行时速度,b为调差系数。
调节b可以改变差速的大小,差速增大可以减小转弯时路程,但是差速不易过大,容易造成甩尾。
3.3 智能清洁小车路迹规划设计
路迹规划模型的建立首先需要对房间进行沿边扫描,沿边顺时针扫描获得房间的大致轮廓信息,判断出物体的位置,然后根据信息建立栅格地图,确定栅格大小,根据算法进行具体的路迹规划。
本设计采用的路迹规划方法为随机覆盖法[6],即按照简单的逻辑以多边形轨迹行走,遇到障碍物执行避障函数。该算法简单,投入成本低,可以实现简单的清扫任务。
4 系统组装与调试
采用螺丝或胶枪完成清洁小车机械部分的组装与固定,在此结构框架基础上,焊接并安装硬件电路模块,系统实物图如图5所示。
图5 系统实物图
本设计采用的调试工具是山外多功能调试助手,上位机与单片机的数据传输主要通过EU-CH340G串口调试模块。根据超声波模块安装位置,采集超声波的距离数值,并将数据发送到电脑上位机,设定距离预设值。红外模块需要根据实际障碍物的远近,用螺丝刀调节旋钮,完成设置。经测试,本设计硬件与软件均达到了预期的效果。
5 总结
本设计开发了一个可对家庭地面进行多功能清扫任务的智能小车。该系统以STC89C52为控制器,选用超声波测距模块和红外模块为主要器件,通过差速调节实现电机调速,进而控制小车的行进方向。并通过算法调节双边刷和主动刷转速,实现聚拢碎屑颗粒和收集进入积灰盒中。另外利用按键控制水泵的出水量,以满足不同地面的清扫需求。本设计可实现避障、扫地和拖地为一体的多功能清扫任务,有利于解放家庭劳动力,提高工作效率。