基于SLH89F5162的智能清洁机器人

嵌入式设计应用

132人已加入

描述

  一、项目设计背景及概述

  清洁机器人是服务机器人的一种,所谓服务机器人是指自主或半自主的、从事非生产活动、能完成有益于人类健康的服务工作的机器人。家庭清洁机器人集机械、电子、传感器、计算机、控制、机器入技术、人工智能等诸多学科为一体,能够自动进行房间地面的家庭卫生服务。在一些发达国家的很多公共场合已经开始使用清洁机器人,随着清洁机器人性价比的提高,清洁机器人进入家庭成为可能。

  家用吸尘器作为当今家庭的主要的日常清洁工具,会与用户形成频繁的互动关系,产品和消费者产生一种直接的接触与沟通。近些年,智能手机发展迅速并得到了广泛的普及,成为许多人的生活与工作的必需品,如果能够用手中的智能手机就完成对吸尘器的的有效控制,将会为人类的清洁工作带来极大的便利。智能手机与清洁机器人结合,兼具智能手机良好的操作体验和清洁机器人便利又高效的清洁作用。

  此次深联华单片机大赛提供的“三防”单片机给我们提供了一个很好的平台来实现我们的想法,融合智能手机以及机器人领域的关键技术,本课题旨在开发一种成本低能够充分满足家庭需求且方便适用的智能家庭清扫机器人。使它可以替代传统的家庭人工清扫方式使家庭生活电气化、智能化使科技更好地为人类服务。

  二、项目设计原理

  2.1、原理概述

  清洁机器人需要完成的任务是能够在房间中自动清洁地面。工作时,利用各种传感器测得环境信息,并做出决策,实现边行走边打扫,完成预定的任务。典型的清洁机器人主要由以下几个模块组成:

  (1)信息采集模块

  (2)决策模块

  (3)运动控制模块

  (4)清扫模块

  这四个部分构成了完整的清洁机器人系统,如图2-1所示。信息采集模块返回当前清洁机器人的位置信息,如是否碰到障碍物、是否遇到楼梯等,然后把这些信息送给决策模块进行决策,控制运动控制模块,使机器人转弯或者后退等,在机器人运动的同时让清扫模块进行清扫,完成打扫地面的任务。

