吳立成 李霞麗 鄶新凱 楊國(guó)勝
(中央民族大學(xué)信息工程學(xué)院,北京 100081)
水上行走機(jī)器人是一種仿生“水蜘蛛”的微型機(jī)器人,利用機(jī)器人絲狀腿部的表面張力在液體表面站立和行走[1].因其特殊的運(yùn)動(dòng)方式在偵察勘測(cè)、水質(zhì)監(jiān)控、液面清污等領(lǐng)域具有十分重要的應(yīng)用前景.最早見諸文獻(xiàn)的水上行走機(jī)器人是美國(guó)麻省理工大學(xué)的“Water Strider”[2].隨后,卡耐基-梅隆大學(xué)制作了名為Water Walker的水上行走機(jī)器人[3],吳立成等制作了 Water Dancer機(jī)器人[4].但上述機(jī)器人都沒(méi)有遙控功能.Water Dancer的下一代樣機(jī)Water DancerⅡ-a型水上行走機(jī)器人的控制方式為無(wú)線、遠(yuǎn)距離控制[5],這就需要開發(fā)一款與之相配套的遙控裝置來(lái)實(shí)現(xiàn)對(duì)機(jī)器人的遠(yuǎn)程操作.針對(duì)水上行走機(jī)器人的運(yùn)動(dòng)要求,本文提出了紅外遙控的設(shè)計(jì)理念,設(shè)計(jì)并實(shí)現(xiàn)了一種水上行走機(jī)器人紅外遙控器.
遙控器控制系統(tǒng)總體框圖如圖1所示.控制系統(tǒng)的設(shè)計(jì)目標(biāo)為:遙控裝置根據(jù)按鍵決定的機(jī)器人運(yùn)行模式,通過(guò)紅外發(fā)射管發(fā)射特定編碼的紅外信號(hào)指令,并由機(jī)器人本體接收指令后實(shí)現(xiàn)相應(yīng)的啟動(dòng)/停止、轉(zhuǎn)向、調(diào)速和模式轉(zhuǎn)換等操作.遙控裝置配裝數(shù)碼管和發(fā)光二極管等組成顯示模塊,用于顯示機(jī)器人當(dāng)前運(yùn)行狀態(tài).針對(duì)以上設(shè)計(jì)目標(biāo),控制系統(tǒng)分為控制器、紅外通信模塊、數(shù)碼管顯示模塊、按鍵模塊和電源模塊等幾個(gè)模塊.
圖1 控制系統(tǒng)總體框圖
系統(tǒng)的主控制器采用 TI公司的MSP430F1222單片機(jī),它是一款超低功耗FLASH型16位RISC指令集單片機(jī).控制器和各引腳的功能如圖2所示.
遙控裝置中紅外通信過(guò)程的簡(jiǎn)單原理如圖3所示.當(dāng)有按鍵按下時(shí),控制器輸出載波為38 kHz的信號(hào)給紅外發(fā)射管,機(jī)器人通過(guò)紅外接收頭進(jìn)行接收,然后解碼.
圖3 紅外通信原理
接收模塊使用MN01-2-CB型紅外接收頭,工作原理為:紅外光敏元件將接收到的載波頻率為38 kHz的脈沖調(diào)制紅外光信號(hào)轉(zhuǎn)化為電信號(hào),再由前置放大器和自動(dòng)增益控制電路進(jìn)行放大處理;然后,通過(guò)帶通濾波器進(jìn)行濾波后的信號(hào)由解調(diào)電路進(jìn)行解調(diào);最后,由輸出級(jí)電路進(jìn)行放大輸出,還原出原來(lái)的數(shù)字編碼[6].
本文設(shè)計(jì)的遙控裝置通過(guò)2個(gè)八段數(shù)碼管顯示機(jī)器人的工作模式.一個(gè)數(shù)碼管顯示左電機(jī)的運(yùn)動(dòng)狀態(tài),另一個(gè)顯示右電機(jī)狀態(tài).當(dāng)外部信號(hào)通過(guò)按鍵傳送到主控制器后,主控制器通過(guò)紅外發(fā)射管將控制信號(hào)傳送給機(jī)器人本體,同時(shí)通過(guò)譯碼芯片使數(shù)碼管顯示相應(yīng)的狀態(tài)標(biāo)示.其設(shè)計(jì)原理如圖4所示.其中譯碼器件采用TI公司的CD4511芯片,該芯片具有BCD轉(zhuǎn)換、消隱和鎖存控制及七段譯碼功能[7].
圖4 數(shù)碼管顯示原理圖
按鍵模塊主要包括8個(gè)按鍵S1~S8,分別與單片機(jī)的P1.0~P1.7相連.若按鍵被有效按下,其相應(yīng)的管腳為低電平,否則為高電平,可以通過(guò)掃描引腳的方式來(lái)判斷按鍵是否被按下.8個(gè)按鍵所實(shí)現(xiàn)的功能分別包括電機(jī)的啟動(dòng)/停止、同時(shí)前進(jìn)、同時(shí)加速、左加速、左減速、右加速、右減速以及機(jī)器人自主/手動(dòng)切換模式等.設(shè)計(jì)原理如圖5所示.圖中,D1和D2是指示燈,D1燈亮表示遙控器處于正常工作狀態(tài),D2燈亮表示機(jī)器人處于自主運(yùn)動(dòng)狀態(tài).電阻R和電容C構(gòu)成防抖電路[8].
圖5 按鍵設(shè)計(jì)圖
遙控器采用2節(jié)干電池進(jìn)行供電,為防止電壓下降使系統(tǒng)不能正常工作,電源模塊采用TI公司的TPS63001芯片來(lái)進(jìn)行穩(wěn)壓,以增加設(shè)計(jì)的實(shí)用性[9].
軟件設(shè)計(jì)在MSP430單片機(jī)的開發(fā)調(diào)試環(huán)境IAR Embedded Workbench下采用純C語(yǔ)言編程實(shí)現(xiàn)[10].遙控器的軟件程序主要完成遙控信號(hào)的編碼、調(diào)制和發(fā)射以及對(duì)機(jī)器人運(yùn)行狀態(tài)的顯示和自主/手動(dòng)模式的切換.
紅外遙控信號(hào)的發(fā)射程序流程圖如圖6(a)所示.主程序主要完成控制器的初始化和循環(huán)檢測(cè)按鍵是否被按下以及數(shù)碼管顯示的功能.初始化主要包括:設(shè)定各個(gè)變量的初值,初始化I/O端口、時(shí)鐘、定時(shí)器工作方式,并根據(jù)給定的波特率計(jì)算計(jì)時(shí)器初值等.定時(shí)器中斷服務(wù)函數(shù)主要負(fù)責(zé)將調(diào)制好的信號(hào)按設(shè)定的波特率串行發(fā)送出去,流程圖如圖6(b)所示.
圖6 軟件流程圖
完成后的遙控器裝置如圖7所示.為了測(cè)試所開發(fā)遙控器的各項(xiàng)功能,首先進(jìn)行了顯示功能測(cè)試.啟動(dòng)遙控器,通過(guò)按鍵先后輸入停止、同時(shí)加速和同時(shí)減速以及順時(shí)針原地轉(zhuǎn)彎、右轉(zhuǎn)和自主運(yùn)動(dòng)指令,顯示結(jié)果如圖8所示,證明該遙控器實(shí)現(xiàn)了設(shè)計(jì)的狀態(tài)顯示功能.
圖7 遙控器實(shí)物圖
然后進(jìn)行紅外發(fā)射功能的測(cè)試.當(dāng)有按鍵按下時(shí),控制器將命令信號(hào)加載到38 kHz的載波上輸出給紅外發(fā)射管,紅外發(fā)射管上的載波波形通過(guò)示波器測(cè)試的結(jié)果如圖9所示.
最后通過(guò)按鍵先后輸入停止、同時(shí)加速和左電機(jī)停止右電機(jī)加速指令,PWM波輸出波形如圖10所示,驅(qū)動(dòng)波形完全正確,證明該遙控器實(shí)現(xiàn)了所設(shè)計(jì)的遠(yuǎn)程控制作用.
圖8 遙控器實(shí)驗(yàn)效果圖
圖9 加載到紅外發(fā)射管上的載波波形
圖10 機(jī)器人本體產(chǎn)生的PWM波波形
本文設(shè)計(jì)并實(shí)現(xiàn)了由2個(gè)直流無(wú)刷電機(jī)驅(qū)動(dòng)的Water DancerⅢ水上行走機(jī)器人的紅外遙控裝置.所實(shí)現(xiàn)的遙控器以紅外光為載體,發(fā)射控制編碼信號(hào),實(shí)現(xiàn)對(duì)機(jī)器人的遠(yuǎn)程操作.針對(duì)水上行走機(jī)器人的運(yùn)動(dòng)需求,該遙控裝置通過(guò)按鍵可以實(shí)現(xiàn)機(jī)器人的啟動(dòng)、停止、前進(jìn)、后退、轉(zhuǎn)彎、調(diào)速和自主/手動(dòng)切換模式等功能,并且還可通過(guò)數(shù)碼管和發(fā)光二極管顯示出該機(jī)器人當(dāng)前所在的運(yùn)行狀態(tài).
References)
[1]吳立成,孫富春,袁海斌.水上行走機(jī)器人[J].機(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]吳立成,丁樑,郭棟,等.水上漂浮仿生水黽機(jī)器人:中國(guó),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]連志鵬.水上行走機(jī)器人的設(shè)計(jì)與優(yōu)化研究[D].北京:北京航空航天大學(xué)自動(dòng)化學(xué)院,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]康春雨.幾種常用開關(guān)防抖電路的簡(jiǎn)介[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系列單片機(jī)系統(tǒng)工程設(shè)計(jì)與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2010.
[10]沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.