一种基于ARM7微处理器技术的智能清洁机器人的制作方法

文档序号:11799258阅读:236来源:国知局
一种基于ARM7微处理器技术的智能清洁机器人的制作方法与工艺
本发明涉及机器人领域,具体涉及一种基于ARM7微处理器技术的智能清洁机器人。
背景技术
:随着科技日新月异的发展,人们的生活变得越来越便利,诸多智能科技产品的问世,替代了人们的劳动力,使人们从传统劳动方式中解放出来,也使得人们对于智能产品的需求与日俱增,智能产品出现了一个广阔的前景,其中,智能清洁机器人就是近年来热门的需求之一。智能清洁机器人实现了家庭、办公室及旅馆等室内的半自动或全自动清洁工作,具有广泛的市场前景,虽然从国内外研究现状来看,己经取得了不少成效,但是还是存在需要问题需要去解决,比如,如何提高清洁机器人的人工智能化技术,提高清洁器人清扫房间的覆盖率及降低成本等。技术实现要素:为解决上述问题,本发明提供了一种基于ARM7微处理器技术的智能清洁机器人,结合多种传感器技术,实现清洁机器人的自主避障与地面清洁,同时增加了无线遥控、防跌落、虚拟墙等人性化的功能。在软件编程上,参考现有避障算法,使机器人具备有效的路径决策能力。此外,显示功能使得用户可以直观了解到机器人当前状态,使机器人的使用更为人性化。为实现上述目的,本发明采取的技术方案为:一种基于ARM7微处理器技术的智能清洁机器人,包括电源模块,采用基于三端稳压器的稳压电源模块,用于为各功能模块提供所需电压;电机驱动模块,用于驱动电机工作;清洁模块,包括机器人前端两个毛刷及后端安置的吸尘装置;行走策略模块,包括通过避障传感器进行周围环境的检测,从而完成行走策略的输出;无线遥控模块,用于人为遥控机器人的前进、后退、左转、右转;路面检测模块,用于实现防跌落功能,防止机器人从高处跌落;还用于实现虚拟墙功能,实现人为规划机器人清洁区域;速度检测模块,用于实时检测机器人当前运动速度;模式选择模块,用于在遥控模式与智能模式之间切换;传感器模块,用于对环境信息的精确采集,并将采集到的信号传送至单片机,单片机在经过处理后发出电机控制信号,从而改变机器人的行进路径;显示模块,作为人机交互界面,用于为用户实时提供机器人的状态信息;ARM7微处理器,用于协调上述模块进行工作。其中,所述ARM7微处理器主控芯片选用LPC2200系列ARM7单片机,采用ARM7TDMI-SCPU。。其中,所述电机驱动模块采用电机驱动芯片L298N。其中,所述避障传感器选用超声波测距传感器作为底层避障用传感器,同时在顶层相邻超声波传感器之间加装碰撞开关传感器,在弥补空隙的同时作为高度检测,为机器人提供更全面的环境信息。其中,所述路面检测传感器采用红外传感器,。其中,所述速度检测模块采用霍尔传感器Y3144。其中,所述显示模块采用LCD12864。其中,所述无线遥控模块采用PT2262/2272,PT2262/2272为一对带地址、数据编码功能的遥控发射/接收芯片;接收芯片PT2272的数据输出位根据其后缀不同而不同,数据输出具有“暂存”和“锁存”两种方式,方便用户使用。本发明具有以下有益效果:结合多种传感器技术,实现清洁机器人的自主避障与地面清洁,同时增加了无线遥控、防跌落、虚拟墙等人性化的功能。在软件编程上,参考现有避障算法,使机器人具备有效的路径决策能力。此外,显示功能使得用户可以直观了解到机器人当前状态,使机器人的使用更为人性化。附图说明图1为本发明实施例一种基于ARM7微处理器技术的智能清洁机器人的结构示意图。图2为本发明实施例中避障系统结构原理图图3为本发明实施例中霍尔传感器测速原理图图4为本发明实施例中L298N驱动直流电机原理图。图5为本发明实施例吸尘器控制电路原理图。图6为本发明实施例中碰撞开关原理图。图7为本发明实施例中红外对管检测电路原理图。图8为本发明实施例中模式选择原理图。图9为本发明实施例中12864硬件原理图。图10为本发明实施例中电源模块原理图。图11为本发明实施例中F-d函数曲线。图12为本发明实施例中超声波模块平面位置图。图13为本发明实施例中超声波测距程序流程图。图14为本发明实施例中显示模块串行模式连接时序图。图15为本发明实施例中距离显示流程图。图16为本发明实施例中合力方向显示流程图。图17为本发明实施例中速度显示流程图。图18为本发明实施例中模式选择流程图。具体实施方式为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明实施例提供了一种基于ARM7微处理器技术的智能清洁机器人,其特征在于,包括电源模块,采用基于三端稳压器的稳压电源模块,用于为各功能模块提供所需电压;L7805CV与L7806CV分别为+5V与+6V三端稳压器,最大输出电流1.5A,为了满足整个系统的需求,采用多个7805、7806并联,以获得更大的电流输出能力。AMS1117-3.3采用SOT-223封装,输出电压3.3V,输出电流1A,工作压差低至1V。电机驱动模块,用于驱动电机工作;清洁模块,包括机器人前端两个毛刷及后端安置的吸尘装置;行走策略模块,包括通过避障传感器进行周围环境的检测,从而完成行走策略的输出;无线遥控模块,用于人为遥控机器人的前进、后退、左转、右转;路面检测模块,用于实现防跌落功能,防止机器人从高处跌落;还用于实现虚拟墙功能,实现人为规划机器人清洁区域;速度检测模块,用于实时检测机器人当前运动速度;模式选择模块,用于在遥控模式与智能模式之间切换;当开关置于中间档时,系统处于待机状态,左右档分别为遥控模式与智能模式。原理图如图8所示。传感器模块,用于对环境信息的精确采集,并将采集到的信号传送至单片机,单片机在经过处理后发出电机控制信号,从而改变机器人的行进路径;显示模块,作为人机交互界面,用于为用户实时提供机器人的状态信息;ARM7微处理器,用于协调上述模块进行工作。所述ARM7微处理器主控芯片选用LPC2200系列ARM7单片机,采用ARM7TDMI-SCPU。支持ARM和Thumb指令集,,片内具有多个32位定时器、8通道10位ADC、PWM通道以及多达9个外部中断针脚,其中,LPC2132带有64KB的片内高速Flash,16KB的片内RAM,对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。所述电机驱动模块采用电机驱动芯片L298N,L298N是ST公司生产的一种高电压、大电流电机驱动芯片。工作电压范围3~46V,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率25W。内置双H桥电路,即一片L298N可以驱动两个直流电机正反转。左右动力轮及左右两个毛刷分别由4个直流减速电机带动,L298N驱动直流电机原理图如图4所示。所述避障传感器选用超声波测距传感器作为底层避障用传感器,同时在顶层相邻超声波传感器之间加装碰撞开关传感器,在弥补空隙的同时作为高度检测,为机器人提供更全面的环境信息。避障系统结构原理图如图2所示。所述路面检测传感器采用红外传感器,利用红外对管检测障碍物的原理,将地面视为“障碍物”,安全状态下,机器人应处在有“障碍物”的情况下,一旦检测到没有障碍物,则说明当前行进方向上出现悬空,系统便能根据这一信息及时决策改变路径,从而实现防跌落功能,同时,利用黑色吸收红外线这一特点,可以用一条黑线制造出一个人为的“悬空”,即所谓的虚拟墙,从而可以人为规划机器人的运动区域。所述速度检测模块采用霍尔传感器Y3144。Y3144为3脚T0-92封装,正面从左至右依次为VCC、GND、OUT。使用时,在OUT脚与VCC之间接一上拉电阻即可,霍尔传感器测速原理图如图3所示。所述显示模块采用LCD12864,可显示字符、汉字、图案等多种内容,可自由设定显示位置,功耗低,且接线简单,尤其在串行数据输入模式下,只需4个IO口即可驱动。不同型号的12864其工作电压不尽相同,由于本系统中LPC2132为3.3V供电,IO口输出高电平为3.3V,因而选用驱动电压为3.3V的12864与之配合工作。所述无线遥控模块采用PT2262/2272,PT2262/2272为一对带地址、数据编码功能的遥控发射/接收芯片;接收芯片PT2272的数据输出位根据其后缀不同而不同,数据输出具有“暂存”和“锁存”两种方式,方便用户使用,后缀“M”为“暂存型”,后缀“L”为“锁存型”,其数据输出又分为0、2、4、6不同的输出,例如:PT2272-M4则表示数据输出为4位的暂存型遥控接收芯片。其中,吸尘器电机驱动电路通过单片机IO口驱动一个继电器,当继电器吸合时,将电机接入到12V电源两端,当继电器断开时,电机两端无电压,从而控制其启动与停止。电路原理图如图5所示。信号采集电路包括:HC-SR04超声波测距电路;红外对管地面检测电路;碰撞开关电路和速度检测电路。超声波测距传感器基本工作原理为(1)采用IO口TRIG触发测距,给最少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;碰撞开关电路的基本原理为:碰撞开关实质为一个非自锁开关,正常状态下输出高电平,当碰到物体时,在外力作用下,开关会闭合,输出低电平,当离开物体时,在模块内部弹簧弹力作用下,开关会断开,输出又变回高电平。碰撞开关原理图如图6所示。地面检测电路红外对管检测电路的基本原理是通过红外接收管的导通与否改变电压比较器正相输入端的电压,从而获得不同的输出,由输出的高低电平判断机器人是否处在地面上。红外对管检测电路原理图如图7所示。其中,电压比较器选用LM324N。地面检测信号处理电路地面检测共用了3组红外对管,分别检测三个轮子前方路面。由于最终只需得到机器人前方有无悬空(或虚拟墙)的信息,因此将3组红外对管检测电路的输出进行逻辑上的或运算,即只要有一路红外对管检测到路面有悬空,就会发出防跌落信号,改变机器人行进路径。逻辑或运算采用74LS27芯片。74LS27为三组3输入端或非门,其功能表如表1所示。表174LS27功能表Y=A+B+C‾]]>3路红外对管输出信号经74LS27后输出一路信号,且低电平表示路面有悬空,高电平表示路面正常。芯片OSC1、OSC2需要接入震荡电阻,且2262与2272所接电阻阻值必须匹配,具体匹配值如表2所示。表2震荡电阻匹配表PT2262PT22721.2M200K1.5M270K2.2M390K3.3M680K4.7M820K无线收发模块遥控器按键按下后,PT2262会将D0~D5的数据信息进行编码,然后由无线发射模块发射出去,接收器上的接收模块接收到信号后,传输给PT2272,经2272解码后由D0~D5输出对应电平信号。本系统中采用串行方式传输数据,故将PSB直接接地,背光电源与驱动电源共用,因而只需引出VSS、VCC、RS、RW、E、RESET6个引脚。其硬件原理图如图9所示。系统供电采用3S锂聚合物电池,电源电压12V,电源模块原理图如图10所示。本系统引脚分配:本系统中,将P0.1、P0.3设置为外部中断输入,P1.26~P1.31为J-TAG调试端口,其余功能引脚设置为GPI0,故LPC2132引脚功能选择寄存器应设置如下:PINSEL0=(PINSEL0&0xffffff33)|0x000000cc;//P0.1设置为EINTO,P0.3设置为EINT1PINSEL1=0;//P0.16~P0.31设置为GPI0PINSEL2&=~(0X00000008);//P1.16~P1.25设置为GPI0避障算法设计1、距离与力的转换避障系统采用超声波测距传感器,所得数据为机器人距离前方障碍物的距离值。本避障系统中,假设机器人周围障碍物会对机器人产生一种虚拟力的作用,且力的大小与障碍物距机器人距离大小成反比,即机器人离障碍物越近,机器人所受虚拟力也会越大。机器人所受力的大小与距离的关系如式1所示。F=20d-2]]>(1)式中,F为力,d为机器人距障碍物的距离。其函数曲线如图11所示。2、虚拟力的矢量合成避障系统的5个超声波测距依次测得距离后,将距离转换为平面内的矢量力,力的大小由式1得到,方向则取决于超声波模块的安置位置。超声波模块平面位置如图12所示。如图12所示,每个超声波模块对应的虚拟力,其方向都是确定的,因而可以在X-Y平面内由坐标表示,例如超声波模块2,假设其所测距离为5cm,则对应的力F=2,方向与X轴正方向夹角135°,用坐标则表示为同理可以表示其他模块对应的虚拟力。在得到5个虚拟力的坐标后,利用平面矢量坐标合成,可得到合力的坐标(x,y),并可求出合力与X轴正向所夹角度,∂=atanyx---(2)]]>通过比较与90°(即Y轴正向)的大小,决策机器人应当左转、右转、直行或是后退。超声波测距程序设计超声波测距原理为:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。系统采用5个超声波模块对机器人前方进行障碍检测,5个模块依次进行测量,通过程序中定义变量ceju_num对测距次数进行计数,以明确各模块测距顺序。其程序流程图如图12所示。矢量合成及行走决策程序设计矢量合成子函数入口参数为dist1,dist2,dist3,dist4,dist5,即5个超声波模块所测得的距离,出口参数为alfa,即合力与X轴正向所夹角度。得到合力后,经过一定判别,做出下一步行走决策。碰撞模块的辅助避障,程序原理就是通过检测4个碰撞开关的输出状态来执行不同的行走策略。源程序代码如下:路面检测输出接至单片机的P0.5,通过检测P0.5脚上的电平即可判断路面状况,当P0.5为低电平时,即为路面有悬空或是接触到虚拟墙,此时让机器人略微后退并右转一定角度。无线遥控器上4个按键分别对应前进、后退、左转、右转,在遥控模式下,当程序检测到按下按键时,机器人便执行对应操作,而当没有按键按下时,机器人将处于停止状态。速度检测程序设计测速整体思路:将P0.1、P0.3设置为外部中断,设置为下降沿触发,并分别连接左右电机的霍尔传感器输出引脚上,用作脉冲中断入口。设置定时器1定时1s,并开启定时器1的MRO匹配中断,当1s定时到时,读取当前脉冲数,便可获得1s内电机转速。中断相关设置LPC2132中对中断进行相关设置,需要用到向量中断控制器(VIC)。向量中断控制器(VIC)具有32个中断请求输入,可将其编程分为3类:FIQ、向量IRQ和非向量IRQ。其中向量IRQ具有中等优先级,该级别可分配32个请求中的16个。32个请求中的任意一个都可分配到16个向量IRQslot中的任意一个,其中slot0具有最高优先级,而slot15则为最低优先级。本系统中液晶12864采用串行数据输入,串行模式下连接时序图如图13所示。串行数据传送共分三个字节完成:第一字节:串口控制-格式11111ABCA为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位-格式DDDD0000第三字节:(并行)8位数据的低4位-格式0000DDDD各功能模块的显示超声波测距的显示将5个超声波模块所测距离在液晶上显示,使用户可以直观了解到机器人所处环境周围状况。其程序流程图如图14所示。合力方向的显示每进行一次矢量合成,程序都会在液晶上显示当前和矢量的方向。其流程图如图15所示。速度的显示程序中,定时器1每中断一次,会显示一次当前左右电机的转速。其流程图如图16所示。模式选择设计将遥控模式输出端接到P1.24,智能模式输出端接到P1.25,程序中对两个引脚的电平进行检测,哪个引脚为低电平,则进入对应模式,若均为高电平,则处于待机状态。程序流程图如图17所示。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1