999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于北斗的無人值守氣象站設計

2021-05-24 10:34:22琦,傅
物聯網技術 2021年5期
關鍵詞:單片機

孫 琦,傅 軍

(海軍工程大學 電氣工程學院,湖北 武漢 430033)

0 引 言

氣象預報對當今人們合理調控生產生活起到重要作用,正確的氣象預報依賴于長期、準確、實時的氣象觀測數據。從20世紀90年代后期開始,我國大力加強地面氣象觀測業務能力建設,已初步建立了與國民經濟建設發展相適應的觀測網。但是在沙漠、高山、海島等環境條件惡劣、人煙稀少的地區,交通、供電、通信等基礎設施薄弱,給人工值守和依賴地面通信網絡的氣象觀測站點帶來了巨大的建設和運行成本,然而獲取完整翔實的水文氣象資料是開展相關科研工作和氣象服務決策的重要基礎。

近幾十年來,隨著電子信息和計算機技術的發展,逐漸出現了無人值守、無需經常維護的自動無人氣象站,解決了傳統氣象站中,部分氣象站人力成本高、難以維護和數據采集困難的問題。自動氣象站的應用和普及,可以很大程度地增加氣象數據采集時空密度,有效地提高氣象觀測效果以及可靠性,滿足觀測可比性等方面的要求,減少氣象觀測站的運營費用[1]。

自動氣象觀測站按照通信方式可以分為兩類,即有線遙測氣象站和無線遙測氣象站[2]。有線遙測氣象站是傳統的氣象監測方式,感應部分和接收處理部分相隔幾十米或者幾千米,其間用有線通信電路傳輸。傳感器將數據通過數據線傳輸到PC機上。這種方式適合于有人值守區。無線遙測氣象站大部分采用物聯網模式,通過GPRS數據傳輸方式,將數據上傳至網絡平臺,凡是有網絡的地方,都可以隨時登錄平臺,查看氣象站現場數據,且有短信預警提示的功能。這種又被稱為無人氣象站。

在公共移動通信網尚未完全覆蓋的人煙稀少地區,使用GPRS體制工作的氣象站因網絡覆蓋盲區的問題,難以滿足氣象傳輸要求。因此,有必要使用可靠、無網絡覆蓋盲區的北斗短報文通信技術作為氣象站的信息通路[3],以提高氣象站的適用性和可靠性。

針對以上現狀,本文設計了基于北斗的無人值守氣象站。使用太陽能蓄電池作為電源,氣象站傳感器和主控單元之間使用RS 485-ModBus協議,利用北斗系統的短報文通信功能與北斗/GSM通信服務網關結合使用,在終端用戶側可實現隨時通過手機發送特定字符獲取遠端水文氣象數據服務[4],技術人員也可以遠程隨時查詢氣象水文站的工作狀態,便于及時進行故障處置。

1 總體功能設計

無人氣象站承擔在惡劣環境下的氣象觀測任務,因此設備應具有以下指標:

(1)通信質量穩定、無通信盲區、丟包少、可以實現雙向通信、接收用戶指令;

(2)設備應該具有寬電壓輸入、供電設備輸出電壓穩定;

(3)通信延遲小、通信帶寬大、傳感器設備工作可靠;

(4)兩種幀協議的接收解析與封裝發送[5]。

依據要求通信質量必須穩定,而GPRS/GSM存在通信盲區及信號不穩定等因素,采用北斗衛星通信的數據傳輸模式,保證數據可靠上傳。北斗衛星通信系統覆蓋范圍廣,沒有通信盲區,信息加密傳輸安全。“北斗三號”區域短報文通信服務,服務容量提高1 000萬次/h以上,單次通信能力[6]1 000漢字(14 000 bit),短報文通信傳輸時延[7]約3.8 s。本設計中報文長度不會超過200個漢字,數據采集間隔在分鐘級,因此,“北斗三號”區域短報文服務完全可以滿足重點服務區內數據傳輸對通信容量和實時性的要求。由于戶外供電不便,設計上采用太陽能蓄電池供電方式,保證在陰雨天氣下,系統連續工作3天以上。

2 系統硬件設計

2.1 硬件組成

系統硬件主要由北斗模塊及天線、氣象傳感器、單片機模塊和太陽能電源四部分組成。氣象結構如圖1所示。

圖1 氣象站結構

綜合衛星報文處理速度和接口資源的考慮,本設計采用基于Cortex-M4內核的微控制器STM32F429IGT6作為主控芯片,進行通信協議解析與封裝、數據傳輸與控制,利用USART串口和RS 485接口實現主控單元與各個模塊的數據傳輸,底板電源使用MP2482DN電源管理芯片,支持6~12 V直流電壓輸入,低壓差線性穩壓器1086-3.3控制電路輸入電壓為3.3 V,3.3 V過流保護防止底板電流過大。為了防止使用過程中靜電以及瞬時大電流對芯片的影響,在重要芯片、接口、復位電路等部位采用TVS管和ESD管保護。

