王元哲 扈宏杰
(北京航空航天大學(xué)自動化科學(xué)與電氣工程學(xué)院,北京 100191)
磁導(dǎo)航技術(shù)是智能交通領(lǐng)域中一項非常有前景的技術(shù)。該技術(shù)具有良好的可靠性和魯棒性,且不易受外界環(huán)境的干擾[1]。目前,我國磁導(dǎo)航技術(shù)的研究成果主要以永磁體作為參照物。以國家智能交通系統(tǒng)工程技術(shù)研究中心(ITSC)的研究成果為例,以車道中心線上布設(shè)的離散磁道釘為參考標(biāo)記,通過車載傳感器探測磁道釘信號來判斷車輛的位置[2]。
鑒于磁導(dǎo)航技術(shù)的實用價值,飛思卡爾杯全國大學(xué)生智能汽車競賽于2010年新增電磁組比賽項目,其磁場環(huán)境埋設(shè)在跑道中,通有20 kHz、100 mA交變電流產(chǎn)生的交變磁場。利用交變磁場進(jìn)行磁導(dǎo)航的技術(shù)在國內(nèi)應(yīng)用的實例較少,其中清華大學(xué)根據(jù)競賽規(guī)則設(shè)計了一種電磁組賽車。該賽車使用兩個傳感器采集車輛兩邊的磁場信號來控制車輛的走向,可以得到大致的尋線效果[3]。
本文研究的重點(diǎn)是設(shè)計一套合理可靠的路徑信息采集方案,從而實現(xiàn)采集交變磁場的信號的準(zhǔn)確采集;同時選用一種有效的路徑信息采集算法,從傳感器信號中估算出車輛與磁場的相對位置;然后通過合適的方向和速度控制算法對車輛進(jìn)行控制,以達(dá)到高速尋線行駛的效果。
磁導(dǎo)航智能車通過感應(yīng)外界磁場環(huán)境的變化來獲取路徑信息,從而通過舵機(jī)和電機(jī)對車輛進(jìn)行方向和速度的控制,達(dá)到自主尋跡的目的。根據(jù)系統(tǒng)所需實現(xiàn)的功能,可將其分為核心控制模塊、路徑信息采集模塊、電機(jī)驅(qū)動模塊、監(jiān)控調(diào)試模塊和電源模塊五個部分。系統(tǒng)功能模塊原理框圖如圖1所示。
圖1 系統(tǒng)功能模塊原理圖Fig.1 Principle of the functional module in the system
圖1中,路徑信息采集模塊對路徑信息和車輛姿態(tài)進(jìn)行檢測并轉(zhuǎn)換成電信號傳送給控制器;核心控制模塊綜合外部環(huán)境信息,通過有效的路徑信息采集算法提取出準(zhǔn)確的路徑信息,同時利用一定的控制算法對方向和速度進(jìn)行控制;電機(jī)驅(qū)動模塊對控制信號進(jìn)行功率放大,以達(dá)到驅(qū)動電機(jī)運(yùn)行的目的;監(jiān)控調(diào)試模塊利用無線通信工具,對系統(tǒng)進(jìn)行在線調(diào)試和參數(shù)分析,以提高調(diào)試效率;電源模塊為上述各個功能模塊供電。
系統(tǒng)以Freescale公司的16位單片機(jī)MC9S12XS128作為核心控制單元,它與路徑信息采集模塊、電機(jī)驅(qū)動模塊、監(jiān)控調(diào)試模塊和電源模塊一起共同構(gòu)成了系統(tǒng)的硬件部分。
核心控制模塊是以單片機(jī)MC9S12XS128為主控芯片的最小系統(tǒng),它利用該芯片內(nèi)部集成的PLL、ATD、PWM、SPI和脈沖累加等模塊,完成整個系統(tǒng)的路徑信息采集、電機(jī)控制和無線通信等任務(wù)。
本設(shè)計的最小系統(tǒng)采用16 MHz無源晶振,總線時鐘倍頻至80 MHz。
路徑信息采集模塊對車輛與軌道的相對位置和車輛行駛狀態(tài)進(jìn)行檢測,主要包括磁場信號檢測、車輛姿態(tài)檢測和車速檢測三個部分。各部分介紹如下。
①磁場信號檢測可分為交變磁場檢測和恒定磁場檢測,前者用來檢測軌道,后者用來檢測起始線。交變磁場檢測是檢測軌道中交變電流產(chǎn)生的交變磁場,可分為選頻、放大和檢波三個部分。選頻部分采用LC振蕩電路,用來提取給定頻率的磁場信號;放大部分采用儀表用差動放大電路,差動放大電路的設(shè)計原理如圖2所示。
圖2 差動放大電路原理圖Fig.2 Principle of the differential amplifier applied
差動放大電路電壓輸入輸出關(guān)系式如下:
式中:Vout為輸出電壓,V;Vin+和Vin-均為輸入電壓;K為放大倍數(shù),是無量綱常量,大小為,其中,Rg為可調(diào)電阻值,單位為kΩ,通過調(diào)節(jié)Rg便可以調(diào)節(jié)電壓的放大倍數(shù)。
差動放電路具有低失調(diào)電壓、低漂移、低輸入偏置電流、高共模抑制比等優(yōu)點(diǎn)[4]。檢波部分選用倍壓整流檢波電路,將前端電路輸出的正弦信號轉(zhuǎn)換為與其峰峰值成正比的直流電平信號。起始線處放置磁鋼作為標(biāo)記,這樣恒定磁場的檢測便是對永磁體的檢測。對于一定強(qiáng)度恒定磁場的檢測,可以通過檢測干簧管的開關(guān)狀態(tài)或檢測霍爾元件輸出電平的跳變來實現(xiàn)。本文采用霍爾元件的檢測方案。
②車輛姿態(tài)檢測用來判斷車輛相對于地面的傾斜程度。本文選用Freescale公司的低重力三軸加速度傳感器MMA7361L對車輛的傾斜程度進(jìn)行測量,車輛在不同方向上的傾斜程度影響加速度傳感器在不同軸向上的輸出電平,從而用于車輛在坡道行駛的判斷。
③車速檢測是速度閉環(huán)的重要環(huán)節(jié),本文選用增量式光電編碼器。該編碼器直接輸出TTL電平,電路簡單;編碼器每轉(zhuǎn)輸出200個脈沖,測量精確。
本文使用RS380-ST型號的直流電機(jī)。該電機(jī)在無負(fù)載情況下驅(qū)動電流為0.49 A,最大功率運(yùn)行時驅(qū)動電流為8.61 A。電機(jī)驅(qū)動可采用集成的電機(jī)驅(qū)動橋,也可采用分立元件搭建的H橋式驅(qū)動電路。本文利用分立元件搭建驅(qū)動電路,其中 MOSFET選用IRF3205,驅(qū)動芯片選用IR2104,電機(jī)驅(qū)動模塊原理如圖3所示。
圖3 電機(jī)驅(qū)動模塊原理圖Fig.3 Principle of the drive module of motor
圖3中,當(dāng)MOS管Q1導(dǎo)通、Q2關(guān)斷時,電機(jī)處于加速狀態(tài);當(dāng)MOS管Q1關(guān)斷、Q2導(dǎo)通時,電機(jī)處于制動狀態(tài)。
IRF3205導(dǎo)通內(nèi)阻較小,當(dāng)電機(jī)處于能耗制動狀態(tài)時,會產(chǎn)生較大的感應(yīng)電流,制動效果較好。IR2104作為半橋驅(qū)動芯片,輸入信號兼容5 V電平,電路設(shè)計簡單。
監(jiān)控調(diào)試模塊的主要功能是通過上位機(jī)對車輛運(yùn)行狀態(tài)和路徑信息進(jìn)行在線監(jiān)控,并對各項控制參數(shù)進(jìn)行在線分析調(diào)試,形成良好的人機(jī)界面,從而提高調(diào)試效率,改善調(diào)試效果。本文采用基于NRF24L01的無線通信模塊,實現(xiàn)上位機(jī)與下位機(jī)之間的通信;同時選用NI公司推出的虛擬儀器開發(fā)軟件LabVIEW和NI-VISA,實現(xiàn)人機(jī)界面。
監(jiān)控調(diào)試模塊主要由無線收發(fā)和協(xié)議轉(zhuǎn)換兩部分組成。下位機(jī)和上位機(jī)端各設(shè)置有一個無線終端,用來接收和發(fā)送SPI格式的數(shù)據(jù)流。上位機(jī)端采用SPIUSB協(xié)議,用來控制無線終端接收和發(fā)送SPI數(shù)據(jù)流,并且維持與上位機(jī)間的USB通信。協(xié)議轉(zhuǎn)換芯片采用Freescale公司的八位微處理器MC9S08JM60。該芯片支持USB通信功能。
監(jiān)控調(diào)試模塊工作原理如圖4所示。
圖4 監(jiān)控調(diào)試模塊工作原理圖Fig.4 Principle of the monitoring and debugging module
電源模塊負(fù)責(zé)為系統(tǒng)各模塊供電,而各模塊所需的供電電壓大小各不相同,因此需提供不同電平標(biāo)準(zhǔn)的電壓。各模塊所需供電電壓如表1所示。
表1 各模塊所需供電電壓Tab.1 Voltages required by each module
根據(jù)各模塊的不同電壓需求,應(yīng)設(shè)計不同的供電電路。
① +5 V供電采用分路供電的方式。由于單片機(jī)功耗較小而運(yùn)放功耗較大,所以分別采用低壓差穩(wěn)壓器件LM1117和LM2940為單片機(jī)和運(yùn)放供電。單片機(jī)和運(yùn)放兩者之間采用磁珠隔離,防止運(yùn)放對單片機(jī)的穩(wěn)定工作產(chǎn)生影響。
② -5 V供電采用開關(guān)穩(wěn)壓器件LM2596,其電壓轉(zhuǎn)換效率高,可提供的最大負(fù)載電流達(dá)3 A,適用于為多運(yùn)放供電這種功耗較大的場合。
③ 無線模塊和加速度傳感器功耗較小,因此,+3.3 V供電采用線性穩(wěn)壓器件LM1117。
④MOSFET驅(qū)動方式為電壓驅(qū)動,功耗不大,可采用升壓芯片MC34063。
磁導(dǎo)航智能車的控制策略是根據(jù)路徑信息采集模塊獲得軌道和車速信息,通過一定的算法分析來精確控制車輛的方向和速度,達(dá)到穩(wěn)定高速尋線行駛的效果。從控制的角度來講,軟件設(shè)計主要圍繞方向和速度兩個閉環(huán)控制展開。本文中控制周期設(shè)置為5 ms,采用定時中斷的方式實現(xiàn)。系統(tǒng)主程序流程圖如圖5所示。
圖5 主程序流程圖Fig.5 Flowchart of the main program
方向閉環(huán)控制不是對舵機(jī)的閉環(huán)控制,其控制對象是車輛與軌道組成的位置隨動系統(tǒng)。舵機(jī)僅作為執(zhí)行機(jī)構(gòu),位置反饋是車輛與軌道的相對位置,位置給定表現(xiàn)為車輛與軌道相對位置偏差為零。方向閉環(huán)控制的效果主要取決于位置反饋和調(diào)節(jié)算法這兩個方面。
本文采用七個水平并排放置的傳感器,它們距離地面高度約5 cm,磁場傳感器分布如圖6所示。
圖6 磁場傳感器分布示意圖Fig.6 Distribution of the magnetic sensor
傳感器線圈中,感應(yīng)電動勢E的表達(dá)式為:
式中:x∈(-15,15),為傳感器與導(dǎo)線在水平方向上的距離,cm;h為傳感器高度,大小為5 cm;r為傳感器與導(dǎo)線距離,cm。
3.1.1 位置反饋
位置反饋用來確保微控制器所得位置信息的準(zhǔn)確性,主要從不同傳感器在同一位置輸出信號的數(shù)值差異和同一傳感器在不同位置輸出信號的分布規(guī)律兩方面來解決。本文采用歸一化算法和曲線擬合算法分別解決上述問題。
歸一化算法將所有傳感器的輸出信號轉(zhuǎn)換為無量綱的量,從而屏蔽各傳感器在物理和硬件特性上的差異。具體算法流程是將在一定磁場環(huán)境下各傳感器輸出信號的最大值作為基準(zhǔn)量,在車輛運(yùn)行過程中,傳感器采集到的數(shù)據(jù)分別除以該基準(zhǔn)量后所得的值,即為歸一化后的數(shù)值,用作軌道類型的判斷。
曲線擬合算法的目的是提取出軌道中心位置,即極值點(diǎn)橫坐標(biāo)。因此,只要擬合出一條曲線,使該極值點(diǎn)橫坐標(biāo)盡可能逼近導(dǎo)線所處位置橫坐標(biāo)即可。本文采用最小二乘法對采樣點(diǎn)數(shù)據(jù)進(jìn)行二次曲線擬合,得到方程如式(3)所示:
采用基于最小二乘法的曲線擬合算法具有以下幾個方面的優(yōu)點(diǎn)。
①滿足系統(tǒng)控制實時性的需要。由于參與曲線擬合的點(diǎn)數(shù)較少,因此進(jìn)行計算量較小,且曲線擬合的公式可以事先求得,這就大大減少了計算量。
②對軌道位置判斷較為準(zhǔn)確。擬合后的曲線極值點(diǎn)近似逼近實際磁場極值點(diǎn),可以準(zhǔn)確提取出軌道位置。
3.1.2 調(diào)節(jié)算法
在車輛行駛過程中,方向給定隨軌道而發(fā)生頻繁變化。因此,系統(tǒng)選用微分先行的PID控制算法,將微分運(yùn)算提前進(jìn)行。只對輸出量進(jìn)行微分,可以避免給定值變化時所引起的超調(diào)量過大和輸出動作過分劇烈振蕩的現(xiàn)象,從而改善系統(tǒng)控制品質(zhì)[5]。
較一般PID控制而言,只對輸出量進(jìn)行微分,可使車輛轉(zhuǎn)向靈活、振蕩減小。微分先行的PID算法原理如圖7 所示[6]。
圖7 微分先行的PID算法原理圖Fig.7 Principle of the differential forerunning PID algorithm
圖7中:KP為比例控制系數(shù);TI為積分時間常數(shù),s;TD為微分時間常數(shù),s。
對于微分環(huán)節(jié),根據(jù)其傳遞函數(shù),可得離散系統(tǒng)的控制算式為:
式中:T為采樣時間常數(shù),s;TD為微分時間常數(shù),s;γ為常數(shù)且γ<1;k為整數(shù),是差分方程的自變量。
在算法實現(xiàn)中,位置給定R(s)為零;位置輸出Y(s)為車輛與賽道相對位置;調(diào)節(jié)器輸出U(s)用來控制舵機(jī)動作。
速度閉環(huán)控制采用增量式PID控制算法[7],控制算式為:
算法實現(xiàn)如式(6)所示。
式中:Vgiven為速度給定,cm/s;Vtest為當(dāng)前速度反饋,cm/s;pwm_control為電機(jī)驅(qū)動模塊的控制信號;last_pwm_control為前一控制周期的控制信號。
本文介紹了磁導(dǎo)航智能車系統(tǒng)的設(shè)計方案。在硬件方面,從系統(tǒng)功能模塊的角度出發(fā),闡述了各模塊的設(shè)計方案,重點(diǎn)介紹了路徑信息采集模塊的電路設(shè)計原理;在軟件方面,從控制的角度出發(fā),著重介紹了位置信息提取的歸一化算法和曲線擬合算法,以及方向閉環(huán)控制中微分先行的PID控制算法;通過監(jiān)控調(diào)試模塊可以準(zhǔn)確及時地監(jiān)控車輛行駛狀態(tài)。實際測試結(jié)果表明,采用磁導(dǎo)航智能車系統(tǒng)的車輛可精確提取出軌道的磁場信號,對自身位置判斷準(zhǔn)確,特別是在高速駛?cè)脒B續(xù)彎道的情況下具有良好的尋線跟蹤能力。
[1]徐海貴,王春香,楊汝清,等.磁傳感系統(tǒng)在室外移動機(jī)器人導(dǎo)航中的研究[J].機(jī)器人,2007,29(1):61 -66.
[2]李斌,王春燕,吳濤,等.中國智能公路磁誘導(dǎo)技術(shù)研究進(jìn)展[J].公路交通科技,2004,21(11):66 -69.
[3]張昊飏,馬旭,卓晴.基于電磁場檢測的尋線智能車設(shè)計[J].電子產(chǎn)品世界,2009(11):48-50.
[4]劉京南,王成華.電子電路基礎(chǔ)[M].北京:電子工業(yè)出版社,2003:61-67.
[5]張靜.基于RBF網(wǎng)絡(luò)的微分先行PID控制器[J].兵工自動化,2007(9):60-61.
[6]楊曉生,彭志堅,肖益波,等.基于微分先行PID算法的鑄錠爐溫控系統(tǒng)[J].電子工業(yè)專用設(shè)備,2009(7):42-44.
[7]王勤.計算機(jī)控制技術(shù)[M].南京:東南大學(xué)出版社,2003:28-35.