APP下载

基于Arduino的Mecanum轮无线遥控避障小车*

2014-07-05李芳昕谭小群

机械制造 2014年6期
关键词:摇杆控制板模拟量

□ 李芳昕 □ 谭小群 □ 张 洋 □ 李 超

西北工业大学 机电学院 西安 710072

随着制造业的发展,更有效地利用车间货物储存空间以提高空间利用率,已成为生产管理的一个重要问题,因此,运输车应尽可能减少其转向空间。普通的轮式与履带式机构都需要一定的转弯半径,在拥挤的工作空间内实现全方位运动相对困难。工人驾驶装卸车进行货物运输的运输方式效率低,在复杂工作空间内的劳动强度大大增加,且容易出现错误。

为了研究转向空间小且运输效率高的运输工具,本文提出一种基于Arduino的Mecanum轮无线遥控避障小车,小车选用麦卡纳姆(Mecanum)轮作为运动执行单元。Mecanum轮在1973年首先由瑞士Mecanum AB公司工程师BengtIron[1]提出,此后国内外诸多研究机构对其进行不断研究,它的独特结构可使小车无需任何转弯半径便能实现全方位移动。

笔者在Mecanum轮小车的基础上添加了遥控器和无线通信模块,实现了小车的远程控制,在工作环境恶劣的情况下,保障了操作人员的安全,且便于在复杂的工作环境下对小车进行精确控制。添加了红外检测模块,实现了小车的避障,保障了小车的安全性。

1 系统组成

本系统由Mecanum轮、Arduino控制器、I/O扩展板、直流电机、红外测距传感器、遥控器、无线通信模块组成,如图1所示。遥控器通过无线通信模块与Arduino控制器通信,传输控制字符,当Arduino控制器收到控制字符,给直流电机输出PWM信号,通过调节4个Mecanum轮的转向和速度来实现小车的全方位变速移动。红外测距传感器用于测量小车与障碍物的距离,实时给Arduino控制器反馈模拟量信号,当到达设定距离时,Arduino控制器发出相应指令,控制小车实现设定动作。

2 系统的硬件设计

2.1 Mecanum 轮

Mecanum轮的轮毂外围安装了一周与轮毂轴线成一定角度的无动力辊子,这些辊子既可绕轮毂轴公转,也可绕各自的支撑芯轴自转。由同样结构的若干Mecanum轮按一定规则组成的轮组系统,通过改变各轮毂速度来改变各轮辊子的轴向力,进而改变运动系统中心合速度的大小和方向,使小车实现平面全方位运动。根据小车框架结构尺寸,选用直径60mm的Mecanum轮,其本体运动受力分析如图2所示(仰视图),其中,ω表示轮毂角加速度,Fa表示辊子轴向力,未标ω表示该轮子角加速度为0。

▲图1 系统框图

▲图2 四轮组合运动图

▲图2 四轮组合运动图

▲图3 遥控器模拟量信号图

2.2 Arduino控制器与I/O扩展板

系统选用ArduinoAtmega控制板,核心是一片ATmega328PAU1226芯片,可支持上千种开放源代码,其程序设计语言的编程语法规则类似于C++。

Arduino的I/O扩展板可以灵活扩展数字量与模拟量输入接口和各种功能模块,实现与其它传感器、RS485设备的简单连接,小车使用一个I/O扩展板,用以支持RS485接口并驱动4个电机。

2.3 遥控器

遥控器由inputshield扩展板、ArduinoUno控制器、电池组3部分组成。Inputshield扩展板装有PS摇杆电位器和4个按键,摇杆处于不同位置会有不同的模拟量值,4个按键分别为摇杆按键、复位按键和2个扩展圆帽按键。扩展板可以直接插到Arduino控制器上,预留APC220模块接口,能方便地实现无线数据传输。控制垂直方向的电位器占用Arduino控制板的模拟口0,控制左右方向的电位器占用ArduinoUno控制板的模拟口1,两个扩展圆帽按键分别占用数字引脚3和 4,APC220接口占用数字引脚 0和 1[6]。 9V 电池组专为Arduino控制器供电。

将控制板通过USB连接到电脑上,编写程序来采集摇杆按键的两个电位器的模拟量,通过Arduino编程环境中的SerialMonitor来监控变量。

