科技改變生活 · 科技引領(lǐng)未來(lái)
羅盤是自動(dòng)控制、測(cè)試及測(cè)量領(lǐng)域中用來(lái)獲取方向信息的裝置。目前應(yīng)用較廣泛的是磁阻式電子羅盤,這種電子羅盤具有較好的抗振性,對(duì)干擾有電子補(bǔ)償,因此測(cè)向精度較高。但現(xiàn)有電子羅盤電路結(jié)構(gòu)復(fù)雜、體積較大,不便于攜帶和使用,難以集成到現(xiàn)有嵌入式設(shè)備中。
羅盤是自動(dòng)控制、測(cè)試及測(cè)量領(lǐng)域中用來(lái)獲取方向信息的裝置。目前應(yīng)用較廣泛的是磁阻式電子羅盤,這種電子羅盤具有較好的抗振性,對(duì)干擾有電子補(bǔ)償,因此測(cè)向精度較高。但現(xiàn)有電子羅盤電路結(jié)構(gòu)復(fù)雜、體積較大,不便于攜帶和使用,難以集成到現(xiàn)有嵌入式設(shè)備中。針對(duì)這些問(wèn)題,本文提出了以霍尼韋爾(HoneyWell)公司三軸磁阻傳感器HMC5883L為敏感元件,使用低功耗控制器AVR單片機(jī)為傳感器數(shù)據(jù)處理單元的小型低功耗電子羅盤。該羅盤支持串口輸出,可以方便集成到各種應(yīng)用中。
電子羅盤測(cè)向原理
地球的磁感應(yīng)強(qiáng)度為50~60μT,相當(dāng)于沿著地球中心的一個(gè)磁棒,磁棒的兩極相對(duì)于地理的兩極有大約11.5°的夾角。無(wú)論何地,地球磁場(chǎng)的水平分量永遠(yuǎn)指向磁北極,這一原理是所有羅盤的制作基礎(chǔ)。所有羅盤都是測(cè)量地球磁場(chǎng)的北方向,其他方向即可推算出來(lái)。地球磁場(chǎng)的北方向和實(shí)際的北方向有差別,而這種差別的大小在地球上的不同地點(diǎn)也是不同的,所以必須知道羅盤所在的大致位置,才能計(jì)算出如何補(bǔ)償?shù)卮藕驼鎸?shí)北方向的差別,以顯示出真實(shí)的北方向。
磁北的方向就是地磁場(chǎng)在水平面上分量的方向。假設(shè)電子羅盤處于水平面上,要確定其相對(duì)于磁北的航向角α。由磁阻傳感器可以直接得出地磁場(chǎng)的水平分量Hx、Hy,因此相對(duì)于磁北的航向角為:
正切函數(shù)的周期為180°,為保證數(shù)據(jù)有效性,船體航向角α轉(zhuǎn)換到相對(duì)磁北0°~360°的范圍內(nèi)。可將上式分解,得到相對(duì)于磁北極的360°范圍內(nèi)(順時(shí)針?lè)较?的航向角,加上當(dāng)?shù)氐拇牌蔷涂梢运愠雠c真北的航向角。
由于地磁南北極與地理南北極存在磁偏角,要得到準(zhǔn)確的南北極方向,必須用計(jì)算結(jié)果加上或減去所在地區(qū)磁偏角,得出前進(jìn)方向與地理北極的夾角,即真北方位角A。當(dāng)所在地區(qū)磁偏角φ已知時(shí),真北方位角為:A=α+φ。
硬件設(shè)計(jì)
電子羅盤的硬件系統(tǒng)如圖21.1所示,主要由傳感器、控制器、電源及串口輸出4部分組成。控制器通過(guò)串口與PC通信,用于實(shí)現(xiàn)對(duì)電子羅盤的設(shè)置、校正以及測(cè)量數(shù)據(jù)輸出。
1. 控制器模塊
控制器采用ATmega16,這是一款基于增強(qiáng)的AVR RISC結(jié)構(gòu)的高性能、低功耗8位MCU,工作電壓為2.7~5.5V,在1MHz時(shí)鐘下,工作電流為1.1mA。大多數(shù)指令可以單時(shí)鐘周期執(zhí)行,具有統(tǒng)一的中斷管理,片上外圍模塊豐富,片內(nèi)有16KB的Flash、1KB的RAM、512字節(jié)的EEPROM、8路的10位A/D轉(zhuǎn)換器以及一路USART通信端口等資源。在本設(shè)計(jì)中,控制器串口與PC連接,可以對(duì)電子羅盤進(jìn)行配置及校正,也可以將最終計(jì)算得到的方向及角度通過(guò)串口輸出,供其他測(cè)量系統(tǒng)使用。控制器模塊在ATmega16的基礎(chǔ)上,做了最小系統(tǒng)的擴(kuò)展,如圖21.2所示。按照模塊化設(shè)計(jì)思想,本文將最小系統(tǒng)制作成單獨(dú)模塊,其最終實(shí)物如圖21.3所示。
2. HMC5883L 模塊
HMC5883L是一種基于表面貼裝的高集成、自帶數(shù)字接口的弱磁傳感器,應(yīng)用于低成本羅盤和磁場(chǎng)檢測(cè)領(lǐng)域。HMC5883L包括最先進(jìn)的高分辨率HMC118X系列磁阻傳感器,并附帶霍尼韋爾專利的集成電路,包括放大器、自動(dòng)消磁驅(qū)動(dòng)器、偏差校準(zhǔn)、能使羅盤精度控制在1°~2°的12位模數(shù)轉(zhuǎn)換器以及簡(jiǎn)易的I2C總線接口。
HMC5883L采用霍尼韋爾各向異性磁阻(AMR)技術(shù),具有軸向高靈敏度和線性高精度的特點(diǎn),能用于測(cè)量地球磁場(chǎng)的方向和大小。
HMC5883L模塊的外圍電路非常簡(jiǎn)單,本文采用的是成品模塊,如圖21.4所示。該模塊外接引腳包括VCC、GND、SCL、SDA、DRDY、3V3。其中VCC為5V輸入,模塊自帶降壓功能,可以輸出3.3V電壓供其他模塊使用。SCL與SDA為標(biāo)準(zhǔn)I2C接口,DRDY用于指示HMC5883L數(shù)據(jù)是否準(zhǔn)備好,用于中斷方式讀取測(cè)量數(shù)據(jù)。
3. 串口模塊
與PC通信的串口模塊采用的是USB轉(zhuǎn)串口方式,同樣采用成品模塊,如圖21.5所示。該模塊使用PL2303HX芯片實(shí)現(xiàn)USB轉(zhuǎn)串口功能,具有電路簡(jiǎn)單、傳輸速度快等特點(diǎn)。模塊引出的功能引腳包括TXD、RXD、GND、3V3、5V。其中5V為USB總線輸出電壓,本文將該電壓作為下位機(jī)的供電電壓。TXD與RXD為串口接口,與單片機(jī)直接連接,無(wú)需做電平轉(zhuǎn)換。模塊內(nèi)部同時(shí)集成了降壓模塊,可以輸出3.3V電壓,但由于已經(jīng)使用了HMC5883L模塊的降壓功能,本系統(tǒng)中該輸出引腳懸空。
4. 底板模塊
各模塊之間需要通過(guò)底板進(jìn)行連接,其原理圖如圖21.6所示。其中與HMC5883L模塊的I2C接口使用的是ATmega16的硬件接口,因此需要連接PC0與PC1端口,DRDY則與PD7端口連接。串口模塊與單片機(jī)的硬件串口端口PD0、PD1連接,總體連接相對(duì)簡(jiǎn)單。將各個(gè)模塊通過(guò)插座、插針以及連接線連接,設(shè)備最終的樣子如圖21.7所示。
軟件設(shè)計(jì)
電子羅盤的軟件分為兩部分:?jiǎn)纹瑱C(jī)上的軟件以及PC端的控制軟件。平時(shí)工作時(shí),只需運(yùn)行單片機(jī)上的程序,PC端軟件僅顯示當(dāng)前數(shù)據(jù)。當(dāng)需要配置或者校正時(shí),要配合PC端軟件使用。
單片機(jī)的軟件流程如圖21.8所示。參數(shù)保存在單片機(jī)的EEPROM中,掉電后仍然可以保存。
PC機(jī)與單片機(jī)進(jìn)行串口連接,平時(shí)工作時(shí),單片機(jī)工作在正常模式,PC端軟件通過(guò)串口查詢當(dāng)前方位角并顯示在界面上。當(dāng)需要配置電子羅盤時(shí),可以通過(guò)PC端軟件設(shè)置磁偏角,參數(shù)都會(huì)保存在單片機(jī)的EEPROM中,羅盤重啟后還按之前的設(shè)置參數(shù)運(yùn)行。當(dāng)需要對(duì)羅盤進(jìn)行校正時(shí),通過(guò)PC端軟件啟動(dòng)校正流程。用戶需要在水平面上緩慢旋轉(zhuǎn)羅盤360°,然后通過(guò)PC端軟件告知羅盤結(jié)束校正,此時(shí)羅盤會(huì)自動(dòng)計(jì)算出X、Y軸的偏移值并保存,同時(shí)PC端軟件上會(huì)顯示這些偏移值。
PC 端軟件采用 Visual C++ 2005 編寫,基于 MFC 框架開(kāi)發(fā),軟件流程如圖21.9所示。軟件框架采用的是查詢方式,由PC控制軟件作為主動(dòng)方,發(fā)送串口命令到單片機(jī),單片機(jī)則作為被動(dòng)方,將結(jié)果返回給PC控制軟件。
通過(guò)界面上的按鈕,用戶可以設(shè)置電子羅盤、進(jìn)行校正,并看到當(dāng)前方位角的顯示,界面如圖21.10所示。使用時(shí),先將單片機(jī)與PC串口連接,然后打開(kāi)對(duì)應(yīng)的串口號(hào),此時(shí)即可以看到當(dāng)前方位角顯示在偏角欄里。如果需要設(shè)置磁偏角,只需將數(shù)值寫入對(duì)話框,并單擊“設(shè)置”按鈕即可。校正功能相對(duì)比較復(fù)雜,在單擊“開(kāi)始校正”后,需要手動(dòng)旋轉(zhuǎn)電子羅盤360°,然后再單擊“結(jié)束校正”,最大、最小偏移值即會(huì)顯示在界面上。
羅盤誤差及補(bǔ)償
造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。為了校準(zhǔn)傳感器放大電路,HMC5883 內(nèi)部集成了自測(cè)試電路,可以驅(qū)動(dòng)偏置電流帶產(chǎn)生一定大小的測(cè)試磁場(chǎng),以校準(zhǔn)傳感器各軸靈敏度。自測(cè)試還可以校準(zhǔn)溫度變化產(chǎn)生的漂移。當(dāng)磁阻傳感器處于較強(qiáng)干擾磁場(chǎng)中時(shí),傳感器靈敏度會(huì)下降甚至失效。為了消除這種影響,需要復(fù)位/置位電路施加脈沖寬度為2μs、電流強(qiáng)度為3~4A的電流,使傳感器特性恢復(fù)。在目前應(yīng)用較為廣泛的HMC1022及HMC1022 模擬輸出磁阻傳感器中,復(fù)位/置位電路需要額外設(shè)計(jì)并由控制器控制,而HMC5883 芯片內(nèi)部集成了生成復(fù)位/置位脈沖所需的驅(qū)動(dòng)電路,且由片上ASIC 電路自動(dòng)控制,在每次測(cè)量前自動(dòng)進(jìn)行復(fù)位/置位操作,不僅保證了傳感器精度,也使傳感器應(yīng)用電路大為簡(jiǎn)化。
除了傳感器本身的誤差,磁阻傳感器應(yīng)用環(huán)境中的磁介質(zhì)引起的磁場(chǎng)變化也會(huì)使電子羅盤精度降低。磁場(chǎng)干擾分硬磁干擾和軟干擾兩類。硬磁干擾是傳感器附近的永磁體或被磁化的金屬造成的,它對(duì)磁阻傳感器輸出的影響是固定的,使輸出曲線圖圓心偏移,如圖21.11(b)所示。而軟磁干擾則是地球磁場(chǎng)和傳感器附近磁性材料的相互作用造成的,其干擾具有方向性,如圖21.11(c)所示。
為了校正X、Y軸方向的硬磁干擾,需要在校準(zhǔn)模式中繞Z軸緩緩旋轉(zhuǎn)羅盤一周,在旋轉(zhuǎn)過(guò)程中,羅盤不斷采集X、Y軸的磁場(chǎng)強(qiáng)度數(shù)據(jù),最終找出數(shù)據(jù)的最大值Xmax、Ymax和最小值Xmin、Ymin。對(duì)于Z軸的校準(zhǔn),需要繞X軸或Y軸旋轉(zhuǎn)一周,找出Z軸數(shù)據(jù)的最大值Zmax、最小值Zmin。校準(zhǔn)偏移量為:
將偏移量保存到控制器的EEPROM存儲(chǔ)器中,在以后的每次測(cè)量中,將每軸的磁場(chǎng)強(qiáng)度減去對(duì)應(yīng)的偏移量,即可校準(zhǔn)硬磁干擾。消除軟磁干擾的補(bǔ)償算法較為復(fù)雜,在低成本的控制器上不易實(shí)現(xiàn)且效果有限,因此在本設(shè)計(jì)中選用了優(yōu)化磁阻傳感器安裝位置的方法,以降低其他磁性材料對(duì)地磁場(chǎng)的干擾,保證羅盤精度。
總結(jié)
本文依據(jù)磁羅盤測(cè)向原理,設(shè)計(jì)了具有傾斜補(bǔ)償功能的小體積、低功耗數(shù)字羅盤。該羅盤采用數(shù)字磁阻傳感器HMC5883L及超低功耗處理器ATmega16L,具有電路結(jié)構(gòu)簡(jiǎn)單、集成度高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。實(shí)驗(yàn)證明,經(jīng)算法補(bǔ)償后,該電子羅盤精度可以達(dá)到±1°。由于硬件成本低、功耗小,它也適用于便攜導(dǎo)航、小型飛行器控制,以及用于其他需要測(cè)量?jī)A角和方位角的場(chǎng)合。
馬龍一
版權(quán)所有 未經(jīng)許可不得轉(zhuǎn)載
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證備案號(hào):遼ICP備14006349號(hào)
網(wǎng)站介紹 商務(wù)合作 免責(zé)聲明 - html - txt - xml