北斗板卡用于與遠端的各種水文氣象自動觀測設備進行短報文通信。本設計采用海聊科技的T2北斗短報文板卡,此板卡兼容北斗用戶終端通用數據接口2.1和4.0協議,集RNSS,RDSS為一體,具有全天候的定位導航和雙向報文通信功能,工作溫度-40~85 ℃,平均故障間隔≥5 000 h,成功率≥99%,模塊待機功率約為0.65 W,發射瞬態功率約為15 W,支持7~18 V直流供電,使用三級民用北斗卡,通信頻次60 s。

氣象站要求傳感器可靠性好、使用壽命長、精度高、傳輸信號穩定。本設計采用PR-300BYH-M型系列氣象傳感器。數據傳輸采用標準ModBus-RTU通信協議、RS 485標準,通信距離最大可達2 000 m,可以實現溫濕度、大氣壓力、光照度的測量。主要技術指標如圖2所示。

圖2 氣象站主要技術指標

考慮到無人氣象站在戶外工作,因此使用太陽能電池板作為氣象站的電源。陽光充足的條件下保持設備運行并給蓄電池充電,蓄電池充電時間8~16 h。在無光狀態下使用蓄電池內的電能,蓄電池最大輸出可達到12 V/5 A,功率60 W,可以滿足使用要求,電池容量20 A·h。RD0538T1模塊發射瞬間功率小于15 W,待機功率小于0.65 W,發射瞬間持續時間小于0.3 s。若每分鐘發射一條報文,則模塊平均功率為(15/60)×0.3+0.65=0.725 W,氣象站百葉窗的功率為0.8 W,主控單元功率小于1 W,則在無光狀態下,氣象站可以連續運行(12×20)/(0.725+0.8+1)=95 h,實現了無人氣象站不斷電運行。整個供電系統通過太陽能控制電路來控制蓄電池的充放電,主要功能是在夜間電池板電壓輸出為0時,防止電池中的電能回流到電池板中,此外它在防止過度充電方面同樣發揮著關鍵作用。使用FP5139芯片和Π型濾波電路,控制北斗端電壓為恒定值,防止電壓變化過大而損壞RD芯片。

2.2 系統硬件連接關系

傳感器的RS 485A/B與單片機的RS 485A/B分別對應連接,主控底板中RS 485接口部分采用SP3485E芯片,兩線制RS 485是一種半雙工方式,所以需要切換收發狀態,用PB8引腳的高低電平來控制接收和發送。當PB8輸出低電平的時候,控制主控單元RS 485接口為接收狀態,當PB8為高電平的時候,控制主控單元RS 485接口為發送狀態。單片機內部連接RS 485的引腳分別是PD5,PD6,PD5是發送引腳,PD6是接收引腳。單片機RS 485接口硬件原理圖如圖3所示。系統硬件連接如圖4所示。

圖4 系統硬件連接

圖3 單片機RS 485接口硬件原理

3 軟件設計

3.1 功能分析

(1)主控單元作為主機與氣象站傳感器進行通信,使用ModBus-RTU協議可以獲取溫濕度、大氣壓力、光照度等信息。

(2)RDSS數據幀的接收解析與封裝發送。用戶向氣象站北斗端發送查詢命令,無人氣象站北斗天線接收到的信號經過模塊內部的處理,轉換成串口數據并輸出到主控單元。原始串口數據經過幀協議解析后,得到用戶數據。識別提取其中的特定命令后,主控單元做出響應通過RS 485總線查詢對應寄存器的數據。再封裝成協議幀輸出到串口,氣象站北斗端將得到的串口數據經過內部信號處理后,通過天線發射出去,完成整個工作過程。

3.2 系統軟件模塊設計

3.2.1 總體設計方案

總體設計程序分為初始化部分、控制傳感器部分、控制北斗部分,如圖5所示。初始化部分主要進行北斗、RS 485通信使用的USART外設、引腳的初始化、系統時鐘的使能以及北斗模塊的自檢。這一部分的軟件編寫圍繞各種寄存器的操作以及北斗短報文協議來展開。

圖5 程序整體設計流程

初始化成功之后輸入目標的北斗號碼,為了提高程序的效率,在主函數中設置兩層嵌套循環,第一層循環是判斷北斗信號強度,直到滿足通信條件為止,第二層循環是主要的接收和發送代碼、數據處理代碼等。進入到第二層后,不會返回第一層。一二層之間入口是判斷北斗接收置位情況。