智能机器人

  图2-1清洁机器人系统典型组成示意图

  2.2、硬件设计原理

  2.2.1机械结构设计

  机器人本体的良好设计是实现其他各功能模块的基础。本文设计的清洁机器人采用三轮机构的车体,两个动力轮,一个万向轮,具有运动灵活,控制简单的优点。

  机器人在地面上移动的方式通常有三种:轮式、履带式和步行式。步行移动方式模仿人类或动物的行走机理,用腿脚走路,对环境适应性好,智能程度也相对较高,但步行移动方式在机构和控制上比较复杂:履带移动方式将环状循环轨道履带卷绕在若干滚轮外,使车轮不直接与地面接触,履带式的的优点是着地面积比车轮式大,所以着地压强小,适于爬坡或者不平的地面;轮式移动方式是最常见的一种地面行进方式,其特点是:能高速稳定的移动,能量利用效率高,机构和控制简单,但不能爬坡。本设计中清洁机器人只需在室内打扫,工作环境较好,所以采用轮式移动方式。

  超声波传感器需要安装在底盘上,且需要安装在合适的位置并牢固可靠。本设计中将超声波模块直插在固定的电路板上,进而固定在底盘上。机器人行进时,主要是对要前行的路探测是否有障碍物,因此将超声波模块安装在车身的最前端。

  本系统选用双轴HC02-48强磁电机,电机运行稳定,无抖动。扭力强劲130强磁直流减速电机,扭力为普通电机的2至5倍,电压3-9V,变速箱1:48比速,小车最佳比速,速度与力量完美组合。

  清扫机器人的吸尘技术有两类:真空吸尘器和气流滤尘器。真空吸尘器是由高速旋转的风扇在机体内形成真空从而产生强大的气流,将尘埃和脏物通过吸口吸入机体内的滤尘袋内。气流滤尘器是一个全封闭系统,既无外部气体吸入,也无机内气体排除,其原理是利用附壁效应去形成低压涡流气体,最后将沉渣截留于吸尘器内的涡流腔内。

  2.2.2硬件电路设计

  根据清洁机器人功能要求,清洁机器人硬件系统包括单片机最小系统、电源模块、电机驱动模块、超声波模块、蓝牙模块。

  本系统采用SLH89F5162作为核心控制芯片。采用了多种防破解技术。SLH89F5162单片机是一款功能比较强大的单片机,它拥有两个全双工串行通信接口,串口1的功能及操作与传统51单片机串行口相同:特殊的是SLH89F5162单片机内部有一个独立波特率发生器,串口1可以使用定时器1作为波特率发生器,也可以使用独立波特率发生器作为波特率发生器;而串口2只能使用独立波特率发生器作为波特率发生器。SLH89F5162是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成3路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。SLH89F5162单片机为整个控制系统核心,考虑各模块的功能需求以及单片机各个I/O口的特性后。

  硬件系统由以下几个模块构成:电源部分,负责提供稳定的5V电源;晶振电路,为系统提供时钟;复位电路,按键后对系统进行复位:蓝牙模块,接收手机发送的控制信号;超声波模块,进行实时测距以躲避障碍物;驱动模块,驱动电机工作,实现机器人的行走。

  时钟电路在单片机系统硬件设计中往往是一个关键的部分,由于晶振的工作频率很高,设计不当就很有可能使其工作时的产生的高频信号对其他电路造成干扰;若晶振工作不正常,则会导致整个单片机系统无法运行。SLH89F5162系列单片机的时钟输入接在其14(XTAL2)和15(XTAL1),通常是接一个12M的晶振体。晶振和单片机引脚之间的连线尽量要短,这样可以保证其工作的稳定性和避免晶振的高频信号过多的干扰周围线路。晶振的下方和周围尽量不要走线,尤其是对信号质量要求高的器件的线路。

  单片机需要在上电之后给其一个复位信号才能正常工作,在开发和调试单片机系统时也往往要对它进行手动复位,而且当单片机系统供电电压过低时,程序的运行会出现非正常的情况,要求在低压时也必须对单片机系统进行复位。SLH89F5162单片机的RESET引脚为低有效,平时为上拉高电平,复位时,需要给其一定时间的低电平。

  机器人系统要稳定工作必须有强健的电源供给作为保障,强大的电源可以使系统在各种环境下长时间稳定的工作,因此电源管理是整个系统可靠运行的基础。本系统中电源分为功率和信号两部分输出,即单片机最小系统、超声波传感器接口、蓝牙接口的电源由信号电源供应;电机驱动、微型吸尘器的电源由功率电源供应。

  电机驱动模块为清洁机器人的行驶提供动力,机器人启动、行驶和刹车时电机都会需要较大的驱动电流,该模块必须能够提供足够的电流并保证发热量不会太大。本系统选用了驱动芯片L298N。

  L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

  引脚J1可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态。)实现电机正反转也很容易,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平, IN2接高电平,电机M1反转)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B控制M2调速。可参考表2-2:

