中电网移动|移动中电网|高清图滚动区

基于TMS320F2812芯片实现移动机器人的导航和控制系统的应用方案

作者:黄超;林锦国;李俊

本文采用了无线射频识别技术、红外线距离传感技术和地磁感应电子罗盘相结合的方法,设计出了一种基于DSP控制的信息融合的自主移动的机器人的导航与控制系统。

并且在设计的过程中根据实际情况的需要,对传统的红外避障传感器进行了一些改进,同时,对信息融合状态下的DSP系统的驱动架购设计,作出了一些研究和论述。给出了小型机器人的运动控制的驱动电路的设计。最后,对这种架构下的自行设计出来的机器人,在超级市场中进行了实际的稳定性测试。

1 前言

随着科学技术发展和人民生活水平提高,机器人已经开始进入了人们的生活中。这个时代的来临,出现了各种新型机器人,如清扫机器人、安防机器人。移动机器人的最重要的部分之一:导航系统,更加引起机器人领域的关注。机器人导航系统对许多机器人应用领域至关重要如:智能仓库,超市导购,家用机器人,自动化图书馆,智能医院等。比较普遍的是寻线机器人。作者在读研期间,多次参加这类机器人比赛和设计。实际设计中发现:因为受到固定线的限制,这种体系并不能实现真正意义上的全方位的自主运行。另外,这种方法受到光的影响很大,不能实际的应用与生活中。线在地表也会影响地面美观。在经过充分的文献查找和思考后提出了一种新的机器人导航系统,把RFID,地磁感应,DSP等技术融合。进行了实际的系统硬软件设计和稳定性测试。

2 导航硬件系统

我们开发的硬件系统主要由:DSP核心板,RFID板,系统主板,电子罗盘,驱动板构成。

2.1DSP核心板

