《電子技術(shù)應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 白洋淀濕地無人船自主定位監(jiān)控系統(tǒng)
白洋淀濕地無人船自主定位監(jiān)控系統(tǒng)
2015年微型機與應用第17期
繩 丹,趙曉軍,張紅北,,王晨康,,李 瑞
(河北大學 電子信息工程學院,,河北 保定 071002)
摘要: 針對白洋淀濕地靜態(tài)監(jiān)測節(jié)點存在維護困難等問題,提出了一種采用無人船作為動態(tài)監(jiān)測節(jié)點的方法。應用GPS技術(shù)和GPRS技術(shù)實現(xiàn)對無人船的定位監(jiān)控,系統(tǒng)主要分為船載單元和監(jiān)控中心兩大部分,。船載單元采集、傳輸無人船定位信息以及接收上位機命令控制船體運動,。使用C#語言在Visual Studio2010環(huán)境下開發(fā)監(jiān)控中心軟件,,監(jiān)控中心實現(xiàn)無人船在電子地圖中的定位顯示和船體控制命令的下發(fā)。實驗表明,,該系統(tǒng)運行穩(wěn)定可靠,,具有使用方便、維護簡單等優(yōu)勢,。
Abstract:
Key words :

  摘  要: 針對白洋淀濕地靜態(tài)監(jiān)測節(jié)點存在維護困難等問題,,提出了一種采用無人船作為動態(tài)監(jiān)測節(jié)點的方法,。應用GPS技術(shù)和GPRS技術(shù)實現(xiàn)對無人船的定位監(jiān)控,,系統(tǒng)主要分為船載單元和監(jiān)控中心兩大部分。船載單元采集,、傳輸無人船定位信息以及接收上位機命令控制船體運動,。使用C#語言在Visual Studio2010環(huán)境下開發(fā)監(jiān)控中心軟件,監(jiān)控中心實現(xiàn)無人船在電子地圖中的定位顯示和船體控制命令的下發(fā)。實驗表明,,該系統(tǒng)運行穩(wěn)定可靠,,具有使用方便、維護簡單等優(yōu)勢,。

  關(guān)鍵詞: 無人船,;定位;電子地圖,;遠程監(jiān)控系統(tǒng)

0 引言

  白洋淀濕地是華北地區(qū)溫帶濕地的典型代表,,對改善華北地區(qū)生態(tài)環(huán)境起著非常重要的作用[1]。由于華北地區(qū)持續(xù)干旱及近年來淀區(qū)經(jīng)濟發(fā)展,、人口增加,,使白洋淀濕地生態(tài)系統(tǒng)正受到前所未有的壓力,因此在白洋淀濕地建立長期的監(jiān)測站點就顯得尤為重要,。目前濕地生態(tài)監(jiān)測節(jié)點主要由靜態(tài)監(jiān)測節(jié)點組成,,靜態(tài)節(jié)點覆蓋范圍小、維護困難,,對于一些復雜水域很難利用靜態(tài)節(jié)點監(jiān)測,。無人船可以在水上航行,因此可以利用無人船作為動態(tài)節(jié)點進入該區(qū)域完成任務,,無人船擴大了濕地現(xiàn)場監(jiān)測范圍,。系統(tǒng)主要對無人船遠距離控制技術(shù)進行研究,采用全球定位系統(tǒng)GPS(Global Positioning System)技術(shù)實現(xiàn)自主定位,,為了更直觀地顯示無人船位置,,引入了電子地圖進行位置匹配[2];監(jiān)控中心完成船體位置顯示和船體控制命令下發(fā),,真正實現(xiàn)了對無人船的遠程控制,。

1 系統(tǒng)總體設計方案

  系統(tǒng)應用GPS定位技術(shù)和GPRS無線通信技術(shù)實現(xiàn)對濕地無人船的遠程監(jiān)控。無人船遠程監(jiān)控包括遠程監(jiān)測和遠程控制兩部分,,遠程監(jiān)測實現(xiàn)船體位置定位及實時顯示,,遠程控制則是遠距離控制無人船運動方向。

  1.1 系統(tǒng)構(gòu)成

  無人船監(jiān)控系統(tǒng)主要由船載單元和監(jiān)控中心兩部分構(gòu)成,。采用無線通信方式實現(xiàn)監(jiān)控中心和船載單元之間的數(shù)據(jù)通信,,系統(tǒng)結(jié)構(gòu)如圖1。

