龍振弘,周凱
(1.三明教育學院,福建三明 365000;2.西安航空制動科技有限公司,陜西西安 710075)
電子羅盤是利用地磁測量原理測定方向的設備。三軸電子羅盤可實時提供載體的航向角和姿態角,并在羅盤傾斜時進行傾斜補償,確保航向數據的準確。隨著傳感器和半導體技術的發展,電子羅盤已實現微型化、低功耗,已廣泛應用在航空、航海、陸上交通、野外勘探等領域,是現代定向導航系統不可缺少的組成部分[1-4]。電子羅盤的精度由測量地磁場的磁敏感元件決定,根據所用磁傳感器工作原理的不同,常用的電子羅盤主要有霍爾效應式電子羅盤、磁感式電子羅盤、磁通門式電子羅盤[5]、磁阻式電子羅盤[4,6]。磁阻式傳感器與上述幾種傳感器相比較,其優點是體積小、功耗低、測量精度高,缺點是穩定性較差,需要采取相應的補償方法進行處理,消除外部磁場的影響和溫度漂移,最終滿足設計要求[7-9]。
文中所設計的電子羅盤采用HMC1043 磁阻傳感器測量地磁場矢量值,利用加速度計ADXL330 測量載體的重力加速度值,通過羅差補償算法提高姿態角的精度,具有精度高、抗干擾、實時性強的特點,可以滿足導航領域對電子羅盤的性能要求。
電子羅盤姿態角的定義如圖1 所示,磁傳感器測量的三個軸向的磁場強度是在載體坐標系OXbYbZb下測得的,其在導航坐標系(地理系)下的投影為。N-S表示地球南北極軸線,N′-S′表示地磁南北極軸線,夾角β稱為磁偏角。?為前進方向在地理坐標系的投影與當地磁子午線的夾角。俯仰角θ為載體坐標系Y軸與其在導航坐標系上投影的夾角,橫滾角γ為載體坐標系X軸與其在導航坐標系上投影的夾角。在文中,俯仰角θ和橫滾角γ根據加速度計的輸出計算得到。電子羅盤是根據測得的、θ、γ求得航向角φ。

圖1 電子羅盤姿態角的定義
航向角定義為載體坐標系與導航坐標系的夾角,要在導航坐標系求解航向角,首先要通過地磁場坐標變換將磁傳感器在載體坐標系下的測量值變換到導航坐標系。設導航坐標系與載體坐標系初始時完全一致,導航坐標系跟隨載體坐標系運動,若載體運動使導航坐標系繞載體坐標系的Yb軸旋轉角度θ至,然后繞軸橫滾角度γ,載體坐標系和導航坐標系之間的坐標變換關系可用式(1)表示[10-12]:
式中,θ和γ由加速度計的輸出求得,由于加速度計測得的為載體相對于慣性空間的加速度在載體坐標系OXbYbZb中的投影,其測量值為重力加速度g在載體坐標系Xb、Yb、Zb軸的分量。設加速度計三個軸的測量值為,根據式(1)的坐標轉換過程,可以解算出:
由上式可推出俯仰角θ為:
橫滾角γ為:
求得電子羅盤的航向角為:
電子羅盤利用磁敏感元件測量地磁場來確定方向,電源和地線的噪聲、磁感元件的制造誤差、裝配誤差都會影響測量精度。可通過硬件濾波、電路優化布線、降低電源噪聲、軟件數據處理等措施抑制外界環境對電子羅盤的干擾,減小測量誤差[14]。磁傳感器附近的鐵磁材料、電器設備等環境磁場與地球磁場疊加,會導致磁傳感器難以正確感應地球磁場產生羅差,引起較大的航向誤差。羅差是影響磁羅盤精度最主要的因素,因此需要對羅差進行修正。
硬磁材料和軟磁材料都會引起羅差,綜合考慮硬磁羅差和軟磁羅差,可得到羅差計算公式如下[15-16]:
φ為羅差補償前的航向角,Δφ為總羅差,φc補償羅差后的真實航向角。A、B、C、D、E為羅差補償系數,用最小二乘36 位置法求解出羅差補償系數。羅差補償系數計算方程為:
其中:
在進行誤差補償時把電子羅盤固定在無磁載體上旋轉360°,每隔10°采集原始航向值,將實測數據代入式(11)中可解算出羅差的補償系數X。在電子羅盤工作時,將補償系數帶入羅差計算公式(9)和(10),即可獲得補償后的電子羅盤的航向角,結合當地磁偏角,可以進一步推算出在地理坐標系中的地理航向角。在不失一般性的前提下,文中為了表述方便不考慮磁偏角,把電子羅盤解算結果作為航向角進行分析。
電子羅盤采用磁阻傳感器芯片HMC1043 測出地球磁場在傳感器X、Y、Z軸上的三個分量,采用加速度傳感器ADXL330 測量重力加速度在X和Y軸上的分量,經STM32F103 解算和羅差補償后,通過串口輸出航向角。具體解算方法見第1 節敘述。系統的方案框圖如圖2 所示。