我们自行设计的DSP系统采用TMS320F2812为核心,2812是TI公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片。核心采用高速的处理机,主要是考虑以后对于系统的二次开发。以及方便算法的移植。指令系统最高可在150MHZ主频下工作,并带有18k的0等待周期片上SRAM和128k片上存取时间为36ns FLASH。其片上外设主要包括ADC、双SCI、SPI、McBSP、eCAN等,并带有事件管理模块(EVA、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器。其中的双SCI可以一路接传感器一路接PC及时输出调试信息。16位的PWM可以实现精细的调速。CAP等方便了与传感器的接口。最大输入为3V的16路、12位,转换时间为80ns的ADC可以同时接16路距离传感器。2812拥有16×16位双乘法累加器,可以为处理射频和地磁方向信号提供足够的处理速度。由于2812核心电压(1.8V)和起振频率的特殊性,此核心板采用无源晶振。

核心板采用TPS767D318双路输出低压降LDO。提供双电源,保证了核心电压1.8V的稳定供给。TPS767D318有高速的瞬态响应,专用于DSP,最大可以提供1A的电流。可以实现对IO和核心的分时复位。有上电复位功能,低压保护功能,其复位延迟时间为200ms。有过热保护功能。最大功率计算可以用式1计算。

https://file.elecfans.com/web1/M00/EA/44/o4YBAGB1NzWAG2BUAAAOwW2HtXA452.png

其中TJMAX是最大允许温度,根据经验一般TPS767D318为125度左右。TA是环境温度。 RθJA是连接阻抗。对于28管脚通常为27.9°C/W。实际的功耗可由式2计算,其中VI和VO分别为输入输出电压,IO为输出电流。

https://file.elecfans.com/web1/M00/EA/44/o4YBAGB1Nz2AEan9AAALu3YP52M883.png

在外围电压滤波方面采用多级坦电容(104和220uF)并联的方式。这样的设计可以产生低ESR的效果。根据经验,在频域,104能极大的滤除高频干扰,而220uF能够最佳程度的降低电压的低频干扰。

2.2系统主板与传感模块

关于电源,系统采用12V锂电池供电,采用三端正电压调节器调节电压。内部集成功率保护。输出电流可以达到1A。输入耐压可以到达30V。提供充电接口,通过开关进行控制,电路板上留有接口,可以对锂电池进行充电。

定位装置采用射频技术(RFID)。RFID已经成为一个热门的技术。最近沃尔玛通过了一项“要求其前100家供应商在2005年1月之前向其配送中心发送货盘和包装箱时使用RFID技术,2006年后逐步在单件商品中使用这项技术”的决议。从信息传递的基本原理来说,射频识别技术在低频段基于变压器耦合模型(初级与次级之间的能量传递及信号传递),在高频段基于雷达探测目标的空间耦合模型(雷达发射电磁波信号碰到目标后携带目标信息返回雷达接收机)。最基本的RFID系统由三部分组成:标签、阅读器、天线。按作用距离可分为密耦合卡(作用距离小于1厘米)、近耦合卡(作用距离小于15厘米)、疏耦合卡(作用距离约1米)和远距离卡(作用距离从1米到10米,甚至更远)。本系统采用近耦合卡。射频模块与2812的SCIA口进行通讯。通过对数据流进行解码,判断机器人的位置。

接着是红外避障模块。一般机器人的避障可以采用红外反射的方法,这在机器人比赛中比较普遍。GPIO控制红外线的发射,然后如果遇到障碍物会反射回来,接收管子收到光线后引起电阻变化,检测其电阻变化就可以判断是否有障碍物了。但是这种方法容易受到光噪声的干扰。所以距离比较近,一般只能达到2-3cm。本人在多次比赛中,经过查资料和研究,提出了一种使用标准高频信号38KHZ的红外线进行障碍的探测的电路。因为使用高频信号和高频运放,有了一定的抗干扰能力,同时探测的距离的最大提高到8cm。首先,通过555发射红外线。接着,信号通过红外接收管后经过隔直电容,送入高频运放LM318N,如图4。然后,经过50倍的放大。如图5和图6。

https://file.elecfans.com/web1/M00/EA/44/o4YBAGB1N36AW3c8AADVJWlHPvU880.png
图 1 555发射电路

https://file.elecfans.com/web1/M00/EA/BB/pIYBAGB1N3iAWmc9AADr3gOIBfY866.png
图 2 频率识别电路

https://file.elecfans.com/web1/M00/EA/44/o4YBAGB1N3OAKofWAAENoPbQIXY155.png
图 3 检测放大电路

LM567是锁相环电路, 8脚双列直插封装。第5、6脚外接的电阻和电容决定了内部压控振荡器的中心频率。1、2脚通常分别通过一个电容器接地,产生输出滤波网络和环路单级低通滤波网络。2脚接的电容决定锁相环路的捕捉带宽:电容值越大,环路带宽越窄。压控振荡器的中心频率和滤波带宽可由式子3和式子4决定。

https://file.elecfans.com/web1/M00/EA/BB/pIYBAGB1N2WAAjtZAAAXTY-QHbg918.png

(其中Vi为输入电压)

然后是电子罗盘模块。CMPS03 电子罗盘是平面角度传感器。通过检测当前传感器与地球磁场直接的角度,电子罗盘可以获得分辨率为0.1度的绝对旋转角度。这个电子罗盘模块是专门为机器人而制造,目的为了给机器人提供合适的方向导航信号。对于任何方向,都可以生成独一无二的编码。该传感器使用PHILIPS的KMZ51地磁感应芯片,其精度很高。有两种输出方式,第一种:I2C方式,由Pin2(SCL)和Pin3(SDA)输出。Pin7和Pin5必须悬空。Pin6用来进行校正。这些管脚都接到主板上,由于模块是5V供电,而DSP是3.3V所以还需要用74LVC245进行电平转换。通过2812的GPIOB通过Pin6对系统进行校正。校正只需要做一次,因为数据会保存在电子罗盘中的PIC单片机的EEPROM。第6脚有一个上拉电阻。进行校正只需要通过GPIO给Pin6一个负相脉冲,而且因为有上拉电阻,所以,此管脚与系统断开也是可以的。

最后是系统的驱动模块的设计。采用L298芯片。L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。L298内含的功率输出器件设计制作在一块石英基片上,由于制作工艺的同一性,因而具有分立元件组合电路不可比拟的性能参数一致性,工作稳定。15脚是输出电流反馈引脚,其它与L293相同。在通常使用中这两个引脚也可以直接接地。它是高电压的,高电流的双全桥驱动芯片。可以直接接受标准的TTL逻辑电平。可以驱动各种负载如电机,继电器等。有两个使能输入,通过它控制PWM波的有效性。L298集成有两个能量输出块A,B。另外,我们设计的板子上加有续流二极管。

2.3 驱动程序设计

通过编写InitSysCtrl()函数,对看门狗控制寄存器WDCR进行设置,其WDFLAG位是看门狗复位状态位。如果该位置位表示一个看门狗复位。向WDDIS位写1会使看门狗模块无效。写0对看门狗使能。而对于WDPS位主要是决定看门狗计数器的时钟速率。由于程序中包含有许多循环,所以对于看门狗的设置要特别注意。然后通过设置PLLCR对系统锁相环进行设置。这时候要注意,程序需要加入,5000次循环等待锁相稳定。这一点在2407里并不是必要的,而针对2812系统要注意这点。然后通过HISPCP和LOSPCP来对高速和低速外设来进行匹配。由于在程序中使用了中断,所以需要对外设中断扩展PIE进行设置。方向传感器通过捕获单元和DSP核心进行连接。一次脉冲的捕获需要两次中断,通过控制和读取FIFO寄存器来取出方向的信息的脉冲编码。另外,红外避障模块通过74LV245模块,转换电平后,和中断管脚进行连接。所以要对中断函数进行编程。和RFID传感器通讯是通过2812的双线异步串口。SCI模块支持CPU与采用非返回至0(non-return-to-zero)(NRZ)标准格式的异步外围设备之间的数字通信。2812的SCI接收器有一个16级深度的FIFO,这样可以减少空头的服务。程序通过判断TxRDY位来判断有没有RFID中断。这样,可以及时的发现机器人是否到了一个新的位置。然后读取SCIRXBUF。最后,通过EV单元设置PWM 脉冲,从而控制机器人的走向。

3 结论以及实现后的系统

最后,在联华超市附近调试整个系统。经过反复调试,和对程序的修改,实现了对射频路径点的导航。最终系统运行情况如图6所示

猜你喜欢
中电网移动|移动中电网|频道导航区