磁力計(jì),幫助找不到北的無(wú)人機(jī)和機(jī)器人
1、地磁場(chǎng)和航向角的背景知識(shí)

地球的磁場(chǎng)象一個(gè)條形磁體一樣由磁南極指向磁北極。在磁極點(diǎn)處磁場(chǎng)和當(dāng)?shù)氐乃矫娲怪保诔嗟来艌?chǎng)和當(dāng)?shù)氐乃矫嫫叫校栽诒卑肭虼艌?chǎng)方向傾斜指向地面。用來(lái)衡量磁感應(yīng)強(qiáng)度大小的單位是Tesla或者Gaus(1Tesla=10000Gauss)。隨著地理位置的不同,通常地磁場(chǎng)的強(qiáng)度是0.4-0.6 Gauss。需要注意的是,磁北極和地理上的北極并不重合,通常他們之間有11度左右的夾角。

地磁場(chǎng)是一個(gè)矢量,對(duì)于一個(gè)固定的地點(diǎn)來(lái)說(shuō),這個(gè)矢量可以被分解為兩個(gè)與當(dāng)?shù)厮矫嫫叫械姆至亢鸵粋€(gè)與當(dāng)?shù)厮矫娲怪钡姆至俊H绻3蛛娮恿_盤(pán)和當(dāng)?shù)氐乃矫嫫叫校敲戳_盤(pán)中磁力計(jì)的三個(gè)軸就和這三個(gè)分量對(duì)應(yīng)起來(lái),如圖2所示。
實(shí)際上對(duì)水平方向的兩個(gè)分量來(lái)說(shuō),他們的矢量和總是指向磁北的。羅盤(pán)中的航向角(Azimuth)就是當(dāng)前方向和磁北的夾角。由于羅盤(pán)保持水平,只需要用磁力計(jì)水平方向兩軸(通常為X軸和Y軸)的檢測(cè)數(shù)據(jù)就可以用式1計(jì)算出航向角。當(dāng)羅盤(pán)水平旋轉(zhuǎn)的時(shí)候,航向角在0°~ 360°之間變化。

2、各向異性磁致電阻材料
磁力計(jì)的工作原理基于各向異性磁致電阻材料。這種材料具有獨(dú)特的晶體結(jié)構(gòu),對(duì)外部磁場(chǎng)非常敏感,其電阻值會(huì)隨著磁場(chǎng)的強(qiáng)弱變化而發(fā)生顯著變化。例如,在設(shè)備靠近某些區(qū)域時(shí),數(shù)據(jù)出現(xiàn)急劇變化,這往往意味著該處可能存在監(jiān)聽(tīng)設(shè)備。
在制造過(guò)程中,磁力計(jì)采用強(qiáng)磁場(chǎng)對(duì)AMR材料進(jìn)行磁化,從而在某一方向上建立起主磁域。與主磁域垂直的軸被定義為AMR的敏感軸。為了確保測(cè)量結(jié)果呈線性變化,金屬導(dǎo)線在AMR材料上以45o角傾斜排列,電流流經(jīng)這些導(dǎo)線。

磁力計(jì)采用各向異性磁致電阻(Anisotropic Magneto-Resistance)材料來(lái)檢測(cè)空間中磁感應(yīng)強(qiáng)度的大小。這種具有晶體結(jié)構(gòu)的合金材料對(duì)外界的磁場(chǎng)很敏感,磁場(chǎng)的強(qiáng)弱變化會(huì)導(dǎo)致AMR自身電阻值發(fā)生變化。
在制造過(guò)程中,將一個(gè)強(qiáng)磁場(chǎng)加在AMR上使其在某一方向上磁化,建立起一個(gè)主磁域,與主磁域垂直的軸被稱為該AMR的敏感軸,如圖所示。

AMR材料示意圖
為了使測(cè)量結(jié)果以線性的方式變化,AMR材料上的金屬導(dǎo)線呈45o角傾斜排列,電流從這些導(dǎo)線上流過(guò),如圖4所示。由初始的強(qiáng)磁場(chǎng)在AMR材料上建立起來(lái)的主磁域和電流的方向有45o的夾角。