001.jpg

  船載單元主要由GPS模塊,、GPRS模塊,、驅(qū)動模塊和微處理器組成,監(jiān)控中心由一臺可以聯(lián)網(wǎng)的計算機組成,,船載單元利用GPRS模塊連入GPRS網(wǎng)絡,,監(jiān)控中心連接Internet網(wǎng)絡,,兩者之間采用TCP/IP協(xié)議進行信息交換。

  1.2 系統(tǒng)功能分析

  無人船利用裝載的GPS模塊可以對船體進行定位,,微處理器將接收到的GPS數(shù)據(jù)進行解析,,提取出位置信息并通過GPRS模塊發(fā)送到Internet服務器,監(jiān)控中心軟件通過添加電子地圖更直觀地顯示無人船位置,,同時也可以利用SQL數(shù)據(jù)庫對數(shù)據(jù)進行存儲,。監(jiān)控中心可以向船載單元下發(fā)控制指令,當微處理器通過GPRS模塊接收到控制指令后將其解析為相應控制字并寫入驅(qū)動模塊,,然后驅(qū)動模塊根據(jù)控制字控制電機轉(zhuǎn)向,,最終達到操控無人船運動的目的。

2 船載單元設計

  2.1 船載單元硬件搭建

  船載單元硬件主要包括微處理器,、GPS模塊,、GPRS模塊和驅(qū)動模塊等。微處理器選擇STM32F103增強型系列,,其內(nèi)核是ARM32位的Cortex-M3CPU,,工作頻率最高可達72 MHz,同時配置128 KB閃存程序存儲器,、最大64 KB SRAM(靜態(tài)隨機存取存儲器),、11個定時器、13個通信接口和2通道12位D/A轉(zhuǎn)換器,,該增強型單片機具有功能強,、能耗低、可靠性高等特點[3],。采用信號接收器G591作為GPS定位模塊,,該模塊具備多徑探測和矯正功能,定位精度可達3 m,,具有基準時鐘范圍大,、靈敏度高和抗干擾能力強等特點,因此很適合在濕地環(huán)境中應用,。采用GTM900無線通信模塊作為系統(tǒng)GPRS模塊,,該模塊支持標準的AT指令集,同時配有豐富的頭文件資料,。系統(tǒng)選擇L293D作為船載單元的電機驅(qū)動模塊,,該模塊采用ST公司全新的L293D功率型雙向驅(qū)動芯片,具有易于安裝,、穩(wěn)定性高,、使用方便等特點。船載單元硬件連接方式如圖2,。

002.jpg

  G591模塊通過串口1向STM32發(fā)送無人船定位信息,;GTM900模塊通過串口2與STM32芯片建立通信,GPRS模塊主要完成數(shù)據(jù)打包發(fā)送和接收功能,;STM32芯片通過串口3和RS232連接,,通過RS232接口與計算機連接實現(xiàn)程序下載;STM32通過I/O口向驅(qū)動模塊L293D發(fā)送控制字,,驅(qū)動模塊根據(jù)控制字對電機轉(zhuǎn)向進行控制,,從而達到操控無人船運動的目的。

  2.2 船載單元軟件設計

  船載單元程序主要包括以下兩個部分:GPS定位數(shù)據(jù)向監(jiān)控中心的發(fā)送和船載單元接收上位機控制命令并執(zhí)行,。其中船載單元與監(jiān)控中心的數(shù)據(jù)通信是通過GPRS網(wǎng)絡和Internet網(wǎng)絡連接實現(xiàn),。

  2.2.1 數(shù)據(jù)發(fā)送

  船載單元程序需要對中斷、串口,、I/O口進行初始化,,當船載單元上電后,各個模塊開始工作,,STM32微處理器控制程序開始初始化,。首先需要建立無線通信,STM32利用GTM900模塊向控制中心建立的服務器申請網(wǎng)絡連接,,建立TCP/IP連接,;然后GPS模塊開始獲取位置信息,當STM32監(jiān)聽到GPS數(shù)據(jù)到來時開串口1中斷,,讀取GPS數(shù)據(jù)并提取出經(jīng)緯度信息,;最后單片機通過串口2向GTM900發(fā)送數(shù)據(jù)并啟動GTM900模塊將數(shù)據(jù)打包通過TCP/IP協(xié)議發(fā)送到監(jiān)控中心[4]。數(shù)據(jù)發(fā)送過程如圖3,。