圖2 系統方案框圖
磁阻傳感器型號為HMC1043,電路如圖3 所示,圖中芯片供電端增加磁珠L5和電容C33,以降低噪聲干擾,減小誤差。HMC1043 輸出X、Y、Z軸的磁場強度,因信號較小,需要經過信號調理電路放大信號,再傳輸到STM32F103 進行解算。

圖3 磁阻傳感器電路
因STM32F103 中ADC 的參考電平為3.3 V,為了提高靈敏度,充分利用ADC 的分辨率,要對磁阻傳感器的輸出做電平調節。圖4 所示為X軸信號調理電路,Y軸、Z軸信號調理電路同X軸。

圖4 信號調理電路
使用的三軸加速度傳感器型號為ADXL330,該傳感器體積小、功耗低,量程為±2 g。其電路如圖5所示。

圖5 加速度傳感器電路
微處理器采取ST 公司的32 位ARM 處理器STM32F103,該芯片采取Cortex-M3 內核,最大頻率為72 MHz,該微處理器具有豐富的外設資源,可以滿足電子羅盤的設計需求,此處不再贅述。
軟件系統使用Keil MDK5 開發環境,采用C 語言進行開發。電子羅盤開機后首先進行初始化,包括零偏補償、串口波特率設置、AD 轉換配置等。初始化結束后,ARM 處理器讀取加速度信息,計算俯仰角和橫滾角。讀取三軸磁阻傳感器信息,結合俯仰角和橫滾角信息進行解算和羅差補償后,將航向角打包成幀通過串口輸出。軟件流程如圖6 所示。

圖6 軟件流程
將電子羅盤固定在三軸轉臺上,在0°~360°之間每隔10°等間隔共36 個點進行試驗,并按照文中給出的羅差補償方法對航向角進行補償,羅差補償前后航向角誤差對比如圖7 所示。

圖7 羅差補償前后航向角誤差對比
從圖7 可看出,在經羅差補償修正后,在0°~360°測量范圍內,電子羅盤航向角的最大誤差由4°降至0.5°,測量精度接近±0.5°,可見基于最小二乘的36 位置羅差補償法效果較好,是一種簡單實用的方法。
文中介紹了一種基于HMC1043 磁阻傳感器和ADXL330 加速度傳感器的三軸電子羅盤的設計方案。對三軸電子羅盤姿態角解算和誤差補償進行了研究,對電子羅盤的軟硬件設計進行了敘述,并對實驗樣機進行了測試,測試結果表明,設計電子羅盤航向角在0°~360°范圍內的精度為±0.5°,滿足導航領域對電子羅盤的使用要求,研究結果對提高電子羅盤的測量精度具有一定的參考價值。