姜少杰,劉海敵,王憲
(上海海洋大學(xué) 工程學(xué)院,上海 201306)
基于GPS的自動巡航監(jiān)測船系統(tǒng)的設(shè)計與實現(xiàn)
姜少杰,劉海敵,王憲
(上海海洋大學(xué) 工程學(xué)院,上海 201306)
針對海洋牧場水質(zhì)參數(shù)監(jiān)測成本高、靈活性差等問題,開發(fā)了一種基于GPS的具有自動巡航功能的水質(zhì)監(jiān)測船,該船以Arduino單片機作為船體的控制模塊,結(jié)合GPS定位技術(shù)和無線通信技術(shù),實現(xiàn)了監(jiān)測船的自動巡航功能。利用船體搭載各種傳感器模塊,實現(xiàn)了水質(zhì)參數(shù)的多點移動測量功能,并將采集的數(shù)據(jù)進行分析處理,傳輸和發(fā)布。開發(fā)的上位機軟件能夠?qū)崟r獲取船體的運動狀態(tài),查看其運動軌跡和位置信息,并能通過無線網(wǎng)絡(luò)向船體發(fā)送控制指令,實現(xiàn)了對船體的有效控制。監(jiān)測船在大幅減少監(jiān)測設(shè)備的同時提高了檢測精度和檢測效率,降低了監(jiān)測成本,對于精準化水產(chǎn)養(yǎng)殖起到了積極的促進作用。
GPS定位系統(tǒng);自動巡航;監(jiān)測船;海洋牧場
海洋環(huán)境監(jiān)測是從事海洋學(xué)研究的基礎(chǔ),建立先進的海洋環(huán)境監(jiān)測系統(tǒng)對于合理開發(fā)海洋資源,保護海洋環(huán)境,從事海洋科學(xué)研究等都有著十分重要的意義[1]。對于海洋牧場數(shù)據(jù)監(jiān)測設(shè)備的研究,國外起步較早,一些國家通過先進的傳感器技術(shù),數(shù)據(jù)處理技術(shù)和物聯(lián)網(wǎng)技術(shù)建立起監(jiān)測平臺,實現(xiàn)了對海洋牧場生態(tài)環(huán)境的實時遠程監(jiān)測,保證了海洋牧場的健康可持續(xù)發(fā)展。經(jīng)過這些年的發(fā)展,我國在水產(chǎn)養(yǎng)殖監(jiān)測系統(tǒng)方面也取得了豐碩的成果,其中比較典型的成果有:蔣建明等人提出了一種基于Zigbee 無線傳感網(wǎng)絡(luò)用于水質(zhì)的監(jiān)測[2],該網(wǎng)絡(luò)通過改進型低能耗分層分群協(xié)議并結(jié)合PLC 的含氧量調(diào)節(jié)系統(tǒng),實現(xiàn)了海水中的含氧量始終適合魚類的活動。宦娟等人設(shè)計了一種水產(chǎn)養(yǎng)殖水質(zhì)無線監(jiān)控系統(tǒng)[3],實現(xiàn)了對水溫等多項數(shù)據(jù)的監(jiān)測功能,并通過無線網(wǎng)絡(luò)實現(xiàn)了傳感器節(jié)點之間數(shù)據(jù)迅速、精準的傳輸,進而對多參數(shù)進行實時遠程監(jiān)測。黃建清等人開發(fā)的基于無線傳感器網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖水質(zhì)監(jiān)測系統(tǒng)解決了目前水產(chǎn)養(yǎng)殖水質(zhì)自動監(jiān)測系統(tǒng)存在布線困難、靈活性差和成本高等問題[4]。
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,無線遠程監(jiān)測已經(jīng)成為海洋牧場環(huán)境監(jiān)測的一種趨勢,而移動測量也開始進入了研究范圍,大部分的監(jiān)測系統(tǒng)都是固定式的測量系統(tǒng),單點測量范圍有限,多點測量成本較高,無法普及到普通用戶[5-7]。為了實現(xiàn)低成本大面積的測量海洋牧場水質(zhì)環(huán)境,本文提出一種基于GPS導(dǎo)航的自動巡航監(jiān)測船,依托GPS定位系統(tǒng)進行自主巡航,利用船體搭載各種傳感器設(shè)備,結(jié)合無線傳輸技術(shù),可實現(xiàn)對海洋牧場水質(zhì)參數(shù)的持續(xù)準確的監(jiān)測,同時可以把接收的環(huán)境信息參數(shù)進行整合,完成對漁業(yè)信息的有效傳輸、發(fā)布和監(jiān)測。
本文的自動巡航船采用模塊化、集成化的架構(gòu)進行設(shè)計,具有體積小、易操控、使用方便、成本低、抗干擾性強等優(yōu)點。系統(tǒng)采用單片機控制技術(shù),GPS定位技術(shù)和GPRS通信技術(shù)相結(jié)合實現(xiàn)對水質(zhì)的實時精準監(jiān)測,并可以通過上位機等終端設(shè)備實現(xiàn)對監(jiān)測船的遠程監(jiān)測和控制。自動巡航監(jiān)測船按功能分主要分為四部分:能夠?qū)崿F(xiàn)自動巡航功能的船體,有多種傳感器構(gòu)成的環(huán)境信息采集模塊,為監(jiān)測船提供定位和導(dǎo)航用的GPS定位模塊以及連接船體與上位機的無線通訊模塊。設(shè)備的硬件組成和分布特征如圖1所示。
圖1 自動巡航監(jiān)測船的系統(tǒng)結(jié)構(gòu)
整個船體的中央控制器由兩塊開源的Arduino單片機組成。Arduino是一種開源的單片機控制器,它使用Atmel AVR單片機,采用基于開放源代碼的軟硬件平臺,構(gòu)建開放源代碼的simple I/O接口板,使用JAVA,C語言的Processing Wiring 開發(fā)環(huán)境,開發(fā)環(huán)境和開發(fā)語言簡單、易理解[8]。兩個單片機一個負責(zé)信息的采集與數(shù)據(jù)的分析,另一個負責(zé)接受遠程的控制指令,并結(jié)合GPS定位模塊對船體的運動進行控制。兩塊單片機之間采用SPI串行外接口進行通信,系統(tǒng)以雙體式船體為載體,如圖2所示,選擇高速微型直流電機作為船體的動力來源,電機在額定電壓下最高轉(zhuǎn)速可達到2 000轉(zhuǎn)以上,能夠快速響應(yīng)北斗系統(tǒng)出的位置指令。選用以L298N雙H橋直流電機的驅(qū)動芯片為核心驅(qū)動板來驅(qū)動電機,其原理圖如圖3所示,其中芯片上的引腳IN1和引腳IN2 為左電機驅(qū)動信號輸入,負責(zé)左電機的正反轉(zhuǎn)的控制指令,引腳IN3和引腳IN4 為右電機驅(qū)動信號輸入,負責(zé)右電機的正反轉(zhuǎn)控制指令,引腳ENA和引腳ENB 為輸入信號使能端,引腳OUT1和引腳OUT2 為左電機驅(qū)動輸出信號,引腳OUT3和引腳OUT4 為右電機驅(qū)動輸出信號,兩個電機通過接受的指令相互配合完成船體的前行和轉(zhuǎn)向等動作;VSS 接+5 V 為驅(qū)動板供電,VS 接12 V作為電機的驅(qū)動電壓。
圖2 雙體式自動巡航監(jiān)測船
圖3 L298N雙H橋直流電機的驅(qū)動芯片原理圖
環(huán)境參數(shù)采集模塊分為水質(zhì)參數(shù)采集部分和地理信息采集部分,其中水質(zhì)參數(shù)采集部分主要負責(zé)海水溫度、PH值、含氧量等水質(zhì)參數(shù)的測量,地理信息的采集使用GPS定位模塊,將傳感器和GPS定位模塊通過總線連接到GSM模塊,再有GSM模塊將數(shù)據(jù)傳送到上位機服務(wù)器處理。服務(wù)器記錄下測量船體的運動軌跡和所要測量點的位置信息后向測量船體發(fā)出指令,控制其按設(shè)定路線進行水質(zhì)采集,同時,服務(wù)器將接受到的水質(zhì)參數(shù)存入數(shù)據(jù)庫,并將數(shù)據(jù)發(fā)送到移動客戶端,客戶端能夠?qū)崟r查看監(jiān)測數(shù)據(jù),也能夠?qū)Υw運動軌跡進行微量調(diào)節(jié)。服務(wù)器定時接收來自GPS定位系統(tǒng)的位置信息,記錄船體的運動路線,當接收目標點設(shè)定指令后,記錄下目標點的位置,建立目標點查詢表。
自動巡航監(jiān)測船上設(shè)計的導(dǎo)航系統(tǒng)主要包括GPS定位模塊、GSM無線通信模塊、單片機控制模塊以及上位機模塊,如圖4所示。監(jiān)測船在運行時,用戶通過上位機監(jiān)測平臺設(shè)置自主巡航區(qū)域、航行時間、航行速度等指令,通過網(wǎng)絡(luò)向單片機的接收模塊遠程發(fā)送目的位置數(shù)據(jù)等指令,該模塊接收到指令后對其進行處理后傳送給GPS定位模塊,GPS定位模塊根據(jù)收到的指令配置其波特率并開始請求連接衛(wèi)星,GPS模塊與衛(wèi)星連接后開始接收來自GPS衛(wèi)星的位置數(shù)據(jù)并將其傳送給單片機模塊,單片機模塊通過程序解析出當前的經(jīng)緯度等位置信息,將其和目的地數(shù)據(jù)進行不斷比較從而控制船體自動巡航到達指定區(qū)域。待船舶到達指定區(qū)域后,自動打開監(jiān)測功能,完成監(jiān)控任務(wù)后巡航至下一監(jiān)測點。
圖4 導(dǎo)航系統(tǒng)的組成示意圖
4.1 GPS控制電路的設(shè)計
GPS控制電路的主要功能是接收來自衛(wèi)星的數(shù)據(jù)信息,并對采集的GPS數(shù)據(jù)信息進行解析處理,使其轉(zhuǎn)化為$GPGGA衛(wèi)星定位格式的數(shù)據(jù)。為提高定位精度、減小延遲等的影響,在電路中,GPS模塊處理的模塊采用臺灣環(huán)天公司生產(chǎn)的EM-408模塊,該模塊所采用的芯片組為SIRF Star Ⅲ芯片組,SIRF芯片其具有高性能和高水準的整合能力,具有體積小,功耗低等優(yōu)點,是目前被大多數(shù)接收機所采用的系統(tǒng),同時與Arduino單片機連接在一起就可以實現(xiàn)GPS的定位功能。EM-408采用3.3 V的供電模式,由標準服務(wù)(SPS)提供其導(dǎo)航時的精度,它可以在同一時間連接12顆衛(wèi)星,其所能達到的定位精度和速度精度都非常的的高。
EM-408開啟后即開始自行檢測,并借助其輸出模塊發(fā)布其檢測結(jié)果。完成檢測后,衛(wèi)星接收到檢測結(jié)果后即開始檢測和跟蹤,整個的連接過程不需要人為干涉,都是自動完成的,一般情況下,EM-408模塊在很短的的時間內(nèi)就可以接收到其定位數(shù)據(jù),然后利用其輸出模塊向上位機傳送經(jīng)度、緯度、速度、方向等數(shù)據(jù)以及接收器的狀態(tài)等信息。同時EM-408會自動更新衛(wèi)星軌道數(shù)據(jù)。EM-408模塊一共有5個引腳,如圖5所示,與其他定位模塊相比其提供了一個使能引腳(Enable),必須給這個引腳高電位才能啟動GPS模塊,由于本次使用沒有特殊要求,因此只需要將這個引腳與第五個引腳連接在一起,也即是說,當電源開啟后,GPS模塊便能直接使能,開始搜尋、定位、輸出信號,因此本系統(tǒng)的電路非常簡單。
圖5 EM-408引腳圖
4.2 單片機控制電路
單片機控制電路是本次導(dǎo)航系統(tǒng)的核心,其主要功能是接收GPS控制模塊輸出的$GPGGA格式信息,并從接收到的信息中解析出速度、經(jīng)度、緯度、方向等位置數(shù)據(jù)[9]。Arduino單片機與EM-408之間沒有相應(yīng)兼容的接點,因此必須單獨做一條連接兩者的連接線來傳遞GPS的數(shù)據(jù)信息和單片機的控制指令。將Arduino單片機上的ATMEGA微處理器去除,把EM-408的TX和RX接到Arduino單片機內(nèi)置UART的TX和RX上,這樣就可以通過無線通信模塊在上位機上查看GPS的信息。內(nèi)部的晶振頻率為16 MHz,由于程序運行時可能出現(xiàn)延遲等問題,故其時鐘存在一定的誤差,為提高其時鐘的精度,為Arduino單片機添置了一個外圍晶振,極大的提高單片機時鐘的準確性,減小了其串口通信誤差。Arduino單片機擁有14路數(shù)字輸入、輸出接口,其中六路可作為PWM輸出,能夠保證GPS信息的接收和處理要求,為保證電源信號的平滑而是單片機穩(wěn)定的運行,同時為了保護電路,該控制電路在設(shè)計時把單片機的VIN接口和GND接口進行了連接,并在電源線路中串聯(lián)入濾波器以過濾掉電源中的一些波峰。
4.3 通信電路的設(shè)計
為了給用戶提供方便舒適的工作環(huán)境以及高效的管理方式,使用戶可以通過在計算機或手持終端中安裝遠程監(jiān)測平臺,建立計算機、手持終端與監(jiān)測船之間的通信,Arduino將采集到的各種數(shù)據(jù)通過GSM模塊發(fā)送到管理人員的手機上。另外管理人員也可以通過GSM模塊將控制信號發(fā)送給Arduino,隨時可以控制監(jiān)測船的運動狀態(tài),從而實現(xiàn)對船體的遠程控制。本設(shè)計用到的GSM模塊是和Arduino配套使用的GSM拓展板,Arduino的GSM拓展板使Arduino能夠連接到網(wǎng)絡(luò)、發(fā)送和接收短信。GSM是全球移動通信系統(tǒng)的簡稱,也被稱為2G,因為它是一個第二代蜂窩網(wǎng)絡(luò),所以要使用GPRS互聯(lián)網(wǎng)接入才能夠為Arduino提供網(wǎng)絡(luò)服務(wù),但是需要從網(wǎng)絡(luò)運營處獲得接入點名稱和一個用戶密碼。GSM模塊連接Arduino主控器的示意圖如圖6所示。
圖6 GSM模塊連接Arduino主控器的示意圖
本系統(tǒng)的軟件設(shè)計主要包括單片機程序設(shè)計和上位機軟件設(shè)計。其中單片機軟件的開發(fā)環(huán)境為Arduino IDE,其是以AVR-GCC和其他一些開源軟件為基礎(chǔ),采用JAVA編寫,界面友好,語法簡單。GPS數(shù)據(jù)采用$GPGGA 格式,其中包含經(jīng)度、緯度和高度信息。當單片機經(jīng)過接收和檢測之后確認$GPGGA有效,即將位置數(shù)據(jù)進行分離[10]。例如:“ $GPGGA,104050.123, 1234.1234, N,12345,W,1,09,1.0,8,M,,,,”,其中GGA是信息標頭,104050.123為標準定位時間(時時分分秒秒.秒秒), 1234.1234為緯度信息,N為北半球等,這些數(shù)據(jù)經(jīng)過單片機解析后重新編幀,通過無線傳輸模塊上傳到上位機。
上位機軟件的工作流程如圖7所示。計算機接收到單片機發(fā)來的數(shù)據(jù)以后,將接收到的數(shù)據(jù)進行存儲,并把接收到的原始數(shù)據(jù)顯示在數(shù)據(jù)框里。為了提高定位的精度,在軟件設(shè)計時采用卡爾曼濾波器對接收的數(shù)據(jù)進行過濾[11],除去上位機接收到的不規(guī)則數(shù)據(jù),該方式具有移植性好、操作簡單、成本低等優(yōu)點;對處理后的數(shù)據(jù)進行相對誤差和方差誤差分析,并將卡爾曼濾波器處理后的數(shù)據(jù)和誤差分析結(jié)果通過上位機界面同步顯示。
為了分析自動巡航監(jiān)測船的性能,選擇上海海洋大學(xué)校園中的一處人工湖進行船體的自動巡航實驗,通過向船體遠程發(fā)送控制指令,船體能夠按照預(yù)先設(shè)置的路線進行巡航和水質(zhì)參數(shù)的采集,實驗結(jié)果如圖8所示。經(jīng)過分析發(fā)現(xiàn)船體實際運行路線與提前設(shè)定的路線之間存在一定的誤差,經(jīng)度平均誤差約為0.005′,緯度平均誤差約為0.004′,高度誤差相差3 m,由此可見,系統(tǒng)的位置數(shù)據(jù)誤差較小,定位精度較高,能夠滿足自動巡航監(jiān)測船的定位精度要求。監(jiān)測船在人工湖中進行兩周的運行測試,期間各傳感器運行正常,沒有發(fā)生系統(tǒng)崩潰等情況,因此該系統(tǒng)具有一定的穩(wěn)定性,能夠為后期監(jiān)測船的改進升級提供一定的參考價值。
圖7 上位機軟件的工作流程如圖
圖8 上位機船體控制主界面
本文設(shè)計的基于GPS的自動巡航監(jiān)測船能夠按照上位機預(yù)先設(shè)定的監(jiān)測位置進行自動巡航,完成監(jiān)測任務(wù),同時能夠在上位機上實時獲取水溫、PH值、含氧量等水質(zhì)參數(shù),而且也可以實時獲取監(jiān)測船的運動軌跡和船體的位置等參數(shù),并能夠遠程向船體發(fā)送控制指令,來控制船體的運動,實現(xiàn)了多點移動測量的功能,提高了監(jiān)測范圍和監(jiān)測的靈活性,減少了海洋牧場水質(zhì)參數(shù)監(jiān)測的成本。下一步將從系統(tǒng)能耗和定位精度兩方面對監(jiān)測船進行優(yōu)化,在測試過程中發(fā)現(xiàn)系統(tǒng)能耗較大,系統(tǒng)補充電能的頻率高,難以滿足長時間水質(zhì)監(jiān)測的需求,初步計劃為系統(tǒng)增加休眠模塊和太陽能發(fā)電模塊以延長系統(tǒng)的續(xù)航能力;另一方面系統(tǒng)將通過算法的改進和硬件的升級進一步提升監(jiān)測船的定位精度,達到精細化監(jiān)測的目的。
[1] 梅海彬,張明華,黃冬梅. 基于無線傳感器網(wǎng)絡(luò)的實時近海環(huán)境監(jiān)測系統(tǒng)設(shè)計[J]. 計算機應(yīng)用與軟件, 2015,32(1):110-113.
[2] 蔣建明,史國棟,李正明,等. 基于無線傳感器網(wǎng)絡(luò)的節(jié)能型水產(chǎn)養(yǎng)殖自動監(jiān)控系統(tǒng)[J]. 農(nóng)業(yè)工程學(xué)報,2013,29(13):166-174.
[3] 宦娟,劉星橋,程立強,等. 基于ZigBee的水產(chǎn)養(yǎng)殖水環(huán)境無線監(jiān)控系統(tǒng)設(shè)計[J]. 漁業(yè)現(xiàn)代化,2012, 39(1):34-39..
[4] 黃建清,王衛(wèi)星,姜晟,等. 基于無線傳感器網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖水質(zhì)監(jiān)測系統(tǒng)開發(fā)與試驗[J]. 農(nóng)業(yè)工程學(xué)報,2013,29(4):183-190.
[5] 李飛飛. 遙控式移動水質(zhì)監(jiān)測系統(tǒng)[D]. 杭州:浙江大學(xué),2011.
[6] 金英連,王斌銳,嚴天宏,等. 自主湖水環(huán)境監(jiān)測船的運動控制系統(tǒng)設(shè)計[J]. 計算機工程,2012,38(22):240-243.
[7] 王衛(wèi)星,高奕龍,陳彬彬,等. 無人駕駛自動導(dǎo)航水質(zhì)監(jiān)測船[J]. 信息技術(shù)與信息化,2014(5):36-38.
[8] 蔡睿妍. Arduino的原理及應(yīng)用[J]. 電子設(shè)計工程, 2012, 20(16):155-157.
[9] 張濤. C8051F020單片機與GPS接收板串行通信的設(shè)計[J].計算機與數(shù)學(xué)工程,2011(8):9-191.
[10]馬蘭,袁衛(wèi). 基于GPS的數(shù)據(jù)采集處理系統(tǒng)設(shè)計[J]. 現(xiàn)代電子技術(shù),2010,33(15):171-172.
[11]滕云龍,陳小平,唐應(yīng)輝. 提高GPS定位精度的改進卡爾曼濾波算法研究[J]. 現(xiàn)代電子技術(shù),2008, 31(3):4-6.
Design and Research of Automatic Cruise Monitoring Ship Based on GPS
JIANG Shaojie,LIU Haidi,WANG Xian
(SchoolofEngineering,ShanghaiOceanUniversity,Shanghai201306,China)
In view of the high cost and poor flexibility of the water quality parameters of marine ranching, a water quality monitoring ship with automatic cruise function based on GPS is developed. This ship uses Arduino microcontroller as the ship`s controlling module, combined with GPS positioning technology and wireless communication technology to achieve the ship`s automatic cruise function. The multipoint mobile measurement function of water quality parameters is realized by using a variety of sensor modules, Analyze and process the collected data to complete the transmission and release. The developed software is able to obtain the motion state of the ship in real time, view the track and position information of the ship, and send the control commands to the ship through the wireless network to achieve the effective control of the ship's hull. Monitoring ship greatly reduces the number of monitoring equipment at the same time improve the detection accuracy and detection efficiency, reduce the cost of monitoring, it played a positive role in promoting the precision of aquaculture.
GPS positioning system; automatic cruise; monitoring ship; marine ranching
10.13442/j.gnss.1008-9268.2017.03.016
2016-12-05
TN967.1
A
1008-9268(2016)03-0077-05
姜少杰 (1963-),女,副教授,主要從事海洋工程裝備研究。
劉海敵 (1991-),男,碩士研究生,研究方向為漁業(yè)機械。
王憲 (1993-),男,碩士研究生,研究方向為漁業(yè)機械。
聯(lián)系人: 劉海敵 E-mail: liu_haidy@163.com