對北斗報文進行解析與遍歷,判斷是否存在特定的字符。程序分支執行北斗定位申請和ModBus問詢幀發送函數,處理從機發送過來的應答幀后,提取寄存器中氣象數據以及DWR語句中的經緯度、時間等信息,經過字符串的拼接整合與轉換格式,通過北斗發送函數,最后回到判斷北斗接收置位處。

3.2.2 單片機控制傳感器部分

STM32控制氣象站百葉窗,初始化RS 485通信使用的USART外設及相關引腳。編寫控制SP3485E芯片進行收發數據的函數,根據ModBus通信協議編寫收發的數據幀。

ModBus協議是基于RS 485物理層來實現的,在RS 485通信中信號頻率越高,越容易產生反射波干擾。通常傳輸速率在1 200~19 200 b/s之間選取。通信距離1 km以內,從通信效率、節點數、通信距離[8]等綜合考慮可選用4 800 b/s;通信距離 1 km 以上時,應考慮通過增加中繼模塊或降低速率的方法提高數據傳輸可靠性。綜合可靠性和有效性,本文采用9 600 b/s作為RS 485接口的速率。STM32作為主機實現ModBus協議的核心在于對數據幀結束的判斷。ModBus協議沒有停止位,規定當數據之間間隔大于3.5個字節的時間時,代表一個數據幀發送或者接收的完成。那么延遲時間大于(1/9 600)×8×3.5≈2.92 ms 時,即代表一個數據幀的結束,考慮到硬件的延遲,定義時間大于4 ms時數據幀結束。因此,初始化定時器的時間為4 ms,開始處于關閉狀態。串口接收中斷函數中設置定時器使能和清0代碼,定時器溢出中斷函數中設置定時器使能和接收完成置位代碼。

在進行串口初始化后,使RS 485常態處于接收態,中斷函數接收到第一個字節后,開啟計時器,在不發生溢出的情況下,每接收一個字節都將定時器清0。當定時器發生溢出中斷時,表明時間間隔大于4 ms,即一幀接收完成,ModBus接收標志位置位,關閉定時器用于下一次幀停止的判斷。幀停止邏輯流程如圖6所示。

圖6 幀停止邏輯流程

為了防止變量混亂,設計程序時將ModBus相關的變量、數組、緩存區都放到一個結構體之中,方便程序設計。

STM32作為主機需要發送數據時,將主機端RS 485接口置于發送態,將發送緩存區中的帶有地址碼和功能碼的數據通過串口發送,通過RS 485收發轉換器轉換成特定的電平信號在總線上傳輸。ST內置的庫函數中USART_FLAG_TXE,USART_FLAG_TC這兩個標志位有一定的區別,USART_FLAG_TXE表示數據寄存器中的數據已經被發送移位寄存器取走了,但發送移位寄存器中可能還沒有啟動發送過程,發送移位寄存器中的數據往外面發送的時間相對于CPU指令執行時間來說是比較耗時的。USART_FLAG_TC代表一個數據幀發送完成事件,由于RS 485標準對于發送的時間要求比較高,因此選擇USART_FLAG_TC作為發送完成的標志位。否則在實驗時會出現不能正常發送的情況。問詢幀結構見表1所列。

表1 問詢幀結構 B

3.2.3 單片機控制北斗部分

使用混合傳輸模式,漢字先轉化為GB2312碼,然后每個字節的高低4位分別轉化為一個字節,變成可打印字符。

根據北斗衛星導航系統用戶終端通用數據接口2.1協議來設計建立結構體,用來存放發送和接收的數據、標志位等。由于報文長度很長,若單獨每一種報文都建立相應的結構體就會占用很多的內核內存,造成不必要的浪費,所以可以采用結構體嵌套聯合體的方式以節省內存資源。

幀協議解析的核心在于對接收到的串口數據內容進行分割與提取,由于北斗報文之中,每一部分之間通過‘,’或者‘*’分隔開,有一定的規律性,想要獲取某一部分的數據,可以設計一個指針ptr指向北斗報文,另一個變量tmpLen用于計算區間字符串長度,當遇到‘,’時,字符指針ptr移到區間字符串的開始,并將從ptr開始的長度為tmpLen的字符串復制到輸出字符串中,最后將tmpLen清0,準備下一次尋找。

對于經緯度DWR報文的解析,由于每個子報文都有作用,故設計采用字符串分割函數char *strtok(char s[],const char *delim);以‘,*’作為分割條件,在第一次調用時,strtok()必須給予參數s字符串,之后的調用則將參數s設置成NULL。每次調用成功則返回指向被分割出片段的指針。最后將得到的子串通過switch-case語句分別存儲在相應的結構體中,得到經緯度和時間信息。

4 測試過程

