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