(点击 26 次)

三轮机器人小车无线控制系统的设计

采用无线传感器网络技术设计了对移动机器人运动实时监测和控制系统。以MC13214为主控芯片,采用Zigbee协议,对以MSP430单片机为微处理器的三轮机器人小车运动状态数据的无线采集和传输,利用串口通信技术与上位机进行通信。以Labview为开发平台,构建了数据采集、分析、处理与显示系统。

简介:采用无线传感器网络技术设计了对移动机器人运动实时监测和控制系统。以MC13214为主控芯片,采用Zigbee协议,对以MSP430单片机为微处理器的三轮机器人小车运动状态数据的无线采集和传输,利用串口通信技术与上位机进行通信。以Labview为开发平台,构建了数据采集、分析、处理与显示系统。

1 引言

随着社会发展和科技进步,移动机器人在各行业得到广泛的应用。移动机构主要有轮式、履带式、腿式、蛇形式、跳跃式和复合式。轮式移动机器人具有自重轻、承载大、机构简单、驱动和控制相对方便、行走速度快机动灵活、工作效率高等优点,而被大量应用于工业、农业、反恐防爆、家庭、空间探测等领域。本系统设计的是轮式移动机器人中最常见的机构三轮移动机器人,采用MC13214芯片实现计算机和机器人之间的无线串行通信。MSP430F1611作为机器人MCU,采用PI控制算法调节PWM波的占空比完成电机调速,依靠差速实现灵活转向。用MSP430片内ADC采集三路加速度信号。

2 系统整体概述

系统通过三维加速度传感器MMA7260实现对加速度的采集,以MC13214芯片按照RS232工业标准经过无线通信模块接收上位机的命令和发送机器人运动状态信息。机器人端用MSP430单片机控制两个后轮的直流电机,两个光电编码盘实时反馈双轮转速给MSP430单片机,并通过片内的3路A/D模块采集3路加速度信号,前轮采用一个万向轮来保持机器人的平衡。上位机选用虚拟仪器开发平台LabVIEW实现对小车运动的控制/数据的显示和监控界面设计。在该平台下,添加Labview Instrument I/O函数模板本身提供的Scrial子VI,通过数据连接,可以实现Labview界面和无线收发模块的实时通信。操作人员可以用键盘、鼠标、操作手柄、虚拟控件等方式输入机器人运行指令对机器人小车的运动控制,在计算机屏幕上显示传感器数据信息。系统框图如图1所示。

三轮机器人小车无线控制系统的设计
图1 系统框图

3 系统的硬件设计

系统采用以MC13214芯片为核心的无线通信模块。MC13214是美国Freescale公司的一种短距离、低功耗,工作于2.4GHz的ISM(Industry Science Medical)波段,包含了Zigbee物理层(IEEE 802.15.4)协议的收发芯片。它内嵌微处理器支持点对点、星形和网形结构的网络。芯片内部包含了低噪声的放大器、1.0mW高频输出放大器、VCO(压控振荡器)、片内稳压电源和扩频编/解码。芯片按照IEEE 802.15.4物理层规范,在2MHz宽带的信道上实现了250kbps的速率,采用O-QPSK实现调制/解调。

MMA7260是美国Freescale公司的一款低成本单芯片三轴加速度传感器。该微型电容式加速传感器融合了信号调理、单极低通滤波器和温度补偿技术,并提供了4种加速度测量范围,分别为:士1.59、士29、士49和士69。MMA7260具有高灵敏度,当选择士1.59的侧量范围时,灵敏度达到soomv/g。它具有三轴向检测功能,使便携式设备能够智能地回应位置、方位和移动的变化。

MCU选择TI公司的MSP430F1611单片机。MSP430F1611是一种16 位超低功耗的混合信号处理器,具有 48kB 闪存、10kB RAM、12 位 ADC、双 DAC、2 USART、I2C、HW Mult和DMA 。

MSP430片内的TimerB可以独立的输出两路PWM信号经过一片L298驱动左右电机,最大电流可达4A。直流电机的盘码为100P/R,其减速比为14:1;串联两块7.5V的电池作为电源,经过7805、7809 和LP2987输出所需的5V、9V和 3.3V电压。TimerB的TB1、TB2管脚输出两路PWM信号。TB1管脚连L298的ENA管脚,控制左电机,P5.0和P5.1管脚分别连L298的INPUT1和INPUT2管脚,P5.0高电位正转,P5.1高电位反转;TB2管脚连L298的ENB管脚,控制右电机。其中TB1、TB2管脚输出两路PWM波,用于控制电机的转速。

TimerA的两个捕获端口CA0和CA1管脚接两路码盘脉冲从而获得电机转速。A0,A1,A2作为ADC的输入端,A2,A1,A0分别连三维加速度传感器MMA7260的X,Y,Z方向低通滤波后的输出信号。硬件电路图如图2所示。