首先是驗證單片機發送的北斗報文格式是否正確以及驗證氣象站工作是否正常,采用232轉USB線連接到上位機串口7上,模擬單片機接收到北斗報文過程和數據回傳的過程。測試情況如圖7所示。串口7(模擬用戶北斗端)發送北斗報文數據‘$BDTXR,0247716,1,2,A4424331323350*34 ’。其中含有特定字符‘P’,用于獲取大氣壓力值。

從圖7中可以看到,單片機與氣象站之間通信正常,得到大氣壓力的值是97.7 Pa。串口7(北斗)收到報文數據段B4F3C6F8D1B9C1A6CAC73A39372E37205061,經過gb2312解碼之后得到字符串:大氣壓力是97.7 Pa,與串口4顯示的傳感器的數值相同。

圖7 串口調試助手模擬情況

第二階段,連接好設備之后,將北斗天線朝南無遮擋放置,進行調試,輸入氣象數據接收端的北斗卡號,進行北斗強度測試,若強度大于等于3,可以實現通信。利用北斗海聊公司的北斗短報文入網服務,實現只有1臺北斗設備情況下報文的發送和接收(經過上百條實際測試該平臺夏季對于長春地區在16:00以后發送成功率較高)。接收北斗報文測試情況如圖8所示。

圖8 接收北斗報文測試情況

當接收到特定的字符如H后,主控單元響應命令獲取當前濕度值,通過串口向北斗模塊發送通信申請報文:$CCTXA,0247716,1,2,A4CAAAB6C8CAC73AB0D9B 7D6D6AE33382E32*00 ,根據收到的響應數據‘$BDFKI’來判斷發送是否成功。

5 結 語

本文根據現有的水文氣象觀測數據傳輸的現實需求和北斗發展現狀論述了基于北斗的無人值守氣象站的設計,通過串口調試和仿真測試,實現了氣象數據的發送和北斗報文的接收。設計的無人氣象站能夠穩定、安全可靠地傳輸信息,具有不受距離、地域限制,通信費用低,節省人力的優點,特別適合在偏遠等普通信號無法覆蓋的地區的氣象觀測,與目前建成的基于GPRS網絡的自動氣象站互為補充,對于掌握我國全域氣象數據具有重要意義。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 看你懂的巨臀中文字幕一区二区| 国产sm重味一区二区三区| 亚洲成人在线网| a毛片免费看| 日本少妇又色又爽又高潮| 91国内在线视频| 色135综合网| 亚洲国产高清精品线久久| 久久精品这里只有精99品| 黄色一及毛片| 天天摸夜夜操| 亚洲国产av无码综合原创国产| 91久久青青草原精品国产| 国产美女一级毛片| 欧美一级高清片久久99| 无遮挡国产高潮视频免费观看| 日本久久免费| 无码内射在线| 亚洲中文无码h在线观看| 19国产精品麻豆免费观看| 欧美国产在线精品17p| 激情午夜婷婷| 在线视频一区二区三区不卡| 久久人搡人人玩人妻精品| 无码福利视频| 97久久超碰极品视觉盛宴| 伊人久久大香线蕉aⅴ色| 成人免费网站久久久| 国产精品部在线观看| 亚洲aaa视频| 亚洲日韩AV无码一区二区三区人| 国产专区综合另类日韩一区| 高清不卡毛片| 日韩天堂视频| 日韩无码视频网站| 国产超碰在线观看| 欧美精品啪啪一区二区三区| 亚洲男人天堂2020| 男人天堂亚洲天堂| 男女猛烈无遮挡午夜视频| 喷潮白浆直流在线播放| 亚洲国产精品VA在线看黑人| 国产精品视频免费网站| 久久黄色免费电影| 久久国产拍爱| 色婷婷狠狠干| 伊人欧美在线| 精品久久久久无码| 网友自拍视频精品区| 国产欧美精品一区aⅴ影院| 久久亚洲精少妇毛片午夜无码| 日韩一区二区三免费高清| 色妞www精品视频一级下载| 国产区福利小视频在线观看尤物| 素人激情视频福利| 日韩av无码精品专区| 手机精品福利在线观看| AV天堂资源福利在线观看| 国产激情无码一区二区免费| 久久永久精品免费视频| 国产精品网曝门免费视频| 国产在线第二页| 国产日韩欧美视频| 国产激情在线视频| 992Tv视频国产精品| 亚洲一区二区在线无码| 国产一线在线| 国产高清国内精品福利| 日韩无码黄色网站| 日韩无码视频网站| 精品伊人久久久香线蕉| 亚洲中文字幕国产av| 毛片大全免费观看| 欧美成人国产| 五月婷婷激情四射| 精品视频一区二区观看| 偷拍久久网| 国产成人精品免费av| 亚欧乱色视频网站大全| 九色综合伊人久久富二代| 人妻少妇乱子伦精品无码专区毛片| 亚洲色图欧美激情|