亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電子羅盤校準(zhǔn)方法的設(shè)計(jì)與實(shí)現(xiàn)

        2016-10-25 05:34:47唐原廣賈彩惠徐春玲
        海洋技術(shù)學(xué)報(bào) 2016年1期
        關(guān)鍵詞:羅盤控件方位

        唐原廣,賈彩惠,徐春玲

        (1.中國(guó)海洋大學(xué) 工程學(xué)院,山東 青島 266100;2.上海市機(jī)械工業(yè)學(xué)校,上?!?00000)

        電子羅盤校準(zhǔn)方法的設(shè)計(jì)與實(shí)現(xiàn)

        唐原廣1,賈彩惠1,徐春玲2

        (1.中國(guó)海洋大學(xué)工程學(xué)院,山東青島266100;2.上海市機(jī)械工業(yè)學(xué)校,上海200000)

        電子羅盤在波浪浮標(biāo)中用于實(shí)時(shí)提供波浪浮標(biāo)所處的方位。為解決嵌入了Matlab的電子羅盤校準(zhǔn)系統(tǒng)可移植性差、過程繁雜、運(yùn)行速度慢的問題,設(shè)計(jì)了新的校準(zhǔn)系統(tǒng)。將由14位串行A/D轉(zhuǎn)換器Max194從波高數(shù)據(jù)采集系統(tǒng)中獲得的模擬信號(hào)轉(zhuǎn)換成的數(shù)字信號(hào)接入到微控制器中,微控制器負(fù)責(zé)控制方位數(shù)據(jù)的采樣頻率和A/D轉(zhuǎn)換芯片,再利用串口轉(zhuǎn)換芯片將輸出的電平信號(hào)轉(zhuǎn)換成RS232信號(hào),由計(jì)算機(jī)對(duì)此進(jìn)行處理。該系統(tǒng)采用了繪圖功能完備、處理速度出眾、可移植性好的ProEssentials結(jié)合VC++來處理多功能方位測(cè)試臺(tái)采集到的方位數(shù)據(jù),并繪制成采樣數(shù)據(jù)比較圖和誤差圖,來直觀地展現(xiàn)電子羅盤的誤差情況。實(shí)驗(yàn)測(cè)試表明,該電子羅盤校準(zhǔn)系統(tǒng)具有可移植性好、功耗低、穩(wěn)定性強(qiáng)、運(yùn)行速度快的特點(diǎn)。該校準(zhǔn)系統(tǒng)已經(jīng)廣泛應(yīng)用于波浪浮標(biāo)、3 m浮標(biāo)等的生產(chǎn)中。

        電子羅盤;校準(zhǔn);VC++;ProEssentials

        電子羅盤是利用地磁場(chǎng)來測(cè)量方位的,在靜止或移動(dòng)狀態(tài)下均能給出方位信息,且不受高大阻擋物的影響[1]。但是電子羅盤本身存在一些誤差,具體可以分為兩類[2]:第一類是系統(tǒng)誤差,包括制造誤差、安裝誤差;第二類是由電子羅盤周圍工作環(huán)境因素造成的誤差,主要指羅差。正是由于這些誤差的存在,在安裝使用電子羅盤前,必須先對(duì)其進(jìn)行校準(zhǔn)。

        本文簡(jiǎn)要說明電子羅盤的組成,重點(diǎn)介紹結(jié)合VC++和ProEssentials兩者的優(yōu)勢(shì)開發(fā)出的能夠?qū)崟r(shí)采集、繪制方位采樣數(shù)據(jù)圖、無需安裝的電子羅盤校準(zhǔn)系統(tǒng),該方法能夠更直觀、更快捷、更準(zhǔn)確地對(duì)電子羅盤進(jìn)行校準(zhǔn)。

        1 電子羅盤的組成

        電子羅盤主要由HMC1002型磁阻傳感器、放大、濾波電路、A/D轉(zhuǎn)換器、微處理器等組成。如圖1所示。

        圖1 電子羅盤框圖

        電子羅盤的核心器件HMC1002是小型集成電路封裝(SOIC)的雙磁場(chǎng)傳感器。兩個(gè)傳感器的敏感方向互相垂直。傳感器A感應(yīng)與外封裝長(zhǎng)邊方向平行的磁場(chǎng),傳感器B感應(yīng)與外封裝長(zhǎng)邊方向垂直且與表面平行的磁場(chǎng)[3]。

        電子羅盤的基本工作流程如圖2所示。

        圖2 電子羅盤工作流程

        (1)首先電子羅盤系統(tǒng)進(jìn)行初始化;

        (2)初始化串口芯片之后,由定時(shí)器1控制數(shù)據(jù)采集系統(tǒng)的采樣間隔,進(jìn)行數(shù)據(jù)采集;

        (3)將采集到的方位數(shù)據(jù)進(jìn)行濾波去掉干擾量后再放大;

        (4)A/D轉(zhuǎn)換器將采集到的模擬量轉(zhuǎn)換成數(shù)字量;

        (5)將得到的數(shù)字量由串口發(fā)送到計(jì)算機(jī)中。

        2 校準(zhǔn)實(shí)驗(yàn)數(shù)據(jù)采集

        校準(zhǔn)實(shí)驗(yàn)進(jìn)行數(shù)據(jù)采集前,要先在電子羅盤的輸出上接一個(gè)四位的顯示器,然后由水平尺調(diào)整測(cè)試臺(tái)使臺(tái)面水平(注意此時(shí)應(yīng)保持測(cè)試臺(tái)周圍1 m范圍內(nèi)無鐵磁物質(zhì),否則會(huì)影響磁場(chǎng)),選定電子羅盤的輸出零點(diǎn)與正北方向一致,以它們的交點(diǎn)作為基準(zhǔn)點(diǎn),以基準(zhǔn)點(diǎn)處的數(shù)據(jù)顯示為剛過0°為佳,將電子羅盤固定在方位測(cè)試臺(tái)上。

        數(shù)據(jù)采集時(shí)順時(shí)針旋轉(zhuǎn)測(cè)試臺(tái)的羅盤,每旋轉(zhuǎn)1°改變MSComm控件的DSRHolding屬性,發(fā)送數(shù)據(jù)傳輸信號(hào),程序在所在方位上進(jìn)行10次采樣。計(jì)算機(jī)自動(dòng)對(duì)10個(gè)數(shù)據(jù)進(jìn)行分析并記錄下10個(gè)數(shù)據(jù)的平均值作為電子羅盤此位置的方位數(shù)據(jù),測(cè)試臺(tái)旋轉(zhuǎn)每一周后,記錄下360個(gè)數(shù),并保存數(shù)組中。

        3 上位機(jī)軟件設(shè)計(jì)

        本設(shè)計(jì)由界面設(shè)計(jì)良好、數(shù)據(jù)處理功能強(qiáng)大的VC++對(duì)采樣數(shù)據(jù)進(jìn)行接收與處理;由繪圖功能完備、處理速度出眾、可移植性好的ProEssentials繪制采樣數(shù)據(jù)圖和誤差分析圖。

        該系統(tǒng)主要負(fù)責(zé)接收實(shí)驗(yàn)采集到的方位數(shù)據(jù)并進(jìn)行存儲(chǔ)、計(jì)算、分析、繪圖、誤差處理,其中繪圖功能主要通過ProEssentials實(shí)現(xiàn),并將方位數(shù)據(jù)以標(biāo)準(zhǔn)格式制成匯編代碼自查表植入單片機(jī)存儲(chǔ)芯片內(nèi),由單片機(jī)對(duì)電子羅盤進(jìn)行校準(zhǔn)。具體的實(shí)現(xiàn)流程如圖3所示。

        圖3 程序流程圖

        3.1串口通信的實(shí)現(xiàn)

        界面開發(fā)時(shí),用VC++創(chuàng)建一個(gè)基于對(duì)話框的工程,串口通信采用 Visual C++2008中提供的MSComm控件來實(shí)現(xiàn),MSComm控件通過串行端口傳輸和接收數(shù)據(jù),為程序提供串行通訊功能,在編程時(shí)非常方便,不必花時(shí)間去了解復(fù)雜的API函數(shù)[4]。

        MSComm控件提供了2種處理通信問題的方法:(1)事件驅(qū)動(dòng)方式;(2)查詢方式[5]。事件驅(qū)動(dòng)方式相當(dāng)于一般程序設(shè)計(jì)中的中斷方式,當(dāng)串口發(fā)生事件或者錯(cuò)誤時(shí),MSComm控件將激發(fā)OnComm事件,而應(yīng)用程序在捕獲事件后,通過檢查MSComm控件的CommEvent屬性獲得所發(fā)生的事件或者錯(cuò)誤。事件驅(qū)動(dòng)方式可靠性高,程序響應(yīng)及時(shí)[6]。本文將采用事件驅(qū)動(dòng)方式來實(shí)現(xiàn)串口通信。

        3.2數(shù)據(jù)接收與保存

        方位旋轉(zhuǎn)測(cè)試臺(tái)每轉(zhuǎn)動(dòng)1°計(jì)算機(jī)啟動(dòng)定時(shí)器1,延時(shí)100 ms后改變MSComm控件的DSRHolding屬性,發(fā)送數(shù)據(jù)傳輸信號(hào),在該方位上進(jìn)行10次采樣,采樣結(jié)束后關(guān)閉定時(shí)器1。計(jì)算機(jī)自動(dòng)對(duì)10個(gè)數(shù)據(jù)進(jìn)行分析,將其平均值作為電子羅盤此位置的方位數(shù)據(jù)。計(jì)算機(jī)接收方位數(shù)據(jù)的同時(shí)啟動(dòng)定時(shí)器2,該定時(shí)器每400 ms觸發(fā)一次,不斷刷新數(shù)據(jù)顯示區(qū)的數(shù)據(jù)顯示。10個(gè)數(shù)據(jù)接收完成后,關(guān)閉定時(shí)器2,停止數(shù)據(jù)顯示區(qū)的數(shù)據(jù)刷新。用 MFC的CStringArray類創(chuàng)建動(dòng)態(tài)數(shù)組,存儲(chǔ)采集到的方位數(shù)據(jù)。

        3.3基于ProEssentials的圖像繪制

        圖像顯示是本設(shè)計(jì)的主要功能之一,顯示的準(zhǔn)確、可靠、快速都直接關(guān)系著實(shí)驗(yàn)效率。在這一部分功能設(shè)計(jì)中,需要從準(zhǔn)確性、高效性、美觀性入手實(shí)現(xiàn)高質(zhì)量圖像繪制。

        VC++可以直接通過底層代碼實(shí)現(xiàn)圖像的繪制,也可以選擇調(diào)用外部控件進(jìn)行繪圖??紤]之前的嵌入了Matlab的電子羅盤校準(zhǔn)系統(tǒng)可移植性差、安裝步驟多、過程繁雜、運(yùn)行速度慢的問題,該設(shè)計(jì)的圖像繪制功能主要通過結(jié)合ProEssentials控件實(shí)現(xiàn),在ProEssentials這款軟件的基礎(chǔ)功能上進(jìn)行二次開發(fā)。

        ProEssentials對(duì)圖像繪制以及分析功能使用的數(shù)據(jù)和方法進(jìn)行了封裝,提供NET(WinForm)、DLL、ActiveX、VCL等的開發(fā)接口[7]??梢苑奖愕卦贛FC應(yīng)用程序中使用ProEssentials強(qiáng)大的圖形繪制功能和數(shù)據(jù)分析功能。

        ProEssentials提供了豐富的曲線繪制功能,使用者可以根據(jù)具體的需求選擇合適的曲線顯示類型,進(jìn)而選擇對(duì)應(yīng)的函數(shù)來完成曲線的繪制。ProEssentials提供的程序代碼中使用了大量封裝函數(shù)以及自定義變量,每一個(gè)函數(shù)和屬性變量,都可以在ProEssentials的用戶幫助手冊(cè)中找到意義以及使用方法,就像MSDN一樣十分方便。MFC結(jié)合ProEssentials實(shí)現(xiàn)圖像繪制功能的基本步驟如下:

        (1)在軟件工程中添加Pegraphi.h文件,添加PEGRAP32C.lib為附加依賴項(xiàng)。

        (2)在ProEssentials找到需要的圖像實(shí)例,復(fù)制對(duì)應(yīng)代碼到軟件需要實(shí)現(xiàn)圖形繪制功能的位置。在軟件中聲明相關(guān)變量。

        (3)通過具體的算法獲得圖像中需要繪制的各個(gè)點(diǎn)的坐標(biāo)并通過函數(shù)進(jìn)行設(shè)置。

        (4)根據(jù)軟件實(shí)際繪圖需求,通過代碼修改圖像屬性參數(shù),繪制圖形并更改圖像的視覺效果。

        (5)軟件運(yùn)行過程中,還可以通過屬性配置窗口實(shí)現(xiàn)對(duì)圖像屬性的再次修改。

        為了使用ProEssentials提供的圖形繪制功能,首先將Pegraphi.h文件添加到工程中,然后在項(xiàng)目屬性“附加依賴項(xiàng)”中對(duì)應(yīng)位置添加“PEGRAP32C.lib”。

        利用VC++計(jì)算采集到的3組方位數(shù)據(jù)的平均值與標(biāo)準(zhǔn)值之間的差作為第4個(gè)數(shù)組。ProEssentials可以直接讀取4個(gè)數(shù)組中的數(shù)據(jù),合理布局繪制采樣數(shù)據(jù)比較圖(如圖4所示)及誤差曲線圖(如圖5所示)。

        圖4 采樣數(shù)據(jù)比較圖

        圖5 原始誤差曲線圖

        通過采樣比較圖和誤差圖可以直觀地看到實(shí)驗(yàn)數(shù)據(jù)情況,了解實(shí)驗(yàn)操作是否存在明顯錯(cuò)誤,兩者卻是很重要的。如果誤差很大,超過6°;或者誤差曲線不是雙曲線,可能是電子羅盤固定時(shí)選擇的位置不佳,或者實(shí)驗(yàn)操作不規(guī)范,在此情況下必須重新進(jìn)行實(shí)驗(yàn)。

        3.4誤差的處理

        為了減少誤差,進(jìn)行3次采樣,得到3個(gè)數(shù)組。然后利用VC++對(duì)數(shù)據(jù)進(jìn)行計(jì)算處理,得到采樣值與標(biāo)準(zhǔn)值之間的誤差。

        單片機(jī)中輸入輸出的數(shù)據(jù)是二進(jìn)制形式,為了植入單片機(jī)修正程序?qū)φ`差進(jìn)行修正,現(xiàn)在利用VC++程序?qū)ψx取誤差表的數(shù)據(jù),并做進(jìn)一步的處理,形成可直接植入單片機(jī)的匯編代碼自查表,這樣就不再需要大量人工操作與計(jì)算,可以有效減少勞動(dòng)量、降低錯(cuò)誤率、提高工作效率。對(duì)誤差表處理后得到可植入單片機(jī)的匯編代碼自查表。

        4 校準(zhǔn)結(jié)果的檢驗(yàn)

        將上述方法得到的匯編代碼自查表植入電子羅盤的單片機(jī)存儲(chǔ)芯片內(nèi),由單片機(jī)對(duì)自動(dòng)進(jìn)行校正,理論上校正后的電子羅盤可以準(zhǔn)確地測(cè)出方位角值。為了驗(yàn)證校正測(cè)試的可靠性,按照之前的測(cè)試過程對(duì)校準(zhǔn)后的電子羅盤重新進(jìn)行測(cè)試實(shí)驗(yàn),可得出如圖6的所示的誤差曲線。通過誤差曲線來直觀地判斷校準(zhǔn)結(jié)果的準(zhǔn)確性。如果曲線誤差小且穩(wěn)定,沒有異常,說明校準(zhǔn)實(shí)驗(yàn)很成功,電子羅盤可以直接安裝使用;相反,如果曲線誤差仍然很大,或者在某些點(diǎn)處誤差依然很大,那么實(shí)驗(yàn)可能出現(xiàn)了問題,必須重新進(jìn)行校準(zhǔn)。

        圖6 校準(zhǔn)后的誤差曲線

        圖5為實(shí)驗(yàn)室中電子羅盤校準(zhǔn)前的誤差曲線圖,圖6則為同一傳感器實(shí)驗(yàn)校準(zhǔn)后的誤差曲線圖。通過對(duì)比可以發(fā)現(xiàn),校準(zhǔn)前的電子羅盤的最大誤差在5°左右,顯然這個(gè)誤差范圍過大不能滿足科研要求,而校準(zhǔn)后的電子羅盤誤差基本保持在±0.5°以內(nèi)。校準(zhǔn)實(shí)驗(yàn)明顯地減少了電子羅盤的誤差。對(duì)科研來說校準(zhǔn)后的誤差范圍是可以被允許的,已經(jīng)基本能夠滿足系統(tǒng)的性能要求,可以更加精確地提供波浪浮標(biāo)所處的方位,與浮標(biāo)中的波浪傳感器同步測(cè)量,通過浮標(biāo)中的數(shù)據(jù)處理機(jī)計(jì)算出波浪的傳播方向。

        5 結(jié)束語

        本文介紹了電子羅盤的組成和校準(zhǔn)方法。電子羅盤的準(zhǔn)確度、精確度、穩(wěn)定性能否符合標(biāo)準(zhǔn),對(duì)浮標(biāo)傳感器系統(tǒng)是至關(guān)重要的。新的電子羅盤校準(zhǔn)方法中采集數(shù)據(jù)的分析、處理、繪圖、誤差計(jì)算、匯編代碼自查表的生成都是由上位機(jī)自動(dòng)完成,使檢測(cè)工作更加智能化、更加快捷,校準(zhǔn)結(jié)果更加準(zhǔn)確,ProEssentials的使用簡(jiǎn)化了實(shí)驗(yàn)的過程,無需再生成txt文件,實(shí)驗(yàn)數(shù)據(jù)直接保存在數(shù)組中,簡(jiǎn)化了數(shù)據(jù)的保存和讀取,占用內(nèi)存小、運(yùn)行速度快,ProEssentials繪圖程序更加簡(jiǎn)單,實(shí)驗(yàn)結(jié)果曲線更加美觀;另外軟件可移植性好,程序使用范圍廣。該設(shè)計(jì)方案已應(yīng)用于波浪浮標(biāo)的生產(chǎn)測(cè)試中,取得了良好的效果。

        [1]唐原廣,王金平.SZF型波浪浮標(biāo)系統(tǒng)[J].海洋技術(shù),2008,27(2):31-33.

        [2]劉詩斌.微型智能磁航向系統(tǒng)研究[D].西安:西北工業(yè)大學(xué),2001.

        [3]凡春芳,焦國(guó)太.基于磁阻傳感器的磁探測(cè)系統(tǒng)設(shè)計(jì)[J].彈箭與制導(dǎo)學(xué)報(bào),2008(02):134-135.

        [4]晁永生,樊軍,申曉萍,等.淺談Visual C++串口通信編程[J].科技廣場(chǎng),2007(1):71-73.

        [5]吉翔,李永全.VC++下MSComm控件的串口通信方法[J].電腦開發(fā)與應(yīng)用.2009(12):34-35.

        [6]張?bào)蘩?,劉書?Visual C++串口通信與工程應(yīng)用篇[M]北京:中國(guó)鐵道出版社,2009.

        [7]劉如九,張振山,凌朔怡,等.采用ProEssentials實(shí)現(xiàn)工業(yè)監(jiān)控軟件中的趨勢(shì)圖[J].工業(yè)控制計(jì)算機(jī),2006,19(8):42-44.

        [8]張峰,丁永剛.采用ProEssentials實(shí)現(xiàn)工業(yè)生產(chǎn)數(shù)據(jù)圖形化顯示[J].軟件導(dǎo)刊,2009,8(8):180-182.

        Design and Implementation of Electronic Compass Calibrating Method

        TANG Yuan-guang1,JIA Cai-hui1,XU Chun-ling2
        1.College of Engineering,Ocean University of China,Qingdao 266100,Shandong Province,China;
        2.Shanghai Machinery Industry School,Shanghai 200000,China

        Electronic compass is used to provide the real-time position of the wave buoy.A new calibration system is designed to solve the problems of the electronic compass calibration system with Matlab,like poor portability,complex process and low speed.Analog signals received from the wave height data acquisition system by Max194,the 14 serial A/D converter,are converted into digital signals accessing to micro controller which is responsible for controlling the sampling frequency of azimuth data and A/D conversion chip.Then the serial conversion chip is used to convert outputting level signals into RS232 signals,which is processed by computer.The azimuth data processing is implemented by VC++which is expert in interface design and data processing.The error is showed directly by ProEssentials through drawing sampling data comparison chart and error chart.The ProEssentials is sound in graphics,superior in processing speed and favorable in portability.Experimental tests show that the electronic compass calibration system has good portability,low power consumption,high stability and fast operating speed.The electronic compass calibration method has been widely applied in the production of wave buoys and 3-m buoys.

        electronic compass;calibration;VC++;ProEssentials

        TP212.9

        A

        1003-2029(2016)01-0046-05

        10.3969/j.issn.1003-2029.2016.01.007

        2015-04-15

        國(guó)家高技術(shù)研究發(fā)展計(jì)劃(“863”計(jì)劃)資助項(xiàng)目(2006AA09Z150)

        唐原廣(1963-),男,教授,主要從事海洋監(jiān)測(cè)技術(shù)波浪浮標(biāo)方向研究。E-mail:tangrenone@126.com

        猜你喜歡
        羅盤控件方位
        認(rèn)方位
        幼兒園(2021年12期)2021-11-06 05:10:20
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        不宜上課
        借助方位法的拆字
        說方位
        幼兒100(2016年28期)2016-02-28 21:26:17
        基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)
        印尼《羅盤報(bào)》之中國(guó)國(guó)家形象
        新聞傳播(2015年9期)2015-07-18 11:04:12
        蒼蠅腦中有“羅盤”
        電子磁羅盤性能實(shí)驗(yàn)研究
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        久久久久久久综合狠狠综合| 久久精品人妻少妇一二三区| 国产精品久久久久久福利| 又色又污又爽又黄的网站| 亚洲av乱码专区国产乱码| 东京热东京道日韩av| 亚洲av无码国产精品色| 柠檬福利第一导航在线| 无码精品一区二区三区超碰 | 亚洲女同av一区二区在线观看| 国产精品内射久久一级二| 精品国产一区av天美传媒| 国产成人九九精品二区三区| 日本熟妇视频在线中出| 99久久国产精品网站| 国产综合无码一区二区色蜜蜜| 中文人妻无码一区二区三区信息 | 人妻少妇艳情视频中文字幕| 国产精品国三级国产av| 草草网站影院白丝内射| 黑丝美女被内射在线观看| av影院手机在线观看| 久久人人爽人人爽人人片av东京热 | 国产午夜亚洲精品国产成人av| 在线欧美中文字幕农村电影| 九九精品无码专区免费| 国产色婷亚洲99精品av网站| 久久亚洲中文字幕精品一区| 亚洲av无码第一区二区三区| 国产精品电影久久久久电影网 | 亚洲香蕉av一区二区蜜桃| 国产av剧情一区二区三区| 国产黄在线观看免费观看不卡| 99热国产在线| 美女被内射中出在线观看| 午夜裸体性播放| 国产三级欧美| 日韩精品久久伊人中文字幕 | 天天夜碰日日摸日日澡| 国产无码十八禁| 中文字幕亚洲一区二区三区|