国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)字羅盤(pán)HMR3500基于Wince系統(tǒng)的應(yīng)用與編程

2013-10-13 11:50孫雷梅志千李向國(guó)
機(jī)械制造與自動(dòng)化 2013年1期
關(guān)鍵詞:羅盤(pán)字符串字節(jié)

孫雷,梅志千,李向國(guó),朱 靜

(1.河海大學(xué)機(jī)電工程學(xué)院,江蘇常州 213022;2.棗莊市水利局勝利渠管理處,山東 棗莊 277317)

0 引言

HMR3500數(shù)字羅盤(pán)是美國(guó)Honeywell公司新近生產(chǎn)的數(shù)字磁羅盤(pán)模塊,它通過(guò)對(duì)地球磁場(chǎng)等信息的讀取、計(jì)算,并能實(shí)時(shí)精確輸出地載體的航向角、縱傾角和橫傾角三個(gè)方向上的姿態(tài)數(shù)據(jù)等參數(shù),廣泛應(yīng)用于航海、航天、測(cè)量系統(tǒng)等領(lǐng)域。與Honeywell公司前一代數(shù)字電子羅盤(pán)HMR3000相比,具有更大的測(cè)量范圍,且接收數(shù)據(jù)的格式包不相同。數(shù)字電子羅盤(pán)HMR3500與上位機(jī)通過(guò)RS-232進(jìn)行串行通信,實(shí)現(xiàn)與上位機(jī)的信息交流與控制,從而在上位機(jī)中實(shí)現(xiàn)精確定位導(dǎo)航功能。在工業(yè)控制的機(jī)器中普遍裝有嵌入式操作系統(tǒng),本文結(jié)合帶有微軟Wince操作系統(tǒng)的設(shè)備平臺(tái)對(duì)HMR3500的應(yīng)用和開(kāi)發(fā)介紹。

1 HMR3500硬件描述

HMR3500數(shù)字磁羅盤(pán)是一個(gè)很小的電路模塊。它的主要構(gòu)成部件如圖1所示,主要被用于測(cè)量模塊的三維定向。三個(gè)硅磁力計(jì)被用于測(cè)量地球的磁場(chǎng)。三個(gè)硅加速計(jì)被用于測(cè)量地心引力向量,同時(shí)在計(jì)算羅盤(pán)方位角時(shí)提供傾斜補(bǔ)償。輸入電源通過(guò)幾個(gè)集成電路供電電源裝置轉(zhuǎn)化達(dá)到模塊指定的電壓要求。數(shù)據(jù)和信號(hào)處理是通過(guò)一個(gè)16位微控制器及相關(guān)固件進(jìn)行的。固件將傳感器信號(hào)轉(zhuǎn)換成適當(dāng)?shù)碾x散型變量,并對(duì)加速計(jì)和磁力計(jì)的讀數(shù)進(jìn)行處理以完成傾斜補(bǔ)償[1]。

圖1 HMR3500數(shù)字磁羅盤(pán)模塊示意圖

2 HMR3500數(shù)據(jù)傳輸與通信協(xié)議

HMR3500與工業(yè)控制計(jì)算機(jī)的接口是用標(biāo)準(zhǔn)的RS-232 T型頭接口,采用串口通信方式進(jìn)行數(shù)據(jù)傳輸。串口通信運(yùn)行的波特率為9 600 bit/s,1位開(kāi)始位,8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)位,非同步進(jìn)行。具體連接電路如圖2所示。

圖2 HMR3500數(shù)字磁羅盤(pán)通信接口示意圖

HMR3500數(shù)據(jù)包格式,格式如下

標(biāo)題 數(shù)據(jù) 文尾字節(jié)數(shù)5 18 1

標(biāo)題字段,格式如下

______________信息包源 信息包ID 字節(jié)計(jì)數(shù)_____字節(jié)數(shù)3 1 1

標(biāo)題字段的前三個(gè)字節(jié)是固定的,按照順序排列,分別為0x0D,0x0A和0x7E,它們分別為回車(chē)、換行和代字號(hào)(~)的ASCII代碼,信息包ID為返回的信息包類(lèi)型,0x70羅盤(pán)定向指令,字節(jié)計(jì)數(shù)為18字節(jié)。羅盤(pán)定向數(shù)據(jù)包字節(jié)如表1所示。

表1 HMR3500輸出數(shù)據(jù)格式

3 HMR3500與外部嵌入式Wince操作系統(tǒng)主機(jī)的通信與編程

