本文摘要:摘要:傳統地面無線通信網絡在地理環境惡劣的海島、沙漠、高山等人煙稀少地區存在覆蓋盲區,且易受到地質災害等因素的影響。北斗衛星通信系統在北斗衛星覆蓋范圍內具有全天候無盲區短報文通信功能,利用北斗衛星短報文通信功能和RS485-ModBus協議,設計采用
摘要:傳統地面無線通信網絡在地理環境惡劣的海島、沙漠、高山等人煙稀少地區存在覆蓋盲區,且易受到地質災害等因素的影響。北斗衛星通信系統在北斗衛星覆蓋范圍內具有全天候無盲區短報文通信功能,利用北斗衛星短報文通信功能和RS485-ModBus協議,設計采用太陽能和蓄電池供電的無人氣象站,與北斗/GSM通信服務網關搭配使用,在終端用戶側實現了通過短信發送特定字符獲取相應的氣象數據的功能,能夠適應對高山、沙漠、海島等無人區域氣象數據進行實時觀測采集的需要。
關鍵詞:北斗;短報文通信;RS485標準;ModBus協議;無人氣象站;數據采集
0引言
氣象預報對當今人們合理調控生產生活起到重要作用,正確的氣象預報依賴于長期、準確、實時的氣象觀測數據。從20世紀90年代后期開始,我國大力加強地面氣象觀測業務能力建設,已初步建立了與國民經濟建設發展相適應的觀測網。但是在沙漠、高山、海島等環境條件惡劣、人煙稀少的地區,交通、供電、通信等基礎設施薄弱,給人工值守和依賴地面通信網絡的氣象觀測站點帶來了巨大的建設和運行成本,然而獲取完整翔實的水文氣象資料是開展相關科研工作和氣象服務決策的重要基礎。
氣象方向論文范例:氣象不確定下的船舶避臺路徑優化
近幾十年來,隨著電子信息和計算機技術的發展,逐漸出現了無人值守、無需經常維護的自動無人氣象站,解決了傳統氣象站中,部分氣象站人力成本高、難以維護和數據采集困難的問題。自動氣象站的應用和普及,可以很大程度地增加氣象數據采集時空密度,有效地提高氣象觀測效果以及可靠性,滿足觀測可比性等方面的要求,減少氣象觀測站的運營費用[1]。
自動氣象觀測站按照通信方式可以分為兩類,即有線遙測氣象站和無線遙測氣象站[2]。有線遙測氣象站是傳統的氣象監測方式,感應部分和接收處理部分相隔幾十米或者幾千米,其間用有線通信電路傳輸。傳感器將數據通過數據線傳輸到PC機上。這種方式適合于有人值守區。無線遙測氣象站大部分采用物聯網模式,通過GPRS數據傳輸方式,將數據上傳至網絡平臺,凡是有網絡的地方,都可以隨時登錄平臺,查看氣象站現場數據,且有短信預警提示的功能。這種又被稱為無人氣象站。在公共移動通信網尚未完全覆蓋的人煙稀少地區,使用GPRS體制工作的氣象站因網絡覆蓋盲區的問題,難以滿足氣象傳輸要求。
因此,有必要使用可靠、無網絡覆蓋盲區的北斗短報文通信技術作為氣象站的信息通路[3],以提高氣象站的適用性和可靠性。針對以上現狀,本文設計了基于北斗的無人值守氣象站。使用太陽能蓄電池作為電源,氣象站傳感器和主控單元之間使用RS485-ModBus協議,利用北斗系統的短報文通信功能與北斗/GSM通信服務網關結合使用,在終端用戶側可實現隨時通過手機發送特定字符獲取遠端水文氣象數據服務[4],技術人員也可以遠程隨時查詢氣象水文站的工作狀態,便于及時進行故障處置。
1總體功能設計
無人氣象站承擔在惡劣環境下的氣象觀測任務,因此設備應具有以下指標:(1)通信質量穩定、無通信盲區、丟包少、可以實現雙向通信、接收用戶指令;(2)設備應該具有寬電壓輸入、供電設備輸出電壓穩定;(3)通信延遲小、通信帶寬大、傳感器設備工作可靠;(4)兩種幀協議的接收解析與封裝發送[5]。依據要求通信質量必須穩定,而GPRS/GSM存在通信盲區及信號不穩定等因素,采用北斗衛星通信的數據傳輸模式,保證數據可靠上傳。
北斗衛星通信系統覆蓋范圍廣,沒有通信盲區,信息加密傳輸安全。“北斗三號”區域短報文通信服務,服務容量提高1000萬次/h以上,單次通信能力[6]1000漢字(14000bit),短報文通信傳輸時延[7]約3.8s。本設計中報文長度不會超過200個漢字,數據采集間隔在分鐘級,因此,“北斗三號”區域短報文服務完全可以滿足重點服務區內數據傳輸對通信容量和實時性的要求。由于戶外供電不便,設計上采用太陽能蓄電池供電方式,保證在陰雨天氣下,系統連續工作3天以上。
2系統硬件設計
2.1硬件組成
系統硬件主要由北斗模塊及天線、氣象傳感器、單片機模塊和太陽能電源四部分組成。綜合衛星報文處理速度和接口資源的考慮,本設計采用基于Cortex-M4內核的微控制器STM32F429IGT6作為主控芯片,進行通信協議解析與封裝、數據傳輸與控制,利用USART串口和RS485接口實現主控單元與各個模塊的數據傳輸,底板電源使用MP2482DN電源管理芯片,支持6~12V直流電壓輸入,低壓差線性穩壓器1086-3.3控制電路輸入電壓為3.3V,3.3V過流保護防止底板電流過大。為了防止使用過程中靜電以及瞬時大電流對芯片的影響,在重要芯片、接口、復位電路等部位采用TVS管和ESD管保護。北斗板卡用于與遠端的各種水文氣象自動觀測設備進行短報文通信。
本設計采用海聊科技的T2北斗短報文板卡,此板卡兼容北斗用戶終端通用數據接口2.1和4.0協議,集RNSS,RDSS為一體,具有全天候的定位導航和雙向報文通信功能,工作溫度-40~85℃,平均故障間隔≥5000h,成功率≥99%,模塊待機功率約為0.65W,發射瞬態功率約為15W,支持7~18V直流供電,使用三級民用北斗卡,通信頻次60s。氣象站要求傳感器可靠性好、使用壽命長、精度高、傳輸信號穩定。本設計采用PR-300BYH-M型系列氣象傳感器。數據傳輸采用標準ModBus-RTU通信協議、RS485標準,通信距離最大可達2000m,可以實現溫濕度、大氣壓力、光照度的測量。
考慮到無人氣象站在戶外工作,因此使用太陽能電池板作為氣象站的電源。陽光充足的條件下保持設備運行并給蓄電池充電,蓄電池充電時間8~16h。在無光狀態下使用蓄 電池內的電能,蓄電池最大輸出可達到12V/5A,功率60W,可以滿足使用要求,電池容量20A·h。RD0538T1模塊發射瞬間功率小于15W,待機功率小于0.65W,發射瞬間持續時間小于0.3s。
若每分鐘發射一條報文,則模塊平均功率為(15/60)×0.3+0.65=0.725W,氣象站百葉窗的功率為0.8W,主控單元功率小于1W,則在無光狀態下,氣象站可以連續運行(12×20)/(0.725+0.8+1)=95h,實現了無人氣象站不斷電運行。整個供電系統通過太陽能控制電路來控制蓄電池的充放電,主要功能是在夜間電池板電壓輸出為0時,防止電池中的電能回流到電池板中,此外它在防止過度充電方面同樣發揮著關鍵作用。使用FP5139芯片和Π型濾波電路,控制北斗端電壓為恒定值,防止電壓變化過大而損壞RD芯片。
2.2系統硬件連接關系
傳感器的RS485A/B與單片機的RS485A/B分別對應連接,主控底板中RS485接口部分采用SP3485E芯片,兩線制RS485是一種半雙工方式,所以需要切換收發狀態,用PB8引腳的高低電平來控制接收和發送。當PB8輸出低電平的時候,控制主控單元RS485接口為接收狀態,當PB8為高電平的時候,控制主控單元RS485接口為發送狀態。單片機內部連接RS485的引腳分別是PD5,PD6,PD5是發送引腳,PD6是接收引腳。
3軟件設計
3.1功能分析
(1)主控單元作為主機與氣象站傳感器進行通信,使用ModBus-RTU協議可以獲取溫濕度、大氣壓力、光照度等信息。
(2)RDSS數據幀的接收解析與封裝發送。用戶向氣象站北斗端發送查詢命令,無人氣象站北斗天線接收到的信號經過模塊內部的處理,轉換成串口數據并輸出到主控單元。原始串口數據經過幀協議解析后,得到用戶數據。識別提取其中的特定命令后,主控單元做出響應通過RS485總線查詢對應寄存器的數據。再封裝成協議幀輸出到串口,氣象站北斗端將得到的串口數據經過內部信號處理后,通過天線發射出去,完成整個工作過程。
3.2系統軟件模塊設計
3.2.1總體設計方案
總體設計程序分為初始化部分、控制傳感器部分、控制北斗部分。初始化部分主要進行北斗、RS485通信使用的USART外設、引腳的初始化、系統時鐘的使能以及北斗模塊的自檢。這一部分的軟件編寫圍繞各種寄存器的操作以及北斗短報文協議來展開。初始化成功之后輸入目標的北斗號碼,為了提高程序的效率,在主函數中設置兩層嵌套循環,第一層循環是判斷北斗信號強度,直到滿足通信條件為止,第二層循環是主要的接收和發送代碼、數據處理代碼等。
進入到第二層后,不會返回第一層。一二層之間入口是判斷北斗接收置位情況。對北斗報文進行解析與遍歷,判斷是否存在特定的字符。程序分支執行北斗定位申請和ModBus問詢幀發送函數,處理從機發送過來的應答幀后,提取寄存器中氣象數據以及DWR語句中的經緯度、時間等信息,經過字符串的拼接整合與轉換格式,通過北斗發送函數,最后回到判斷北斗接收置位處。
3.2.2單片機控制傳感器部分
STM32控制氣象站百葉窗,初始化RS485通信使用的USART外設及相關引腳。編寫控制SP3485E芯片進行收發數據的函數,根據ModBus通信協議編寫收發的數據幀。ModBus協議是基于RS485物理層來實現的,在RS485通信中信號頻率越高,越容易產生反射波干擾。通常傳輸速率在1200~19200b/s之間選取。
通信距離1km以內,從通信效率、節點數、通信距離[8]等綜合考慮可選用4800b/s;通信距離1km以上時,應考慮通過增加中繼模塊或降低速率的方法提高數據傳輸可靠性。綜合可靠性和有效性,本文采用9600b/s作為RS485接口的速率。STM32作為主機實現ModBus協議的核心在于對數據幀結束的判斷。ModBus協議沒有停止位,規定當數據之間間隔大于3.5個字節的時間時,代表一個數據幀發送或者接收的完成。
那么延遲時間大于(1/9600)×8×3.5≈2.92ms時,即代表一個數據幀的結束,考慮到硬件的延遲,定義時間大于4ms時數據幀結束。因此,初始化定時器的時間為4ms,開始處于關閉狀態。串口接收中斷函數中設置定時器使能和清0代碼,定時器溢出中斷函數中設置定時器使能和接收完成置位代碼。在進行串口初始化后,使RS485常態處于接收態,中斷函數接收到第一個字節后,開啟計時器,在不發生溢出的情況下,每接收一個字節都將定時器清0。當定時器發生溢出中斷時,表明時間間隔大于4ms,即一幀接收完成,ModBus接收標志位置位,關閉定時器用于下一次幀停止的判斷。
4測試過程
首先是驗證單片機發送的北斗報文格式是否正確以及驗證氣象站工作是否正常,采用232轉USB線連接到上位機串口7上,模擬單片機接收到北斗報文過程和數據回傳的過程。串口7(模擬用戶北斗端)發送北斗報文數據‘$BDTXR,0247716,1,2,A4424331323350*34\r\n’。其中含有特定字符‘P’,用于獲取大氣壓力值。
單片機與氣象站之間通信正常,得到大氣壓力的值是97.7Pa。串口7(北斗)收到報文數據段B4F3C6F8D1B9C1A6CAC73A39372E37205061,經過gb2312解碼之后得到字符串:大氣壓力是97.7Pa,與串口4顯示的傳感器的數值相同。第二階段,連接好設備之后,將北斗天線朝南無遮擋放置,進行調試,輸入氣象數據接收端的北斗卡號,進行北斗強度測試,若強度大于等于3,可以實現通信。利用北斗海聊公司的北斗短報文入網服務,實現只有1臺北斗設備情況下報文的發送和接收(經過上百條實際測試該平臺夏季對于長春地區在16:00以后發送成功率較高)。
5結語
本文根據現有的水文氣象觀測數據傳輸的現實需求和北斗發展現狀論述了基于北斗的無人值守氣象站的設計,通過串口調試和仿真測試,實現了氣象數據的發送和北斗報文的接收。設計的無人氣象站能夠穩定、安全可靠地傳輸信息,具有不受距離、地域限制,通信費用低,節省人力的優點,特別適合在偏遠等普通信號無法覆蓋的地區的氣象觀測,與目前建成的基于GPRS網絡的自動氣象站互為補充,對于掌握我國全域氣象數據具有重要意義。
參考文獻:
[1]馬婧舒.基于嵌入式技術的自動氣象信息系統設計與實現[D].濟南:山東大學,2018.
[2]孟憲偉,范曉東.北斗衛星通信在自動氣象站數據傳輸中的應用[J].衛星應用,2014,5(3):32-34.
[3]傅家亮.北斗衛星下的海洋水文實時監測系統分析[J].通訊世界,2019,26(1):280-281.
[4]孫琦,傅軍,賀偉,等.無人水文氣象觀測設備北斗/GSM互聯服務網關設計[J].工業控制計算機,2020,33(6):70-72.
[5]柯秋立,蘇凱雄.北斗通信終端軟件的設計與實現[J].微型機與應用,2017,36(10):15-17.
[6]中國衛星導航系統管理辦公室.北斗衛星導航系統發展報告(4.0版)中文版[R].北京:[s.n.],2019:7-8.
作者:孫琦,傅軍
轉載請注明來自發表學術論文網:http://www.zpfmc.com/dzlw/26845.html