智能机器人

  表2-2驱动模块控制表

  清洁机器人必须知道自身位置,在特定位置或区域进行特定的动作,完成对房间的吸尘任务。它需要通过传感器进行障碍检测,并将障碍物信息传送给MCU,进行决策,最终完成全区域路径覆。障碍探测是指由各种传感器组成的传感器阵列对周围未知环境进行探测。整个传感器阵列就像是清洁机器人的“眼睛”,收集周围未知环境的某些信息。清洁机器人中的传感器数量比较多,相关的有用于环境感知的传感器、自身定位传感器,种类繁多,将这些传感器的信息有效融合是一个重要问题。

  方案l:避障用激光传感器,激光传感器是一种利用激光技术进行测量的新型传感器。它由激光器、激光检测器和测量电路组成,具有能实现无接触远距离测量、速度快、精度高、量程大、抗光、电干扰能力强等优点。缺点是激光传感器价格昂贵,外接电路设计十分复杂,不适合小车的需要,因此放弃该方案。

  方案2:避障用超声波传感器,超声波传感器是一种利用超声波的特性研究的测量传感器。它主要由压电晶片组成,用来发射和接收超声波。超声波在空气里传播时,会因不同介质的声阻抗不同而产生反射,因此测量发射接收信号间的时间差,可以得到障碍物的距离,该信号经过运算放大器,传送给控制芯片LPC2132,LPC2132发出控制信号改变小车的转向,作出对障碍物的正确判断。超声波传感器的优点是反应速度灵敏,可测距离远,收到外界的干扰小,缺点是超声波在小空间不同方向里会进行多次反射,当和障碍物形成一定角度时,会发生镜面反射,产生幻影,从而动作混乱。

  方案3:避障用红外光电开关。红外发射器发出红外线,遇到障碍物后,光线反射回来,接受的光感三极管导通,单片机接受到相应的电平信号。其优点是对近距离的障碍物反应速度灵敏,信号之间抗干扰能力强,缺点是距离要求近,容易受自然光的影响。经过传感器性价比和课题实际要求的综合分析,超声避障实现方便,技术成熟,是移动机器人常用的避障方法,因此我们选择超声波传感器作为机器人的眼睛[5]。

  本系统中采用了US-100 超声波测距模块,可实现 2cm~4.5m 的非接触测距功能,拥有 2.4~5.5V 的宽电压输入范围,静态功耗低于 2mA,自带温度传感器对测距结果进行校正,同时具有 GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。

  遥控可以使机器人的操作更加方便,本系统中要通过智能手机遥控机器人,而智能手机的信号正是通过蓝牙发出,因此只需在机器人上安装蓝牙模块。由于机器人只接受数据,不发送数据,所以只需蓝牙的从机模块即可。

  本系统中采用了型号为HC-06的蓝牙模块,其中编号06就表示其为从机模块,在蓝牙模块的命名规则中偶数命名的型号出厂时就确定了从机,并无法更改。用户不可以自己切换主机或者从机,用户可以空过AT指令集对蓝牙模块进行配置,AT 指令集较少,包括修改蓝牙名(限于从机),修改密码,修改波特率,询问版本号等几个基本功能。

  2.3、软件设计原理

  本章主要进行了系统软件设计,完成了底层软件的编写;同时,研究了清洁机器人路径规划算法,实现了三种清扫模式的选择;进一步,研究了智能手机遥控在清洁机器人中的应用。

  清洁机器人在实现自动清洁任务时,需要完成如下几个任务:(1)接收手机发出的控制命令;(2)手机控制行走;(3)自动避障;(4)控制驱动轮行走;(5)自动清洁区域。其中接收手机发出的控制命令,对实时性要求比较高,需要中断程序处理,其他传感器信息采用查询方式进行处理。

  本系统将软件分成以下几个模块进行实现:手机遥控模块,用户可以通过手机遥控的方式使机器人进行清扫,方便使用,采用中断服务子程序进行处理;自动避障模块,机器人在运行过程中能自动避障,同时完场清扫任务:自动区域清扫模块,机器人可以完成对某一区域的自动清扫;电机控制模块,对电机进行控制实现机器人的行走;这些模块各自封装好,将封装好函数接口留给主函数进行调用。

  程序初始化模块主要包括:初始化串口、初始化定时器、开串口中断、开定时器中断、配置独立波特率发生器等。工作过程可以分成两个主要部分:检测控制命令和实现清扫。

  对于检测控制命令,要求单片机能够实时响应手机发出的命令,由于是通过蓝牙通讯,则需响应蓝牙通过串口接收到的数据,只需打开串口中断即可。

  对于实现清扫,首先要选择清洁模式,再根据不同的清洁的模式,对电机及超声波模块经行相应的控制。

  三、项目设计框图

  3.1、硬件设计框图

智能机器人

  图3-1硬件设计框图

  3.2、软件设计框图

智能机器人

  图3-2主程序流程图
智能机器人

  图3-3蓝牙模块流程图
智能机器人

  图3-4模式选择流程图

  四、测试结果

  实物测试结果均完成各项功能,在视频中已经展示,在此不再赘述。

  链接: http://pan.baidu.com/s/1bnkWCUz

  密码: e3i3

        五、附件

        附一:硬件电路图

智能机器人

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分