三轮机器人小车无线控制系统的设计
图2 硬件电路图

MC13214通信模块作为上位机的无线收发端,MC13214通过MAX232与上位机的串口相连,下位机MC13214通信模块作为无线收发端,MC13214的RX和TX管脚与MSP430单片机TX和RX相连,使用Z-STACK平台配置MC13214形成一个无线透明数据传输模块。上位机MC13214模块的功能设置为协调器,机器人小车上的MC13214设置成路由器,这样机器人既可以收发信号又可以作为中继节点,便于多机器人组网。

4 单片机软件设计

MSP430F1611单片机程序设计包括电机控制和通讯两部分。机器人运动参数是通过采集和计算加速度传感器的加速度值、码盘的转速值而获取的。小车的速度可以通过计算码盘返回值获得。程序流程图如图3所示。

三轮机器人小车无线控制系统的设计
图3 程序流程图

电机转速的调节是靠调节MSP430产生的两路PWM信号的占空比实现的,MSP430本身带有PWM模块实现起来比较方便。当小车碰撞障碍物时给小车自动后退转向命令,小车上坡和下坡时通过计算加速度与重力夹角增大或减小PWM的占空比来实现小车的加速或减速。两路电机必须同时输入两路PWM波,即要保证2轮能同步得到相应的电压输出。电机的占空比调节量通过码盘反馈与要求速度作比较来确定,这里采用PI增量算法,按公式(1)计算。

△u=uk-uk-1=Kp(ek-ek-1)+KITsamek (1)

式中ek为本次误差值,ek-1为上次误差值,Tsam为采样时间,Kp和KI可以由实验凑出或Matlab仿真得出。码盘测得的速度为 :

n×2π/100/T (2)

式中T为采样周期;N为为脉冲数。电机调节子程序流程图如图4所示。

三轮机器人小车无线控制系统的设计
图4 电机调节子程序流程图

5 LabVIEW的控制程序的设计

PC机程序采用图形化编程语言LabVIEW编写,LabV I EW提供5个串口通信节点,分别实现串口初始设置、串口写、串口读、检测串口输入缓存中的字节数、串口中断。在PC机和无线采集模块串行通信前,首先要配置好串口,即串口初始化,使计算机串口的各参数设置与无线收发模块的串口参数一致。

(1)VISA Configure Serial Port.vi:利用该节点可以设置串口波特率、数据位、停止位、奇偶校验、缓存大小以及流量控制等参数。
(2)VISA Write:完成输入有计算机发往数据采集板的采集、停止、前后左右运行、左自旋,右自旋,6挡速度、自动巡航等一系列命令。
(3)VISA Read:用于从串口缓存中读出指定长度的数据。
(4)VISA Close:关闭一个已经打开的串口,从而释放LabVIEW对这个串口资源的占用。
(5)Simple Error Handler.VI:简易错误处理器,显示错误输入并处理。

LabVIEW中提供键盘、鼠标、操作手柄信息采集的函数库Input Device Control,通过Acquire Input Data.vi可以获取键盘、鼠标和操作手柄的当前状态。

操作人员通过键盘、鼠标、操作手柄等方式输入的运行指令转换为移动机器人的运行指令。在利用Acquire Input Data.vi获取手柄原始输入信息后,用Unbundle By Name函数提取所需轴和按键的数值,用Bundle、Cluster To Array、Boolean Array To Number等函数将输入信息转换为指令解析程序所需数值类型。在轮式移动模式中Y axis数值控制机器人运行速度,X axis rotation轴数值控制机器人转向;在腿式或复合模式运行状态下,可通过数字键输入改变机器人的运行模式。

当程序开始运行后先打开接收数据按钮,然后打开串口,就可以显示出采集来的数据。同时可以从运行的界面看到数据的历史曲线,图表曲线右端为当前加速度,即可以从曲线上看出又可以从数字控件中看到确切的数据。运行时的界面如图5所示。当点击各节点按钮时可分别查看其加速度度变化情况。

利用以上方法在Labview平台上建立移动三轮机器人小车的人机交互系统,通过此系统操作人员可方便直观的观测到机器人的运动信息,并通过界面实现对机器人的控制操作。图5为机器人小车发生碰撞时显示在Labview图表上的加速度曲线。

三轮机器人小车无线控制系统的设计
图5 小车碰撞时的加速度曲线

6 结语

无线移动三轮机器人小车由于它的结构简单,高度灵活,操作方便,在室外环境应用中已被广泛地采用。小车还可以加载各种传感器、芯片和摄像头来完成特定环境下的各种任务。随着机器人技术的发展以及对机器人性能要求的提高,轮式移动机器人在移动控制、路径规划等方面需要改进并向复合式方向发展。


“采用无线传感器网络技术设计了对移动机器人运动实时监测和控制系统。以MC13214为主控芯片,采用Zigbee协议,对以MSP430单片机为…