智能灭火机器人硬件电路设计及实现

分享到:
点击量: 250894

  经过50多年的发展,人工智能已形成极广泛的研究领域,并且取得了许多令人瞩目的成就[1]。人工智能也称机器智能,是一门研究人类智能机理和如何用计算机模拟人类智能活动的学科。智能机器人技术综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,集成了多学科的发展成果,代表高技术的发展前沿[2]。智能机器人的研究,大大促进了人工智能思想和技术的进步,渐渐成为一个备受关注的分支领域,各种智能机器人比赛也成为国内外广泛推广和发展的一种竞技项目。

  智能机器人灭火比赛由美国三一学院于1994年创办,目前已成为******、普及程度*高的全自主智能机器人大赛之一。硬件电路是智能灭火机器人整体的核心骨架,其参数性能及设计的合理性直接决定了智能灭火机器人的性能。本文完成了基于ARM9内核[3]的智能灭火机器人的硬件电路的设计与实现。

  1硬件电路的总体设计

  灭火比赛的任务是在一封闭房间模型中,随机在其中一个房间里放置蜡烛代替的火源,要求机器人在尽可能短的时间里无碰撞地找到火源并完成灭火。

  根据比赛要求及功能需要,灭火机器人的总体结构如图1所示,主要由控制器、传感器输入、驱动输出等模块组成。

  