003.jpg

  其中GPS數(shù)據(jù)遵從NMEA-0183協(xié)議,,GPS數(shù)據(jù)有多種語句格式,本設計讀取GPRMC格式,,其內(nèi)容格式為:$GPRMC,,<UTC時間>,<定位狀態(tài)>,,<緯度>,,<緯度半球>,<經(jīng)度>,,<經(jīng)度半球>,,<地面速率>,<地面航向>,,<UTC日期>,,<磁偏角>,<磁偏角方向>,,<模式指示>*hh,。STM32芯片依據(jù)此協(xié)議格式提取出經(jīng)緯度信息,。基本過程為:(1)STM32對讀取的語句進行判斷,,如果開頭是GPRMC則進行第二步判斷,,否則繼續(xù)監(jiān)聽;(2)判斷語句的定位信息段是否為‘A’,,若是‘A’則表明GPS定位成功,,信息有效;(3)提取出經(jīng)緯度信息[5],。

  2.2.2 數(shù)據(jù)接收執(zhí)行

  GTM900模塊通過TCP/IP協(xié)議接收來自控制中心的指令,,當GTM900接收到控制命令后,單片機利用AT指令集調(diào)用GPRS數(shù)據(jù)并開啟串口2中斷函數(shù)判斷收到的數(shù)據(jù),,如果是控制指令則STM32根據(jù)設置好的規(guī)則進行指令解析并通過I/O口向L293D寫入控制字,,L293D根據(jù)控制字驅(qū)動電機運轉(zhuǎn)完成無人船的運動控制。每個電機需要3個控制信號:EN1(EN2),、IN1(IN3),、IN2(IN4),EN1是電機1的使能位,,EN1為1時電機1轉(zhuǎn)動,,為0時電機1停止;IN1,、IN2控制電機1的轉(zhuǎn)向,,當IN1、IN2分別為1,、0時,,電機1正轉(zhuǎn);反之,,電機1反轉(zhuǎn),。例如,L293D引腳IN1,、IN2,、IN3、IN4,、EN1,、EN2分別接STM芯片的P1.0~P1.5口,當接收的數(shù)據(jù)是控制命令“左轉(zhuǎn)”時,,即左側(cè)電機反轉(zhuǎn),、右側(cè)電機正轉(zhuǎn)才能完成無人船左轉(zhuǎn)運動,因此STM32芯片需要向P1.0~P1.5分別寫入0,、1,、1,、0、1,、1,,然后驅(qū)動模塊根據(jù)此控制字完成電機的正反轉(zhuǎn)運動,此過程就是船載單元命令接收執(zhí)行過程,。