通过操纵摇杆的位置可看到模拟量数据的变化,模拟量的变化范围是0~1023。摇杆在水平位置上时,垂直方向的模拟量值不变,水平方向的模拟量从右到左由0变到1023。在垂直位置上时,水平方向的模拟量值不变,垂直方向的模拟量从上到下由0变到1023。处于其它位置时的模拟量值可见图3。

根据遥控器模拟量信号图,可以编写程序;根据摇杆的位置,控制小车的运动方向以及速度。

2.4 无线通信模块

APC220模块包括3部分:APC220无线传输模块、USB接口转换器和天线。将1个APC220插到控制器上,另1个插到被控对象上,即可实现两者的通信,APC220模块需成对使用;USB接口转换器可以用于设置模块参数,该模块的主要性能指标见表1。

表1 性能指标

APC220模块可直接应用于inputshield和Arduino控制板上,使用之前,要先使用USB接口转换器将模块连接到电脑上,用设置软件RF—ANET来设置模块的参数。本文中的模块设置如图4所示[6]。

3 系统的软件设计

小车控制程序包括遥控器程序和小车运动程序。首先,创建一个小车运动的库函数,文件名为MotorCar,库函数中定义了11个成员函数,分别代表小车的11个运动方式,入口参数为速度值,范围为0~255,之后应用到库函数中的成员函数时,直接声明该库函数的对象即可。根据遥控模拟量信号图编写程序,通过APC220发送运动字符与速度值。

▲图4 模块设置界面

控制摇杆位于中间位置时,小车静止不动。遥控器上的蓝色按键控制小车的旋转运动,按键未按下,摇杆缓缓向某个方向推动时,小车则向着这个方向运动并且速度越来越快。蓝色按键按下,向左推动摇杆,小车逆时针旋转运动;向右推动摇杆,小车顺时针旋转运动,并且速度越来越快。小车上的APC220接收遥控器上APC220发来的运动字符和速度值。由小车运动库函数MotorCar创建一个对象Motor。

本设计中采集到的模拟量与对应的运动字符、速度以及调用的函数关系见表2。

表2 遥控器模拟量与小车运动形式对应关系

遥控器中采集到的运动字符与速度值,可在Serial Monitor中监控到。

本文选用4个红外测距传感器,分别安装在小车的四周,根据传感器采集到的模拟量与距离的函数关系式,计算出小车与障碍物之间的距离,当小车与障碍物间的距离小于 15mm 时,调用 Motor.stop(),使小车停止,然后用遥控器控制小车向其它方向运动,避开障碍物。

4 样机调试

在完成小车硬件设计、样机搭建、软件开发后,通过调试实验,成功实现了小车的无线遥控与避障,小车实物场景示意图如图5所示,避障过程如图6所示。

▲图5 小车原型样机图

▲图6 避障过程

5 结束语

本文介绍了一种基于Arduino的Mecanum轮无线遥控避障小车,详细论述了Mecanum轮的工作原理以及遥控的实现方法,完成了小车硬件设计与遥控器、小车的软件开发,并进行了安装调试,在实验室环境下,灵活实现使用遥控器操作小车全方位运动,达到了设计要求,为Arduino控制板的使用与开发提供了有益的参考。

[1] 贾官帅.基于Mecanum轮全方位移动平台的理论和应用研究[D].杭州:浙江大学,2012.

[2] 刘磊,许晓鸣.带Mecanum轮的移动机器人全向移动控制研究[J].系统工程理论与实践,2011(S1).

[3] 石维亮,王兴松,贾茜,基于Mecanum轮全向移动机器人的研制[J].机械工程师,2007(9):18-21.

[4] 贾茜,王兴松,夏国庆.Mecanum轮全方位移动机器人的速度修正[J].制造技术与机床,2010 (11):42-45.

[5] 赵津,朱三超.基于 Arduino单片机的智能避障小车设计[J].自动化与仪表,2013,28(5):1-4.

[6] 程晨.Arduino开发实战指南[M].北京:机械工业出版社,2012.

猜你喜欢

摇杆控制板模拟量
一种橡胶减震装置
曲柄摇杆机构的急回程度分析与探讨*
曲柄与摇杆摆角的关系
基于ANSYS的曲柄摇杆机构的仿真分析及优化设计
轨道交通AFC导向标识控制板设计
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
曲柄摇杆行星系取苗机构参数匹配与优化
关于600MW火电机组模拟量控制系统设计和研究
一种机载SAR中心控制板的设计
模拟量输入式合并单元测试仪的研制