APP下载

一种水上行走机器人红外遥控器的设计与实现

2013-08-15吴立成李霞丽郐新凯杨国胜

关键词:数码管遥控器按键

吴立成 李霞丽 郐新凯 杨国胜

(中央民族大学信息工程学院,北京 100081)

水上行走机器人是一种仿生“水蜘蛛”的微型机器人,利用机器人丝状腿部的表面张力在液体表面站立和行走[1].因其特殊的运动方式在侦察勘测、水质监控、液面清污等领域具有十分重要的应用前景.最早见诸文献的水上行走机器人是美国麻省理工大学的“Water Strider”[2].随后,卡耐基-梅隆大学制作了名为Water Walker的水上行走机器人[3],吴立成等制作了 Water Dancer机器人[4].但上述机器人都没有遥控功能.Water Dancer的下一代样机Water DancerⅡ-a型水上行走机器人的控制方式为无线、远距离控制[5],这就需要开发一款与之相配套的遥控装置来实现对机器人的远程操作.针对水上行走机器人的运动要求,本文提出了红外遥控的设计理念,设计并实现了一种水上行走机器人红外遥控器.

1 遥控器控制系统设计

1.1 控制系统总体方案

遥控器控制系统总体框图如图1所示.控制系统的设计目标为:遥控装置根据按键决定的机器人运行模式,通过红外发射管发射特定编码的红外信号指令,并由机器人本体接收指令后实现相应的启动/停止、转向、调速和模式转换等操作.遥控装置配装数码管和发光二极管等组成显示模块,用于显示机器人当前运行状态.针对以上设计目标,控制系统分为控制器、红外通信模块、数码管显示模块、按键模块和电源模块等几个模块.

图1 控制系统总体框图

1.2 控制器模块

系统的主控制器采用 TI公司的MSP430F1222单片机,它是一款超低功耗FLASH型16位RISC指令集单片机.控制器和各引脚的功能如图2所示.

1.3 红外通信模块

遥控装置中红外通信过程的简单原理如图3所示.当有按键按下时,控制器输出载波为38 kHz的信号给红外发射管,机器人通过红外接收头进行接收,然后解码.

图3 红外通信原理

接收模块使用MN01-2-CB型红外接收头,工作原理为:红外光敏元件将接收到的载波频率为38 kHz的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波后的信号由解调电路进行解调;最后,由输出级电路进行放大输出,还原出原来的数字编码[6].

1.4 数码管显示模块

本文设计的遥控装置通过2个八段数码管显示机器人的工作模式.一个数码管显示左电机的运动状态,另一个显示右电机状态.当外部信号通过按键传送到主控制器后,主控制器通过红外发射管将控制信号传送给机器人本体,同时通过译码芯片使数码管显示相应的状态标示.其设计原理如图4所示.其中译码器件采用TI公司的CD4511芯片,该芯片具有BCD转换、消隐和锁存控制及七段译码功能[7].

图4 数码管显示原理图

1.5 按键模块

按键模块主要包括8个按键S1~S8,分别与单片机的P1.0~P1.7相连.若按键被有效按下,其相应的管脚为低电平,否则为高电平,可以通过扫描引脚的方式来判断按键是否被按下.8个按键所实现的功能分别包括电机的启动/停止、同时前进、同时加速、左加速、左减速、右加速、右减速以及机器人自主/手动切换模式等.设计原理如图5所示.图中,D1和D2是指示灯,D1灯亮表示遥控器处于正常工作状态,D2灯亮表示机器人处于自主运动状态.电阻R和电容C构成防抖电路[8].

图5 按键设计图

1.6 电源模块

遥控器采用2节干电池进行供电,为防止电压下降使系统不能正常工作,电源模块采用TI公司的TPS63001芯片来进行稳压,以增加设计的实用性[9].

2 软件设计