2硬件电路的主要部件分析与设计

 

  2.1嵌入式系统

  为实现机器人高速**地按照规定路径行走,要求机器人的CPU能够实时迅速地读取多个传感器端口数值,并在较短的时间内完成对各端口数值的存储、运算和输出等多种任务。由于嵌入式微处理器对实时任务具有很强的支持能力,能够完成多任务并且具有较短的中断响应,因此在设计过程中选用以嵌入式微处理器ARM9为核心的控制器,其内部采用哈佛结构,每秒可执行一亿一千万条机器指令。

  为提**口数值读取速度,使机器人能对周围环境信息做出迅速判断,本设计在主芯片上设置了ADC0~ADC7(P4.0~P4.7)8路数据输入端口,每秒可实现50万次数据采集;另外又设置20路数据输入端口,通过ATMEGA816-PC辅助单片机连接到主芯片上,用以读取远红外传感器组及检测端口的数值,每秒可实现1000次数据采集。本设计还设置了4路PWM控制信号输出端口,用以驱动4路大功率直流电机,实现对转速的**调节;此外,还设置了7路Do数字输出端口,用以驱动伺服电机、蜂鸣器、继电器、发光二极管等。为了给庞大和复杂的程序提供更多的执行空间,本设计附加设置了100KB的数据存储器(RAM)和512KB的程序存储器(FlashROM),用以存储更多的数据和命令。

  2.2电源和驱动电路设计

  (1)电源及采样电路

  电源是保证机器人稳定、可靠运行的关键部件,它直接影响着机器人性能的好坏。由于本机器人电机驱动和控制器采用两种不同等级电压的电源,为避免2个电源相互干扰,本机器人采用双电源供电系统:电机电源采用高放电倍率聚合物锂电池,容量为2500MAH,工作电压为24V,能提供40A的稳定供电电流,是普通电池的10倍;控制器电源采用8.4V锂电池,并提供电压采样端口,以供电池检测,电路图如图2所示。

  

 

  控制器电源供电电路图

  为获得CPU各端口电路所需要的不同等级的电压,本设计采用1个LM317T三端稳压器和2个AMS1117低压差线性电压调整器,并通过其附属电路,得到**稳定的5V、3.3V、1.8V三种电压;采用1个发光二极管LD1和限流电阻R5作为电源指示灯,以显示电源开关的状态;为实时采样电源电压,防止锂电池过放或过充,设计中通过R1、R2分压,引出AD19端口作为电源采样端口。(2)直流电机驱动电路 根据比赛的需要,机器人应该能够测量不同方向的障碍物的距离,理论上8个方位均应设置红外测距传感器;在满足比赛要求前提下,考虑经济性,本设计采用了6个红外测距传感器,其安放位置如图4(c)所示。通过1个或多个传感器数值可以较精准地确定机器人的位置和墙壁的关系。例如,当正前传感器和左前传感器数值同时很大(距离很小)时,说明机器人处在一个角落上,前方和左侧均是墙壁,此时可以执行右拐命令,从而走出角落。

  (2)远红外火焰传感器组

  为能完成灭火任务,机器人必须能确定火焰的大致位置,并能对火焰是否被扑灭做出判断。本文设计了由28个红外接收管组成的2个远红外火焰传感器组,前后每个方位各有14个红外接收管组成,每2个并联并指相同一个方向,2个传感器组共指向14个方向,可以覆盖360°范围。如图5(a)所示,14个端口通过CD4051八路转换开关连接至ATMEGA8—16PC单片机,其中SCK、MISO、MOSI为位选择端口。此外,本设计还可以通过对14路读取数据进行比较,从而确定其*大*小值及相应端口值,方便火源方位的确定。

  

 

  远红外传感器组

  (3)地面灰度传感器

  比赛规定,机器人起始位置是直径为30cm的白色圆,每个房间入口有一条3cm宽的白线,其他地面均为黑色。机器人的启动和停止及进房间的标志都要依靠对地面灰度的判断,因此需使用能对地面反射光线的强弱做出反应的传感器。本机器使用一对地面灰度传感器,放置在前后两端的底座上。地面颜色越深,其值越大,地面颜色越浅,其值越小。

  如图6所示,地面灰度传感器通过发光二极管LED照亮地面,地面的反射光线被光敏三极管接收,当地面颜色为黑色时,反射的光线比较弱,则光敏三极管的基极电流越小,集电极电流也相应较小,1端口电压值较高,其测量值较大;反之当地面为白色时,反射的光线较强,集电极电流越大,1端口电压值较小,测量值也较小。

  

 

  地面灰度传感器

  本文研究并设计了基于ARM9嵌入式系统的一种智能灭火机器人,具有以下5个**点:(1)采用了嵌入式系统内核,大大提高了机器人处理信号的能力;(2)双电源供电系统引入,使机器人的运行更加稳定可靠;(3)采用PWM信号控制大功率直流电机,在速度和精度方面有了很大的改进;(4)通过合理选择PSD测距传感器的个数和安放位置,既满足比赛要求,又能节约成本;(5)本文设计的远红外火焰传感器组,很好地完成了对火源的**定位任务,提高了灭火可靠性和快速性。

  实测证明,本文设计的机器人能够很好地完成比赛任务,并且在可靠性和速度方面都有了大幅度的提高,具有很强的应用价值。

  通过对远红外传感器组的不同端口值的比较,还可以确定机器人和火源的相对位置,以判断前进方向,完成趋光动作。当机器人与火源相对位置如图5(b)所示时,可以读取端口2和端口4的值,并进行作差,端口2的值大于端口4(说明2更靠近火源),则执行左拐命令,使其差值在一定范围内,然后执行直行命令趋近火源。

  由于竞技比赛的需要,机器人要在避免碰撞的前提下尽可能提高速度,因此要求具有更大功率的驱动器和更灵敏的控制方式。为此本文采用的电机驱动电源电压为16.8V,电流为20A;采用占空比范围为0~95%的4路PWM信号控制直流电机,以实现**的调速[4]。

  由于电机功率较大,并要求能实现双向、可调速运行,本文设计了半桥式电力MOSFET管,成功实现了对电机的控制。如图3所示,2路PWM信号通过IR2104半桥驱动器(half-bridgedriver)和相应保护电路连接至型号为IRF2807的MOSFET管,控制电源与电动机连接线路的通与断,达到控制电机速度的目的。当PWM信号占空比较大时,线路导通时间长,电机速度大;相反,当PWM占空比较小时,线路导通时间短,电机速度小。4个MOSFET管在不同时刻导通组合,实现控制电机转动方向:当MSFET管1和4导通时,电机端口1为正、2为负,电机正转;当MOSFET管2和3导通时,电机端口2为正、1为负,电机反转。

  

 

  电机驱动电路

  2.3传感器

  (1)红外测距传感器

  红外测距传感器[5-6]是机器人的“视觉器官”,通过不断读取其数值并进行判断,才能确定机器人所处位置环境,以确定机器人下一步该执行什么命令才不致碰撞,并按照理想的路线行走。依据比赛场地规格,本机器人采用SHARP公司的GP2D12PSD传感器(后面简称PSD传感器),其有效测距范围为10cm~80cm。其原理如图4(a)所示。

  

 

  红外测距传感器

  该传感器采用三角测量的原理,如图4(b)所示红外发光二极管发出红外线光束,当红外光束遇到前方的障碍物时,一部分反射回来,通过透镜聚焦到后面的线性电性耦合器件CCD(ChargeCoupledDevice)上,根据红外光线在CCD上聚焦的位置,可知道光线的反射角,进一步折算出物体的距离。由于PSD传感器输出电压和实际距离是非线性关系,可以通过线性插值运算得出其转换近似公式。