45o角排列的導(dǎo)線
3、集成磁力計(jì)工作原理
磁力計(jì)能提供裝置在XYZ各軸所承受磁場(chǎng)的數(shù)據(jù),接著相關(guān)數(shù)據(jù)會(huì)匯入微控制器的運(yùn)算法,以提供磁北極相關(guān)的航向角,利用這些信息可偵測(cè)地理方位。
磁力儀是采用三個(gè)互相垂直的磁阻傳感器,每個(gè)軸向上的傳感器檢測(cè)在該方向上的地磁場(chǎng)強(qiáng)度。
當(dāng)有外界磁場(chǎng)Ha時(shí),AMR上主磁域方向就會(huì)發(fā)生變化而不再是初始的方向了,那么磁場(chǎng)方向和電流的夾角θ也會(huì)發(fā)生變化,如圖5所示。對(duì)于AMR材料來(lái)說(shuō),θ角的變化會(huì)引起AMR自身阻值的變化,并且呈線性關(guān)系,如圖6所示。
磁場(chǎng)方向和電流方向的夾角

θ-R特性曲線
當(dāng)外部磁場(chǎng)作用于AMR材料時(shí),主磁域的方向會(huì)發(fā)生變化,進(jìn)而導(dǎo)致磁場(chǎng)方向與電流夾角的變化。這種夾角的變化會(huì)引起AMR自身阻值的變化,且變化呈線性關(guān)系。采用惠斯通電橋技術(shù)來(lái)檢測(cè)這種阻值的變化。電橋中,R1/R2和R3/R4是初始狀態(tài)相同的AMR電阻,但它們的磁化特性相反。在無(wú)外部磁場(chǎng)的情況下,電橋輸出為零;而在有外部磁場(chǎng)時(shí),電橋會(huì)輸出一個(gè)微小的電壓信號(hào)。
當(dāng)R1=R2=R3=R4=R時(shí),電橋的輸出電壓V與電阻變化R成正比。這就是磁力計(jì)的基本工作原理。

如圖所示,R1/R2/R3/R4是初始狀態(tài)相同的AMR電阻,但是R1/R2和R3/R4具有相反的磁化特性。當(dāng)檢測(cè)到外界磁場(chǎng)的時(shí)候,R1/R2阻值增加?R而R3/R4減少?R。這樣在沒(méi)有外界磁場(chǎng)的情況下,電橋的輸出為零;而在有外界磁場(chǎng)時(shí)電橋的輸出為一個(gè)微小的電壓?V。
磁力計(jì)是用于測(cè)量磁場(chǎng)強(qiáng)弱的儀器,其主要功能是測(cè)量磁場(chǎng)的磁感應(yīng)強(qiáng)度。作為測(cè)量工具,磁力計(jì)能夠感知并量化磁感應(yīng)強(qiáng)度這一矢量。在本篇中,我們將探討HMC5883L磁力計(jì),它特別之處在于能夠同時(shí)測(cè)量三個(gè)軸向的磁場(chǎng),為多方向磁場(chǎng)測(cè)量提供了有力支持。
在實(shí)際應(yīng)用中,磁力計(jì)不僅被用于檢測(cè)地球磁場(chǎng)方向,也被廣泛應(yīng)用于飛行器導(dǎo)航。例如,它可以在航模及四軸飛行器中修正偏航角,從而為飛行器的穩(wěn)定控制提供關(guān)鍵支持。

4、干擾
干擾磁場(chǎng)的類(lèi)型
干擾磁場(chǎng)的存在使得磁力計(jì)的測(cè)量結(jié)果不穩(wěn)定。干擾磁場(chǎng)包括硬磁場(chǎng)和軟磁場(chǎng)兩種類(lèi)型。硬磁場(chǎng)干擾主要來(lái)源于永磁體等強(qiáng)磁場(chǎng)源,而軟磁場(chǎng)干擾則往往由電流、電磁波等引起。這些干擾源的存在會(huì)對(duì)磁力計(jì)的測(cè)量結(jié)果造成影響,因此需要進(jìn)行校準(zhǔn)以消除這些影響。
地磁場(chǎng)測(cè)量與干擾影響
兩軸磁力計(jì)的測(cè)量原理
在無(wú)干擾環(huán)境下,地磁場(chǎng)的測(cè)量離不開(kāi)兩軸磁力計(jì)。這種設(shè)備通過(guò)水平面方向上布置的兩個(gè)相互垂直的磁傳感器,即X軸和Y軸傳感器,各自測(cè)量其所處方向上的磁場(chǎng)強(qiáng)度和方向,從而構(gòu)成了一個(gè)基本的磁場(chǎng)測(cè)量系統(tǒng)。當(dāng)磁力計(jì)保持水平面并旋轉(zhuǎn)360°后,通過(guò)磁傳感器收集到的數(shù)據(jù)可以繪制出上述曲線圖,它清晰地展示了各點(diǎn)的相對(duì)位置,進(jìn)一步轉(zhuǎn)換可得到實(shí)際的方位。

