基于51單片機的風(fēng)速測量儀設(shè)計*
*基金項目:國家自然科學(xué)基金項目(61462015)
作者簡介:劉熙明(1993—),男貴州畢節(jié)人,碩士,助理工程師,主要從事自動控制、嵌入式控制、物聯(lián)網(wǎng)、大數(shù)據(jù)方面研究。
路世揚(1991—),男,貴州畢節(jié)人,主要從事智慧礦山和智慧物聯(lián)網(wǎng)技術(shù)方面研究。
引言
風(fēng)速是農(nóng)業(yè)及工業(yè)生產(chǎn)中重要的氣象觀測數(shù)據(jù),傳統(tǒng)的依靠人為手段去觀測和采集風(fēng)速的方法并不十分準確,數(shù)據(jù)采集實時性不高,尤其是在惡劣條件下,很難實現(xiàn)依靠人為手段去觀測和獲取風(fēng)力數(shù)據(jù),利用自動化技術(shù)制作自動測量風(fēng)速的測量儀器不僅僅是科技進步的要求,同時也是工農(nóng)業(yè)發(fā)展和生產(chǎn)過程中的內(nèi)在需要。
風(fēng)速的測量對于預(yù)測與農(nóng)業(yè)生產(chǎn)、工業(yè)生產(chǎn)息息相關(guān)的天氣變化至關(guān)重要。在臺風(fēng)、地震、海嘯等發(fā)生的時候,人們無法實地觀測到風(fēng)速數(shù)據(jù),只能通過自動氣象站實現(xiàn)對風(fēng)速的觀測和采集,預(yù)測和規(guī)避自然災(zāi)害,盡可能降低自然災(zāi)害對人類生產(chǎn)活動的影響。
目前對于風(fēng)速的觀測手段有人工觀察和自動氣象站測量兩類,人工觀察有很多缺點和不足,例如實時性差,精度低等,而且無法克服惡劣的氣候條件。自動氣象站則是通過熱式風(fēng)速傳感器、三杯式風(fēng)速傳感器、光耦感應(yīng)三杯式傳感器等傳感器來實現(xiàn)風(fēng)速測量[1]。
1 系統(tǒng)方案及硬件電路設(shè)計
1.1 整體系統(tǒng)方案
整個系統(tǒng)要能實時測量(0.2~30) m/s 范圍內(nèi)的風(fēng)速,并把所測量到的風(fēng)速實時顯示出來。通過分析,選用了FS 系列三杯風(fēng)速傳感器作為風(fēng)速傳感器。該傳感器使用24 V 直流電源供電,使用LCD1602 液晶顯示器顯示風(fēng)速,利用微處理器進行數(shù)據(jù)處理[2-3]。整個系統(tǒng)由風(fēng)速測量模塊、單片機模塊、風(fēng)速顯示模塊、供電模塊組成,整個系統(tǒng)的硬件框圖如圖1所示。
1.2 電源電路方案
系統(tǒng)電源電路部分需要為單片機最小系統(tǒng)提供+5 V 直流電源,同時需要為三杯風(fēng)速傳感器提供24 V直流電源,考慮到整個電路的+5 V部分需求功率較小,且整體功耗均不高的情況,直接使用市場上現(xiàn)有的直流+24 V/+5 V 開關(guān)電源作為供電電源,經(jīng)過測試完全能夠滿足系統(tǒng)需求。
1.3 主控制器設(shè)計方案
本系統(tǒng)需要處理的數(shù)據(jù)不多,運算程度不復(fù)雜,使用STM32 系列32 位微控制器會造成資源浪費,而且STM32 方案外圍電路比較復(fù)雜,需要比較精準的電源,這些都將會造成系統(tǒng)實用性和性價比降低,因此采用8位微控制器STC89C51 單片機作為主控制器即可[4]。
單片機最小系統(tǒng)主要由主芯片、時鐘發(fā)生電路,復(fù)位電路組成,時鐘發(fā)生電路主要為整個單片機的運行提供精準的時鐘信號,使單片機的程序運行不會出現(xiàn)混亂。
1.4 風(fēng)速測量方案設(shè)計
風(fēng)速測量模塊主要實現(xiàn)對風(fēng)力數(shù)據(jù)的采樣和輸出。三杯風(fēng)速測量傳感器是一種用于測量風(fēng)速的傳感器,通過查閱數(shù)據(jù)手冊可知,該傳感器在有風(fēng)的時候吹動風(fēng)杯帶動轉(zhuǎn)軸轉(zhuǎn)動,其傳感器內(nèi)集成的電路可把風(fēng)速轉(zhuǎn)換成為0~5 V 的模擬信號輸出,其模擬電壓單片機無法直接處理,因此需要在傳感器的信號輸出和單片機輸入之間接入ADC 轉(zhuǎn)換電路,把傳感器輸出的模擬信號轉(zhuǎn)換為數(shù)字信號,方便單片機處理。從表1 可以看到不同的風(fēng)速對應(yīng)的風(fēng)級和強度[5-7]。
ADC 轉(zhuǎn)換電路選用ADC0832 作為轉(zhuǎn)換芯片,無需外圍電路,結(jié)構(gòu)簡單。風(fēng)速變換裝置的風(fēng)速測量最小值Vmin=0.2 m/s,測量最大值Vmax=30 m/s,而其模擬量輸出最小值Umin=0 V,Umax=5 V。
因此風(fēng)速v 和電壓U 之間具有以下對應(yīng)關(guān)系:
由此可換算出v 和U 之間的函數(shù)關(guān)系為:
通過該式(1)、(2)即可換算出風(fēng)速大小。但是由于傳感器本身需要至少在風(fēng)速為0.2 m/s 的時候才能開始工作,因此上式所計算出的實際值應(yīng)該加上0.2 m/s,最終v 和U的關(guān)系見式(3)。
風(fēng)速測量模塊接口電路如圖3 所示,三杯風(fēng)速測量傳感器采用+24 V 直流供電,另外一根為數(shù)據(jù)線,輸出0~+5 V 的模擬量信號,輸出的信號通過ADC0832模數(shù)轉(zhuǎn)換電路把風(fēng)速傳感器輸出的模擬量變換為數(shù)字量,送到單片機進行顯示,ADC0832 和單片機之間則使用SPI 總線進行通信傳輸風(fēng)速數(shù)據(jù)。
1.5 顯示電路方案設(shè)計
顯示電路在本設(shè)計中主要用于顯示風(fēng)速和風(fēng)力等級,所需顯示的數(shù)據(jù)格式如下:SPEED:XX.XXm/s,wind scale:x。例如,SPEED: 23.5 m/s,wind scale:9,表示當(dāng)前風(fēng)速是23.5 m/s,風(fēng)力等級為9 級。
利用LCD1602 顯示風(fēng)速,LCD1602 是一種能夠同時顯示16 個×2 行字符的液晶顯示器,能顯示的數(shù)據(jù)格式有:數(shù)字,字母,ASCII 字符等等。該液晶通過三位控制總線和8 位并行數(shù)據(jù)總線進行控制顯示。
如圖4 所示,液晶顯示電路用LCD1602 作為顯示器件,具有電路接口簡單的特點,圖4 中的液晶接口分為電源接口、讀寫控制接口、讀寫數(shù)據(jù)接口,八位并行數(shù)據(jù)總線和單片機的P0 口相連接,而讀寫控制線和單片機的P2 口連接?;瑒幼冏杵鞯淖饔檬钦{(diào)節(jié)液晶對比度,便于優(yōu)化顯示效果。
2 軟件程序設(shè)計
整個系統(tǒng)由單片機控制ADC0832 將風(fēng)速傳感器輸出的模擬量變?yōu)閿?shù)字量,然后把數(shù)字量換算出相應(yīng)的數(shù)值并發(fā)送到LCD1602 上顯示出來。因此整個系統(tǒng)的軟件程序分為系統(tǒng)初始化子程序模塊、ADC 轉(zhuǎn)換子程序模塊、液晶顯示控制模塊,整個系統(tǒng)上電之后,單片機先調(diào)用初始化函數(shù),完成對液晶屏和ADC0832 的硬件初始化,讓液晶顯示器顯示出相應(yīng)數(shù)據(jù),初始化完畢后,控制ADC0832 完成ADC 轉(zhuǎn)換并計算出速度,并對風(fēng)速進行分級,傳送數(shù)據(jù)到LCD1602 顯示出來,主程序流程見圖5。
3 系統(tǒng)調(diào)試
系統(tǒng)組裝完畢后,需要對軟硬件的各項功能進行調(diào)試。先進行硬件調(diào)試,硬件調(diào)試完畢后再進行軟件調(diào)試。
3.1 硬件測試
首先分別對各電路模塊做功能性驗證,第一步是進行單片機最小系統(tǒng)的功能調(diào)試,硬件焊接完成之后,通過下載一個LCD1602 的初始化顯示程序到單片機中觀察液晶顯示器是否正常顯示字符。燒錄程序后能夠正常顯示字符,說明單片機最小系統(tǒng)及液晶顯示模塊能夠正常運行。隨后測量三杯風(fēng)速傳感器的信號輸出,通過測試,傳感器能正常輸出0~+5 V 模擬信號。之后測試ADC0832 的功能,ADC0832 功能測試是利用一個電位器產(chǎn)生模擬量輸入,把ADC0832 的驅(qū)動程序燒錄進去,能夠正常讀取電壓值,再將傳感器輸出信號作為ADC083 的輸入,綜合測試能夠采集風(fēng)速傳感器的電壓值并通過液晶顯示出來。因此整個硬件測試基本通過,圖6 是整個硬件系統(tǒng)組裝完成的電路實物圖。
3.2軟件調(diào)試
因為系統(tǒng)不涉及到精確的時序控制,且無需實現(xiàn)比較復(fù)雜的數(shù)學(xué)運算,所以使用C 語言編寫程序,開發(fā)環(huán)境采用Keil。在開發(fā)環(huán)境中建立好工程之后,編寫代碼,把編譯通過的代碼通過USB下載線下載到單片機中即可運行。在整個系統(tǒng)的各功能模塊子程序測試通過之后,即可把所有功能模塊組裝在一起,然后根據(jù)系統(tǒng)流程圖和設(shè)計思想,把整個系統(tǒng)的軟件按照流程圖和算法指引,逐步調(diào)用子程序,完成系統(tǒng)功能。
4 測試與總結(jié)
4.1 實驗結(jié)果
為了驗證所設(shè)計風(fēng)速采集記錄儀測量風(fēng)速的準確性,在相同環(huán)境下利用標準風(fēng)速測量儀和所設(shè)計的風(fēng)速采集儀進行對照實驗,因?qū)嶋H條件限制,無法產(chǎn)生14 m/s 以上的大風(fēng),實驗結(jié)果見表2。
4.2 結(jié)果討論
從表2 的實驗結(jié)果中可以看出,所設(shè)計的風(fēng)速測量儀風(fēng)速測量結(jié)果和標準儀器測量結(jié)果一致性好,最大誤差為0.71%,具有較高精度,能夠滿足農(nóng)業(yè)、工業(yè)、生產(chǎn)及生活所需,具有較強實用價值。
參考文獻:
[1] 張浩然,肖東岳.基于單片機的風(fēng)能密度測試儀設(shè)計[J].電子制作,2018(15):23-24+50.
[2] 吳啟強.超聲波三維風(fēng)速測量系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2019.
[3] 高培嚴,田明,陳銀峰,等.電磁式風(fēng)速儀的設(shè)計制作[J].大學(xué)物理實驗,2018,31(4):73-76.
[4] 陳為星,劉為國.基于STM32的風(fēng)速風(fēng)向測量系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2018,37(10):85-88.
[5] 王凱,蔣曙光,吳征艷,等.煤礦井下便攜式智能風(fēng)速測量儀的設(shè)計[J].礦山機械,2009,37(14):31-33.
[6] 崔文婷,.基于STM32的風(fēng)機測速儀的設(shè)計[J].電子測量技術(shù),2014(8):107-111.
[7] YIN X,LI X,LV J,et al.Design of Hot-bulb Probe Low-Pressure Wind Speed Calibration System[J]. Journal of Physics: Conference Series, 2019(2):022098
(本文來源于《電子產(chǎn)品世界》雜志2021年4月期)
評論