杜海龍,張召悅,徐曉旭
(中國(guó)民航大學(xué)a.工程技術(shù)訓(xùn)練中心;b.空中交通管理研究基地,天津 300300)
傳統(tǒng)的磁航向測(cè)量系統(tǒng)體積龐大,功耗偏大,調(diào)試與誤差補(bǔ)償復(fù)雜,價(jià)格昂貴[1-4],有時(shí)為了得到更高的精度,其算法還需要專用的導(dǎo)航計(jì)算機(jī)[5]。在硬件實(shí)現(xiàn)方面,磁航向系統(tǒng)多采用磁通門傳感器或磁阻傳感器,外加加速度計(jì)或電子陀螺組成的數(shù)字化解算平臺(tái),再利用FPGA或DSP進(jìn)行磁航向的解算[1-3],有人曾嘗試?yán)脜R編語(yǔ)言將簡(jiǎn)化后的解算方法移植到8位單片機(jī)上,使得在30°滾轉(zhuǎn)時(shí)的最大誤差僅為7.7°[4]。
近年出現(xiàn)了能直接輸出角度的傾角傳感器以及帶DSP指令的32位微處理器AVR32,彌補(bǔ)了8位單片機(jī)在磁航向信號(hào)處理和解算中的不足。同時(shí)Seong Yun Cho等人提出了一種用兩軸磁傳感器聯(lián)合俯仰角和滾轉(zhuǎn)角信號(hào)解算磁航向的新方法[6]。為在小角度滾轉(zhuǎn)和俯仰情況下,研制使用較少的傳感器、功耗低、成本小的磁航向測(cè)量系統(tǒng)提供理論支持。
地磁場(chǎng)Bt是一個(gè)矢量場(chǎng),既有大小又有方向,地球磁場(chǎng)3軸分量如圖1所示。圖中φ為磁傾角,Bt為測(cè)量點(diǎn)地磁場(chǎng)總感應(yīng)強(qiáng)度矢量,它在x、y、z軸上的分量分別為:Hx:北向分量;Hy:東向分量;Hz:垂直分量。
圖1 地球磁場(chǎng)3個(gè)軸的分量Fig.1 Three axes of earth’s magnetic field component
在小范圍內(nèi)根據(jù)地磁場(chǎng)特性,得到地磁場(chǎng)簡(jiǎn)化模型為:①地磁場(chǎng)是一個(gè)不變場(chǎng),即地磁場(chǎng)水平強(qiáng)度和垂直強(qiáng)度近似不變;②磁傾角不變。天津地區(qū)的磁傾角為 55°[7]。
通過(guò)對(duì)磁阻傳感器HMC1022的研究和實(shí)驗(yàn),發(fā)現(xiàn)當(dāng)傳感器繞中心點(diǎn)水平勻速旋轉(zhuǎn)360°時(shí),其輸出近似為正弦曲線,為了方便觀察,將數(shù)據(jù)進(jìn)行了歸一化處理,如圖2所示。
圖2 HMC1022輸出特性曲線Fig.2 Output characteristic curve of HMC1022
從圖2可以看出,當(dāng)敏感軸的方向與地磁場(chǎng)方向一致時(shí)輸出的值最大,當(dāng)敏感軸的方向與地磁場(chǎng)方向相反時(shí)輸出的值最小;輸出的值圍繞一個(gè)近似固定的值上下擺動(dòng)。
機(jī)體坐標(biāo)系(Xmc,Ymc,Zmc):飛機(jī)前進(jìn)的方向?yàn)閄mc,飛機(jī)前進(jìn)方向的右側(cè)為Ymc,垂直Xmc,Ymc向下的為Zmc。并且磁傳感器敏感軸放置的方向與Xmc,Ymc的指向相同。
水平坐標(biāo)系(Xh,Yh,Zh):飛機(jī)保持平飛狀態(tài)時(shí)的機(jī)體坐標(biāo)系。
導(dǎo)航坐標(biāo)系(Nn,En,Dn):X 軸指向北,Y 軸指向東,Z軸指向地面的水平坐標(biāo)系。
磁坐標(biāo)系(Nm,Em,Dm):導(dǎo)航坐標(biāo)系繞 En軸旋轉(zhuǎn)一個(gè)角度λ得到的坐標(biāo)系。其中λ為當(dāng)?shù)卮艃A角的大小。
4個(gè)坐標(biāo)系之間的相互關(guān)系為[6]
其中:θ、φ、ψ分別代表俯仰角、滾轉(zhuǎn)角和磁航向角,而λ代表當(dāng)?shù)氐拇艃A角。θ值抬頭時(shí)為正,φ值右滾轉(zhuǎn)時(shí)為正。
機(jī)體坐標(biāo)系和磁坐標(biāo)系之間的關(guān)系為
Z軸數(shù)據(jù)的估計(jì)值為
磁航向角ψ為
其中其中:c為一固定值,由實(shí)驗(yàn)確定。
為了保證正切函數(shù)的有效性,根據(jù)航向角定義,取
磁航向測(cè)量系統(tǒng)在硬件上由前端信號(hào)處理系統(tǒng)和主控電路系統(tǒng)兩部分組成。前端信號(hào)處理中的信號(hào)采集部分是整個(gè)測(cè)量系統(tǒng)的信號(hào)來(lái)源,是實(shí)現(xiàn)精確測(cè)量的關(guān)鍵,而輸出信號(hào)可以反映傳感器在測(cè)量軸方向上的磁場(chǎng)強(qiáng)度以及傾角。主控電路負(fù)責(zé)對(duì)傳感器輸出的信號(hào)進(jìn)行采集并進(jìn)行A/D轉(zhuǎn)換,以數(shù)字量的形式送到微處理器進(jìn)行處理。其硬件電路如圖3所示。
為了和后級(jí)A/D轉(zhuǎn)換芯片的電壓相匹配,磁傳感器和傾角傳感器輸出的信號(hào)需進(jìn)行調(diào)理,如圖3(a)所示。在偏置電壓5 V的基礎(chǔ)上對(duì)差分信號(hào)(A1-A2和B1-B2)放大β倍,通過(guò)后面的分壓電阻網(wǎng)絡(luò)使輸出電壓達(dá)到后級(jí)A/D轉(zhuǎn)換芯片的要求,完成信號(hào)調(diào)理任務(wù)。
經(jīng)過(guò)調(diào)理后的信號(hào)電壓為
圖3 系統(tǒng)硬件電路圖Fig.3 Diagram of system hardware circuit
在設(shè)計(jì)時(shí)取R23=R24,R15=R16,因此上式變?yōu)?/p>
主控電路設(shè)計(jì)主要包括A/D轉(zhuǎn)換、微處理器接口、置位/復(fù)位、串行接口等。為了盡可能的提高精度,本文選用16位SAR A/D轉(zhuǎn)換器MAX1168,其接口電路如圖3(b)所示。選用帶DSP指令的32位微處理器UC3B0256作為數(shù)據(jù)解算核心,其接口電路如圖3(d)所示。
為便于子模塊的功能調(diào)試與仿真,在程序的編寫上,采用模塊化程序設(shè)計(jì)方法,主要包括初始化模塊、數(shù)據(jù)采集模塊、傳感器復(fù)位/置位模塊、坐標(biāo)偏移量計(jì)算模塊、傾角解算和磁航向角解算模塊等。
主程序的流程圖主要給出程序前后調(diào)用模塊的次序,如圖4所示。為了消除周圍硬鐵產(chǎn)生的強(qiáng)磁干擾誤差,在初次安裝時(shí)通過(guò)按鍵判斷羅盤的狀態(tài),如果系統(tǒng)上電之后,通過(guò)按鍵查詢到羅盤正處于安裝狀態(tài)(按鍵1按下并松開),則進(jìn)入初次安裝子程序,否則進(jìn)入正常的工作模式。在初始安裝子程序當(dāng)中,系統(tǒng)通過(guò)掃描按鍵(按鍵1再次按下并松開),得到標(biāo)定指令之后采集100次數(shù)據(jù)并比較大小,記錄最大最小4個(gè)極值。當(dāng)再次查詢到按鍵指令時(shí)(按鍵1第三次按下并松開),采樣結(jié)束,隨后計(jì)算坐標(biāo)偏移量。
圖4 主程序流程框圖Fig.4 Flow diagram of main program
角度計(jì)算關(guān)鍵是將式(1)轉(zhuǎn)化為平面直角坐標(biāo)系四個(gè)象限及X,Y軸的正負(fù)半軸上,從而保證航向角在360°范圍內(nèi)是連續(xù)的。其計(jì)算共分為三步:①按照式(6)計(jì)算 Z 軸數(shù)據(jù)的估計(jì)值;②按照式(12)、式(13)計(jì)算a′和b′值,后根據(jù)其與原點(diǎn)坐標(biāo)的關(guān)系判定區(qū)域;③按照式(14)對(duì)采集到的信號(hào)進(jìn)行角度解算。
其中涉及到反正切運(yùn)算,而在AVR32 studio開發(fā)環(huán)境中,可通過(guò)頭文件math.h加載調(diào)用數(shù)學(xué)函數(shù)庫(kù)中相應(yīng)的三角函數(shù),運(yùn)用其內(nèi)置的DSP指令使得反正切的運(yùn)算很容易實(shí)現(xiàn)。其解算子程序流程圖如圖5所示。
圖5 角度解算子程序Fig.5 Subprogram of MHA solution
保持系統(tǒng)傾角為0°,在水平面內(nèi)進(jìn)行旋轉(zhuǎn)360°測(cè)試,每隔45°進(jìn)行一次讀數(shù),為保證數(shù)據(jù)的可靠性,在同一位置讀取10次數(shù)據(jù)。這樣在360°范圍內(nèi),共計(jì)有8組實(shí)驗(yàn)點(diǎn),一共80個(gè)數(shù)據(jù)。測(cè)量結(jié)果如表1所示。
從表中可以看出:①測(cè)量值成隨機(jī)分布狀態(tài),圍繞均值上下浮動(dòng);②磁航向在 0°、90°、180°和 270°附近時(shí),誤差較小;③磁航向在 45°、135°、225°和 315°附近時(shí),誤差較大;④最大3σ為1.428333,也就是測(cè)量值相對(duì)于平均值的最大誤差為±1.428333。
表18組測(cè)量結(jié)果Tab.1 Eight groups of measurement results
綜上,該系統(tǒng)在水平狀態(tài)下磁航向輸出效果良好。
由于實(shí)驗(yàn)條件有限,不能對(duì)系統(tǒng)進(jìn)行固定俯仰角或者滾轉(zhuǎn)角下的360°旋轉(zhuǎn)測(cè)試,只好通過(guò)固定磁航向下的俯仰或者滾轉(zhuǎn)誤差測(cè)試來(lái)測(cè)試系統(tǒng)的功能和精度。由于水平狀態(tài)下磁航向輸出結(jié)果的最大誤差出現(xiàn)在135°附近,因此選用固定磁航向135°進(jìn)行測(cè)試即可得到整體系統(tǒng)較大的誤差。
圖6 航向角隨俯仰和滾轉(zhuǎn)變化的曲線Fig.6 Curve of heading angle with changing pitch and roll
水平狀態(tài)下磁航向指示135°時(shí),記錄系統(tǒng)在俯仰和滾轉(zhuǎn)過(guò)程中磁航向的值,得到磁航向值隨俯仰和滾轉(zhuǎn)過(guò)程變化的曲線分別如圖6(a)和(b)所示。
從圖6中可以看出:①當(dāng)俯仰角小于30°或滾轉(zhuǎn)角小于35°時(shí),磁航向誤差變化不大,最大誤差分別為3.7°和 2.8°;②當(dāng)俯仰角超過(guò) 30°或滾轉(zhuǎn)角超過(guò) 35°時(shí),磁航向輸出誤差急速增大。
綜上所述,該系統(tǒng)在小角度俯仰和滾轉(zhuǎn)情況下磁航向輸出效果良好。
通過(guò)設(shè)計(jì),研制了一個(gè)具備信號(hào)感測(cè)、處理、存儲(chǔ)、顯示等功能的磁航向測(cè)量系統(tǒng),并在水平和傾斜(俯仰和滾轉(zhuǎn))狀態(tài)下對(duì)磁航向角進(jìn)行了測(cè)量。結(jié)果表明,該系統(tǒng)在小角度(小于30°)滾轉(zhuǎn)或者俯仰情況下,磁航向誤差在可接受范圍內(nèi),航向角輸出效果良好。
[1]楊新勇,黃圣國(guó).智能磁航向傳感器的研制及誤差補(bǔ)償算法分析[J].北京航空航天大學(xué)學(xué)報(bào),2004,30(3):244-248.
[2]楊新勇,黃圣國(guó).磁航向測(cè)量系統(tǒng)誤差修正方法研究[J].儀器儀表學(xué)報(bào),2004,25(4):466-469.
[3]張 毅.智能磁航向系統(tǒng)的研究[D].西安:西北工業(yè)大學(xué),2003.
[4]劉詩(shī)斌.微型智能磁航向系統(tǒng)研究[D].西安:西北工業(yè)大學(xué),2001.
[5]曲建嶺,高 峰,李富榮,等.基于人工神經(jīng)網(wǎng)絡(luò)的磁航向誤差校正方法[J].計(jì)測(cè)技術(shù),2006,26(3):8-9.
[6]SEONG YUN CHO,CHAN GOOK PARK.Tilt compensation algorithm for2-axis magnetic compass[J].Electronics Letters,2003,39(22):1589-1590.
[7]史 謌.地球物理學(xué)基礎(chǔ)[M].北京:北京大學(xué)出版社,2002:100,101-102,105-108.