//Logo Image
作者:林能祺、卓尚澤(2009-07-24)推薦:徐業良(2009-07-25)

HMC6352電子羅盤應用

本文敘述如何應用HMC6352電子羅盤,除了介紹HMC6352的基本規格,同時也敘述如何使用pic-PROTO讀出量測值,包含範例程式與測試結果。

1.     HMC6352介紹

電子羅盤HMC6352由美國Honeywell公司出品,採雙軸磁場感測器結構,結合所需的類比和數位電路用於定向計算,並將感測器元件和所有處理電子元件集成到一個6.5×6.5×1.5mmLCC封裝中(如圖1),此種封裝有體積小、重量輕與低成本的優點。HMC6352可用於無線電話、家用電子設備、車輛的定位和天線的定位。

1. HMC6352 LCC封裝

電子羅盤HMC6352搭配其內建感測電路及周邊電路和微電腦,量測雙軸磁場並計算與地球磁場的交角來估算方位角,外部則透過I2C介面傳輸。單一個HMC6352LCC包裝,為了開發上方便,可採用圖2所示為開發板套件,總共有4支腳位,分別為GNDVCCSDASCL,開發板外型尺寸為20×25×5mmHMC6352的工作電壓為2.7V~5.2V,解析度為0.5度,精度為1.0度,其他相關特性如表1

2. HMC6352開發板

1. HMC6352特性

特性

數值範圍

單位

額定電壓

2.7~5.2

volts

消耗電流

2

mA@5V

最大磁力範圍

10,000

Gauss

方位正確度

2.5

degRMS

方位解析度

0.5

deg

方位精度

1.0

deg

輸出指向

0.0~359.0

deg

工作溫度

-20~70

重量

0.14

gm

2.     硬體接線

本節敘述透過I2C介面將HMC6352開發板將方位角資料傳輸至pic_PROTO。圖2HMC6352對應pic_PROTO腳位接角如表2HMC6352的電源採用pic_PROTO上的+5V的電源,並將地線接在一起,HMC6352SCLSDA分別接上pic_PROTORC3RC4I2C硬體線。

2. HMC6352相對應pic_PROTO腳位

編號

HMC6352接腳定義

PIC-PROTO對應接腳

1

VCC

+5V

2

GND

GND

3

SCL

RC3

4

SDA

RC4

pic_PROTO板上RC3RC4的電路設計有2.2Kohm的提升電阻(RP4),並將腳位延伸至CN2.11CN2.13,依據HMC6352的標準需採用10Kohm的提升電阻,所以必須先移除原有的RP4排阻,並換上10Kohm的排阻,電路圖如圖3

3. HMC6352 I2C提升電路

接下來將HMC6352的腳位依序接在pic_PROTO上的CN2.7CN2.9CN2.11CN2.13,如圖4,並對映表2的順序,硬體接線始完成。

1 2 3 4

 

4. pic_PROTO腳位圖

3.     範例程式

範例程式分為三個部份,第一部份為入口前端定義,第二部份為副函式,第三部份為主程式。在第一部份中(如圖5),前4行為定義使用何種單晶片,以及使用的單晶片時脈和RS-232的鮑率和腳位;第5行與第6行則定義了pic_PROTOI2C使用MASTER的角色及腳位定義的宣告;第79行則定義了寫入HMC6352各種動作的位址。

5. 第一部份入口前端定義

第二部份為副函式,宣告HMC6352_read_heading為一個int16的副函式,最後會回傳一個16bit的值,以方便主程式撰寫;圖6中第4“i2c_start( );”後緊接寫入SLAVEI2C位址,並告訴HMC6352開始量測的動作;等待7ms量測結束後,再起始I2C並寫入讀值的位址,將量測值讀回來;最後轉換兩個byte的值,並回傳給變數。

6. 第二部份副函式

第三部份為主程式(如圖7),只需在主程式中宣告一個int16的變數heading,並將第二部份的“HMC6352_read_heading( )”讀回便可得到電子羅盤所在位置的方位角;輸出值為0~3599,單位為0.1deg;將值每0.5秒直接印在終端機上,並使用A4_LED來確定系統運作正常。

7. 第三部份主程式

4.     測試結果

為了驗證本文HMC6352電子羅盤讀取的正確性,本節中設計一簡易實驗,以一個磁羅盤來驗證HMC6352的讀數。

如圖8所示,將HMC6352和一磁羅盤分別置於同一個水平面上,由於磁羅盤本身帶有一點磁性會改變電子羅盤周圍的磁場,因此兩個羅盤需距離15cm以上,且桌面不可為帶有鐵材的材質或會改邊羅盤周圍磁場的物品,以免影響實驗正確性。將磁羅盤與電子羅盤同時旋轉一周,每隔方位角30度由HMC6352讀取100筆資料加以平均,電子羅盤讀數與磁羅盤比較結果如圖9所示。電子羅盤的輸出結果,並非完全線性,其規格書中也說明正確度為2.5度,因此當要使用此電子羅盤時,需確認其誤差是否為可接受範圍再使用。

8. 以一個磁羅盤來驗證HMC6352的讀數

9. 電子羅盤讀數與磁羅盤比較