周 為,秦 嵐
(重慶大學光電工程學院,重慶 400044)
目前,應用于微小空間、狹窄管道工作的微型機器人正朝著體積小、質量輕、高智能化等方向發展。隨著MENS傳感器技術的發展,微型機器人能夠攜帶相關傳感器進行探測檢測工作的能力越來越強,應用范圍越來越廣。目前研制的微型機器人須具備高性能的機構技術、高可靠性的驅動吸附技術、可靠的通信技術和智能化的嵌入式控制技術[1]。為滿足發展趨勢及要求,本文介紹了基于電磁驅動吸附的微型爬壁機器人,著重討論了直線、轉彎等運動脈沖邏輯和機器人運動控制的嵌入式控制方法,開發了基于51單片機的控制電路和程序,并對程序進行了仿真和實現。
本文討論的微型機器人采用電磁驅動和吸附技術,通過“步行”方式實現機器人行走。微型機器人驅動原理如圖1所示,在機器人本體中安裝永磁鐵,在本體的左右兩側安裝纏繞線圈作為機器人的腳,使其在交變電磁力的作用下推動機器人本體在前后方向上做往復運動;在外側安裝小型電磁鐵,使其能吸附于導磁工作物體表面。機器人三維結構如圖2所示,按照20 mm×20 mm×30 mm的標準設計。機器人支撐鏈接材料均采用鋁合金,具有質量輕、硬度高、不被磁化的特點。位于中心的即永磁鐵,材料上選用鐵釹硼永磁,其特點是磁能高、磁能積大、易加工。兩側的左右腳采用鐵鎳合金(坡莫合金),具有極強的磁化和退磁能力。在腳上分別纏繞驅動線圈和吸附線圈,線圈采用0.1 mm的聚氨酯皮膜導線,線圈通以電流產生電磁力,以實現對機器人的驅動和吸附[2]。

圖1 微型機器人的驅動原理

圖2 微型機器人的三維結構
控制機器人直線行走即控制機器人左右兩驅動線圈、兩吸附線圈通電電流之間的關系,以直線行走控制邏輯為例(如圖3所示)。在t0時刻,機器人左腳懸空(不通電),右腳吸附(通電),左驅動線圈反向驅動,右驅動線圈正向驅動;t1時刻,左腳吸附(通電),右腳懸空(不通電),左驅動線圈反向驅動,右驅動線圈正向驅動;t2、t3狀態均可從邏輯上分析得出。t0~t3實現了一個行走周期,機器人直線行走(即按照此控制脈沖反復執行)的運動速度高低取決于t0~t4之間的各運動狀態的延時,即驅動頻率。

圖3 機器人控制時序圖
由以上分析可知:微型爬壁機器人直線行走控制的最根本是時序脈沖的控制。在不考慮摩擦因素等導致的速度衰減情況下,直線行走的速度滿足:

其中:Vr、Vl為左右腳速度;s為行走步長;fr、fl為驅動頻率。
由以上公式可知:機器人左右腳運動速度是由驅動頻率決定的。由于受機器人機械結構等自身特性的限制,驅動頻率限制在0~20 Hz,頻率越高,運動速度越快。由公式可知:當頻率為20 Hz時,理想狀態下機器人的運動速度為80 mm/s(不考慮衰減,步長為4 mm)。同理,機器人轉彎也是由時序脈沖控制的,轉彎要求左腳驅動頻率和右腳驅動頻率不一致,左腳驅動頻率較高,機器人右轉;右腳驅動頻率高,機器人左轉,且驅動頻率相差愈大,轉彎半徑愈小。
因此,對機器人的控制一方面要實現各個運動狀態的控制邏輯,另一方面要實現邏輯間的延時。
采用51單片機實現對機器人的控制,選擇P1.x口為輸出控制口,分配P1各腳功能如表1所示。

表1 51單片機P1引腳分配及功能
當機器人需要直線前進時,由圖3可知各引腳的功能定義和 t0~t3狀態下的邏輯值如表2所示。

