(中國計量學院,浙江 杭州 310018)
無人駕駛水域環境智能監測船
林群馥 傅隆亮 陳曉斌 曹 陽 林 建
(中國計量學院,浙江 杭州 310018)
本文針對目前國內水質監測人員緊缺,監測數據難以保證準確性和實效性等問題,介紹了一種以太陽能作為動力的無人駕駛水域環境監測船,通過GPS、電子羅盤進行定位及導航,GPRS與遠程基站無線傳輸數據,實現船舶的遠程控制及無線通訊,并將監測到的環境參數和船舶周邊影像傳回到基站或手機上。該監測船可替代人完成偏遠或惡劣環境下的全天候水域環境監測,具有較好的應用前景。
環境監測;GPS導航;GPRS通信;太陽能
船體在航行中受到風,浪等影響,不能完全按照直線航行。所以通過電子羅盤,完成船與地磁北極夾角的測量并處理,保持船體的航向,同時通過GPS模塊得到的經緯度坐標,確保船體在預期軌道上。
船體航向穩定性和機動性往往是矛盾的。利用船體航向控制裝置就能較好的解決這個問題,也就是自動操舵儀。電子羅盤測量船體的航向與預期航向的偏差信號,送入自動舵系統,計算出所需的舵角指令信號,并控制舵機轉舵,船體開始改變航向,當船體的航向與預期航向一致時,航向誤差為零,于是自動舵輸出零舵角信號,舵機讓舵回到零位,使船在預期航向前行。
自動舵可以把船的航向精確控制于設定航向。但是,當船體收到橫向干擾力會使船產生了橫向平移,且自動舵無法糾正船體橫向平移。此時我們加入GPS模塊對船體進行控制,既形成了航跡舵控制系統。通過GPS模塊得到船體當前的經緯度,和預定軌跡比較,得到船與預定軌跡的距離,再利用模糊PID算法,從而重新控制船體運動方向,實現軌跡追蹤。船與預定軌跡距離d的計算公式如下:
d=(y-b)*cos(angle)-(x-a)*sin(angle)(1)
式中,x、y為預定軌跡上的一點的經緯度,angle為預定軌跡與正東方向的夾角,順時針方向為正,a、b代表當前船體的經緯度,d為正代表船體在航跡的左邊。
以上對船的這一系列控制算法,保證了船的正確行駛。
無人駕駛水域環境智能監測船是戶外運行,具備使用太陽能的條件和潛力。太陽能是一種清潔能源,不對環境產生任何危害;太陽光照射在地球上普遍存在,使用成本低,船體不需反復進基站補給,可滿足船的長時間工作。
為了是使充電結構簡單有效,我們使用42V/300W的太陽能板進行充電,采用BUCK拓撲??紤]到對負載的電壓電流檢測信號需要與負載共地,我們將開關管置于太陽能板正端。為避免電能浪費在開關管上造成能源浪費和發熱,在開關管開通時必須完全導通,開關管驅動電壓就必須大于太陽能板正端電壓,因此必須添加一個電源。又因普通MOS管耐壓為20V,所以我們設計了推挽變換器產生一個以MOS管源極為零電位的20V隔離電源為驅動電路供電。而以地為零電位的主控芯片則通過光耦對開關管占空比進行調節。因主控芯片和負載共地,所以負載的電壓和電流就很容易分別通過分壓和放大電路傳遞給主控芯片。
水質監測系統是該船的核心,由水質傳感器、單片機等組成。采用水泵對水體進行抽樣,再利用各水質傳感器實現對各種水環境參數的檢測,通過適當信號處理單元經STM32單片機分析處理后上傳主機,并在LCD上顯示。
水質監測傳感器部分擔負起正確檢測各項環境參數的任務,為了保證檢測的準確性,采用了含信號處理電路的成品模塊。水溫、pH值檢測采用龍戈電子pH傳感器,模塊上除pH傳感器外還集成了水溫傳感器,適合我們計算pH值時考慮自動溫度補償。該成品提供水溫檢測范圍0至100℃,pH值檢測范圍0~14。
單片機采用嵌入式單片機STM32,內置多路12位AD。該控制器主要完成對各參數信號的電信號采集、濾波、計算分析、LCD顯示、環境參數上傳主機等任務。
無線通信發送采用SIM900模塊通過短信實現。短信性能穩定、使用方便且受其他影響小。在代碼中可設置了白名單號碼,只有白名單發送來的信息才會得到解碼處理,可有效防止垃圾短信。白名單發送信息進行解碼,根據不同命令可將GPS定位坐標以及測得的水質參數等數據發送還上位機進行解碼處理。
所有數據均通過短信傳輸,短信收發應用了較適合數據傳輸的PDUMode。所有消息都可以在接收區中清晰地看到,可一鍵查看船體所在位置當前水質狀況功能,通過該功能可以方便地查看水質情況,同時顯示采集時間,軟件在顯示時將所有數據保存在文件中,方便日后查詢。
遠程監控系統也采用SIM900模塊通過彩信實現,根據上位機或者白名單手機號碼的命令通過彩信將攝像頭采集到的圖像數據發還給上位機,通過彩信方式傳回上位機,上位機將數據解碼后予以顯示,可遠距離查看船周邊情況。
任何有移動網絡的地方,都可以實現遠距離控制船的航行控制和圖像采集。同時增添一鍵查看當前位置功能,并能在地圖上顯示,且在地圖上便能夠方便地指定船體的前進路線以及目的地。
上位機采用電腦控制,電腦控制端采用了我們較為熟悉也比較常用同時也是兼容較高的軟件Microsoft Visual C++6.0編寫,我們創建的是單文檔程序,由于無線通信用到的是SIM900A模塊,該模塊以串口方式通信,通用AT指令集,于是我們應用了微軟公司提供的ActiveX控件“Microsoft Communications Control,version6.0”以方便軟件與模塊進行交互。軟件整體界面以方便操作,簡潔明了為主指進行設計。
智能無人水域環境監測船集成了單片機、ARM控制器、GPS、電子羅盤、GPRS、C++面向對象程序設計、電機驅動和控制以及多種水質監測傳感器,研究內容豐富,動手實踐工作量飽滿,給本課題組的成員提供了很好的開發平臺。
[1]史震等.運動控制系統[M].北京:清華大學出版社,2008,05.
[2]張靜等.MATLAB在控制系統中的應用[M].北京:電子工業出版社,2007,05.
浙江省大學生科研創新團隊資助項目
U674 < class="emphasis_bold"> 文獻標識碼:A
A