林金存,戴亞文,付向斌,李 鵬
(武漢理工大學理學院,湖北武漢430070)
太陽能航標燈作為應用在海上或河道的導航工具,經常碰到浸水、撞擊和洪水沖刷等惡劣的工作環(huán)境。當燈具出現短路、老化和腐蝕等故障無法工作或偏離設定位置時,管理中心無法及時發(fā)現問題,只能靠維修人員定期檢查每盞航標燈是否工作正常,作業(yè)量大、維護成本高。針對這些缺陷,為航標燈設計增加了GPS定位與GPRS數據傳輸功能,結合單片微機的現場處理能力與上位機軟件的直觀性實現對航標燈智能化的遠程管理,實驗證明該方案改進切實有效。
該航標燈遠程監(jiān)控系統主要有3個部分組成:GPS定位與GPRS數據發(fā)送模塊、單片微機處理模塊和遠端監(jiān)控軟件。GPS定位模塊LEA-5H負責為航標燈進行準確的定位,確定航標燈是否偏離設定位置。單片微機MSP430F149[1]負責采集航標燈的電壓、電流量與GPS定位數據并通過串口傳送到GPRS模塊。GPRS模塊負責將由MSP430F149傳送來的數據轉發(fā)至Internet[2]網上確定IP的服務器端電腦。位于 Internet上的遠端服務器接收到GPRS[3,4]數據后使用上位機軟件進行對GPS定位信號的差分處理與顯示存儲工作。
單片微機負責定時開啟GPS模塊,接收定位數據,采集航標燈電池電壓、充電電流與放電電流,提取需要的定位數據與處理A/D數據并重新組合成待發(fā)送的數據包,定時開啟GPRS模塊并發(fā)送數據包至遠端服務器。
單片微機MSP430F149初始化一個定時器中斷,但是一次定時無法達到需要的10 min的時間,所以重復定時300個定時中斷以達到需要的10 min。在定時的過程中使單片機處于休眠狀態(tài)LPM3。當定時時間來到時,單片微機由IO口給GPS模塊電源芯片的EN引腳一高電平開啟GPS模塊。等待1 s之后開啟串口1接收中斷接收GPS定位數據,并通過檢測定位數據中的A/V數據位判斷定位數據是否有效。接收完GPS數據之后關掉模塊電源以節(jié)省電量,同時屏蔽串口1,避免產生中斷的嵌套,提高系統的穩(wěn)定性。之后對系統工作狀態(tài)數據進行采集,采集航標燈的電壓電流。此時數據采集工作已經完成,之后對待發(fā)送的數據進行打包整理,重新組成需要的格式。數據包重組之后,MSP430F149單片機通過IO口使得GPRS模塊SIM300C的POWER引腳一段時間的低電平,GPRS模塊將啟動并自動尋求進入移動網絡。在等待一段時間待SIM300C入網之后判斷入網狀態(tài)并啟動串口0,開始數據包向遠端服務器的發(fā)送。通過SIM300C的AT指令,如AT+IPR、AT+CGCLASS、AT+CGDCONT、AT+CIPCSGP、AT+CIPSTART和AT+CIPSEND 等,設置模塊SIM300C的狀態(tài)、申請與網上具有確定IP的服務器進行連接并傳送數據。數據發(fā)送完成之后斷開連接,并關閉GPRS模塊SIM300C的電源與串口0。此時,一次數據采集與發(fā)送工作均已完成,之后重新開啟定時器并使MSP430F149進入休眠,等待下次數據采集,整個工作流程如圖1所示。
圖1 單片微機工作流程
航標燈工作在河道中間,很容易遭遇洪水沖刷、過往船只撞擊、強光暴曬甚至浸水等狀況。因此航標燈的老化損壞和電路電池的腐蝕等事故常有發(fā)生。而航標燈出現故障之后,管理人員又很難及時發(fā)現問題,只能是定期檢查。因此,為降低維護難度減少維護費用,實時檢測航標燈的狀態(tài)十分必要。
利用單片機的現場處理能力,實時采集航標燈的工作狀態(tài)以發(fā)現問題,并通過GPRS信息傳輸模塊將信息反饋給管理中心,管理中心就能方便地知道是哪盞航標燈出現故障從而及時地進行維修。系統通過MSP430F149的A/D采集口對當前航標燈蓄電池電壓、充電和放電電流進行采集。蓄電池正常工作狀態(tài)的電壓是在4.2~3.6 V之間,低于3.6 V時即發(fā)生過放,會嚴重影響蓄電池的使用壽命。MSP430F149能采集的最大電壓是3.3 V,所以需要用精度較高的電阻進行分壓。電流的采集是通過MAX471電流檢測芯片將電流轉化為電壓值進行測量來實現的。MAX471內置35 mΩ精密電阻,其電流測量上下限為±3 A,系統最大電流在1 A以下,因此完全滿足測量的需要。在數據采集過程中,單片機MSP430F149采用連續(xù)模式采集多組數據并進行平均,以盡量減小誤差。數據采集完之后關掉A/D采集中斷,原因也是避免產生中斷嵌套,提高系統工作穩(wěn)定性。
單片機MSP430F149在完成定位數據采集與工作狀態(tài)數據采集之后要對采集到的數據進行整理并重組數據包。數據包的格式結構如圖2所示。
圖2 數據包格式結構
各字段詳細結構如下:
①開始符:2個字節(jié)為**,作為遠端服務器接收數據時的判斷標志;
②標志位:1個字節(jié),范圍0x00~0xff,作為各個航標燈的ID標識;
③定位時間:9個字節(jié),為hhmmss.ss結構,為準確的定位時間;
④緯度:10個字節(jié),為ddmm.mmmmm結構;
⑤緯度標志:1個字節(jié),為字符N或S;
⑥經度:11個字節(jié),為ddmm.mmmmm結構;
⑦經度標志:1個字節(jié),為字符E或W;
⑧充電電流:3個字節(jié),以xxxmA為結構,如300 mA;
⑨放電電流:3個字節(jié),以xxxmA為結構,如300 mA;
⑩電池電壓:4個字節(jié),以x.xxV為結構,如2.00 V;
?結束符:2個字節(jié)為@@,作為遠端服務器接收數據結束時的判斷標志。
航標燈位置的定位采用GPS定位技術?,F今GPS定位誤差的來源包括衛(wèi)星自身的誤差、信號傳輸帶來的誤差與接收模塊自身噪聲導致的誤差。在信號傳輸過程中,電離層對信號的彎曲、對流層對信號的折射、加上地面接收時信號的多路徑效應等都使得定位精度產生較大的下降。由于航道本身并不寬,較大的定位誤差會導致無法準確判別航標燈是否偏離設定位置,使系統喪失定位的能力,因此必須能夠較為準確地定位出航標燈的位置。在此,利用差分技術盡量減少定位信號在傳輸過程中產生的誤差。選取2塊瑞士產高精度GPS定位模塊LEA-5H,模塊自身集成SBAS廣域差分處理,定位精度可達到2.5 m,實際測量定位精度95%以上的情況下為7 m以內。將一塊GPS模塊固定在需要定位的航標燈具上,另一塊作為差分模塊固定在經緯度已知的遠端服務器的基站,鑒于大氣對同一片區(qū)域的衛(wèi)星定位信號的影響大致相同,將2個模塊放置在相距幾千米的范圍之內,以保證影響模塊定位的因素大致是一致的。假設基站已知準確經緯度為(X,Y),在時間t1時刻,基站定位經緯度為(x0,y0),所以此次定位修正值Δx與Δy為:
航標燈定位經緯度為(x1,y1),修正之后比較確切的航標燈定位經緯度為:
式中,基站的選取應遵循場地空曠和附近無大型電機等電磁設備以及電網的原則,防止地面電磁信號干擾定位信號。當需要對多個航標燈進行定位時,可采用相同的方法使用同一個基站提供差分修正量,無需增加基站數量。
位于基站的服務器運行著由LabVIEW[5,6]語言編寫的監(jiān)視軟件。此軟件時刻監(jiān)視服務器串口并讀取由GPS定位差分模塊傳輸來的定位數據,并按時間順序存儲在數據庫中。當有數據包由航標燈處通過Internet發(fā)送過來時,服務器監(jiān)視軟件讀取由設定的端口接收到的定位數據,并提取定位時間與數據庫中的定位數據比對,找到定位時間相一致的基站定位經緯度。用此經緯度與基站已知的經緯度坐標做差分處理之后的結果去修正航標燈的定位經緯度。之后將修正后的經緯度坐標與其他現場數據顯示在界面上。
針對系統有限的電能供應、惡劣的工作環(huán)境和需要較高定位精準度的要求,選取系統的功耗計算、穩(wěn)定性與定位精度 3個方面作為分析與測試的目標。
休眠期間單片機MSP430F149的工作電流為0.9 μ A,工作10 min;系統指示燈與分壓電路漏電電流 10.2mA,工作10 min;正常工作電流大約300 μ A,1 s內大約運行100 μ s,時間大約是20 s;GPS模塊工作電流為47 mA,工作大約1 s(熱啟動);GPRS模塊工作電流大約為40 mA,工作大約18 s;發(fā)射電流250 mA,大約工作1 s。
平均工作電流為:
I=0.9 μ A+10.2 mA+(300 μ A ×100 μ s/1 s×20 s+
47 mA×1 s+40mA×18 s+
(250 mA-40 mA)×1 s)/10 min=11.829 mA
由此可知系統的平均功耗很小,當去除指示燈之后系統的功耗將會更低,完全滿足低功耗現場數據采集的要求??墒褂煤綐藷舻男铍姵剡M行供電,不額外增加蓄電池。
設置定時常數為30,定時時間為1 min,即每隔1 min20 s系統將進行一次開啟與數據采集發(fā)送工作。第1次測試,系統開始工作時間為10月18日20:00,終止于第2天早上8:00,共收到536條數據,理論計算是540條,丟失2個數據包,原因可能是服務器網絡不穩(wěn)定造成的。另外缺少2個數據包的原因是在等待GPS與SIM300C模塊入網時的時間不確定導致的。整體有效率為99.26%。第2次測試,系統開始工作時間為10月20日12:00,終止于10月24日早上9:00,共收到3615個數據包,理論計算是3645條,丟失19個數據包,原因可能是服務器網絡不穩(wěn)定造成的。另外缺少11個數據包的原因也是等待GPS與SIM300C模塊入網的時間不確定造成的。整體有效率為99.18%。數據顯示系統工作穩(wěn)定性良好,符合實際使用要求。
定位數據處理后果如圖3所示。
圖3 定位數據處理結果
選擇了10月24日、25日和28日3個陰雨或多云天氣對系統的定位精度做了測試,開始時間分別是17:30、16:25和12:25,每次測試時間為2小時左右。確定好基站之后將帶有GPS定位模塊的航標燈放置在一個固定位置,差分定位模塊固定在基站。同時開啟2個模塊接收定位數據,上位機軟件接收2個模塊的定位數據并進行處理。在此,選取天氣較差的10月25日的定位數據進行處理分析。位于航標燈處的GPS模塊定位誤差如圖3(a)所示,位于基站處的GPS模塊的定位誤差如圖3(b)所示??梢钥闯龆叩亩ㄎ徽`差最大在8 m(實際測試選取陰雨天)以上,并且隨著天氣的變化有大致相同的變化趨勢,經過差分處理消去天氣造成的公共誤差之后,重新分析定位誤差,數據處理結果如圖3(c)所示。結果表明,定位誤差在半徑1.5 m以內,由此可知定位精度有了明顯的提高。
介紹了一套能準確定位和遠程檢測航標燈工作狀態(tài)的無線工作系統,在實際測試過程中,航標燈處數據采集與發(fā)送部分系統工作穩(wěn)定,能準時地采集現場數據并發(fā)送到基站服務器。基站服務器部分系統能很好地完成數據處理與顯示操作,達到了設計目標。該系統具備低功耗、高定位精度和遠程直觀監(jiān)測等優(yōu)點,取得了很好的實用監(jiān)測效果。隨著無線通信技術的不斷進步,這種應用會越來越廣泛,功能也將越來越完善。
[1]馬淑華,王鳳文.單片機原理與接口技術[M].北京:北京郵電大學出版社,2005.
[2]高傳善,錢松榮.數據通信與計算機網絡[M].北京:高等教育出版社,2004.
[3]李善倉,張克旺.無線傳感器網絡原理與應用[M].北京:機械工業(yè)出版社,2008.
[4]樊昌信,曹麗娜.通信原理[M].北京:國防工業(yè)出版社,2006.
[5]江建軍,劉繼光.Labview程序設計教程[M].北京:電子工業(yè)出版社,2008.
[6]王 磊,陶梅.精通 labVIEW8.0[M].北京:電子工出版社,2007.