風速的測量對于社會生活和工業生產有重要的作用。本文利用三杯式風速傳感器和51單片機設計了一種風速測量儀,利用單片機控制ADC0832對風速傳感器輸出的模擬信號進行轉換,計算出實時風速并顯示在LCD1602上面。經過實際測試表明,所設計的風速測量儀基本能夠滿足測量要求。
風速是農業及工業生產中重要的氣象觀測數據,傳統的依靠人為手段去觀測和采集風速的方法并不十分準確,數據采集實時性不高,尤其是在惡劣條件下,很難實現依靠人為手段去觀測和獲取風力數據,利用自動化技術制作自動測量風速的測量儀器不僅僅是科技進步的要求,同時也是工農業發展和生產過程中的內在需要。
風速的測量對于預測與農業生產、工業生產息息相關的天氣變化至關重要。在臺風、地震、海嘯等發生的時候,人們無法實地觀測到風速數據,只能通過自動氣象站實現對風速的觀測和采集,預測和規避自然災害,盡可能降低自然災害對人類生產活動的影響。
目前對于風速的觀測手段有人工觀察和自動氣象站測量兩類,人工觀察有很多缺點和不足,例如實時性差,精度低等,而且無法克服惡劣的氣候條件。自動氣象站則是通過熱式風速傳感器、三杯式風速傳感器、光耦感應三杯式傳感器等傳感器來實現風速測量。
1 系統方案及硬件電路設計
1.1 整體系統方案
整個系統要能實時測量(0.2~30) m/s 范圍內的風速,并把所測量到的風速實時顯示出來。通過分析,選用了FS 系列三杯風速傳感器作為風速傳感器。該傳感器使用24 V 直流電源供電,使用LCD1602 液晶顯示器顯示風速,利用微處理器進行數據處理。整個系統由風速測量模塊、單片機模塊、風速顯示模塊、供電模塊組成,整個系統的硬件框圖如圖1所示。
1.2 電源電路方案
系統電源電路部分需要為單片機最小系統提供+5 V 直流電源,同時需要為三杯風速傳感器提供24 V直流電源,考慮到整個電路的+5 V部分需求功率較小,且整體功耗均不高的情況,直接使用市場上現有的直流+24 V/+5 V 開關電源作為供電電源,經過測試完全能夠滿足系統需求。
1.3 主控制器設計方案
本系統需要處理的數據不多,運算程度不復雜,使用STM32 系列32 位微控制器會造成資源浪費,而且STM32 方案外圍電路比較復雜,需要比較精準的電源,這些都將會造成系統實用性和性價比降低,因此采用8位微控制器STC89C51 單片機作為主控制器即可。
單片機最小系統主要由主芯片、時鐘發生電路,復位電路組成,時鐘發生電路主要為整個單片機的運行提供精準的時鐘信號,使單片機的程序運行不會出現混亂。
1.4 風速測量方案設計
風速測量模塊主要實現對風力數據的采樣和輸出。三杯風速測量傳感器是一種用于測量風速的傳感器,通過查閱數據手冊可知,該傳感器在有風的時候吹動風杯帶動轉軸轉動,其傳感器內集成的電路可把風速轉換成為0~5 V 的模擬信號輸出,其模擬電壓單片機無法直接處理,因此需要在傳感器的信號輸出和單片機輸入之間接入ADC 轉換電路,把傳感器輸出的模擬信號轉換為數字信號,方便單片機處理。從表1 可以看到不同的風速對應的風級和強度[5-7]。
ADC 轉換電路選用ADC0832 作為轉換芯片,無需外圍電路,結構簡單。風速變換裝置的風速測量最小值Vmin=0.2 m/s,測量最大值Vmax=30 m/s,而其模擬量輸出最小值Umin=0 V,Umax=5 V。
因此風速v 和電壓U 之間具有以下對應關系:
由此可換算出v 和U 之間的函數關系為:
通過該式(1)、(2)即可換算出風速大小。但是由于傳感器本身需要至少在風速為0.2 m/s 的時候才能開始工作,因此上式所計算出的實際值應該加上0.2 m/s,最終v 和U的關系見式(3)。
風速測量模塊接口電路如圖3 所示,三杯風速測量傳感器采用+24 V 直流供電,另外一根為數據線,輸出0~+5 V 的模擬量信號,輸出的信號通過ADC0832模數轉換電路把風速傳感器輸出的模擬量變換為數字量,送到單片機進行顯示,ADC0832 和單片機之間則使用SPI 總線進行通信傳輸風速數據。
1.5 顯示電路方案設計
顯示電路在本設計中主要用于顯示風速和風力等級,所需顯示的數據格式如下:SPEED:XX.XXm/s,wind scale:x。例如,SPEED: 23.5 m/s,wind scale:9,表示當前風速是23.5 m/s,風力等級為9 級。
利用LCD1602 顯示風速,LCD1602 是一種能夠同時顯示16 個×2 行字符的液晶顯示器,能顯示的數據格式有:數字,字母,ASCII 字符等等。該液晶通過三位控制總線和8 位并行數據總線進行控制顯示。
如圖4 所示,液晶顯示電路用LCD1602 作為顯示器件,具有電路接口簡單的特點,圖4 中的液晶接口分為電源接口、讀寫控制接口、讀寫數據接口,八位并行數據總線和單片機的P0 口相連接,而讀寫控制線和單片機的P2 口連接。滑動變阻器的作用是調節液晶對比度,便于優化顯示效果。
2 軟件程序設計
整個系統由單片機控制ADC0832 將風速傳感器輸出的模擬量變為數字量,然后把數字量換算出相應的數值并發送到LCD1602 上顯示出來。因此整個系統的軟件程序分為系統初始化子程序模塊、ADC 轉換子程序模塊、液晶顯示控制模塊,整個系統上電之后,單片機先調用初始化函數,完成對液晶屏和ADC0832 的硬件初始化,讓液晶顯示器顯示出相應數據,初始化完畢后,控制ADC0832 完成ADC 轉換并計算出速度,并對風速進行分級,傳送數據到LCD1602 顯示出來,主程序流程見圖5。
3 系統調試
系統組裝完畢后,需要對軟硬件的各項功能進行調試。先進行硬件調試,硬件調試完畢后再進行軟件調試。
3.1 硬件測試
首先分別對各電路模塊做功能性驗證,第一步是進行單片機最小系統的功能調試,硬件焊接完成之后,通過下載一個LCD1602 的初始化顯示程序到單片機中觀察液晶顯示器是否正常顯示字符。燒錄程序后能夠正常顯示字符,說明單片機最小系統及液晶顯示模塊能夠正常運行。隨后測量三杯風速傳感器的信號輸出,通過測試,傳感器能正常輸出0~+5 V 模擬信號。之后測試ADC0832 的功能,ADC0832 功能測試是利用一個電位器產生模擬量輸入,把ADC0832 的驅動程序燒錄進去,能夠正常讀取電壓值,再將傳感器輸出信號作為ADC083 的輸入,綜合測試能夠采集風速傳感器的電壓值并通過液晶顯示出來。因此整個硬件測試基本通過,圖6 是整個硬件系統組裝完成的電路實物圖。
3.2軟件調試
因為系統不涉及到精確的時序控制,且無需實現比較復雜的數學運算,所以使用C 語言編寫程序,開發環境采用Keil。在開發環境中建立好工程之后,編寫代碼,把編譯通過的代碼通過USB下載線下載到單片機中即可運行。在整個系統的各功能模塊子程序測試通過之后,即可把所有功能模塊組裝在一起,然后根據系統流程圖和設計思想,把整個系統的軟件按照流程圖和算法指引,逐步調用子程序,完成系統功能。
4 測試與總結
4.1 實驗結果
為了驗證所設計風速采集記錄儀測量風速的準確性,在相同環境下利用標準風速測量儀和所設計的風速采集儀進行對照實驗,因實際條件限制,無法產生14 m/s 以上的大風,實驗結果見表2。
4.2 結果討論
從表2 的實驗結果中可以看出,所設計的風速測量儀風速測量結果和標準儀器測量結果一致性好,最大誤差為0.71%,具有較高精度,能夠滿足農業、工業、生產及生活所需,具有較強實用價值。
責任編輯:tzh
-
傳感器
+關注
關注
2551文章
51127瀏覽量
753784 -
單片機
+關注
關注
6037文章
44560瀏覽量
635537 -
測量儀
+關注
關注
1文章
663瀏覽量
32938 -
儀器
+關注
關注
1文章
3733瀏覽量
49688
發布評論請先 登錄
相關推薦
評論