電子羅盤是一種重要的導(dǎo)航工具,能實時提供移動物體的航向和姿態(tài)。隨著半導(dǎo)體工藝的進(jìn)步和手機(jī)操作系統(tǒng)的發(fā)展,集成了越來越多傳感器的智能手機(jī)變得功能強(qiáng)大,很多手機(jī)上都實現(xiàn)了電子羅盤的功能。而基于電子羅盤的應(yīng)用(如Android的Skymap)在各個軟件平臺上也流行起來。
要實現(xiàn)電子羅盤功能,需要一個檢測磁場的三軸磁力傳感器和一個三軸加速度傳感器。隨著微機(jī)械工藝的成熟,意法半導(dǎo)體推出將三軸磁力計和三軸加速計集成在一個封裝里的二合一傳感器模塊LSM303DLH,方便用戶在短時間內(nèi)設(shè)計出成本低、性能高的電子羅盤。本文以LSM303DLH為例討論該器件的工作原理、技術(shù)參數(shù)和電子羅盤的實現(xiàn)方法。
1. 地磁場和航向角的背景知識
如圖1所示,地球的磁場象一個條形磁體一樣由磁南極指向磁北極。在磁極點(diǎn)處磁場和當(dāng)?shù)氐乃矫娲怪?,在赤道磁場和?dāng)?shù)氐乃矫嫫叫?,所以在北半球磁場方向傾斜指向地面。用來衡量磁感應(yīng)強(qiáng)度大小的單位是Tesla或者Gauss(1Tesla=10000Gauss)。隨著地理位置的不同,通常地磁場的強(qiáng)度是0.4-0.6 Gauss。需要注意的是,磁北極和地理上的北極并不重合,通常他們之間有11度左右的夾角。
磁力計的基本工作原理
圖1 地磁場分布圖
地磁場是一個矢量,對于一個固定的地點(diǎn)來說,這個矢量可以被分解為兩個與當(dāng)?shù)厮矫嫫叫械姆至亢鸵粋€與當(dāng)?shù)厮矫娲怪钡姆至俊H绻3蛛娮恿_盤和當(dāng)?shù)氐乃矫嫫叫?,那么羅盤中磁力計的三個軸就和這三個分量對應(yīng)起來,如圖2所示。
磁力計的基本工作原理
圖2 地磁場矢量分解示意圖
實際上對水平方向的兩個分量來說,他們的矢量和總是指向磁北的。羅盤中的航向角(Azimuth)就是當(dāng)前方向和磁北的夾角。由于羅盤保持水平,只需要用磁力計水平方向兩軸(通常為X軸和Y軸)的檢測數(shù)據(jù)就可以用式1計算出航向角。當(dāng)羅盤水平旋轉(zhuǎn)的時候,航向角在0?- 360?之間變化。
2.ST集成磁力計和加速計的傳感器模塊LSM303DLH
2.1 磁力計工作原理
在LSM303DLH中磁力計采用各向異性磁致電阻(Anisotropic Magneto-Resistance)材料來檢測空間中磁感應(yīng)強(qiáng)度的大小。這種具有晶體結(jié)構(gòu)的合金材料對外界的磁場很敏感,磁場的強(qiáng)弱變化會導(dǎo)致AMR自身電阻值發(fā)生變化。
在制造過程中,將一個強(qiáng)磁場加在AMR上使其在某一方向上磁化,建立起一個主磁域,與主磁域垂直的軸被稱為該AMR的敏感軸,如圖3所示。為了使測量結(jié)果以線性的方式變化,AMR材料上的金屬導(dǎo)線呈45o角傾斜排列,電流從這些導(dǎo)線上流過,如圖4所示。由初始的強(qiáng)磁場在AMR材料上建立起來的主磁域和電流的方向有45o的夾角。
磁力計的基本工作原理
圖3 AMR材料示意圖
磁力計的基本工作原理
圖4 45o角排列的導(dǎo)線
當(dāng)有外界磁場Ha時,AMR上主磁域方向就會發(fā)生變化而不再是初始的方向了,那么磁場方向和電流的夾角θ也會發(fā)生變化,如圖5所示。對于AMR材料來說,θ角的變化會引起AMR自身阻值的變化,并且呈線性關(guān)系,如圖6所示。
ST利用惠斯通電橋檢測AMR阻值的變化,如圖7所示。R1/R2/R3/R4是初始狀態(tài)相同的AMR電阻,但是R1/R2和R3/R4具有相反的磁化特性。當(dāng)檢測到外界磁場的時候,R1/R2阻值增加?R而R3/R4減少?R。這樣在沒有外界磁場的情況下,電橋的輸出為零;而在有外界磁場時電橋的輸出為一個微小的電壓?V。
磁力計的基本工作原理
圖7 惠斯通電橋
當(dāng)R1=R2=R3=R4=R,在外界磁場的作用下電阻變化為?R時,電橋輸出?V正比于?R。這就是磁力計的工作原理。
2.2 置位/復(fù)位(Set/Reset)電路
由于受到外界環(huán)境的影響,LSM303DLH中AMR上的主磁域方向不會永久保持不變。LSM303DLH內(nèi)置有置位/復(fù)位電路,通過內(nèi)部的金屬線圈周期性的產(chǎn)生電流脈沖,恢復(fù)初始的主磁域,如圖8所示。需要注意的是,置位脈沖和復(fù)位脈沖產(chǎn)生的效果是一樣的,只是方向不同而已。
磁力計的基本工作原理
圖8 LSM303DLH置位/復(fù)位電路
置位/復(fù)位電路給LSM303DLH帶來很多優(yōu)點(diǎn):
1) 即使遇到外界強(qiáng)磁場的干擾,在干擾消失后LSM303DLH也能恢復(fù)正常工作而不需要用戶再次進(jìn)行校正。
2) 即使長時間工作也能保持初始磁化方向?qū)崿F(xiàn)精確測量,不會因為芯片溫度變化或內(nèi)部噪音增大而影響測量精度。
3) 消除由于溫漂引起的電橋偏差。
2.3 LSM303DLH的性能參數(shù)
LSM303DLH集成三軸磁力計和三軸加速計,采用數(shù)字接口。磁力計的測量范圍從1.3 Gauss到8.1 Gauss共分7檔,用戶可以自由選擇。并且在20 Gauss以內(nèi)的磁場環(huán)境下都能夠保持一致的測量效果和相同的敏感度。它的分辨率可以達(dá)到8 mGauss并且內(nèi)部采用12位ADC,以保證對磁場強(qiáng)度的精確測量。和采用霍爾效應(yīng)原理的磁力計相比,LSM303DLH的功耗低,精度高,線性度好,并且不需要溫度補(bǔ)償。
LSM303DLH具有自動檢測功能。當(dāng)控制寄存器A被置位時,芯片內(nèi)部的自測電路會產(chǎn)生一個約為地磁場大小的激勵信號并輸出。用戶可以通過輸出數(shù)據(jù)來判斷芯片是否正常工作。
作為高集成度的傳感器模組,除了磁力計以外LSM303DLH還集成一顆高性能的加速計。加速計同樣采用12位ADC,可以達(dá)到1mg的測量精度。加速計可運(yùn)行于低功耗模式,并有睡眠/喚醒功能,可大大降低功耗。同時,加速計還集成了6軸方向檢測,兩路可編程中斷接口。
3. ST電子羅盤方案介紹
一個傳統(tǒng)的電子羅盤系統(tǒng)至少需要一個三軸的磁力計以測量磁場數(shù)據(jù),一個三軸加速計以測量羅盤傾角,通過信號條理和數(shù)據(jù)采集部分將三維空間中的重力分布和磁場數(shù)據(jù)傳送給處理器。處理器通過磁場數(shù)據(jù)計算出方位角,通過重力數(shù)據(jù)進(jìn)行傾斜補(bǔ)償。這樣處理后輸出的方位角不受電子羅盤空間姿態(tài)的影響,如圖9所示。
磁力計的基本工作原理
圖9 電子羅盤結(jié)構(gòu)示意圖
LSM303DLH將上述的加速計、磁力計、A/D轉(zhuǎn)化器及信號條理電路集成在一起,仍然通過I2C總線和處理器通信。這樣只用一顆芯片就實現(xiàn)了6軸的數(shù)據(jù)檢測和輸出,降低了客戶的設(shè)計難度,減小了PCB板的占用面積,降低了器件成本。
LSM303DLH的典型應(yīng)用如圖10所示。它需要的周邊器件很少,連接也很簡單,磁力計和加速計各自有一條I2C總線和處理器通信。如果客戶的I/O接口電平為1.8V,Vdd_dig_M、Vdd_IO_A和Vdd_I2C_Bus均可接1.8V供電,Vdd使用2.5V以上供電即可;如果客戶接口電平為2.6V,除了Vdd_dig_M要求1.8V以外,其他皆可以用2.6V。在上文中提到,LSM303DLH需要置位/復(fù)位電路以維持AMR的主磁域。C1和C2為置位/復(fù)位電路的外部匹配電容,由于對置位脈沖和復(fù)位脈沖有一定的要求,建議用戶不要隨意修改C1和C2的大小。
磁力計的基本工作原理
圖10 LSM303DLH典型應(yīng)用電路圖
對于便攜式設(shè)備而言,器件的功耗非常重要,直接影響其待機(jī)的時間。LSM303DLH可以分別對磁力計和加速計的供電模式進(jìn)行控制,使其進(jìn)入睡眠或低功耗模式。并且用戶可自行調(diào)整磁力計和加速計的數(shù)據(jù)更新頻率,以調(diào)整功耗水平。在磁力計數(shù)據(jù)更新頻率為7.5Hz、加速計數(shù)據(jù)更新頻率為50Hz時,消耗電流典型值為0.83mA。在待機(jī)模式時,消耗電流小于3uA。
4. 鐵磁場干擾及校準(zhǔn)
電子指南針主要是通過感知地球磁場的存在來計算磁北極的方向。然而由于地球磁場在一般情況下只有微弱的0.5高斯,而一個普通的手機(jī)喇叭當(dāng)相距2厘米時仍會有大約4高斯的磁場,一個手機(jī)馬達(dá)在相距2厘米時會有大約6高斯的磁場,這一特點(diǎn)使得針對電子設(shè)備表面地球磁場的測量很容易受到電子設(shè)備本身的干擾。
磁場干擾是指由于具有磁性物質(zhì)或者可以影響局部磁場強(qiáng)度的物質(zhì)存在,使得磁傳感器所放置位置上的地球磁場發(fā)生了偏差。如圖11所示,在磁傳感器的XYZ 坐標(biāo)系中,綠色的圓表示地球磁場矢量繞z軸圓周轉(zhuǎn)動過程中在XY平面內(nèi)的投影軌跡,再沒有外界任何磁場干擾的情況下,此軌跡將會是一個標(biāo)準(zhǔn)的以O(shè)(0,0)為中心的圓。當(dāng)存在外界磁場干擾的情況時,測量得到的磁場強(qiáng)度矢量α將為該點(diǎn)地球磁場β與干擾磁場γ的矢量和。記作:
磁力計的基本工作原理
磁力計的基本工作原理
圖11 磁傳感器XY坐標(biāo)以及磁力線投影軌跡
一般可以認(rèn)為,干擾磁場γ在該點(diǎn)可以視為一個恒定的矢量。有很多因素可以造成磁場的干擾,如擺放在電路板上的馬達(dá)和喇叭,還有含有鐵鎳鈷等金屬的材料如屏蔽罩,螺絲,電阻, LCD背板以及外殼等等。同樣根據(jù)安培定律有電流通過的導(dǎo)線也會產(chǎn)生磁場,如圖12。
磁力計的基本工作原理
圖12 電流對磁場產(chǎn)生的影響
為了校準(zhǔn)這些來自電路板的磁場干擾,主要的工作就是通過計算將γ求出。
4.1 平面校準(zhǔn)方法
針對XY軸的校準(zhǔn),將配備有磁傳感器的設(shè)備在XY平面內(nèi)自轉(zhuǎn),如圖11,等價于將地球磁場矢量繞著過點(diǎn)O(γx,γy)垂直于XY平面的法線旋轉(zhuǎn),而紅色的圓為磁場矢量在旋轉(zhuǎn)過程中在XY平面內(nèi)投影的軌跡。這可以找到圓心的位置為((Xmax + Xmin)/2, (Ymax + Ymin)/2)。 同樣將設(shè)備在XZ平面內(nèi)旋轉(zhuǎn)可以得到地球磁場在XZ平面上的軌跡圓,這可以求出三維空間中的磁場干擾矢量γ(γx, γy, γz)。
4.2 立體8字校準(zhǔn)方法
一般情況下,當(dāng)帶有傳感器的設(shè)備在空中各個方向旋轉(zhuǎn)時,測量值組成的空間幾何結(jié)構(gòu)實際上是一個圓球,所有的采樣點(diǎn)都落在這個球的表面上,如圖13所示,這一點(diǎn)同兩維平面內(nèi)投影得到的圓類似。
磁力計的基本工作原理
圖13 地球磁場空間旋轉(zhuǎn)后在傳感器空間坐標(biāo)內(nèi)得到球體
這種情況下,可以通過足夠的樣本點(diǎn)求出圓心O(γx, γy, γz), 即固定磁場干擾矢量的大小及方向。公式如下:
磁力計的基本工作原理
8字校準(zhǔn)法要求用戶使用需要校準(zhǔn)的設(shè)備在空中做8字晃動,原則上盡量多的讓設(shè)備法線方向指向空間的所有8個象限,如圖14所示。
磁力計的基本工作原理
圖14 設(shè)備的空中8字校準(zhǔn)示意圖
4.2 十面校準(zhǔn)方法
同樣,通過以下10面校準(zhǔn)方法,也可以達(dá)到校準(zhǔn)的目的。
磁力計的基本工作原理
如圖16所示,經(jīng)過10面校準(zhǔn)方法之后,同樣可以采樣到以上所述球體表面的部分軌跡,從而推導(dǎo)出球心的位置,即固定磁場干擾矢量的大小及方向。
磁力計的基本工作原理
5.傾斜補(bǔ)償及航偏角計算
經(jīng)過校準(zhǔn)后電子指南針在水平面上已經(jīng)可以正常使用了。但是更多的時候手機(jī)并不是保持水平的,通常它和水平面都有一個夾角。這個夾角會影響航向角的精度,需要通過加速度傳感器進(jìn)行傾斜補(bǔ)償。
對于一個物體在空中的姿態(tài),導(dǎo)航系統(tǒng)里早已有定義,如圖17所示,Android中也采用了這個定義。Pitch(Φ)定義為x軸和水平面的夾角,圖示方向為正方向;Roll(θ)定義為y軸和水平面的夾角,圖示方向為正方向。由Pitch角引起的航向角的誤差如圖18所示??梢钥闯觯趚軸方向10度的傾斜角就可以引起航向角最大7-8度的誤差。
磁力計的基本工作原理磁力計的基本工作原理
圖17 Pitch角和Roll角定義 圖18 Pitch角引起的航向角誤差
手機(jī)在空中的傾斜姿態(tài)如圖19所示,通過3軸加速度傳感器檢測出三個軸上重力加速度的分量,再通過式2可以計算出Pitch和Roll。
磁力計的基本工作原理
圖19 手機(jī)在空中的傾斜姿態(tài)
磁力計的基本工作原理
式3可以將磁力計測得的三軸數(shù)據(jù)(XM,YM ,ZM)通過Pitch和Roll轉(zhuǎn)化為式1中計算航向角需要的Hy和Hx。之后再利用式1計算出航向角。