3 監(jiān)控中心軟件設計

  監(jiān)控中心軟件采用C#編程語言在Visual Studio 2010環(huán)境下開發(fā),,并加載Arcgis的二次開發(fā)控件MapControl實現(xiàn)電子地圖嵌入,。監(jiān)控中心主要實現(xiàn)無人船在電子地圖中的定位顯示和控制命令的下發(fā),。

  3.1 電子地圖功能

  電子地圖是顯示無人船位置的較好方式,這種方法更直觀,、更容易讓人理解,。首先由ArcMap編輯制作出設計需要的電子地圖圖表,然后使用C#語言在Visual Studio2010開發(fā)環(huán)境中設計監(jiān)控中心軟件,,在監(jiān)控界面拖放二次開發(fā)控件MapControl和ToolbarControl,,MapControl來顯示電子地圖,ToolbarControl用來作為電子地圖工具欄,,可以直接通過屬性設置實現(xiàn)添加地圖,、放大、縮小等功能,。值得注意的是,,MapControl控件必須同ToolbarControl控件綁定才可以實現(xiàn)地圖放大縮小等功能。ToolbarControl和MapControl屬于COM組件,,一般不在Visual Studio的工具箱中直接顯示,,但是可以通過右擊Visual Studio2010的工具箱進行添加。

  3.2 控制命令的下發(fā)

  本文在Visual Studio2010開發(fā)環(huán)境中使用C#語言編寫控制命令,。它同時具有Visual Basic的易用性以及C++的低級內(nèi)存訪問性[6],。當上位機軟件的某個控制按鈕被按下時,該按鈕的Click()事件隨即被觸發(fā),,控制中心將相應的控制命令通過Socket建立的服務器使用TCP/IP協(xié)議發(fā)送到船載單元,。在Visual Studio2010開發(fā)環(huán)境中Socket類被稱為“嵌套字”,是一種描述IP地址和端口號的通信語句,。Visual Studio為每個服務項目分配一個Socket,,并將其與端口號進行綁定,根據(jù)端口號識別不同的服務項目,??刂泼钣小扒斑M”、“倒退”,、“左轉(zhuǎn)”,、“右轉(zhuǎn)”,、“啟動”、“結(jié)束”等,。

4 系統(tǒng)實驗

  4.1 實驗過程

  將船載單元安裝在小車中在河北大學新校區(qū)進行現(xiàn)場實驗,,PC上安裝控制中心軟件,首先運行監(jiān)控中心程序,,程序開始時即建立Internet服務器并進行監(jiān)聽,;然后按下小車的開關(guān)按鈕,船載單元開始工作,。當船載單元和監(jiān)控中心建立TCP/IP連接之后,,按下控制按鈕“啟動”接收GPS數(shù)據(jù),其他控制按鈕可以實現(xiàn)對小車的運動控制,。

  4.2 實驗結(jié)果

  船載系統(tǒng)設置GPS的發(fā)送時間間隔為2 s,,包括經(jīng)度、緯度和時間信息,。小車的運動方向可以通過控制按鈕進行改變,,表1為小車運動的部分記錄。

004.jpg

  通過實驗結(jié)果可知,,系統(tǒng)實現(xiàn)了GPS數(shù)據(jù)傳輸,、電子地圖實時顯示和船載單元運動控制,基本達到了設計要求,。

5 結(jié)束語

  本方案是基于GPS/GPRS的系統(tǒng)軟硬件設計方法,,系統(tǒng)利用TCP/IP協(xié)議實現(xiàn)了Internet網(wǎng)絡與GPRS網(wǎng)絡的互聯(lián),可以很好地完成無人船定位數(shù)據(jù)采集和傳輸,,最后利用監(jiān)控中心的電子地圖進行顯示,。多次實驗表明,系統(tǒng)具有良好的穩(wěn)定性和實用性,。此外為了對濕地進行更全面的環(huán)境監(jiān)測,,還可以添加不同傳感器來完成任務,使無人船監(jiān)測功能更加豐富完善,。

  參考文獻

  [1] 溫志廣.建立白洋淀濕地自然保護區(qū)芻議[J].河北師范大學學報(自然科學版),,2003,27(5):527-530.

  [2] 崔峰,,張明路,,丁承君,等.基于GPS/GIS/GSM的移動機器人定位技術(shù)研究[J].微計算機信息,,2005(11):99-100.

  [3] 卜峰,,李傳江,李歡,等.基于GPS/GPRS的客車遠程監(jiān)控系統(tǒng)設計與實現(xiàn)[J].計算機測量與控制,,2014,,22(1):79-81.

  [4] 張洋溢,王忠.基于ARM的GPS/GPRS多功能手持終端的設計與實現(xiàn)[J].計算機測量與控制,,2011,,19(12):50-53.

  [5] 馬騰,楊宏業(yè).基于GPS/GPRS的車載監(jiān)控終端的設計與實現(xiàn)[J].電子測量技術(shù),,2009,,32(4):71-74.

  [6] 陳文剛,宋述勇,,韓啟華.用C#編程語言實現(xiàn)變電站GPS遠程監(jiān)控的探討[J].山西電力,,2013(5):54-57.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。