龍振弘,周凱
(1.三明教育學(xué)院,福建三明 365000;2.西安航空制動科技有限公司,陜西西安 710075)
電子羅盤是利用地磁測量原理測定方向的設(shè)備。三軸電子羅盤可實時提供載體的航向角和姿態(tài)角,并在羅盤傾斜時進(jìn)行傾斜補償,確保航向數(shù)據(jù)的準(zhǔn)確。隨著傳感器和半導(dǎo)體技術(shù)的發(fā)展,電子羅盤已實現(xiàn)微型化、低功耗,已廣泛應(yīng)用在航空、航海、陸上交通、野外勘探等領(lǐng)域,是現(xiàn)代定向?qū)Ш较到y(tǒng)不可缺少的組成部分[1-4]。電子羅盤的精度由測量地磁場的磁敏感元件決定,根據(jù)所用磁傳感器工作原理的不同,常用的電子羅盤主要有霍爾效應(yīng)式電子羅盤、磁感式電子羅盤、磁通門式電子羅盤[5]、磁阻式電子羅盤[4,6]。磁阻式傳感器與上述幾種傳感器相比較,其優(yōu)點是體積小、功耗低、測量精度高,缺點是穩(wěn)定性較差,需要采取相應(yīng)的補償方法進(jìn)行處理,消除外部磁場的影響和溫度漂移,最終滿足設(shè)計要求[7-9]。
文中所設(shè)計的電子羅盤采用HMC1043 磁阻傳感器測量地磁場矢量值,利用加速度計ADXL330 測量載體的重力加速度值,通過羅差補償算法提高姿態(tài)角的精度,具有精度高、抗干擾、實時性強(qiáng)的特點,可以滿足導(dǎo)航領(lǐng)域?qū)﹄娮恿_盤的性能要求。
電子羅盤姿態(tài)角的定義如圖1 所示,磁傳感器測量的三個軸向的磁場強(qiáng)度是在載體坐標(biāo)系OXbYbZb下測得的,其在導(dǎo)航坐標(biāo)系(地理系)下的投影為。N-S表示地球南北極軸線,N′-S′表示地磁南北極軸線,夾角β稱為磁偏角。?為前進(jìn)方向在地理坐標(biāo)系的投影與當(dāng)?shù)卮抛游缇€的夾角。俯仰角θ為載體坐標(biāo)系Y軸與其在導(dǎo)航坐標(biāo)系上投影的夾角,橫滾角γ為載體坐標(biāo)系X軸與其在導(dǎo)航坐標(biāo)系上投影的夾角。在文中,俯仰角θ和橫滾角γ根據(jù)加速度計的輸出計算得到。電子羅盤是根據(jù)測得的、θ、γ求得航向角φ。
圖1 電子羅盤姿態(tài)角的定義
航向角定義為載體坐標(biāo)系與導(dǎo)航坐標(biāo)系的夾角,要在導(dǎo)航坐標(biāo)系求解航向角,首先要通過地磁場坐標(biāo)變換將磁傳感器在載體坐標(biāo)系下的測量值變換到導(dǎo)航坐標(biāo)系。設(shè)導(dǎo)航坐標(biāo)系與載體坐標(biāo)系初始時完全一致,導(dǎo)航坐標(biāo)系跟隨載體坐標(biāo)系運動,若載體運動使導(dǎo)航坐標(biāo)系繞載體坐標(biāo)系的Yb軸旋轉(zhuǎn)角度θ至,然后繞軸橫滾角度γ,載體坐標(biāo)系和導(dǎo)航坐標(biāo)系之間的坐標(biāo)變換關(guān)系可用式(1)表示[10-12]:
式中,θ和γ由加速度計的輸出求得,由于加速度計測得的為載體相對于慣性空間的加速度在載體坐標(biāo)系OXbYbZb中的投影,其測量值為重力加速度g在載體坐標(biāo)系Xb、Yb、Zb軸的分量。設(shè)加速度計三個軸的測量值為,根據(jù)式(1)的坐標(biāo)轉(zhuǎn)換過程,可以解算出:
由上式可推出俯仰角θ為:
橫滾角γ為:
求得電子羅盤的航向角為:
電子羅盤利用磁敏感元件測量地磁場來確定方向,電源和地線的噪聲、磁感元件的制造誤差、裝配誤差都會影響測量精度??赏ㄟ^硬件濾波、電路優(yōu)化布線、降低電源噪聲、軟件數(shù)據(jù)處理等措施抑制外界環(huán)境對電子羅盤的干擾,減小測量誤差[14]。磁傳感器附近的鐵磁材料、電器設(shè)備等環(huán)境磁場與地球磁場疊加,會導(dǎo)致磁傳感器難以正確感應(yīng)地球磁場產(chǎn)生羅差,引起較大的航向誤差。羅差是影響磁羅盤精度最主要的因素,因此需要對羅差進(jìn)行修正。
硬磁材料和軟磁材料都會引起羅差,綜合考慮硬磁羅差和軟磁羅差,可得到羅差計算公式如下[15-16]:
φ為羅差補償前的航向角,Δφ為總羅差,φc補償羅差后的真實航向角。A、B、C、D、E為羅差補償系數(shù),用最小二乘36 位置法求解出羅差補償系數(shù)。羅差補償系數(shù)計算方程為:
其中:
在進(jìn)行誤差補償時把電子羅盤固定在無磁載體上旋轉(zhuǎn)360°,每隔10°采集原始航向值,將實測數(shù)據(jù)代入式(11)中可解算出羅差的補償系數(shù)X。在電子羅盤工作時,將補償系數(shù)帶入羅差計算公式(9)和(10),即可獲得補償后的電子羅盤的航向角,結(jié)合當(dāng)?shù)卮牌?,可以進(jìn)一步推算出在地理坐標(biāo)系中的地理航向角。在不失一般性的前提下,文中為了表述方便不考慮磁偏角,把電子羅盤解算結(jié)果作為航向角進(jìn)行分析。
電子羅盤采用磁阻傳感器芯片HMC1043 測出地球磁場在傳感器X、Y、Z軸上的三個分量,采用加速度傳感器ADXL330 測量重力加速度在X和Y軸上的分量,經(jīng)STM32F103 解算和羅差補償后,通過串口輸出航向角。具體解算方法見第1 節(jié)敘述。系統(tǒng)的方案框圖如圖2 所示。
圖2 系統(tǒng)方案框圖
磁阻傳感器型號為HMC1043,電路如圖3 所示,圖中芯片供電端增加磁珠L5和電容C33,以降低噪聲干擾,減小誤差。HMC1043 輸出X、Y、Z軸的磁場強(qiáng)度,因信號較小,需要經(jīng)過信號調(diào)理電路放大信號,再傳輸?shù)絊TM32F103 進(jìn)行解算。
圖3 磁阻傳感器電路
因STM32F103 中ADC 的參考電平為3.3 V,為了提高靈敏度,充分利用ADC 的分辨率,要對磁阻傳感器的輸出做電平調(diào)節(jié)。圖4 所示為X軸信號調(diào)理電路,Y軸、Z軸信號調(diào)理電路同X軸。
圖4 信號調(diào)理電路
使用的三軸加速度傳感器型號為ADXL330,該傳感器體積小、功耗低,量程為±2 g。其電路如圖5所示。
圖5 加速度傳感器電路
微處理器采取ST 公司的32 位ARM 處理器STM32F103,該芯片采取Cortex-M3 內(nèi)核,最大頻率為72 MHz,該微處理器具有豐富的外設(shè)資源,可以滿足電子羅盤的設(shè)計需求,此處不再贅述。
軟件系統(tǒng)使用Keil MDK5 開發(fā)環(huán)境,采用C 語言進(jìn)行開發(fā)。電子羅盤開機(jī)后首先進(jìn)行初始化,包括零偏補償、串口波特率設(shè)置、AD 轉(zhuǎn)換配置等。初始化結(jié)束后,ARM 處理器讀取加速度信息,計算俯仰角和橫滾角。讀取三軸磁阻傳感器信息,結(jié)合俯仰角和橫滾角信息進(jìn)行解算和羅差補償后,將航向角打包成幀通過串口輸出。軟件流程如圖6 所示。
圖6 軟件流程
將電子羅盤固定在三軸轉(zhuǎn)臺上,在0°~360°之間每隔10°等間隔共36 個點進(jìn)行試驗,并按照文中給出的羅差補償方法對航向角進(jìn)行補償,羅差補償前后航向角誤差對比如圖7 所示。
圖7 羅差補償前后航向角誤差對比
從圖7 可看出,在經(jīng)羅差補償修正后,在0°~360°測量范圍內(nèi),電子羅盤航向角的最大誤差由4°降至0.5°,測量精度接近±0.5°,可見基于最小二乘的36 位置羅差補償法效果較好,是一種簡單實用的方法。
文中介紹了一種基于HMC1043 磁阻傳感器和ADXL330 加速度傳感器的三軸電子羅盤的設(shè)計方案。對三軸電子羅盤姿態(tài)角解算和誤差補償進(jìn)行了研究,對電子羅盤的軟硬件設(shè)計進(jìn)行了敘述,并對實驗樣機(jī)進(jìn)行了測試,測試結(jié)果表明,設(shè)計電子羅盤航向角在0°~360°范圍內(nèi)的精度為±0.5°,滿足導(dǎo)航領(lǐng)域?qū)﹄娮恿_盤的使用要求,研究結(jié)果對提高電子羅盤的測量精度具有一定的參考價值。