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