摘要总体方案是设计一个自主控机器人,在一个模拟的平面结构内运动,移动机器人本体,完成自主移动、避障功能。
尽快遍历每一个角落,完成任务,这个工作受多个因素的影响。
其中在现实生活中清洁机器人清理的过程中,利用了机器人自身的传感系统、运动控制系统和自主蔽障系统,自动记录时间系统等。
整个系统的电路结构简单,可靠性能高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
采用的技术主要有:(1)通过编程来控制小车的速度;(2)传感器的有效应用;关键词80C51单片机、光电检测器、PWM调速、电动小车、舵机一.国内外研究现况在日本,东日本铁路公司、shinko电器公司和Howa工业有限公司联合研制了车站地面清扫机器人. 机器人可沿墙壁从任何一个位置自动启动. 利用不断旋转的刷子将废弃物扫入白带容器中[1]日本静甲株式会社的清水工厂开发出一种自动清扫机器人. 可用于各种工厂的清扫工作. 机器人采用光纤陀螺控制方向. 采用编码器和超声波传感器测距. 采用光学探测器探测障碍物机器人的四周装有橡胶垫. 橡胶垫内部装有触觉传感器. 一旦机器人与人接触. 触觉传感器信号会使机器人停下来1以保证人的安全Br-3]这些应用还都是用于工业或者公共的场合. 真正具有里程碑意义的是2002年9月清洁机器人‘‘Roomba”美国面市. 这是一款面向家庭的机器人。
重约2ky直径为 762mm(30"). 具有高度自主能力. 可以游走于房间各家具缝隙间. 灵巧地完成清扫工作. 据说这是将用于军事的“躲避地雷的移动技术,'应用到了吸尘器上。
“Roomba”的动作有点迟缓. 但却能稳定安全地完成任务由于能够在完成任务后自动切断电源. 所以可以在外出期间让‘‘Roomba”在家进行清扫英国法国和澳大利亚也都推出过清洁机器人产品在国内,对清洁机器人相关技术如机器感知、机器人导航和定位与路径规划机器人控制、电源与电源管理、动力驱动等技术的研究. 哈尔滨工业大学、华南理工大学、上海交通大学等高校,也对清洁机器人进行了大量的研究,并取得了一些成果,这些都为清洁机器人的研究开发和推广奠定了物质和技术基础二. 设计思路为了制作一个能够覆盖全区域的清洁机器人,首先是设计一个移动的平台。
为了简便起见,设计了两轮车身,两个后轮做主动轮,主动轮用两个直流电机。
从动轮用一个万向轮。
清扫装置用一个伺服电机带动一个灰尘刮和一个刷子,产生推动力达到除尘的目的。
在车身前部放置一个储存垃圾的箱体。
在车身的最后还设计了一个抹地机械手,进一步达到清洁的目的,机械手下带有洒水除尘装置,机械手上面的水箱带有一个用伺服电机控制的门,用来控制洒水量。
车身上部安装了一个光电开关,以达到避障的作用。
三.电子电路的设计采用一块微处理器STC89C52为控制系统的核心,负责控制电机、障碍检测信号处理、舵机控制、液晶显示等。
电机驱动模块采用单片机作为电机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而实现电机调速。
单片机完成控制算法,再将计算结果转化为PWM信号输出到电机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小。
直流电机控制,液晶显示模块和单片机最小系统由一个电源供电。
障碍检测模块用于检测小车前进路上的障碍物,如有障碍则进行避让。
液晶显示模块用于显示当前小车运行状态。
1. 机械方案的设计小车的驱动设计为二轮驱动。
而二轮驱动又分为前轮和后轮驱动。
后轮驱动的好处是:转向性能得到改善。
前轮是转向轮,使得转向时的行驶方向容易控制,不容易出现过度转向的现象,转向安全性也得到提高。
2. 车体结构设计为了满足机器人的性能要求,机器人的机械结构应该具有稳定性,运动灵活性和足够强度的特点,同时尺寸要小,容量要大,重量要轻。
清扫小车的机械结构组成部分主要有:车体的设计,传感器的安装。
为了保证小车良好的直线性,采用双电机驱动左右两轮的方式,在车体的前端装有一个不锈钢万向滚珠,这样可以使小车获取较好的机动性和灵活性。
底盘采用铝合金框架,以增大其坚固性,减轻重量。
3. 单片机STC89C52的系统设计由于51系列单片机在我国普及的时间比较早,开发和应用的实例比较多,在学习编写程序时有丰富的实例可以参考和借鉴。
因此,我选择51系列单片机进行控制。
本设计中我选用了STC公司的STC89C52。
3.1 STC89C52的特点STC89C52具有以下几个特点:·STC89C52与MCS-51系列的单片机在指令系统和引脚上完全兼容;·片内有8k字节在线可重复编程快擦写程序存储器;·全静态工作,工作范围:0Hz~33MHz;·三级程序存储器加密;·128×8位内部RAM;·32位双向输入输出线;·两个十六位定时器/计数器;·五个中断源,两级中断优先级;·一个全双工的异步串行口;·间歇和掉电两种工作方式。
3.2 STC89C52的功能描述STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有8k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能[5]。
STC89C52可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。
只要程序长度小于8k,四个I/O口全部提供给用户。
可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。
STC89C52芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。
P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
3.3 STC89C52引脚功能STC89C52单片机为40引脚芯片如图4-1。
图4-1 STC89C52管脚图(1)口线:P0、P1、P2、P3共四个八位口。
①P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。
P0口也用以输出外部存储器的低8位地图1址。
由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存信号用ALE。
②P1口是专门供用户使用的I/O口,是准双向口。
③P2口是从系统扩展时作高8位地址线用。
不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。
④P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。
作为第一功能使用时操作同P1口。
P3口的第二功能如表4-1所示。
(2)控制口线:PSEN(片外选取控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET(复位控制);(3)电源及时钟:VCC、VSS、XTAL1、XTAL2操作方法。
3.4 STC89C52复位电路设计89系列单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部表4-1 P3口的第二功能端口功能各个功能P3.0 RXD(串行口输入端)P3.1 TXD(串行口输出端)P3.2INT(外部中断0请求输入端,低电平有效)P3.3INT(外部中断1请求输入端,低电平有效)1P3.4 T0(定时器/计数器0计数脉冲输入端)P3.5 T1(定时器/计数器1计数脉冲输入端)P3.6WR(外部数据存储器写选通信号输出端,低电平有效)P3.7RD(外部数据存储器读选通信号输出端,低电平有效)件处于确定的初始状态,并从初始状态开始工作。
单片机的外部复位电路有上电自动复位和按键手动复位两种。
上电复位利用电容器充电来实现。
上电瞬间,RC电路充电,RST引脚端出现正脉冲。
只要RST引脚端保持l0ms以上高电平,就能使单片机有效地复位。
图4-2上电复位电路按键手动复位又分为:按键电平复位和按键脉冲复位。
按键电平复位相当于按复位键后复位端通过电阻与Vu电源接通;按键脉冲复位利用RC微分电路产生正脉冲在这里,采用按键脉冲复位(如图4-3),当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
由于人的动作很快也会使按钮保持接通达数十毫秒,所以能满足复位的时间要求。
图4-3 手动复位电路在实际的应用系统中,有些外围芯片也需要复位,如果这些复位端的复位电平要求与单片机的复位要求一致,则可以与之相连。
在有些应用系统中,为了保证复位电路可靠地工作,常将RC 电路接斯密特电路后,再接入单片机复位端和外围电路复位端。
这特别适合于应用现场干扰大、电压波动大的工作环境。
并且,当系统有多个复位端时,能保证可靠地同步复位,在此称其为同步复位电路。
4. 电机驱动模块的设计为了使选定的电机在峰值转矩下以最高转速驱动负载,电机的功率估算如下:ηω1020)5.25.1(P P M M P -= (4-1) 式中:P M 为峰值转矩P ω为最大角速度,本系统为s rad 20η为传动效率,一般为0.8~0.9由上式求得电机的功率要在21.2瓦以上,对系统的各种性能和参数进行分析后,我们选用功率为35瓦,120转/分的直流电动机作为机器人的行走电机。
运动控制器芯片输出PWM (pulse width modulation )信号,电压为脉冲形式,由于输出的电流很小,不能驱动电机。
使用电机驱动芯片的目的就是将运动控制器的输出电流放大,从而获得足够大的功率,驱动电机转动。
驱动芯片的工作原理非常简单,即利用晶体三极管能放大电流的原理,将基极的电流放大到100倍以上然后从发射极输出。
本驱动系统选用的是意法半导体联合公司〔SGS-Thomson)生产的电机驱动芯片L298N。
L298N为含有15个引脚的直插式芯片。
L298N具有以下主要性能:(1)体积小:长*宽*高=19.6mm*17.5mm*5mm;(2)操作电压范围大:操作电压范围从4V到46V;(3)抗干扰能力强:低于1.5V的电压均视为低电平,对噪声由较强的抑制作用;(4)配备散热片,减少温度对电子元器件的影响;(5)逻辑电平为十5V;(6)工作效率高:一块L298N可以驱动2台电机,故机器人只需配备一块L298N;(7)输出电流大:L298N可以将电流放大到4A;机器人采用专业驱动芯片L298N为主构成驱动电路。