硬磁干擾的影響
硬磁干擾主要由磁力計(jì)周?chē)拇排紭O子引起,例如,汽車(chē)后視鏡中的磁傳感器可能受到車(chē)內(nèi)磁偶極子的影響。這些偶極子產(chǎn)生的附加磁場(chǎng)(類(lèi)似于地磁場(chǎng))與地磁場(chǎng)疊加,會(huì)導(dǎo)致實(shí)際測(cè)量結(jié)果發(fā)生偏移,類(lèi)似于原圖中的各點(diǎn)都進(jìn)行了相同的向量運(yùn)算。

軟磁干擾的影響
軟磁干擾則是由可磁化物質(zhì)對(duì)當(dāng)?shù)卮艌?chǎng)的扭曲所引起。這類(lèi)物質(zhì)包括鎳、鐵及其他具有干擾性的磁性材料。它們能夠改變地磁場(chǎng)的分布,改變測(cè)量結(jié)果的方向和精度,進(jìn)而影響數(shù)據(jù)的準(zhǔn)確性。

綜合硬軟磁干擾效應(yīng)
在多數(shù)實(shí)際應(yīng)用場(chǎng)景中,硬磁干擾與軟磁干擾往往是并存的。這使得本地磁場(chǎng)的測(cè)量曲線呈現(xiàn)出一定程度的偏移橢圓,其中心偏離了相對(duì)坐標(biāo)系的中心。值得注意的是,本地的實(shí)際磁場(chǎng)強(qiáng)度可能顯著高于地球磁場(chǎng),因此,羅盤(pán)中的磁傳感器必須具備足夠的測(cè)量范圍和校準(zhǔn)精度。
5、校準(zhǔn)
電子指南針主要是通過(guò)感知地球磁場(chǎng)的存在來(lái)計(jì)算磁北極的方向。然而由于地球磁場(chǎng)在一般情況下只有微弱的0.5高斯,而一個(gè)普通的手機(jī)喇叭當(dāng)相距2厘米時(shí)仍會(huì)有大約4高斯的磁場(chǎng),一個(gè)手機(jī)馬達(dá)在相距2厘米時(shí)會(huì)有大約6高斯的磁場(chǎng),這一特點(diǎn)使得針對(duì)電子設(shè)備表面地球磁場(chǎng)的測(cè)量很容易受到電子設(shè)備本身的干擾。
磁場(chǎng)干擾是指由于具有磁性物質(zhì)或者可以影響局部磁場(chǎng)強(qiáng)度的物質(zhì)存在,使得磁傳感器所放置位置上的地球磁場(chǎng)發(fā)生了偏差。如圖11所示,在磁傳感器的XYZ 坐標(biāo)系中,綠色的圓表示地球磁場(chǎng)矢量繞z軸圓周轉(zhuǎn)動(dòng)過(guò)程中在XY平面內(nèi)的投影軌跡,再?zèng)]有外界任何磁場(chǎng)干擾的情況下,此軌跡將會(huì)是一個(gè)標(biāo)準(zhǔn)的以O(shè)(0,0)為中心的圓。當(dāng)存在外界磁場(chǎng)干擾的情況時(shí),測(cè)量得到的磁場(chǎng)強(qiáng)度矢量α將為該點(diǎn)地球磁場(chǎng)β與干擾磁場(chǎng)γ的矢量和。記作:α=β+γ

磁傳感器XY坐標(biāo)以及磁力線投影軌跡
一般可以認(rèn)為,干擾磁場(chǎng)γ在該點(diǎn)可以視為一個(gè)恒定的矢量。有很多因素可以造成磁場(chǎng)的干擾,如擺放在電路板上的馬達(dá)和喇叭,還有含有鐵鎳鈷等金屬的材料如屏蔽罩,螺絲,電阻, LCD背板以及外殼等等。同樣根據(jù)安培定律有電流通過(guò)的導(dǎo)線也會(huì)產(chǎn)生磁場(chǎng)。

