摘要:根據大賽規則,本智能車系統以單片MCF52259單片機作主控單元,利用振蕩回路感應引導線中交變電流產生的電磁波信號指出前進方向,用超聲波模塊結合陀螺儀控制直立,CPU處理信息后驅動電機推動車模前進及轉彎。在運行過程中,依靠PID算法對賽道進行穩定跟蹤并對車速進行控制,實現穩定快速的運行。
關鍵詞: 電磁導航; 直立控制; PID; 單片機應用
DOI: 10.3969/j.issn.1005-5517.2012.11.020
傳感器設計
1. 電感
同往屆比賽相同,電磁組的檢測源仍然是20kHz的交變磁場,導線通有20kHz,100mA的交流電,我們采用LC諧振回路來檢測交變磁場,經運算放大器放大,再通過RC檢波電路進行整流濾波,單片機AD采樣。
2. 超聲波模塊
這一屆競賽對電磁組有了新的要求,在原有尋道前進的基礎上要求車模僅靠兩輪直立行走。要控制車模直立,必然要獲得當前車模的運行狀態,首先需要獲得車模當前偏離平衡位置的傾角,參考方案推薦使用的是加速度計,融合陀螺儀來獲取當前角度,但是我們認為這一方案具有其必然的缺陷,在后面車模直立控制算法會詳細說明。我們使用了超聲波來獲取車模前瞻與地面的距離,根據三角關系轉化為車模的傾角。
3. 陀螺儀模塊
鑒于空氣阻力是非常小的,如果車模的直立只有P控制,理論分析可得車模會做正弦振蕩,這樣的系統是不穩定的,因此車模的直立還必須引入差分控制,我們采用的是競賽組委會推薦使用的村田公司出品的ENC-03系列的加速度傳感器,來獲取車模當前直立控制的角速度。
4. 測速模塊
采用了兩個光電碼盤來測左右輪的速度。
傳感器布局方式
我們通過實踐得知電感高度過高轉彎會出現延遲的問題,并且十字彎及S彎磁場相對復雜,高電感檢測的信息容易受到干擾,且易受到附近賽道磁場的干擾。但是電感高度太低電感容易飽和,傳感器對賽道賽道較為敏感,使得車輛前瞻可以很好地切線。但是對于長前瞻以及過小S的時候,容易車模轉向過大,影響車模的平滑運行,綜上考慮,我們選取的電感高度是18cm,兩個電感相距25cm一字擺開。
超聲波模塊置于車模前瞻距離車體較遠處,因為這樣車模傾角變化能引起超聲波測距較大的變化,提高超聲波測量車模傾角的精度。水平陀螺儀安裝在車模背面底盤,用熱熔膠固定即可。
電磁傳感器的架設

電磁車需要最大程度獲取賽道信息,傳感器需要做的盡量往前。增大前瞻以后,由前瞻帶來的轉動慣量也變得非常大。為此我們首先試用了釣魚用的碳卷桿。該竿壁非常薄,直徑5mm左右,因此很輕,1米也只有4g重量。不過使用中發現,此桿雖然強度大,但不抗壓,與車體連接處易斷裂。另外圓柱狀碳桿,固定電磁傳感器也不方便。目前我們用4mm的空心方碳桿作為前瞻固定。兩根副桿長度不一樣,從兩側支撐前瞻,以增加強度,防止前瞻高度改變。電磁感應器排布如上圖1所示。兩側電感與大多數隊大同小異,盡量相距遠,以獲取更多信息。中間我們用了兩個相互垂直的電感,可以用來采集磁場兩個方向上的分量,從而了解電磁線的斜率信息。
超聲波放置位置
超聲波置于前瞻上,其與車身的連接需要有較好的剛度,這樣才能保證與陀螺儀采集到的信息同步,以避免直立控制自激。如圖2所示。

軟件開發
1. 車模直立控制算法
直立控制采用了PD算法。我們使用超聲波模塊來獲取當前前瞻距離地面的高度,進而得到車模偏離平衡位置的傾角,我們設定一個車模平衡時刻的車模前瞻距離地面的高度,記作變量Degree Distance MID,當車模偏離這個平衡位置時,根據當前狀態與平衡位置狀態的偏差量(Degree Distance MID-Degree Distance) 給電機合適的PWM值,給小車一定的加速度來控制小車的平衡。現在我們來敘述我們使用超聲波模塊而不適用加速度計的原因,如果使用加速度計融合陀螺儀,陀螺儀存在微小的溫漂,但是隨著積分運算,誤差會被放大,甚至達到飽和,必須要用加速度計矯正,這樣的積分運算在一定程度上會有滯后性,而使用超聲波融合陀螺儀控制直立,超聲波返回值可以直接作為偏離角,陀螺儀只需要用作計算差分控制量,并沒有積分運算,在不是很長的時間內,陀螺儀微小的漂移量可以忽略。
直立控制算法流程如下:
1. 獲得前瞻距離地面高度,記作Degree Distance MID;
2 . 計算與平衡位置的偏差值,Degree Distance MID - Degree Distance;
3. 獲取水平陀螺儀測得的車模直立方向轉動的角速度,gyro –gyroMID;
4. 計算直立控制電機的控制量,Control Speed =
STAND P * ( Degree DistanceDegree Distance MID ) - STAND D * ( gyro -gyroMID ) ;
5. 將直立控制量分別加入左右輪電機的PWM。
2. 車模速度控制算法
速度控制采用了PI算法,我們沒有將速度控制量直接加到電機的PWM中,在實驗中發現,若采用直接加PWM的控制方案,直立控制太強,則會導致加速太慢,速度控制太強,則會導致車模運行不穩定,直立方向容易引起震蕩。因此我們直接將速度控制量乘上一個比例系數后直接疊加到平衡位置的狀態量Degree Distance MID中,以此作為目標傾角,記作test MID,這樣的方案能夠協調平衡與加速的問題。
3. 車模轉彎控制算法
由于時間所限,以及直立車模受車模前瞻電感數量的影響較大,加之先前曾經嘗試過的根據計算賽道導線斜率的算法并不理想,我們最終僅僅使用了前面三個縱向排布的電感,利用PD算法。假設三個電感從左至右分別為DCL,DCM,DCR,用位置式(DCLDCR)/(DCL+DCR),中間電感DCM的作用是判斷車模偏離賽道中心的程度,來對轉彎的進行分段P控制,當車模偏離賽道中心較近時,給一個較小的P,當偏離賽道中心較遠的時候給一個較大的P,這樣車模在偏離賽道中心較近的時候能夠運行得比較平滑,當車模偏離賽道中心線較遠的時候能夠及時回到賽道中心。
參考文獻
[1] Inc F S. MCF52259 ColdFire(R) Integrated Microcontroller Reference Manua. 2011
[2] Inc F S. MCF52259 ColdFire Microcontroller Technical Data. 2011
[3] 競賽秘書處. 電磁組直立行車參考設計方案[R]. 2012
[4] 競賽秘書處. 電磁組路徑檢測設計參考方案[R]. 2010
[5] 同濟大學益馳隊. 三電感位移算法[R]. 2012
[6] 東南大學至善隊. 東南大學“至善”隊技術報告[R]. 2011