基于PNI傳感器的電子指南針
1)拉低SSNOT;
2)復(fù)位一次11096,即把RESET拉高5μs再拉低,每次測(cè)量都要復(fù)位一次,復(fù)位后DRDY自動(dòng)變?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與單片機(jī)的接口電路如圖5所示。
1.2.3 休眠節(jié)電工作方式的原理
指南針采用了休眠節(jié)電方式。當(dāng)CPU處于等待時(shí)進(jìn)入休眠節(jié)電工作模式,降低電能損耗,一旦有外部的觸發(fā)信號(hào)或等待時(shí)間到,CPU從休眠狀態(tài)中被喚醒,重新進(jìn)入正常程序執(zhí)行工作方式。Atmega16處在掉電休眠模式狀態(tài)時(shí),其本身的耗電量小于1μA。
2 系統(tǒng)軟件設(shè)計(jì)
該電子指南針使用編譯器winavr,采用C語言進(jìn)行編程,具有很好的可移植性。整個(gè)系統(tǒng)軟件包括主程序、普通模式子程序、校準(zhǔn)模式子程序、定向模式子程序等。
主程序負(fù)責(zé)初始化各個(gè)功能模塊,上電便顯示普通模式,通過按鍵選擇可以進(jìn)入其他模式。此外,程序中配置了與休眠功能相關(guān)的寄存器,當(dāng)達(dá)到要求時(shí)系統(tǒng)進(jìn)入休眠模式。
2.1 普通模式子程序
根據(jù)傳感器PNI11096測(cè)得的x、y值,單片機(jī)計(jì)算出方向角angle,并在液晶顯示器上顯示方向(如南偏東15°)。當(dāng)指向南方時(shí),蜂鳴器響。程序流程圖如圖6所示。本文引用地址:http://www.ex-cimer.com/article/160975.htm
2.2 校準(zhǔn)子程序
選擇校正模式,整個(gè)系統(tǒng)在水平面上旋轉(zhuǎn)一周,干涉磁場(chǎng)與地球磁場(chǎng)疊加會(huì)有一個(gè)最大值和一個(gè)最小值,記錄下這兩個(gè)值。通過校正即可消除干涉磁場(chǎng)的影響。流程圖如圖7所示。
評(píng)論