楊雪,高成恩,高攀,尤一鳴,熊慧
(天津工業(yè)大學(xué),天津300160)
楊雪(碩士研究生),主要研究領(lǐng)域為單片機及嵌入式應(yīng)用、智能控制。
根據(jù)麥克斯韋電磁場理論,交變電流會在周圍產(chǎn)生交變的電磁場。智能車競賽使用路徑導(dǎo)航的交流電流頻率為20kHz,產(chǎn)生的電磁波屬于甚低頻(VLF)電磁波。交變磁場分析復(fù)雜,并且賽道導(dǎo)航電線和小車尺寸遠遠小于電磁波的波長,電磁場輻射能量很小,能夠感應(yīng)到電磁波的能量也非常小。所以可將導(dǎo)線周圍變化的磁場近似地看作緩變的磁場,按檢測靜態(tài)磁場的方法獲取導(dǎo)線周圍的磁場分布,進行位置檢測。
由畢奧-薩伐爾定律可知,通有穩(wěn)恒電流Ⅰ、長度為L的直導(dǎo)線周圍會產(chǎn)生磁場,距離導(dǎo)線距離為r處的磁感應(yīng)強度為[2]:
對于無限長直電流來說(如圖1所示),上式中θ1=0,θ2=π,u0為真空磁導(dǎo)率,則有:
基于不同物理效應(yīng)的磁測量傳感器很多,要根據(jù)被檢測磁場的性質(zhì)和要求,使用不同的磁場傳感器。感應(yīng)線圈對磁場的變化靈敏度較高,同時也可根據(jù)被測磁場的形態(tài)和分布選定線圈形狀和幾何尺寸[3]。選用靈敏度更高的線圈作為識別信號的傳感器。
本設(shè)計中導(dǎo)線通過的電流頻率為20kHz,且線圈較小。設(shè)線圈中心到導(dǎo)線的距離為r,并認為小范圍內(nèi)磁場分布是均勻的。再根據(jù)圖1所示的導(dǎo)線周圍磁場分布規(guī)律,利用法拉利定律,線圈中感應(yīng)電動勢可近似為:
圖1 無限長直電流r處磁感應(yīng)強度
即線圈中感應(yīng)電動勢的大小正比于電流的變化率,反比于線圈中心到導(dǎo)線的距離。故導(dǎo)線左右兩端傳感器的電壓值可表示為[4]:
式中,K為某固定的比例系數(shù),與電磁學(xué)常量有關(guān);h為傳感器高度;l1、l2為電感與導(dǎo)線的水平距離。
由此可得賽道值:
式中,(l1+l2)為定值,計算出的pos值為以傳感器軸中心為坐標原點的賽道位置值。
磁導(dǎo)航智能車系統(tǒng)主要分為主控模塊、路徑信息采集模塊、電機驅(qū)動模塊和電源模塊等。磁導(dǎo)航智能車結(jié)構(gòu)框圖如圖2所示。
系統(tǒng)磁場環(huán)境為埋設(shè)在跑道中通過20 kHz、100mA交變電流的導(dǎo)線產(chǎn)生的交變磁場。
圖2 磁導(dǎo)航智能車結(jié)構(gòu)框圖
根據(jù)感應(yīng)線圈安放位置的不同,可將感應(yīng)方向分解為各分量。如圖3所示,當(dāng)線圈為水平安置時,線圈中檢測到的主要是水平方向的磁場分量;線圈為垂直安置時,線圈中檢測到的主要是垂直方向的磁場分量。通過對不同方向磁場分量的檢測,可以獲得磁場的強度和方向。
圖3 導(dǎo)線周圍的感應(yīng)電磁場
當(dāng)線圈為水平安置時,檢測到的感應(yīng)電動勢如圖4所示。磁場強度B是距離x的偶函數(shù),并且在Y軸兩側(cè)單調(diào)。當(dāng)線圈為垂直安置時,檢測到的感應(yīng)電動勢如圖5所示。磁場強度B是距離x的奇函數(shù),但在Y軸兩側(cè)沒有單調(diào)關(guān)系。
圖4 線圈軸線(//X軸)與軌道垂直圖
圖5 線圈軸線(//Z軸)與軌道垂直圖
系統(tǒng)采用的是水平安置的方法,主要利用其單調(diào)性,軟件分析更直觀。設(shè)計初期,選用了單排水平安裝方式1,如圖6所示。
在如上布局中,只通過兩端傳感器的電壓差來計算賽車的位置,賽車就能完成基本任務(wù)。
優(yōu)勢:信號采樣時間短;系統(tǒng)的實時性好,對微小變化反應(yīng)及時;算法簡單,控制靈活。
劣勢:因線圈在磁場中的磁感應(yīng)強度會受與導(dǎo)線的夾角影響,使得傳感器在不同位置獲得的電壓差值相同,造成誤識別;轉(zhuǎn)角不夠平穩(wěn)。為了解決上述問題,提出了增多傳感器的方案,傳感器的安裝方式2如圖7所示。
圖6 單排水平安裝方式1
圖7 傳感器安裝方式2
傳感器0和2、傳感器1和3分別成一定角度固定在賽車前方30cm的兩側(cè)。這樣有效地避免了在大S等賽道上因夾角造成的丟線問題。但速度仍受限。
筆者從布局和算法兩方面入手。進一步改進,傳感器安裝方式3如圖8所示。
系統(tǒng)采用了雙排的傳感器排布方案。前排4個傳感器,后排2個傳感器。傳感器0、2與傳感器1、3分別位于賽車前方30cm處,間距為25cm;傳感器4、5分別位于賽車前方20cm處,間距為20cm。
兩排傳感器用法基本相同,位于前排的傳感器主要用于對賽道位置的計算;位于后排的傳感器用于當(dāng)小車偏離量比較大時對位置進行輔助控制,同時輔助調(diào)節(jié)速度。
圖8 傳感器安裝方式3
利用電感線圈得到的感應(yīng)電動勢信號太弱,需要對采集后的信號進行放大、濾波處理。對交變信號的識別主要利用的是RLC并聯(lián)諧振電路,等效電路如圖9所示。
R為電感的等效電阻,E為感應(yīng)電動勢,C是并聯(lián)諧振電容。電路諧振頻率為:
圖9 RLC并聯(lián)諧振等效電路
信號放大采用的是集成運放。雖然普通運放的頻率響應(yīng)速度較低,但在實驗中發(fā)現(xiàn),放大倍數(shù)對信號采集的影響不是很大,只要能夠滿足采樣的電壓要求即可。同時,使用集成運放能夠有效地隔離電路,引入的干擾少。在實驗中,利用集成運放進行半波放大和全波放大,發(fā)現(xiàn)全波放大效果更好,靈敏度較高,信號失真較小。集成運放放大電路如圖10所示。
圖10 集成運放放大電路
電機驅(qū)動電路選用了驅(qū)動芯片BTS7960。芯片在工作時,阻抗典型值為16mΩ(ⅠOUT=9A,Tj=25℃),可提供的最大驅(qū)動電流為43A。
圖11 電機驅(qū)動電路
由于電磁尋跡本身的特點,得到的黑線位置是相對精確的模擬量。同時在很大程度上無法預(yù)測軌跡位置,借鑒攝像頭的彎道半徑計算思路,提出雙排傳感器的角度控制方案。舵機的反饋控制量選用智能車前方20cm處賽道的斜率以及第一排傳感器的偏移量。在實際的跑道中,賽車的偏移量、斜率以及轉(zhuǎn)向的關(guān)系如圖12~17所示。
圖12 偏移量和斜率都很小,控制很弱
圖13 偏移量很大,但斜率很小,控制較弱
圖14 偏移量和斜率同方向,需加速回正
圖15 偏移量和斜率反方向,需及時轉(zhuǎn)向
圖16 偏移量和斜率反方向,處于外道需及時轉(zhuǎn)向
圖17 偏移量和斜率同方向,處于內(nèi)道需貼住彎道
系統(tǒng)的主控芯片選用的微控制器是Freescale公司的MC56F8013。因為要直接采集正弦波的交流信號,而該信號的頻率為20kHz,根據(jù)采樣定理:當(dāng)fs.max大于信號中最高頻率fmax的2倍時,采樣之后的數(shù)字信號完整地保留了原始信號中的信息。系統(tǒng)直接利用主控芯片的片內(nèi)晶振,主頻為32MHz,A/D采樣頻率最大可達到2.67 MHz,該系統(tǒng)通過分頻將A/D的轉(zhuǎn)換頻率定為200kHz。
因采集得到的數(shù)據(jù)量較大,在處理方便且不丟失有效信號的原則下,系統(tǒng)僅使用信號中的最大值。為了減少最終誤差,在每個處理周期,選取其中的最大值及次大值的平均值作為采樣值。
4.2.1PD算法
在PⅠD控制算法的基礎(chǔ)上,選用了增量型的PⅠD控制算法。所需公式為:
式中,ΔU(k)表示增量;e(k)為系統(tǒng)的控制偏差;Kp為比例增益表示積分系數(shù)表示微分系數(shù)。
本設(shè)計去掉了PⅠD中的積分環(huán)節(jié),采用了變參數(shù)的PD控制器。因積分環(huán)節(jié)主要是用于消除靜態(tài)誤差,相對于干擾較大的舵機控制來說,它的作用并不明顯,反而會降低響應(yīng)速度。
4.2.2軟件設(shè)計
系統(tǒng)中,主要計算賽車位置的是前排傳感器。通過左右兩端傳感器的電壓來判斷賽車與軌道的距離,利用差值來判斷賽車偏離軌道的程度,并計算得到賽車的轉(zhuǎn)角。
在壓差求解中,主要利用的是左、右兩端各自的傳感器檢測得到的電壓值進行權(quán)值可變的加權(quán)。權(quán)值的變化與當(dāng)前傳感器采集到的電壓值相關(guān)聯(lián),這樣有效地避免丟失信號及誤差。
式中,AD_N是左或右端獲得的電壓值,AD_maxN0[2]、AD_maxN1[2]是一個周期中該端傳感器0、1電壓的最大值和次大值的平均值;l1、l2是傳感器0、1此時采用的權(quán)值。
數(shù)據(jù)處理部分采用變參數(shù)的PD算法。軟件設(shè)計初期,僅對最后送入舵機的轉(zhuǎn)角采用了PD算法。相比僅簡單利用壓差計算轉(zhuǎn)角,在小S彎道處賽車運行更連續(xù)、更加穩(wěn)定。中期進行了改進,增加了前排傳感器的壓差值的PD運算,進一步提高了賽車的連續(xù)性。上述兩次PD算法的參數(shù)由前排壓差值及前排和后排的傳感器壓差得到的斜率而確定。
由于直接輸出θ角對應(yīng)的PWM波進行轉(zhuǎn)角控制,需要建立角度與PWM占空比的精確數(shù)學(xué)關(guān)系,在實際操作中很難實現(xiàn)。在末期,對轉(zhuǎn)角引入了增量逐次逼近控制算法。
具體做法是利用取平均值的方法將通過上述方法所得的6次轉(zhuǎn)角取平均值,同時利用求得的需要輸出角度與上次輸出角度的差值,引入一個D環(huán)節(jié),經(jīng)過計算后得到的角度作為實際輸出。經(jīng)過多次實驗證明,采用這種方法在直道和S彎道時可以避免頻繁的大角度修正,減小系統(tǒng)過沖,使行駛更平穩(wěn)。采用逐次逼近和PD算法的方法實現(xiàn)智能車轉(zhuǎn)彎控制,降低對模型精確度的要求,更好地滿足智能車的容錯能力。
系統(tǒng)主程序流程如圖18所示。
實驗結(jié)果表明,該導(dǎo)航方法滿足競賽要求,采用該方法的賽車在第五屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽上獲得全國一等獎。但該方法中,由于磁傳感器檢測到的始終是當(dāng)前位置與導(dǎo)航線之間的相對位置信息,前方路徑信息受局限,所以下一步需要考慮賽車的前瞻性,進一步提升賽車速度。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
圖18 主程序流程
[1]李仕伯,馬旭,卓晴.基于磁場檢測的尋線小車傳感器布局研究[J].電子產(chǎn)品世界,2009(12):41-44.
[2]張三慧.大學(xué)物理學(xué)(第三冊)電磁學(xué)[M].北京:清華大學(xué)出版社,1999.
[3]肖勝紅,肖振坤,邊少鋒,等.弱磁場檢測方法與儀器研究[J].艦船電子工程,2006,26(4):158-162.
[4]張昊飏,馬旭,卓晴.基于電磁場檢測的尋線智能車設(shè)計[J].電子產(chǎn)品世界,2009(11):48-50.
[5]韓金華,王立權(quán),孟慶鑫.護士助手機器人磁導(dǎo)航方法研究[J].儀器儀表學(xué)報,2009,30(4):834-839.
[6]邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].北京:清華大學(xué)出版社,2004.
[7]卓晴,黃開勝,邵貝貝.學(xué)做智能車——挑戰(zhàn)“飛思卡爾杯”[M].北京:北京航空航天大學(xué)出版社,2007.
[8]張營.智能車輛磁定位技術(shù)研究[D].上海:上海交通大學(xué),2008.
[9]張玉華,羅飛路,白奉天.交變磁場測量系統(tǒng)中磁傳感器的設(shè)計[J].傳感器世界,2003(12):6-8,12.
[10]Ching Yao Chan,Mangetic sensing as a position reference system for ground vehicle control[J].ⅠEEE Transactions onⅠnstrumentation and Measurement,2002,51(1):43-52.