為了校準(zhǔn)這些來(lái)自電路板的磁場(chǎng)干擾,主要的工作就是通過(guò)計(jì)算將γ求出。
在磁力計(jì)校準(zhǔn)過(guò)程中,我們可以在校準(zhǔn)前用如下方法判斷磁力計(jì)當(dāng)前狀態(tài)是否正確:
磁力計(jì)的X軸指向正北時(shí),磁力計(jì)的寄存器X軸此時(shí)輸出最大值
磁力計(jì)的X軸指向正南時(shí),X軸應(yīng)該有最小值。
磁力計(jì)的Y軸指向正北時(shí),磁力計(jì)的寄存器Y軸此時(shí)應(yīng)該輸出最小值;
磁力計(jì)的X軸指向正南時(shí),Y軸應(yīng)該有最大值。
平面校準(zhǔn)方法
針對(duì)XY軸的校準(zhǔn),將配備有磁傳感器的設(shè)備在XY平面內(nèi)自轉(zhuǎn),,等價(jià)于將地球磁場(chǎng)矢量繞著過(guò)點(diǎn)O(γx,γy)垂直于XY平面的法線旋轉(zhuǎn), 而紅色的圓為磁場(chǎng)矢量在旋轉(zhuǎn)過(guò)程中在XY平面內(nèi)投影的軌跡。這可以找到圓心的位置為((Xmax + Xmin)/2, (Ymax + Ymin)/2). 同樣將設(shè)備在XZ平面內(nèi)旋轉(zhuǎn)可以得到地球磁場(chǎng)在XZ平面上的軌跡圓,這可以求出三維空間中的磁場(chǎng)干擾矢量γ(γx, γy, γz)。

從上圖就可以知道具體的偏移值就是偏移圓心與正圓心的差,即x軸的偏移為(x_max + x_min) / 2,而y軸的偏移為(y_max + y_min) / 2)。
當(dāng)我們獲取到磁力計(jì)的原始值時(shí),再減去偏移值即可。這樣的操作下,圓心即歸為正中心,如下圖所示。

立體8字校準(zhǔn)方法
一般情況下,當(dāng)帶有傳感器的設(shè)備在空中各個(gè)方向旋轉(zhuǎn)時(shí),測(cè)量值組成的空間幾何結(jié)構(gòu)實(shí)際上是一個(gè)圓球,所有的采樣點(diǎn)都落在這個(gè)球的表面上,如圖所示,這一點(diǎn)同兩維平面內(nèi)投影得到的圓類(lèi)似。

地球磁場(chǎng)空間旋轉(zhuǎn)后在傳感器空間坐標(biāo)內(nèi)得到球體
這種情況下,可以通過(guò)足夠的樣本點(diǎn)求出圓心O(γx, γy, γz), 即固定磁場(chǎng)干擾矢量的大小及方向。公式如下:
8字校準(zhǔn)法要求用戶使用需要校準(zhǔn)的設(shè)備在空中做8字晃動(dòng),原則上盡量多的讓設(shè)備法線方向指向空間的所有8個(gè)象限,如圖14所示。
十面校準(zhǔn)方法
同樣,通過(guò)以下10面校準(zhǔn)方法,也可以達(dá)到校準(zhǔn)的目的。

經(jīng)過(guò)10面校準(zhǔn)方法之后,同樣可以采樣到以上所述球體表面的部分軌跡,從而推導(dǎo)出球心的位置,即固定磁場(chǎng)干擾矢量的大小及方向。

10面校準(zhǔn)后的空間軌跡
通過(guò)采集原始磁力計(jì)的數(shù)據(jù),通過(guò)代碼獲取磁力計(jì)修正系數(shù),k和b,從而擬合出橢圓。
m_x = (IMU_data_raw[6] -b1) / k1;
m_y = (IMU_data_raw[7] -b2) / k2;
m_z = (IMU_data_raw[8] -b3) / k3;
中,IMU_data_raw[6-8]是三軸磁力計(jì)數(shù)據(jù)
利用printf函數(shù)將三軸數(shù)據(jù)打印到串口助手,然后按規(guī)定將IMU繞三軸旋轉(zhuǎn)幾圈,最后隨意旋轉(zhuǎn)幾下

6、關(guān)于磁力計(jì) HMC5883L
HMC5883L物美價(jià)廉。然而某寶上不僅僅有HMC5883L這一款,還有QMC5883和HMC5983,不同單片機(jī)對(duì)IIC的操作也略有差異。

HMC5883L的絲印為L(zhǎng)883,QMC5883L的絲印正常為HA5883。
HMC5883L是進(jìn)口的芯片,QMC5883L為國(guó)產(chǎn)芯片。



參考文檔
《HMC5883L磁力計(jì)的使用指南及校準(zhǔn)技巧》——百度_周野漫
《【模塊學(xué)習(xí)】關(guān)于磁力計(jì)HMC5883L型號(hào)探索》——CSDN 凡人就行
HMC5883Ldatasheet——honeywell
《ST集成傳感器方案實(shí)現(xiàn)電子羅盤(pán)功能》——維庫(kù) taoest











評(píng)論