?

基于FPGA的雨量自動氣象站設計

2021-07-22 07:07唐曉波劉曉君劉斌
電子測試 2021年12期
關鍵詞:示值氣象站雨量

唐曉波,劉曉君,劉斌

(1.桂林市氣象局,廣西桂林,541001;2.陽朔縣氣象局,廣西桂林,541900)

0 引言

隨著山洪地質災害防治項目的推進,氣象、水利部門建成的雨量自動氣象站快速增長,相關研發和維護的從業人次也隨之增加。由于商業競爭、工作難度等因素,雖然自動氣象站維護的資料較多[1-3],但是自動氣象站設計的公開資料很少[4]。當前,大量的自動氣象站研發和維護人員,不僅需要維護知識,如果能更深入的了解自動氣象站的設計,將有助于靈活的開展工作,提高效率。

雨量自動氣象站主要由采集器、傳感器、供電模塊等組成[5]。根據中國氣象局發布的《氣象專用技術裝備使用許可證名錄》[6],獲得中國氣象局使用許可證的雨量自動氣象站其中有以下幾款:1)華云升達公司DSD21型雨量自動氣象站[7]。其采集器基于ARM7內核,雨量傳感器可選配SL3-1翻斗式雨量傳感器。ARM7是英國ARM公司量產的一款32位微處理器,可采用C語言編寫驅動程序,其驅動程序具有較高的可讀性和可移植能力。2)江蘇無線電科學研究所DSD22型雨量自動氣象站。該自動站采用32位操作系統,2個232通訊串口,可接1路雨量傳感器。3)上海氣象儀器廠DSD25型雨量自動氣象站。該自動站具有對降水數據的采集、計算、傳輸等功能。

可見,不同廠商雖采用不同型號命名雨量自動氣象站,但其采集器普遍選用ARM等32位可編程器件,傳感器多見翻斗式雨量傳感器,加上一些供電電源、通訊電路即構成雨量自動氣象站。本文采用類似的設計思路,介紹一種雨量自動氣象站的設計方法。

1 材料與方法

1.1 材料選用

本設計的雨量自動氣象站選擇32位可編程器件FPGA作為采集器內核,verilog語言編程。FPGA與ARM同屬于嵌入式微處理器,都能通過計算機高級語言編寫驅動程序。FPGA測量、計算、控制外部電量,作為電子設備的“大腦”,實現產品功能。選用由承水口、計量翻斗、計數翻斗等構成的SL3-1翻斗式雨量傳感器,計數翻斗每翻轉一次,代表0.1mm降水[8]。選用可供二次開發的LED顯示屏,通過顯示屏通訊串口,可以接收FPGA發出的顯示的數據。圖1是該自動站主要器件及其連接示意圖。

圖1 主要器件及連接示意圖

1.2 測量方法

當無降水時,翻斗式雨量傳感器不翻動,雨量傳感器的兩個接線柱相當于斷開。通過雨量上拉電阻電路,將接入FPGA的端口鉗制在高電平。此時FPGA檢測到持續的高電平,不記錄降水。

當有降水時,翻斗式雨量傳感器翻斗翻動,雨量傳感器兩個接線柱會產生短暫的導通狀態,此時在雨量上拉電阻電路中,CON器件的1和2插針導通。接入FPGA的端口,由高電平,轉而出現一段低電平。翻斗翻轉完畢后,接入FPGA的端口恢復高電平,此時已產生了一個完整的低脈沖信號。通過檢測一個低脈沖信號,FPGA記錄翻斗一次翻轉,即0.1mm的降水。

2 硬件設計

本設計硬件由采集器(FPGA內核)、雨量傳感器、LED顯示屏等組成。采集器(FPGA內核)包含采用FPGA廠家提供的核心板電路和自主設計的RS232串口電路。FPGA核心板電路,見圖2。它含有FPGA內核運行必備的電源電路、晶振時鐘電路、JTAG接口程序下載配置電路、FLASH存儲電路等單元。自主設計的采集器RS232串口電路,見圖3,用于實現FPGA和LED顯示屏的通信。

圖2 FPGA核心板電路

圖3 采集器RS232串口電路

雨量傳感器采用上海氣象儀器廠SL3-1型翻斗式雨量傳感器,將該傳感器的紅黑接線柱,接入圖1中的雨量上拉電阻電路CON插針1口和2口。CON插針1口另一端,接FPGA的信號檢測接口和上拉電阻。CON插針2口另一端,接GND地線。雨量傳感器不翻轉時,CON插針的1口與2口之間相當于斷路。當雨量傳感器翻轉時,CON插針的1口和2口形成短接[9]。

