基于數(shù)據(jù)采集控制器CR3000的船載氣象站軟件設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
為了更好地認(rèn)識海洋、了解海洋,越來越多的船只安裝了氣象站,其中可以采集的傳感器有風(fēng)速風(fēng)向傳感器、氣溫傳感器、氣壓傳感器、相對濕度傳感器、長波輻射傳感器、短波輻射傳感器、皮溫傳感器、羅盤等。基于此,設(shè)計(jì)了基于數(shù)據(jù)采集控制器CR3000的船載氣象站軟件,利用CR3000的模擬端采集氣象參數(shù),利用數(shù)字端口采集GPS的位置信息,同時(shí)把采集到的數(shù)據(jù)存儲到CR3000的外部存儲CF卡上。考慮到船在走航過程中位置是不斷變化的,使用GPS模塊和羅盤消除船體本身的船速和船向,得到真實(shí)的風(fēng)速和風(fēng)向。
1軟件開發(fā)調(diào)試環(huán)境
本軟件的源代碼在圖1所示LoggerNet軟件中的CRBaSic集成開發(fā)環(huán)境(圖2)中編寫和調(diào)試。
2軟件的內(nèi)容和各部分的功能
船載氣象站軟件分為1個(gè)主程序模塊和9個(gè)子程序模塊,各模塊結(jié)構(gòu)關(guān)系如圖3所示。
2.1初始化
船載氣象站上的氣象傳感器有兩種輸出,第一種是電壓輸出,第二種是電阻輸出。例如,濕度傳感器輸出0~1V電壓,氣壓傳感器輸出0~2.5V電壓,風(fēng)速風(fēng)向傳感器輸出0~5V電壓,降雨量傳感器輸出0~5V電壓,短波輻射輸出二0.1~10mV電壓,長波輻射輸出二1~1mV電壓:氣溫傳感器是Pt100鉑電阻,長波輻射有兩個(gè)熱敏電阻。因此,對于電壓模擬量,需用轉(zhuǎn)換公式把它變換為物理量:對于鉑電阻,CR3000可以通過外部的搭橋工作,經(jīng)測量后直接轉(zhuǎn)換為溫度值。所以,在初始化階段首先要初始化公式參數(shù)和半橋、全橋的測量參數(shù)。
2.2測量階段
根據(jù)CRBaSic中的函數(shù)以及轉(zhuǎn)換公式,開始順序測量氣溫、氣壓、相對濕度、長波輻射、短波輻射、風(fēng)速風(fēng)向、羅盤、皮溫,獲取GPS數(shù)據(jù),然后根據(jù)算法修正風(fēng)速風(fēng)向的值。
每秒測量一次的數(shù)據(jù)自動(dòng)保存,并且每次均判斷是否是整點(diǎn)時(shí)刻,如果是的話,則自動(dòng)計(jì)算小時(shí)平均數(shù)據(jù)并保存。
其中GPS的數(shù)據(jù)格式如下:
SGPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
軟件判斷<2>是否為"A",如果是的話,則按照逗號分隔原則,提取<1>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,同時(shí)把地面速率的單位由節(jié)變?yōu)閗m/h。
2.3修正算法
算法思路是將測得參數(shù)經(jīng)過正交分解到東風(fēng)和北風(fēng),再經(jīng)過合成計(jì)算出實(shí)際的風(fēng)速和風(fēng)向。
軟件中測得的原始數(shù)據(jù)使用的是地磁坐標(biāo)系和地理坐標(biāo)系,計(jì)算過程中和最終結(jié)果均為地理坐標(biāo)系輸出。
詳細(xì)計(jì)算方法如下:
GPS輸出:對地航向1(地理坐標(biāo)系)、對地航向2(地磁坐標(biāo)系)、對地航速、磁偏角:
風(fēng)速風(fēng)向傳感器:對船風(fēng)速、對船風(fēng)向:
電子羅盤輸出:對船風(fēng)向(地磁坐標(biāo)系)。
實(shí)際風(fēng)速(東)=對船風(fēng)速×Sin(對船風(fēng)向一磁偏角)-對地航速xSin(對地航向2)
實(shí)際風(fēng)速(北)=對船風(fēng)速xcoS(對船風(fēng)向-磁偏角)-對地航速×coS(對地航向2)
磁偏角補(bǔ)償方法:對目標(biāo)方位做磁補(bǔ)償是向西減磁偏角或向東加磁偏角。
實(shí)際風(fēng)速=Sqr(實(shí)際風(fēng)速(東)2+實(shí)際風(fēng)速(北)2)實(shí)際風(fēng)向=arctan(實(shí)際風(fēng)速(東)/實(shí)際風(fēng)速(北))
3軟件使用流程
第一步,首先給CR3000供電,通過串口建立PC和CR3000的連接,打開LoggerNet軟件。
第二步,單擊Setup按鈕進(jìn)入Setup界面,它是用來設(shè)置計(jì)算機(jī)與數(shù)據(jù)采集器通信的頁面。單擊A44Root按鈕在逐次彈出的菜單中分別選擇ComPort一PakBuSPort一CR3000一C1oSe,這樣就完成了CR3000數(shù)據(jù)采集器與計(jì)算機(jī)使用串口線通信的設(shè)備添加工作。
第三步,點(diǎn)擊左邊列表中的ComPort,在右側(cè)出現(xiàn)Har4ware標(biāo)簽頁,在此頁中需對ComPortConnection項(xiàng)進(jìn)行設(shè)置,在下拉菜單中選擇現(xiàn)在所使用的串口,其他項(xiàng)保留默認(rèn)設(shè)置。
第四步,在完成設(shè)置以后關(guān)閉Setup,回到LoggerNet主界面,單擊Connect按鈕進(jìn)行連接,出現(xiàn)圖4。
第五步,在第一次使用數(shù)據(jù)采集器或要對數(shù)據(jù)采集器中的程序進(jìn)行更新時(shí),需要向數(shù)據(jù)采集器中導(dǎo)入測量程序,單擊Sen4按鈕在打開的文件選擇對話框中選擇要發(fā)送的程序,進(jìn)行發(fā)送。如果數(shù)據(jù)采集器中還有有用的數(shù)據(jù)沒有收集,需點(diǎn)擊取消彈出的提示,先將數(shù)據(jù)收回到計(jì)算機(jī),如果數(shù)據(jù)已經(jīng)確認(rèn)保存,則點(diǎn)擊確定來發(fā)送程序到數(shù)據(jù)采集器。
發(fā)送過程如圖5所示,發(fā)送完畢顯示如圖6所示。
第六步,等程序運(yùn)行一段時(shí)間以后,就會在數(shù)據(jù)表格中存儲數(shù)據(jù),這時(shí)點(diǎn)擊Co11ectNow按鈕來收集數(shù)據(jù)。
Fi1eName(數(shù)據(jù)文件的存儲路徑和名稱)、Fi1eMo4e(數(shù)據(jù)文件的存儲方式)、Fi1eFormat(數(shù)據(jù)文件格式),如圖7所示。
4結(jié)語
基于數(shù)據(jù)采集器CR3000,編寫船載氣象站軟件,特別是使用羅盤和GPS參數(shù),來消除船體對真實(shí)風(fēng)速風(fēng)向的影響,應(yīng)用到實(shí)際的船載氣象站中,取得了較好的效果。