??? 摘 要:以C8051F020單片機為控制核心、數字羅盤HMR3000為磁北傳感器,設計了基于數字羅盤HMR3000的智能尋向系統。硬件部分詳述了方位信號通信電路、步進電機驅動電路、鍵盤電路和LCD顯示電路等;軟件部分重點研究了系統主程序、方位通信子程序、數據處理子程序和步進電機驅動子程序等。分析了系統誤差并提出了使用注意事項。經過調試,該系統具有尋向速度可調、精度較高、方向自動保持等優點。
??? 關鍵詞:數字羅盤HMR3000;C8051F單片機;方位
?
??? 方位測量標定在大地測量、導航尋向領域中有非常重要的作用。工程實踐中常采用參考地標法或GPS定向法來實現,但是在某些既無地標而又要求獨立定向的場合,2種方法都有不足之處。本設計采用數字羅盤標定出正北方向,利用鍵盤輸入的方位期望值和正北方向的差值做控制信號,通過控制安裝有指向設備的步進電機,可以達到獨立智能尋向定向的目標。
1 總體方案設計
??? 系統原理如圖1所示,該系統以C8051F020 單片機為控制核心,主要由方位信號通信電路、步進電機驅動電路、鍵盤通信電路和LCD顯示電路等部分組成。
?
??? 尋向定向系統需要指向設備,即帶有方位指向功能的設備,如激光束、經緯儀、雷達等。步進電機轉軸軸向鉛垂向下(利用三腳架和調平設備調節),將指向設備和數字羅盤安裝在步進電機轉軸上,這樣就能利用數字羅盤HMR3000的偏航軸來敏感水平地磁場,同時精確標定出數字羅盤敏感軸向和指向設備軸向的安裝夾角θA。根據安裝夾角θA和數字羅盤敏感到的方位角計算出此時指向設備軸向的方位角,通過鍵盤輸入最終需要的方位期望值。此時方位角和方位期望值之間存在差信號,利用差信號閉環控制步進電機進動,使指向設備指向期望方位值并定向,完成尋向定向的目的。
2 硬件電路模塊介紹
2.1 方位信號通信電路
??? 系統利用數字羅盤作為磁北傳感器。數字羅盤也稱為電子羅盤,是利用敏感地磁北極的方法來定方位的一種傳感器。本設計采用了Honeywell公司三軸數字羅盤HMR3000,它由三軸磁阻傳感器和一個充有液體的兩軸傾斜傳感器組成,可以測量3個角度上的角度變化;能實時準確輸出被測物體的俯仰角、滾動角和偏航角;數據刷新頻率為20 Hz,航向精度為0.1°,誤差為±0.5°,工作狀態傾斜角度為±40°;野外作業適應能力強。
??? 數字羅盤HMR3000按照NMEA 格式,通過RS232/485串口提供航向輸出(橫滾、俯仰、偏航)。在本方案中,利用其偏航軸敏感水平磁場,結合單片機形成具有方位信號通信功能的電路模塊。由于HMR3000輸出的RS-232信號電平與C8051F020單片機I/O串行端口電平不匹配,故采用電平轉換芯片MAX202來完成二者之間的電平轉換,具體電路如圖2所示。
?
?
2.2步進電機驅動電路
??? 從系統精度方面考慮,步進電機自身的步距角要盡可能少地增加系統誤差。鑒于HMR3000的精度為0.1°,故選用步距角為0.09°/0.18°的五相混合式電機110BYG5200,適配的電機驅動器為HB505A。采用C8051F020單片機的P6口為控制驅動,各引線的具體功能如下:CP為步進脈沖信號輸入端;CW/CCW為方向控制信號輸入端;F.H為步距控制控制信號輸入端;FRE為脫機控制信號輸入端;POW為電源指示輸出;TIM為相原點指示輸出;COM為信號公共端,驅動電路各引線連接如圖3所示。
?
?
2.3 LCD顯示電路
??? LCD顯示電路中液晶顯示驅動芯片采用Samsung公司的KS0713TB,為節省單片機硬件資源,設計中該顯示驅動芯片與C8051F020之間采用I2C總線串行通信。KS0713TB工作在串行模式,其中各接口端子的功能為:接口端子DB6、DB7為串行通信端子;MI為微處理器接口選擇針腳;RESETB為復位重啟;PS為串/并行選擇;RW_WR、 E_RD同為讀寫控制;RS為片上寄存器選擇;CS1B、CS2同為片選輸入選擇。具體連接如圖4所示。
?
?
2.4 鍵盤電路
??? 鍵盤通信主要指按鍵的識別,實際應用中常用行掃描法、線翻轉法以及利用8279鍵盤接口芯片的中斷法。其中中斷法可以節省硬件資源,提高處理速度。本設計中考慮到單片機系統稍微復雜,處理器單元資源較為緊張,故采用4×4鍵盤通過8279接口芯片中斷識別的方法。
3 軟件設計
??? 尋向定向系統的軟件流程主要由端口初始化、方位信號通信程序、數據處理程序、步進電機驅動程序和LCD顯示驅動程序等構成。軟件部分主程序流程如圖5所示。
?
?
??? 該程序為循環程序,每一次開機后執行一個方位值的尋向定向。一次開機運行后,在LCD的提示下,利用鍵盤輸入方位期望值并儲存在指定的寄存器中維持不變,通過與方位信號通信,程序傳輸過來的角度值的實時比較來控制步進電機進動,使指向設備在一次開機后始終指向此期望方位。若要尋找新方位,需要重啟系統。
3.1 方位通信程序
??? 方位通信程序用來完成HMR3000和C8051F020的通信。HMR3000有6種可供選擇的NMEA信息標準,此處采用HPR格式。HPR格式將HMR3000數字羅盤的3個重要的測量結果(俯仰、滾動、偏航)和相應的測量狀態結合在一起。單片機將其中的姿態字符輸出并轉化為可供系統處理的數值變量。由于在本方案中通過敏感水平磁場就可以指向出磁北,故只需要在輸出的數據中分離出偏航數據,格式轉換后進行后續處理。由于HMR3000的刷新速率為20 Hz,所以在掃描端口時要根據實際需要設定掃描端口的頻率,防止因為程序運行和電機進動時間的不匹配或環境磁場的變化而導致的步進電機無法穩定在允許誤差范圍之內。考慮到在一次使用中,期望方位值在相對較長時間內比較固定,可以將掃描時間設置在秒級。方位信號處理程序流程圖如6所示。
?
3.2 數據處理程序
??? 該程序用來處理方位數據之間的數量關系,是軟件部分的重點。其中“方位輸出值”指HMR3000的輸出,以磁北為起始零值,順時針增加;“方位值”以正北為起始零值,順時針增加。參照圖7,數據處理原理如下:
??? 磁偏角(磁北和正北的夾角):θ
??? 安裝角(數字羅盤偏航軸和安裝設備之間的夾角):θA
??? 數字羅盤方位輸出值:θC
??? 指向設備的方位值:θZ=θC+θA+θ
??? 期望方位值(鍵盤輸入):θK
??? 動態差角:θD=θK-θZ
??? 期望方位值與指向設備的方位值允許誤差限:γ
??? 根據方案設計可以得到:
??? 用θD角度值的正負控制步進電機進動,使得θD不斷減小。到精度允許的范圍γ即θD<γ時,完成尋向并標定。各角度之間關系如圖7所示。
?
?
3.3步進電機驅動程序
??? 根據方案設計,步進電機驅動程序具有根據動態差角θD的正負控制步進電機正反向進動的功能,并能根據不同場合對尋向時間的要求進行程序調整。設計用脈沖量序列驅動電機正轉或反轉,通過對等待時間的調整實現變速的功能,如圖8所示。
?
?
??? 驅動電機的判向環節是需要重點考慮的部分。由于在程序中代表角度值的變量定義為無符號數,在具體的判斷時無法根據角度值的正負來判斷電機是正轉或反轉。但是在實際情況中又確實存在θD<0的情況,故本系統此處采用如下的處理算法:首先將期望方位值θK先加上360°后再與指向設備方位值θZ做差,然后將此差值在程序中對360°取余數,最后利用此余數同180°進行比較。當余數大于180°時正轉,小于180°時反轉,達到根據不同需要控制電機轉向的目的。讀者可以選擇不同情況下的角度值驗證該算法。
4 系統誤差分析
??? 在此方案中,尋向精度是一個重要的指標。誤差的來源主要有以下幾個方面:
??? (1)HMR3000的誤差
??? 由于HMR3000是通過敏感地磁感線來工作的,所以外界環境對它的影響會比較明顯。在附近有鐵磁性礦體、大型工程車輛等可以產生影響地磁場分布的干擾磁場的物質存在的情況下,HMR3000的精度會受到影響。雖然HMR3000自身有標校程序,在干擾磁場小于指定閾值范圍值時可以通過內置程序自動補償的方法而減小這種影響,但是在磁場較大時這種誤差補償的精度是無法保證的。
??? HMR3000本身的誤差為0.5°,這也是誤差的重要來源;
??? (2)步進電機的步距角
??? 步進電機的步距角是步進電機的固有參數,在一定程度上影響著系統誤差。為提高系統精度,本方案采用步距角為0.09°的電機,一定程度上減小了系統誤差;
??? (3)其他誤差
??? 磁偏角θ的誤差、安裝角θA的檢定誤差和誤差限γ也是系統誤差的來源。
??? 因此,在使用此系統的過程中為獲得較高的測量精度,需要注意以下幾方面:(1)視環境使用,避免在干擾磁場的強度超過閾值的環境中使用;(2)根據實際精度需要選用合適的步進電機;(3)在設備定型時,精確測量出安裝角θA;(4)選用較小的誤差限γ。采用以上措施,可以適當地減小系統誤差。
??? 本方案設計的系統操作簡單,實時性好,可根據用戶需要獨立智能尋向定向。系統方案的自身情況決定了系統最終尋向精度。在滿足精度要求的情況下可以在航海浮標定位、雷達天線伺服控制、大地測量和自動控制等需要尋向定向的領域發揮一定的作用。
參考文獻
[1]??Silicon Laboratories Inc. C8051F020 datasheet.2003.
[2]? 張培仁,孫力.基于C語言C8051F系列微控制器原理與應用[M].北京:清華大學出版社,2007.
[3]? 求是科技.單片機典型模塊設計實例導航[M].北京:人民郵電出版社,2008.
[4]? Honwell Company. HMR3000 datasheet.2002.
[5]? Philips Semiconductors. PCF8575 datasheet.1997.