摘要:鑒于采用磁阻傳感器的數(shù)字指南針體現(xiàn)了高精度、高靈敏度的特點,提出基于PNI傳感器的電子指南針系統(tǒng)。該系統(tǒng)以Atmega16作為主控芯片,由SEN-R65磁阻傳感器、PNI11096磁場測量芯片組成數(shù)據(jù)采集端,由1602液晶、蜂鳴器、二極管及按鍵組成人機交互平臺,實現(xiàn)了顯示當(dāng)前方向角、多級菜單操作、指南蜂鳴、磁場校準(zhǔn)、定向?qū)Ш?、休眠?jié)能等多項功能。實驗證明,該電子指南針的方向角絕對誤差降低至1.73%。
關(guān)鍵詞:指南針;PNI傳感器;Atmega16單片機;SEN-R65磁阻傳感器
機械式儀器體積龐大,維修困難。隨著電子技術(shù)的飛速發(fā)展以及傳感器技術(shù)的日趨成熟,各種機械式測量儀器已經(jīng)逐漸向電子數(shù)字儀器轉(zhuǎn)換,其精度要比機械式高若干倍。指南針也不例外,磁阻傳感器能準(zhǔn)確測出微弱卻無處不在的地球磁場,如PNI公司的SEN-R65磁阻傳感器,具有體積小、精度高、穩(wěn)定性好,價格低等特點,使得指南針高精度化數(shù)字化變得簡易可行。由于驅(qū)動電路簡單,設(shè)計師可以把精力集中在更多創(chuàng)意設(shè)計上。筆者設(shè)計的電子指南針結(jié)構(gòu)簡單,功能齊全,可以安裝在GPS導(dǎo)航系統(tǒng)以及一些機器上,應(yīng)用前景廣泛。
1 系統(tǒng)硬件設(shè)計
1.1 系統(tǒng)組成
本方案采用PNI傳感器,以AVR單片機Atmega16為主控芯片,并采用SPI進行數(shù)據(jù)采集端與Atmega16的通信,整個系統(tǒng)由PNI傳感器模塊、中心控制模塊、1602液晶和LED顯示模塊、蜂鳴器報警模塊、按鍵模塊及其他外設(shè)模塊組成。系統(tǒng)總體框架如圖1所示。
1.2 理論分析及數(shù)值計算
1.2.1 傳感器模塊原理
1)地球磁場向量 圖2所示為地球某一點的地球磁場向量He的三維圖,其中,x軸和y軸與地球表面平行,z軸垂直指向下。指南針的基本任務(wù)就是測量磁場北極(圖2中的He,即地球磁場的水平分量)與前進方向的夾角(方位角α)。在圖2中,α是從磁場的北極順時針計算的(如,東是90°,西是270°)
2)磁阻傳感器SEN-R65傳統(tǒng)的磁場測量采用電感線圈,在地球磁場產(chǎn)生的感應(yīng)電流非常微弱,不便于A/D采樣,增加了測量難度。本文采用的磁阻傳感器為SEN-R65,根據(jù)電場和磁場原理,當(dāng)在鐵磁合金薄帶的長度方向施加一個電流時,如果在垂直于電流的方向再施加磁場,鐵磁性材料中就有磁阻的非均質(zhì)現(xiàn)象出現(xiàn),從而引起合金帶自身的阻值變化。SEN-R65傳感器為固態(tài)元件,體積小,測量精度高,最小分辨率可達0.000 15高斯,非常適合測量地球磁場。注:兩個SEN-R65磁阻傳感器在實際焊接時要垂直擺放。[!--empirenews.page--]
3)磁場測量芯片PNI11096通過磁阻效應(yīng)可以把磁場的變化轉(zhuǎn)換成對應(yīng)變化的電流,但所得到的電流比較微弱,很難進行A/D轉(zhuǎn)換,因此要經(jīng)過信號放大電路進行放大,再通過A/D轉(zhuǎn)換就可以得到對應(yīng)的數(shù)字量,這樣才能讓單片機識別。PNI公司的PNI11096芯片能夠同時對3軸磁場強度(即x,y,z軸)進行測量,且集成了放大和模數(shù)轉(zhuǎn)換電路。在整個PNI11096信號處理電路中包含3個主要的部分,如圖3所示。
1.2.2 SPI模塊接口電路
PNI11096的SPI總線的時序如圖4所示,比通常的SPI總線多了DRDY和RESET。以下為讀取數(shù)據(jù)的步驟:
[!--empirenews.page--]
1)拉低SSNOT;
2)復(fù)位一次11096,即把RESET拉高5μs再拉低,每次測量都要復(fù)位一次,復(fù)位后DRDY自動變?yōu)榈停?br />
3)DRDY變?yōu)榈秃?,指?讀x軸為0X41,y軸為0X42)從MOSI傳入11096;
4)寫入指令后等待DRDY變高,表示11096已經(jīng)準(zhǔn)備好數(shù)據(jù),在MISO讀取數(shù)據(jù)即可。
PNI11096與單片機的接口電路如圖5所示。
1.2.3 休眠節(jié)電工作方式的原理
指南針采用了休眠節(jié)電方式。當(dāng)CPU處于等待時進入休眠節(jié)電工作模式,降低電能損耗,一旦有外部的觸發(fā)信號或等待時間到,CPU從休眠狀態(tài)中被喚醒,重新進入正常程序執(zhí)行工作方式。Atmega16處在掉電休眠模式狀態(tài)時,其本身的耗電量小于1μA。
2 系統(tǒng)軟件設(shè)計
該電子指南針使用編譯器winavr,采用C語言進行編程,具有很好的可移植性。整個系統(tǒng)軟件包括主程序、普通模式子程序、校準(zhǔn)模式子程序、定向模式子程序等。
主程序負責(zé)初始化各個功能模塊,上電便顯示普通模式,通過按鍵選擇可以進入其他模式。此外,程序中配置了與休眠功能相關(guān)的寄存器,當(dāng)達到要求時系統(tǒng)進入休眠模式。
2.1 普通模式子程序
根據(jù)傳感器PNI11096測得的x、y值,單片機計算出方向角angle,并在液晶顯示器上顯示方向(如南偏東15°)。當(dāng)指向南方時,蜂鳴器響。程序流程圖如圖6所示。
2.2 校準(zhǔn)子程序
選擇校正模式,整個系統(tǒng)在水平面上旋轉(zhuǎn)一周,干涉磁場與地球磁場疊加會有一個最大值和一個最小值,記錄下這兩個值。通過校正即可消除干涉磁場的影響。流程圖如圖7所示。
[!--empirenews.page--]
2.3 導(dǎo)航子程序
進入導(dǎo)航模式,用戶選擇好行進的方向角,按確定鍵保存。在定向過程中,當(dāng)前角度angle不斷與α對比,小于α則右邊指示燈閃爍,大于α則左邊指示閃爍,等于α則中間指示燈閃爍,如圖8所示。
3 結(jié)果與分析
PNI11096讀出來的數(shù)據(jù)經(jīng)過單片機處理,得到0~360°的方向角,并用機械式指南針作為標(biāo)準(zhǔn),進行標(biāo)定試驗。測試數(shù)據(jù)如表1所示,方向角測試誤差絕對值的平均值為6.25°,相對誤差為1.73%。
4 結(jié)論
本文設(shè)計的電子指南針利用了PNI公司的磁阻傳感器SEN-R65和專用的驅(qū)動芯片11096,以ATmega16為主控芯片,方向角測試平均誤差為6.25°。系統(tǒng)多級菜單,界面操作簡易,并設(shè)置了休眠掉電模式,降低了系統(tǒng)功耗。