基于Wince嵌入式操作系統(tǒng)的軟件是由eVC開(kāi)發(fā)平臺(tái)開(kāi)發(fā),HMR3500通過(guò)RS-232與外部主機(jī)相連,發(fā)送與接收信息由簡(jiǎn)單的ASCII字符串組成的,滿足通信協(xié)議數(shù)據(jù)包格式,HMR3500根據(jù)指定的格式發(fā)送數(shù)據(jù)包到主機(jī),主機(jī)根據(jù)指令格式解析數(shù)據(jù)包,并完成數(shù)據(jù)處理,最終得到HMR3500返回的當(dāng)前狀態(tài)各項(xiàng)參數(shù)[2]。

串口編程的方法有使用 MSComm控件編程、使用WinAPI串口編程等,在eVC開(kāi)發(fā)環(huán)境下不存在MSComm控件,因此可以采用WinAPI串口編程方式。使用WinAPI進(jìn)行串口通信程序設(shè)計(jì),具有很強(qiáng)的靈活性,但編程復(fù)雜,編程人員需要多了解相關(guān)的函數(shù)。與HMR3500的通信,只需要在主機(jī)方編寫(xiě)接收程序即可。針對(duì)HMR3500的應(yīng)用編寫(xiě)串口程序的步驟可分為以下幾步:創(chuàng)建串口、配置串口、讀串口并數(shù)據(jù)處理、關(guān)閉串口[3]。

1)打開(kāi)串口

如圖3所示,經(jīng)過(guò)上述讀串口程序,將讀取的串口數(shù)據(jù)放到了char型字符組str中,從字符串str的起始位置查找包頭字符串,如果查找到包頭字符串,取出包頭字符串后18位字符存放到新的char型變量string中,否則返回重新讀取串口操作。在變量string中,分別針對(duì)HMR3500發(fā)送數(shù)據(jù)包的格式進(jìn)行解包,取出HMR3500對(duì)應(yīng)的數(shù)據(jù)字符位,并進(jìn)行int型強(qiáng)制轉(zhuǎn)換,將HMR3500要輸出的各參數(shù)高低位運(yùn)算求和,輸出電子羅盤(pán) HMR3500各項(xiàng)參數(shù)[4]。

4)關(guān)閉串口

圖3 HMR3500讀串口數(shù)據(jù)處理流程圖

4 結(jié)論

由于HMR3500與主機(jī)通訊采用標(biāo)準(zhǔn)的RS-232串口通信,接口較為簡(jiǎn)單,采用高級(jí)語(yǔ)言能夠使得接收的數(shù)據(jù)控制處理比較靈活,且可移植性強(qiáng)。在工業(yè)控制計(jì)算機(jī)中,普遍采用Wince操作系統(tǒng),適合eVC編譯環(huán)境下開(kāi)發(fā),且與VC環(huán)境開(kāi)發(fā)幾乎相近,編程簡(jiǎn)單、易懂。此程序能在eVC編譯環(huán)境下編譯通過(guò),其精度高、響應(yīng)速度快,并能很好地應(yīng)用在已開(kāi)發(fā)的項(xiàng)目中。

[1]HMR3500 TruePoint Digital Compass User's Guide.Honeyewll.2007.8.

[2]汪兵,李存斌,陳鵬,等.EVC高級(jí)編程及其應(yīng)用開(kāi)發(fā)[M].北京:中國(guó)水利水電出版社,2005.

[3]龔建偉,熊光明.Visual C++/Turbo C串口通信編程實(shí)踐[M].北京:電子工業(yè)出版社,2004.

[4]文方,黃錢(qián)飛.HMR3000在機(jī)器人姿態(tài)自控系統(tǒng)上的應(yīng)用[J].工業(yè)控制與應(yīng)用,2010,29(6):27-28.

[5]張穎.基于高級(jí)語(yǔ)言的HMR3000模塊接口編程[J].兵工自動(dòng)化,2002,21(4):41-43.

猜你喜歡
羅盤(pán)字符串字節(jié)
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
基于文本挖掘的語(yǔ)詞典研究
No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
簡(jiǎn)談MC7字節(jié)碼
不宜上課
印尼《羅盤(pán)報(bào)》之中國(guó)國(guó)家形象
一種新的基于對(duì)稱(chēng)性的字符串相似性處理算法
依據(jù)字符串匹配的中文分詞模型研究
電子磁羅盤(pán)性能實(shí)驗(yàn)研究
一種針對(duì)Java中字符串的內(nèi)存管理方案