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





