自主式移动机器人系统是指根据指令任务及环境信息进行自主路径规划,并且在任务执行过程中不断采集局部环境信息,做出决策,从而实现安全行驶并准确到达目标地点的智能系统。本文以LPC2119为控制核心,介绍了一种轮式移动机器人的设计方案。该机器人系统应用超声传感器、光敏传感器、碰撞传感器采集外部环境信息,采用PTR2000实现移动机器人与计算机通信,从而实现现场信息的反馈和计算机控制命令的发送。
LPC2119是Philips公司推出的支持实时仿真和跟踪的ARM7TDMI-S微处理器,嵌入128KB高速Flash存储器。它采用3级流水线技术,取指、译码和执行同时进行,能够并行处理指令,提高CPU运行速度。由于其具有非常小的尺寸和极低的功耗,非常适合小型化应用。片内多达64KB的SRAM,具有较大的缓冲区规模和强大的处理能力。LPC2119内部集成2个CAN控制器、2个32位定时计数器和4个ADC单元电路。
1 硬件结构
控制器LPC2119主要用来产生2路PWM信号以及处理传感器信息,实现对小车的智能控制。本系统采用IR2110作为H桥电路驱动芯片,用4片STP60NE06搭接H桥电路驱动直流电机,并利用光电编码器检测电机转速;采用16路超声传感器系统作为系统的避碰和简单测距;采用光敏传感器实现机器人对光源的感知和寻找;采用碰撞传感器感知碰撞,使机器人能做出急时处理;采用无线通信芯片PTR2000实现机器人与计算机的无线通信。
1.1 电机的PWM控制
IR2110是美国IR(International Rectifier)公司推出的一种双通道、高压、高速的功率器件栅极驱动的单片式集成驱动器。它把驱动高压侧和低压侧MOSFET或IGBT所需的绝大部分功能集成在一个高性能的封装内,外接很少的分立元件即能提供极快的开关速度和极低的功耗。其特点在于:将输入逻辑信号转换成同相位低阻抗输出驱动信号,可驱动同一桥臂上的2路输出,驱动能力强,响应速度快;工作电压较高,可达600V;内设欠压封锁;成本低、易于调试;电路芯片体积小,为DIP14封装。高压侧驱动采用外部自举电容上电,与其他IC驱动电路相比,在设计上大大减少了驱动变压器和电容的数目,降低了产品成本,减小了体积,提高了系统的可靠性。这种适用于驱动功率MOSFET和IGBT的自举式集成电路,在电源变换、电机调速等功率驱动领域中获得了广泛的应用。
LPC2119单片机的PWM功能建立在标准定时器上,它具有32位的定时控制器及预分频控制器、7个匹配控制器,可实现6个单边PWM或3个双边PWM输出,也可以使用这两种类型的混合输出。此系统使用端口PWM0和PWM1输出两路PWM信号,分别控制移动机器人的2个驱动电机。PWM信号经过光电耦合器形成两路相位相差180°的信号加到IR2110的HIN和LIN引脚上,实现对同一桥臂上的两个MOSFET开关的控制,原理如图1所示。
HIN为高电平期间,Q1、Q4导通,在直流电机上加正向工作电压;HIN为低电平期间,LIN端输入高电平,Q2、Q3导通,在直流电机上加反向工作电压。因此电枢上的工作电压是双极性矩形脉冲波形。由于机械惯性的作用,矩形脉冲电压的平均值决定电动机的转向和转速。
1.2 超声传感器系统
为减轻控制器LPC2119的负担,超声传感器系统由Atmel公司的AT89C1051单片机控制。1051单片机是含有一个1KB可编程E2PROM的高性能微控制器,它与工业标准MCS-51的指令和引脚兼容。它为很多嵌入式控制应用提供了一个高度灵活、有效的解决方案。AT89C1051有以下特点:1KB的E2PROM、128B的RAM、15根I/O线、2个16位定时/计数器、5个二级向量中断结构、1个全双向的串行口且内含精密模拟比较器和片内振荡器,具有4.25~5.5V的电压工作范围及24MHz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,AT89C1051还支持两种软件设置的电源节电方式。空闲时,CPU停止,而RAM、定时/计数器、串行口和中断系统继续工作。掉电时,保存RAM的内容,但振荡器停振以禁止芯片其他功能,直到下一次硬件复位。
1051控制每60ms发送一路超声波,检测回波时间,并完成距离的计算。这样16路超声波循环检测一次约为1s,在常温时超声波的速度约为344m/s,可以计算出障碍物的距离,最后将超声波传感器编号及距离信息传送给LPC2119。