1.3 无线通信子系统
此系统选用微小型、低功耗、19.2kbps的无线收发MODEM芯片PTR2000实现机器人与计算机的无线通信。该芯片的工作频率为国际通用的数传频段433MHz,采用FSK调制,可连接到计算机的RS232接口。系统采用的通信协议如下:
[开始字符] [数据1] [数据2]……[校验和] [结束字符]
将PTR2000的DO、DIN引脚分别与LPC2119的TXD0(13引脚)和RXD0(14引脚)相连,作为串行通信的通道。CS为PTR2000模块的频率选择信号;PWR为模块节能引脚,正常工作为高电平。TXEN是模块发射接收控制,由LPC2119的I/O口控制。PTR2000是收发一体的集成芯片,采用3.3V供电,可以与LPC2119无缝连接。PTR2000作为发射端与PC机相连时,需要通过一个电平转换器(本文为MAX3232)转换成RS-232电平。PLC2119可以通过把输出口置1或清0将无线收发模块PTR2000设置为发送或接收状态;可通过VB的MSComm控件的RTSEnable属性实现对计算机串口的控制。
1.4 光敏传感器子系统
机器人使用的光敏传感器为硫化镉光电管(CDS)。硫化镉光电管的电阻值随着照射的表面光的多少而变化,光线越强,电阻值越小。硫化镉光电管通常也称为光敏电阻。CDS的电阻值对较少的光线就能产生较大的变化,是机器人系统较为常用的一种光敏传感器。在机器人车体上平均分布8个同样的光敏传感器,感知机器人周围的光强变化。通过采集各传感器的输出电压,由软件算法确定机器人的路径,使机器人总是朝光线更强的方向行走,实现对光源的寻找。
将一个精密电阻与CDS器件串联,该电阻起分压作用,将CDS器件的电阻值转换成应对模/数转换器件(ADC)适当的电压值。CDS器件的分压输出给ADC,随后电压值转换为数字值。当更多的光线照在CDS器件上时,其电阻和ADC上输出的电压值都会减小。一般取这个精密电阻的阻值与CDS器件的最大电阻值相等。
2 软件编程
因任务不同,系统的软件设计有所不同。本移动机器人系统的任务是在已知大小且光线较暗的封闭环境中自主寻找光源。
系统软件在启动后先进行系统的自检和初始化,然后进行路径的规划。先横向遍历整个环境,如果发现光源,机器人停止运动,等待命令;如果没有找到光源,再纵向遍历整个环境,如果发现光源,机器人停止运动;如果还是没有找到,就显示出错信息。当超声波子系统发现前方有障碍物或机器人与障碍物发生碰撞时,将产生外部中断,终止程序的运行,控制器LPC2119将收到障碍物距离或碰撞信息,并由此重新规划路径,由此实现机器人的自主运行。
本设计是一个基于ARM7微处理器的车载嵌入式系统,不仅满足了移动机器人控制系统的要求而且为机器人的转型应用提供了良好的技术支持。在此基础上可以加入各种先进的控制算法,实现移动机器人的智能化。