表2 直線行走時P1功能引腳邏輯真值表
由表2可知:在一個運動周期內,P1口輸出狀態在t0~t3時的輸出為01000110B-01000101B-00101001B-00101010B,翻譯成16進制為46H-45H-29H-2AH。因機器人行走速度與驅動頻率有關,當驅動頻率為10 Hz時,一個行走周期為100 ms,t0~t3各狀態均為25 ms。程序設計P1輸出為:循環執行46H-延時25ms-45H-延時25ms-29H-延時25ms-2AH延時25 ms。
單片機的延時方法主要分為軟件延時和硬件延時。軟件延時方法程序編寫簡單,調用方便,但問題很多。軟件延時受單片機硬件環境如晶振頻率、編譯環境、變量類型影響很大,而且非常占用單片機CPU 時間[3-8]。為實現精確定時,實現對硬件資源的合理利用,本文采用硬件定時方式,即利用51單片機中的定時/計數器進行定時。
在程序設計中,首先定義數組uchar ineCtr[4]={0x46,0x45,0x29,0x2A}為控制命令,設置定時器0工作于模式1,實際電路選用16 MHz晶振,因此定時為25 ms,采用16位計數,計算定時/計數器裝載初值為33333,開中斷,允許time0中斷,啟動定時計數。在time0中斷程序中,完成控制命令的輸出:

使用keil uvision4軟件對51單片機進行程序開發、編譯,生成.bin格式的二進制文件。利用Protues軟件編輯電路圖,并加載生成的.bin文件。利用Protues軟件中的DIGITAL ANALYSIS儀器查看仿真結果[4]。結果表明:利用定時/計數器能實現精確的硬件延時,每一控制脈沖周期為100 ms。如圖4所示,豎線為在t0狀態下的各控制脈沖邏輯值。由圖可知:左吸附線圈放松,左驅動線圈反向;右吸附線圈吸附,右驅動線圈正向。圖5中豎線為t2狀態的波形。此時,左吸附線圈吸附,左驅動線圈正向;右吸附線圈放松,右驅動線圈反向,推動機器人前進。

圖4 t0狀態仿真

圖5 t2狀態仿真
為了兼容對機器人的無線控制,實際控制電路采用nRF24LE1模塊。該模塊集成了2.4 GHz的無線通信模塊nRF24L01和高性能的51單片機,在滿足無線通信的同時也能滿足智慧控制要求[5],以51單片機為控制核心,搭建硬件電路,利用示波器采集控制波形[6-7]。由于示波器在同一時刻只能采集兩路信號,可以搭配各引腳輸出狀態信息進行分析,輸出波形如圖6、7所示。

圖6 輸出口 P1.0,P1.1信號

圖7 輸出口 P1.0、P1.2信號
P1.0,P1.1 腳輸出信號如圖 6 所示,P1.0、P1.1兩腳定義為對左右吸附線圈的控制。由圖3可知,左右吸附不可能同時為高/低,狀態只能相反,即只能有一只腳吸附,因此P1.0與P1.1信號的邏輯關系完全相反,符合機器人控制要求。由圖7可知,左吸附控制腳P1.0和右驅正向控制P1.2信號之間相差25 ms,同樣滿足邏輯控制和設計要求。
本文對微型機器人的原理和驅動方法進行了研究,設計的基于51單片機的步態控制程序滿足邏輯控制要求,得到在驅動頻率為10 Hz時機器人各個驅動線圈、吸附線圈的控制關系,為后續實現靈活的速度調節控制、機器人無線控制程序的設計以及驅動電路設計奠定了基礎。
[1]芮延年.機器人技術及其應用[M].北京:化學工業出版社,2008.
[2]劉京城.微小步行爬壁機器人驅動與位置檢測技術及系統[D].重慶:重慶大學,2003.
[3]萬文略.單片機原理及應用[M].重慶:重慶大學出版社,2004.
[4]彭偉.單片機C語言程序設計實訓100例:基于8051+Proteus仿真[M].北京:電子工業出版社,2009.
[5]nRF24LE1 Product Specification v1.6[EB/OL].[2010-08 - 10].http://www.baidu.com/baidu?word=nRF24LE1+Product+Specification+v1.6&ie=utf-8.
[6]戴棟,陳海秀,王海俊.機器人控制器的二次開發[J].重慶理工大學學報:自然科學版,2012,26(7):50-54.
[7]蘇豪,薛方正.關節型機器人通用仿真平臺設計[J].重慶理工大學學報:自然科學版,2012,26(6):82-88.