软件设计在MSP430单片机的开发调试环境IAR Embedded Workbench下采用纯C语言编程实现[10].遥控器的软件程序主要完成遥控信号的编码、调制和发射以及对机器人运行状态的显示和自主/手动模式的切换.

红外遥控信号的发射程序流程图如图6(a)所示.主程序主要完成控制器的初始化和循环检测按键是否被按下以及数码管显示的功能.初始化主要包括:设定各个变量的初值,初始化I/O端口、时钟、定时器工作方式,并根据给定的波特率计算计时器初值等.定时器中断服务函数主要负责将调制好的信号按设定的波特率串行发送出去,流程图如图6(b)所示.

图6 软件流程图

3 实验

完成后的遥控器装置如图7所示.为了测试所开发遥控器的各项功能,首先进行了显示功能测试.启动遥控器,通过按键先后输入停止、同时加速和同时减速以及顺时针原地转弯、右转和自主运动指令,显示结果如图8所示,证明该遥控器实现了设计的状态显示功能.

图7 遥控器实物图

然后进行红外发射功能的测试.当有按键按下时,控制器将命令信号加载到38 kHz的载波上输出给红外发射管,红外发射管上的载波波形通过示波器测试的结果如图9所示.

最后通过按键先后输入停止、同时加速和左电机停止右电机加速指令,PWM波输出波形如图10所示,驱动波形完全正确,证明该遥控器实现了所设计的远程控制作用.

图8 遥控器实验效果图

图9 加载到红外发射管上的载波波形

图10 机器人本体产生的PWM波波形

4 结语

本文设计并实现了由2个直流无刷电机驱动的Water DancerⅢ水上行走机器人的红外遥控装置.所实现的遥控器以红外光为载体,发射控制编码信号,实现对机器人的远程操作.针对水上行走机器人的运动需求,该遥控装置通过按键可以实现机器人的启动、停止、前进、后退、转弯、调速和自主/手动切换模式等功能,并且还可通过数码管和发光二极管显示出该机器人当前所在的运行状态.

References)

[1]吴立成,孙富春,袁海斌.水上行走机器人[J].机器人,2010,32(3):443-448.Wu Licheng,Sun Fuchun,Yuan Haibin.Water strider robot[J].Robot,2010,32(3):443-448.(in Chinese)

[2]Hu D L,Chan B,Bush J W M.The hydrodynamics of water strider locomotion[J].Nature,2003,424(6949):663-666.

[3]Suhr S H,Song Y S,Lee S J,et al.Biologically inspired miniature water strider robot[C]//Proceedings of the Robotics:Science and Systems I.Boston,USA:2005:319-325.

[4]吴立成,丁樑,郭栋,等.水上漂浮仿生水黾机器人:中国,200610112601.7[P].2006-08-25.

[5]Wu Licheng,Lian Zhipeng,Yang Guosheng,et al.Water DancerⅡ-a:a non-tethered telecontrollable water strider robot[J].International Journal of Advanced Robotic Systems,2011,8(4):10-17.

[6]连志鹏.水上行走机器人的设计与优化研究[D].北京:北京航空航天大学自动化学院,2010.

[7]Texas Instruments.CMOS BCD-to-7-segment latch discoder drivers[EB/OL].(2003-06-27)[2012-01-10].http://focus.ti.com.cn/cn/docs/prod/folders/print/cd4511b.html.

[8]康春雨.几种常用开关防抖电路的简介[J].电子世界,2009(11):43-44.Kang Chunyu.The profile of several commonly used antishake switch circuit[J].Electronics World,2009(11):43-44.(in Chinese)

[9]谢楷,赵建.MSP430系列单片机系统工程设计与实践[M].北京:机械工业出版社,2010.

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

猜你喜欢

数码管遥控器按键
我是“糊涂虫”
基于有限状态机的按键检测程序设计
微课教学设计之“数码管动态显示”
时间遥控器
爸妈有个“遥控器”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
行走的飞行遥控器
按键消抖在单片机和FPGA实验教学中的应用