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

发布者:MysticalGarden最新更新时间:2021-07-02 来源: eefocus关键字:无线控制系统  MSP430 手机看文章 扫描二维码
随时随地手机看文章

简介:采用无线传感器网络技术设计了对移动机器人运动实时监测和控制系统。以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 电机调节子程序流程图


5LabVIEW的控制程序的设计

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结语

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


作者简介

李亚娟 女 硕士研究生,主要研究方向为动态测试技术。


参考文献:

[1]张文志,吕恬生.无线两轮机器人小车控制系统的设计[J].机械与电子,2003(02),25-27.

[2]朱磊磊,陈军.轮式移动机器人研究综述[J].机床与液压,2009(08) .

[3]佟大鹏,田力波.基于单片机及传感器的机器人设计与实现[J].数字技术与应用,2010(07).

[4]吕治安.ZIGBEE网络原理与应用开发[M].北京:北京航空航天大学出版社,2008.

[5]熊光明,龚建伟,徐正飞,陆际联等.轮式移动机器人滑动转向研究综述[J].机床与液压 , 2003(6) .

[6]郭丽峰,陈恳,吴丹,赵旦谱等.基于Labview的轮腿式机器人人机交互系统[J].微计算机信息,2010,(07) .

[7]高峻峣.轮式机器人模糊神经网络建模与模糊遗传PID转向控制的研究[J].计算机测量与控制,2003(05) .

[8]沈建华,杨艳琴,瞿骁曙编著.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.


关键字:无线控制系统  MSP430 引用地址:三轮机器人小车无线控制系统的设计

上一篇:MSP430单片机AD转换
下一篇:基于单片机控制的六自由度自动寻迹机械人的设计与实现

推荐阅读最新更新时间:2024-10-31 16:06

单片机 脉搏心率检测 MSP430G2553 Pulse Sensor 红外对射
红外对射方法+Pulse Sensor方法总结 刚开始用的红外对射做的: 功能: //硬件组成: //MSP430G2553单片机+DS18B20温度传感器+OLED显示器+脉搏测量电路(带灯)+蜂鸣器报警+按键设置 // //功能: //(1)OLED显示器主页显示脉搏、手指温度、报警上限、报警下限; //(2)五个按键:按键一:切换设置上限和设置下限; // 按键二:保存一次脉搏值,一共可以存十次,存新的自动清除最旧的数据; // 按键三:查看存的脉搏数值; // 按键四:设置的时候加数值功能,查看存储的时候上翻页功能; //
[单片机]
单片机 脉搏心率检测 <font color='red'>MSP430</font>G2553 Pulse Sensor 红外对射
基于MAX5945的以太网供电设备
MSP430F148是美国TI公司推出的超低功耗混合信号控制器MSP430系列中的Flash型单片机。它具有16位RISC结构,CPU中的16个寄存器和常数发生器使MSP430微控制器能达到最高的代码效率;灵活的时钟源可以使器件达到最低的功耗;数字控制的振荡器(DCO)可使器件从低功耗模式迅速唤醒,在6 μs之内激活到活跃的工作方式。将它应用于以太网供电设备中,可方便地实现对以太网供电电源管理芯片的控制,也可以使用户方便地通过终端监控程序对以太网供电设备进行监控。 1 IEEE802.3af标准简介 IEEE802.3af标准定义了一种允许通过以太网在传输数据的同时输送48 V直流电源的方法。它将以太网供电(Power o
[单片机]
基于MAX5945的以太网供电设备
MSP430常用加密总结
1 为什么要加密,如何加密? 当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。 2 JTAG、BSL、BOOTLOADER、熔丝的区别和关系是什么? JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。 BSL接口是利用芯片
[单片机]
MSP430F5529LP(一)IIC与OLED的HELLOWRLD
简单理解下什么是IIC I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。 总线信号 :   SDA :串行数据线   SCL :串行时钟 总线空闲状态 :   SDA :高电平   SCL :高电平 起始位:SCL为高电平期间 SDA出现下降沿 终止位:SCL为高电平期间 SDA出现上升沿 数据传输 :SDA的数据在SCL高电平期间被写入从机。所以SDA的数据变化要发生在SCL低电平期间。 先简单写出IIC.h头文件
[单片机]
<font color='red'>MSP430</font>F5529LP(一)IIC与OLED的HELLOWRLD
MSP430F149 定时器
(1)利用定时器A的模式2(连续)实现的定时资料 利用定时器A的模式2(连续)实现的定时资料 在程序中对TACTL的控制,当TACTL为如下的赋值时 TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt 可以改变TASSEL_X来实现不同的定时, 当为TASSEL_1时选ACLK为定时时钟,可以实现最短2S的定时,其次为2S的倍数的定时。 当为TASSEL_2时选 SMCLK为定时时钟,定时取决于SMCLK的时钟源, 1、SMCLK选 DCO = 800KHZ为时钟源,最短定时时间 为 0.08S 的定时,其次为其倍数。 2、SMCLK选 X
[单片机]
<font color='red'>MSP430</font>F149 定时器
MSP430重启/频繁重启/跑飞 原因分析
1、堆栈溢出导致频繁重启: 案例1: concern_tower_num为从铁电内读取的数据,因为铁电没有初始化,所以concern_tower_num的值很大 下面的程序一直循环到铁电内concern_tower_num所在位置的值,所以超过了option内所设置的stack的最大容量导致堆栈溢出,重启。 for(int i=0;i concern_tower_num+1;i++) { data =crane_tower .crane_x; m++; data =crane_tower .crane_y; m++; data =crane_tower .front_
[单片机]
怎样只用一个XT2晶振得到精确的高频----msp430f5529单片机
最近在用msp430f5529,终于在上周弄清了时钟方面的原理,在此记录下,唔,这也是俺第一篇博客······ 首先呢,我先插入它的原理框图 从图中可以看出ACLK、SMCLK、MCLK都可以由XT1CLK/VLOCLK/REFOCLK/DCOCLK/DCOCLKDIV/XT2CLK得到,而TI例程里面给的大多是由FLLREFCLK倍频得到DCOCLK或DCOCLK,从而得到SMCLK和MCLK,而ACLK都是由XT1CLK或REFOCLK直接获得。例程里面的FLLREFCLK来源于XT1CLK或REFOCLK。所以例程里面得到的高频都是经过大的倍频得到,这里面有个弊端,就是如果你需要很精确的频率的话由大的倍频得到的频道误
[单片机]
怎样只用一个XT2晶振得到精确的高频----<font color='red'>msp430</font>f5529单片机
基于MSP430的十二导联同步心电图机的设计
  MSP430系列单片机在医疗设备行业应用很广泛,以其低功耗,外围设计简单的优点得到了设计者的喜欢。而心电图或CT的复杂的医疗设备应用的很多。心电图机是诊断心脏病的重要仪器之一,能够为医生提供最直观的心电波形。欧美国家已经普遍使用十二导心电图机。十二导联心电图同步记录能客观表达各波、段和间期,可以对早博、心动过速、预激综合征、束支阻滞及分支阻滞等进行定位诊断与鉴别诊断;将心电数据存入数据库,可以进行各种电参数的统计学处理,为临床医疗和科研工作带来了极大便利。根据目前的微电子、单片机和计算机技术成功研制出一种便携式心电图机,它可通过液晶显示器显示心电图,同时将数据在计算机上显示并通过网络实现信息远传,是一种新颖的临床和家庭兼用的心
[医疗电子]
基于<font color='red'>MSP430</font>的十二导联同步心电图机的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved