詹 杰,劉學(xué)兵,張 浩
(湖南科技大學(xué)物理與電子科學(xué)學(xué)院,湖南 湘潭 411201)
?
基于直流電機(jī)驅(qū)動(dòng)的電腦鼠設(shè)計(jì)
詹杰,劉學(xué)兵,張浩
(湖南科技大學(xué)物理與電子科學(xué)學(xué)院,湖南 湘潭 411201)
摘要:電腦鼠是一種由微處理器控制的,集環(huán)境感知、動(dòng)態(tài)決策與規(guī)劃、行為控制與執(zhí)行等多種功能于一體的微型機(jī)器人.傳統(tǒng)的電腦鼠采用步進(jìn)電機(jī)驅(qū)動(dòng)的設(shè)計(jì)方案,易于控制但轉(zhuǎn)速較慢.提出了一種基于直流電機(jī)驅(qū)動(dòng)的電腦鼠設(shè)計(jì)方案,該電腦鼠具有成本低、可靠性高等特點(diǎn).仿真測(cè)試結(jié)果表明,該系統(tǒng)能成功地完成迷宮競(jìng)賽所有任務(wù).
關(guān)鍵詞:電腦鼠;驅(qū)動(dòng);直流電動(dòng)機(jī)
電腦鼠由微控制器、傳感器、驅(qū)動(dòng)電機(jī)等組成,集感知、判斷、行走等功能于一體,能夠在迷宮中自動(dòng)尋找最佳路徑的微型機(jī)器人,國(guó)際電工和電子工程學(xué)會(huì)每年舉辦一次國(guó)際性的賽事[1-3].該項(xiàng)賽事對(duì)于提升團(tuán)隊(duì)的動(dòng)手能力、協(xié)作能力、創(chuàng)新能力非常有益.中國(guó)已成功地舉辦了4屆電腦鼠走迷宮競(jìng)賽,參與比賽的高校和學(xué)生人數(shù)逐屆增多,影響越來(lái)越大.
根據(jù)IEEE電腦鼠競(jìng)賽規(guī)則,電腦鼠的傳感器、控制器、電機(jī)等硬件選型上沒(méi)有任何限制,只要求電腦鼠外形尺寸不得超過(guò)競(jìng)賽迷宮的單個(gè)單元空間,因而現(xiàn)有電腦鼠種類(lèi)較多,其最大區(qū)別體現(xiàn)在電機(jī)驅(qū)動(dòng)設(shè)計(jì)方案.[6-7]以周立功公司研發(fā)的步進(jìn)電機(jī)驅(qū)動(dòng)電腦鼠是國(guó)內(nèi)參與競(jìng)賽的首選,控制精度高,但存在力矩小、轉(zhuǎn)速慢等缺點(diǎn).筆者采用直流電機(jī)驅(qū)動(dòng)設(shè)計(jì)方案,成功地完成了其硬件與軟件的設(shè)計(jì),系統(tǒng)測(cè)試達(dá)到了預(yù)期目標(biāo).該電腦鼠具有轉(zhuǎn)速高、調(diào)速方便、負(fù)載能力強(qiáng)等特點(diǎn).
1硬件系統(tǒng)設(shè)計(jì)
圖1 電腦鼠硬件結(jié)構(gòu)
該電腦鼠硬件系統(tǒng)結(jié)構(gòu)如圖1所示.系統(tǒng)由電機(jī)、紅外線(xiàn)傳感器、陀螺儀、無(wú)線(xiàn)通信及按鍵、LED、電源等部分構(gòu)成.無(wú)線(xiàn)通信部分主要用來(lái)傳輸數(shù)據(jù)供調(diào)試時(shí)使用;按鍵和LED燈完成控制和狀態(tài)顯示作用;電源采用鋰電池,分別為電機(jī)、傳感器和微控制器等供電.電腦鼠在運(yùn)行過(guò)程中,直流電機(jī)啟動(dòng)頻繁,將會(huì)產(chǎn)生高頻諧波.為保證系統(tǒng)工作電壓穩(wěn)定,連續(xù)降壓2次得到3.3 V直流電壓.為消去高頻干擾,降低紋波,提高系統(tǒng)電壓穩(wěn)定性,電路設(shè)置CP1和PC1等高頻電容.系統(tǒng)直流電源設(shè)計(jì)如圖2所示.
圖2 直流電源電路
該電腦鼠的行走電路采用直流電機(jī)驅(qū)動(dòng)方式,電機(jī)型號(hào)為Faulhaber-2224.電機(jī)自帶1個(gè)16線(xiàn)雙相編碼器,5 V直流電源供電,具有A與B這2個(gè)輸出通道.驅(qū)動(dòng)電機(jī)減速比為5∶1,即輪子轉(zhuǎn)動(dòng)1圈,每個(gè)編碼器通道可獲得80個(gè)脈沖信號(hào),具有控制精度較高等特點(diǎn).電機(jī)驅(qū)動(dòng)控制電路如圖3所示.
圖3 電機(jī)驅(qū)動(dòng)控制電路
圖3中L293DD為直流電機(jī)驅(qū)動(dòng)芯片.在芯片輸入信號(hào)中,IN1和IN2為電機(jī)轉(zhuǎn)向控制信號(hào),使能端EN1接入一路PWM信號(hào),通過(guò)改變IN1、IN2電平和PWM占空比即可改變電機(jī)的轉(zhuǎn)速和方向.由于L293DD無(wú)內(nèi)置保護(hù)二極管,在驅(qū)動(dòng)電路的每個(gè)輸出端均設(shè)置了2個(gè)1N4148二極管,以釋放電機(jī)停止瞬間產(chǎn)生的反向電流,起到保護(hù)電路的作用.
電腦鼠在迷宮中行走時(shí)需要檢測(cè)周邊墻壁信息.系統(tǒng)的紅外線(xiàn)傳感器探測(cè)墻壁信息,由紅外線(xiàn)發(fā)射管發(fā)射信號(hào),根據(jù)接收管接收信號(hào)的強(qiáng)度來(lái)獲得墻壁信息和距墻壁距離.紅外線(xiàn)傳感器電路如圖4所示.
圖4 紅外線(xiàn)傳感器電路
圖5 硬件布局
為保證電腦鼠在單元格間距為18.5 cm的迷宮中順利行進(jìn),設(shè)計(jì)采用功率為0.3 W、發(fā)射角為20°的大功率紅外線(xiàn)發(fā)射二極管.為防止分布集中的傳感器相互之間干擾,引入了反向驅(qū)動(dòng)器MC1413,其分時(shí)信
號(hào)分別對(duì)每個(gè)發(fā)射管進(jìn)行單獨(dú)控制.在信號(hào)接收上,采用和發(fā)射管波長(zhǎng)相同的紅外線(xiàn)接收二極管,串接電阻,并將此電阻兩端電壓輸入至控制器AD端,從而將迷宮墻壁信息轉(zhuǎn)換成電壓信號(hào).
電腦鼠設(shè)計(jì)要求結(jié)構(gòu)緊湊,對(duì)電路布局提出了較高要求.由于探測(cè)范圍較寬(5~15 cm),單個(gè)紅外線(xiàn)傳感無(wú)法滿(mǎn)足動(dòng)態(tài)范圍,因此設(shè)計(jì)中引入了6個(gè)紅外線(xiàn)傳感器,分別探測(cè)電腦鼠左前、右前、左斜、右斜、正左和正右等6個(gè)方位信息(圖5).
2軟件系統(tǒng)設(shè)計(jì)
根據(jù)競(jìng)賽規(guī)則,電腦鼠必須完成3個(gè)階段性任務(wù),即迷宮搜尋、最優(yōu)路徑計(jì)算和最后沖刺.[8-10]電腦鼠從起點(diǎn)至終點(diǎn),再?gòu)慕K點(diǎn)回到起點(diǎn)對(duì)迷宮進(jìn)行2次搜尋,找到最優(yōu)路徑.程序控制對(duì)象為驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速和方向,電腦鼠分別采集紅外線(xiàn)傳感器和編碼器數(shù)據(jù),計(jì)算當(dāng)前電腦鼠運(yùn)行運(yùn)行狀態(tài),并在軟件算法指令下修正狀態(tài).程序具體執(zhí)行過(guò)程如圖6所示.
圖6 軟件系統(tǒng)設(shè)計(jì)流程
3系統(tǒng)調(diào)試
電腦鼠的系統(tǒng)調(diào)試工作分為硬件調(diào)試和軟件調(diào)試.硬件調(diào)試主要包括紅外線(xiàn)傳感器控制、電腦鼠行走控制,軟件調(diào)試主要是迷宮搜索和最優(yōu)路徑規(guī)劃.
圖7 紅外線(xiàn)接收二極管信號(hào)幅值響應(yīng)曲線(xiàn)
紅外線(xiàn)接收二極管信號(hào)幅值響應(yīng)曲線(xiàn)如圖7所示.二極管對(duì)高頻信號(hào)有一定的響應(yīng)延遲,控制器發(fā)出紅外線(xiàn)發(fā)射信號(hào),約0.5 ms后接收端開(kāi)始出現(xiàn)變化,并經(jīng)過(guò)2 ms后信號(hào)達(dá)到峰值,進(jìn)入穩(wěn)定狀態(tài).這表明單個(gè)紅外線(xiàn)傳感器完成1次數(shù)據(jù)采集至少需要2 ms時(shí)間.在實(shí)際傳感器測(cè)試中,還需考慮AD采樣保持時(shí)間.為提高控制器效率,本設(shè)計(jì)利用定時(shí)器提供定時(shí)信號(hào)并完成數(shù)據(jù)采集任務(wù).
紅外線(xiàn)傳感器采樣規(guī)則如圖8所示.定時(shí)器中斷6次為1個(gè)采樣周期,每次中斷采樣1個(gè)傳感器數(shù)據(jù),關(guān)閉對(duì)應(yīng)的發(fā)射管,同時(shí)開(kāi)啟下一個(gè)將要檢測(cè)的發(fā)射管.紅外線(xiàn)傳感器數(shù)據(jù)經(jīng)采樣處理后,運(yùn)用閾值判斷方法獲得當(dāng)前電腦鼠坐標(biāo)點(diǎn)的四周墻壁信息及距墻壁間的距離信息.前者用來(lái)標(biāo)記迷宮信息,后者用來(lái)校正電腦鼠的姿態(tài).
圖8 紅外線(xiàn)傳感器采樣規(guī)則
圖9 內(nèi)環(huán)速度控制的PID算法
調(diào)試過(guò)程由2個(gè)控制環(huán)組成:內(nèi)環(huán)控制驅(qū)動(dòng)電機(jī)的速度,保持目標(biāo)速度與給定速度一致;外環(huán)計(jì)算給定的速度.內(nèi)環(huán)速度控制采用PID算法,如圖9所示.紅外線(xiàn)傳感器采樣規(guī)則在每個(gè)控制周期內(nèi)測(cè)量輪子速度,并與給定速度作比較,然后根據(jù)PID公式計(jì)算新的電機(jī)參數(shù),直至電機(jī)運(yùn)行速度和給定速度相等.
圖10 外環(huán)速度給定控制流程
外環(huán)速度給定控流程如圖10所示.新的迷宮區(qū)域判斷取決于2個(gè)條件:電腦鼠當(dāng)前坐標(biāo)狀態(tài)信息(有無(wú)墻壁)和行進(jìn)距離超過(guò)1個(gè)迷宮單元格距離.當(dāng)行進(jìn)到新的迷宮區(qū)域時(shí),給上層迷宮算法一個(gè)反饋,然后根據(jù)迷宮算法,決定電腦鼠下一步動(dòng)作(前進(jìn)或轉(zhuǎn)彎),并給出2輪的預(yù)定速度,直到到達(dá)下一個(gè)坐標(biāo)區(qū)域.電腦鼠如未到達(dá)新區(qū)域則按照之前運(yùn)行狀態(tài)繼續(xù)運(yùn)行.若電腦鼠處于執(zhí)行狀態(tài)且兩側(cè)有墻,則校準(zhǔn)姿態(tài),以消除行進(jìn)過(guò)程中產(chǎn)生的直線(xiàn)誤差.
圖11 單個(gè)電機(jī)驅(qū)動(dòng)信號(hào)示意
單個(gè)電機(jī)驅(qū)動(dòng)信號(hào)示意如圖11所示.為實(shí)現(xiàn)上述運(yùn)動(dòng)狀態(tài),單個(gè)電機(jī)運(yùn)轉(zhuǎn)需要3個(gè)控制信號(hào),直流電機(jī)驅(qū)動(dòng)芯片L293DD的EN1端輸入一路PWM信號(hào),IN1和IN2端輸入高低電平.
由于EN1控制著OUT1和OUT2的輸出使能,當(dāng)PWM信號(hào)占空比發(fā)生變化時(shí),輸出響應(yīng)亦發(fā)生改變.當(dāng)占空比高時(shí)電機(jī)轉(zhuǎn)速快,反之則慢.同時(shí),IN1和IN2電平控制直流電機(jī)的轉(zhuǎn)向,當(dāng)兩者電平相反且IN1為高電平時(shí)電機(jī)正轉(zhuǎn),IN1為低電平時(shí)反轉(zhuǎn).反之,當(dāng)兩者電平相同時(shí)電機(jī)停止轉(zhuǎn)動(dòng).
根據(jù)電腦鼠硬件系統(tǒng)設(shè)計(jì)結(jié)構(gòu),其輪胎直徑設(shè)定3 cm,電機(jī)與輪子的轉(zhuǎn)速比為5∶1,編碼器規(guī)格為16線(xiàn),由此可以得出編碼器單位數(shù)據(jù)脈沖對(duì)應(yīng)的實(shí)際距離為0.12 cm.此外,由于標(biāo)準(zhǔn)迷宮單元格之間距離為18.5 cm,所以電腦鼠在迷宮中直行時(shí),當(dāng)編碼器累計(jì)達(dá)到154個(gè)脈沖計(jì)數(shù),則其移動(dòng)了1個(gè)單元格.
由于電腦鼠兩輪機(jī)械結(jié)構(gòu)存在差異,直行過(guò)程中左右輪會(huì)產(chǎn)生一定偏差,在速度較快情況下還可能出現(xiàn)輪子打滑現(xiàn)象,導(dǎo)致編碼器計(jì)數(shù)誤差的產(chǎn)生.為此,設(shè)計(jì)借助陀螺儀進(jìn)行了數(shù)據(jù)校準(zhǔn),行走誤差修正流程如圖12所示.
圖12 行走誤差修正流程
由于實(shí)測(cè)和理論數(shù)據(jù)存在一定誤差,必須對(duì)模型進(jìn)行修正.表1,2分別給出了實(shí)際測(cè)量單位編碼器脈沖行進(jìn)距離誤差和電腦鼠原地轉(zhuǎn)90°彎編碼器的計(jì)數(shù)值.由此可見(jiàn),實(shí)際計(jì)算時(shí)需把測(cè)量數(shù)據(jù)擬合到理論計(jì)算公式中,從而可以降低誤差.
表1 單位編碼器脈沖行進(jìn)距離誤差
表2 原地轉(zhuǎn)90°彎編碼器計(jì)數(shù)值
競(jìng)賽迷宮由16×16的小方格組成,為此建立一個(gè)8位16×16的二維數(shù)組,分別表示每個(gè)坐標(biāo)信息,用低4位記錄該坐標(biāo)四面墻壁信息,高4位記錄離開(kāi)該坐標(biāo)的動(dòng)作(直行或轉(zhuǎn)彎)和有無(wú)搜索該區(qū)域信息等.迷宮坐標(biāo)和方位示意如圖13所示,數(shù)據(jù)表示方法及含義見(jiàn)表3.
北西(0,0) (0,1)…(0,15)(1,0) (1,1)……? ???(15,0) … …(15,15)東南
圖13 迷宮坐標(biāo)和方位示意
搜索原則指出了電腦鼠在迷宮中行進(jìn)方向的優(yōu)先選擇原則,常見(jiàn)有左(右)手法則和向心法則.左(右)手法則要求電腦鼠在迷宮中遇到前進(jìn)方向選擇時(shí),優(yōu)先選擇左(右)邊方向搜索,直到左(右)邊方向進(jìn)入死胡同,才選擇中間方向或相反方向.向心法則以左(右)手法則為基礎(chǔ),其優(yōu)先方向并不固定,而是以當(dāng)前電腦鼠坐標(biāo)為基準(zhǔn),選擇距迷宮中心坐標(biāo)(迷宮終點(diǎn))最近的方向,當(dāng)左中右方向均等同時(shí),再按照左中右順序選擇,具體流程如圖14所示.在競(jìng)賽迷宮中,到達(dá)終點(diǎn)路徑可能不止1條,由于搜索法則具有一定概率性,實(shí)際搜索的迷宮路徑可能不是最優(yōu)的,因此采用堆棧方法盡可能地搜索出所有迷宮路徑.多路徑搜索原則流程如圖15所示.
圖14 搜索算法流程
圖15 多路徑搜索原則流程
4結(jié)語(yǔ)
依據(jù)IEEE電腦鼠競(jìng)賽規(guī)則,基于電腦鼠的靈活性和穩(wěn)定性的考量,為克服傳統(tǒng)異步電機(jī)驅(qū)動(dòng)電腦鼠轉(zhuǎn)速慢和力矩小等缺陷,筆者提出了直流電機(jī)驅(qū)動(dòng)電腦鼠設(shè)計(jì)方案.在硬件系統(tǒng)設(shè)計(jì)上,完成了系統(tǒng)各功能模塊的設(shè)計(jì),軟件系統(tǒng)設(shè)計(jì)上,提出了直流電機(jī)驅(qū)動(dòng)電腦鼠的控制算法,實(shí)現(xiàn)了迷宮搜索和最優(yōu)路徑規(guī)劃.與異步電機(jī)驅(qū)動(dòng)電腦鼠方案相比,筆者設(shè)計(jì)的電腦鼠在系統(tǒng)結(jié)構(gòu)的尺寸和性能上優(yōu)勢(shì)明顯.
參考文獻(xiàn):
[1] IEEE國(guó)際電工和電子工程學(xué)會(huì).IEEE 電腦鼠(迷宮)競(jìng)賽規(guī)則和介紹[EB/OL].[2014-10-25].http://www.embedream.com/xgzl/2007 ̄08 ̄28/24.html.
[2] IEEE UCSD.Micromouse Rules R6[EB/OL].[2014-10-25].http://ieee.ucsd.edu/projects/micromouse/rules.php.
[3] 周立功.IEEE電腦鼠開(kāi)發(fā)指南[M].廣州:廣州致遠(yuǎn)電子有限公司,2008.
[4] 王磊.基于IEEE電腦鼠走迷宮算法分析與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2013.
[5] 林國(guó)恩.電腦鼠的設(shè)計(jì)與實(shí)作[D].臺(tái)灣:龍華科技大學(xué),2010.
[6] 萬(wàn)玉瓊,梁俊有.基于嵌入式微處理器的走迷宮機(jī)器人的設(shè)計(jì)[J].洛陽(yáng)理工學(xué)院學(xué)報(bào):自然科學(xué)版,2010(4):36-39.
[7] 付秀偉,張驊.基于A(yíng)RM-M3的電腦鼠硬件設(shè)計(jì)[J].吉林化工學(xué)院學(xué)報(bào),2012,29(1):47-49.
[9] 陳鋒.環(huán)境搜索與路徑規(guī)劃算法的研究[D].吉林:吉林大學(xué),2012.
[8] 李亞洲,嚴(yán)石.電腦鼠軟件系統(tǒng)關(guān)鍵技術(shù)研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(5):72-73.
[10] 張新誼.一種電腦鼠走迷宮的算法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(5):84-85.
(責(zé)任編輯陳炳權(quán))
Design of DC Drive Micromouse Based on STM32F103
ZHAN Jie,LIU Xuebing,ZHANG Hao
(College of Physics and Electronic Science,Hunan University of Science and Technology,Xiangtan 411201,Hunan China)
Abstract:Micro ̄mouse is a microprocessor controlled micro robot that integrates the multiple functions of environment perception,dynamic decision ̄making and planning,behavior control and implementation.The traditional design of micro ̄mouse uses a stepping motor which is easy to control but has low rotate speed.The paper introduces the design of DC ̄drive micro ̄mouse with low cost and high reliability which fully considers the requirements of competition.Simulation tests shows that this system can complete the task of maze contest successfully.
Key words:micromouse;drive;DC motor
作者簡(jiǎn)介:詹杰(1973—),男,湖南常德人,湖南科技大學(xué)物理與電子科學(xué)學(xué)院副教授,博士,主要從事傳感器網(wǎng)絡(luò)、移動(dòng)通信、嵌入式系統(tǒng)等研究.
基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61377024)
收稿日期:2014-11-25
中圖分類(lèi)號(hào):TP368.1
文獻(xiàn)標(biāo)志碼:A
DOI:10.3969/j.issn.1007-2985.2015.02.010
文章編號(hào):1007-2985(2015)02-0039-06