LED顯示屏用于顯示雨量結果,采集器和LED顯示屏約定采用RS232串口通信協議傳輸,將采集器和LED顯示屏的串口連接。

3 軟件設計

軟件部分包括:復位模塊、idle空閑等待模塊、confirm_rain雨量確認模塊、cnt_rain雨量計數模塊。軟件流程圖見圖4。

圖4 軟件流程圖

3.1 復位模塊和idle空閑等待模塊

采集器的復位按鍵擁有程序流程的最高優先級,當此按鍵按下,雨量值清零。復位按鍵松開時,程序可以進入雨量檢測。Idle狀態時,軟件不斷檢測rain_in接口是否出現低電平,當出現低電平,跳到確認該電平是否有效的狀態。

3.2 confirm_rain雨量確認模塊

為了濾除雨量翻斗掃過干簧管的過程中和雨量自動氣象站周圍的電磁干擾信號[10-12]。本設計采用軟件濾波的方式,濾除干擾信號。圖5是示波器觀察本設計的高頻信號,看到的一些信號擾動。本設計通過大量實驗發現,如果雨量翻斗翻轉時的干擾信號,未經濾除,將會造成測量值比實際值偏大3-5倍。所以,在檢測脈沖信號時,我們將高、低電平的檢測確認時間延長至毫秒量級,即超過毫秒量級時長的高、低電平才判斷為有效電平,本設計檢測確認時間定為5毫秒,可以達到軟件濾波的目的。

圖5 干擾信號波形圖

3.3 cnt_rain雨量計數模塊

當程序判斷rain_in接口再次出現高電平時,并且該電平時長超過5毫秒。則認為,雨量翻斗已經成功翻轉一次。雨量計數增加1。至此,完成一次翻斗翻動,即雨量值增加0.1mm。部分verilog語言編寫的程序如下:

4 測試

4.1 測試方法與結果

采用JJS2型雨量校準儀作為標準器,測試本設計雨量測量結果。參考中國氣象局《區域自動氣象站翻斗式雨量傳感器現場校準方法》[13-14],制定本測試方法。將本設計的雨量自動氣象站連續開機運行,取第30天、第60天、第90天做測試。測試小雨強1mm/min和大雨強4mm/min,每種雨強測試3次,取平均值,記錄JJS2雨量校準儀的平均示值和本設計雨量自動氣象站的平均示值。結果見表1。

表1 本設計雨量自動氣象站測試結果 mm

第60天 1mm/min 10.0 9.7 9.7 -0.3 4mm/min 10.0 10.3 10.3 0.3第90天 1mm/min 10.0 10.1 10.1 0.1 4mm/min 10.0 10.2 10.2 0.2

4.2 數據分析

從測試結果可見,本設計示值和JJS2標準器示值高度一致,由于JJS2標準器通過測量雨量傳感器翻斗翻動的次數,即得到其示值。本設計也是通過測量同樣的翻斗翻動次數,得到本設計的示值。出現示值的一致,說明本設計在測量翻斗翻動次數,換算雨量值,顯示結果等軟硬件環節未產生額外的測量誤差。JJS2標準器示值和標準值之間的誤差,與本設計的示值和標準值之間的誤差,誤差來源相同,即雨量傳感器產生的誤差。

5 結語

基于FPGA的雨量自動氣象站設計可以準確、穩定的測得雨量值。在本設計的基礎上,通過修改、補充部分模塊,可以實現其他雨量自動氣象站的設計。例如:(1)將本設計采集器的FPGA內核換成ARM內核,將verilog代碼翻譯成C語言代碼,實現目前市面上應用較多的基于ARM的雨量自動氣象站。(2)在軟件設計中將每一翻斗得到0.1mm雨量值改成每一翻斗其他規格的雨量值,實現將雨量傳感器更改成其他規格的雨量傳感器。(3)通過在本設計基礎上增加通訊模塊,設計在遠端顯示數據的雨量自動氣象站。

猜你喜歡
示值氣象站雨量
寧夏紅柳溝流域水沙變化及產沙分析
珠峰上架起世界最高氣象站
電感測微儀示值誤差的測量不確定度分析與評定
心靈氣象站
基于小波去噪的稱重雨量數據分析
暴雨強度公式編制之基礎數據質量控制
DZZ3型自動氣象站一次地溫數據異常的處理過程
旋光儀示值誤差測量結果的不確定度評定
為橋梁領域的示值準確性護航
SL—1 型雨量傳感器故障分析排除和維護
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合