孟紫騰 張釗 李東澤



摘要:文章針對各種環境問題對人們產生的不利影響,為了方便人們提前做好預防措施,設計了小型氣象臺系統。設計以單片機STC89C52為控制中心,運用相應的傳感器完成對環境中溫度、濕度、風速以及PM2.5的數值采集,對模擬量進行A/D轉換之后,通過無線傳輸模塊傳送數據,最后在LCD1602液晶顯示屏完成數據顯示。測試結果表明溫度在-20℃~+60℃之間,濕度的數據在0.0%~99.99%之內,在有煙霧等細小顆粒存在的狀況下,PM2.5的值較大。
關鍵詞:小型氣象臺;單片機;傳感器;無線傳輸
中圖分類號:TP368文獻標志碼:A
0 引言
小型氣象臺系統是目前監測天氣的方式之一,在一般場合下主要監測風速、溫度、濕度以及PM2.5等幾種常規的項目,也可以增加專用設備完成對紫外線值、氣壓、風向等方面的監測。小型氣象臺系統可以應用于日常生活中的氣象觀測,也可以應用于倉庫管理、農業生產等方面,具有操作簡單、成本低、實用性強等優勢。考慮到成本等問題,本設計采用STC系列單片機作為控制系統,其功能部件主要集中在芯片中,體積較小,可以滿足設計的要求。通過相應的傳感器完成信號采集,數據處理后無線傳輸到顯示屏進行顯示,實現實時監測環境中的基本參數。
1 系統硬件設計
1.1 總體方案設計
小型氣象臺系統以STC89C52單片機作為硬件控制器,通過集成DHT21傳感器、夏普GP2Y1010AUOF傳感器以及三杯式風速傳感器完成對溫度、濕度、PM2.5以及風速這些基本的氣象參數的采集,將收集到的模擬量經過ADC0832芯片轉換,以便控制器進行處理,之后利用無線傳輸模塊NRF24L01來傳送數據,經過處理后的數據在液晶屏上實現顯示。單片機通過調用各個模塊的程序來處理相關的數據信息,其中電源模塊需要5V的USB來進行直接供電。小型氣象臺系統總體結構如圖1所示。
1.2 單片機最小系統
控制系統方案的數據量需求不大,電路設計簡單,且考慮到成本問題,本系統選用STC89C52單片機作為整個中控單元,加上電源電路、晶振電路、復位電路等部分構成了最小系統[1]。晶振電路是由一個12MHz的晶振以及兩個幫助晶振起振的電容C2、C3構成,其中兩個電容取值都為30pF。復位電路由極性電容C1和電阻R1構成,其中,電容值為10 μF、電阻值為10 K。P0端口連接大小為10 K的電阻,用作普通I/O端口。除微控制器的最小系統外,還增加了外部接口電路和其他外設。單片機最小系統如圖2所示。
1.3 溫濕度采集模塊
本設計選用DHT21溫濕度傳感器來完成溫濕度的采集,該傳感器需要5 V的電源供電。準度大概為濕度±3%RH、溫度±0.3℃,可傳輸20米以上的距離。DHT21傳感器為單總線數據輸出格式,通信一次大約需要5ms。在硬件電路設計中將1引腳接+5 V電源,2引腳接數據線,3引腳置空,4引腳接地。
1.4 PM2.5采集模塊
通過GP2Y1010AU0F粉塵傳感器完成對環境中細微顆粒物的監測。它可測量0.8 μm以上的微小粒子,例如,香煙、花粉、房屋粉塵等。利用傳感器輸出的電壓值的高低來反映空氣中灰塵顆粒的濃度,空氣中香煙等粉塵的濃度越高,電壓值也會相應地升高。在硬件電路圖中,GND引腳接地、VCC引腳接電源、TXD引腳連接單片機,P30引腳用于完成數據傳輸。
1.5 AD轉換模塊
ADC0832是一種體積小、兼容性強、性價比高的芯片,該芯片具有 8 位分辨率和雙通道 A/D 轉換,工作頻率為 250 KHz,轉換時間為32 μs[2]。AD轉換模塊實現模擬量的轉換,方便控制器進行處理。它的DODI引腳接單片機的P10引腳用來傳輸數據,CS引腳接MCU的P12引腳使芯片低電平使能,CLK引腳接單片機P11引腳控制芯片時鐘信號輸入。
1.6 無線傳輸模塊
NRF24L01無線通信芯片具有即時性強、幾乎不延時、超低耗等特點。空曠條件下,經過實測,2M傳輸速率下15 m,1M傳輸速率30 m,250 K傳輸速率50 m。在單片機系統中預留5個GPIO,1個中斷輸入就可以實現無線通信的功能[3]。無線傳輸模塊的電路連接如圖3所示。
1.7 液晶顯示模塊
采用LCD1602液晶屏完成數據的顯示。LCD1602能顯示16個字符×2行,即32個字符[4]。在顯示電路中,第1腳、第2腳分別連接到電路的GND和VCC,引腳2是液晶工作的電源輸入腳。第3腳串聯一個阻值大小為2 K的電阻并連接到地端,調節該電阻來調節液晶的對比度。第4、第5、第6腳分別連接到單片機的P12,P13,P14腳上,其中6腳為液晶的使能引腳。7-14腳連接到單片機的P0口上。第15、第16腳連接到系統的VCC和GND上。
2 系統軟件設計
2.1 總體程序流程圖設計
首先要對液晶性能和顯示內容進行初始化,之后進行串口的初始化。初始化完成后讀取相應的傳感器采集到的溫度、濕度、PM2.5、風速的數據,之后將測得的數據通過無線傳輸到液晶顯示屏上完成測量結果的顯示,再繼續執行任務。總體程序流程如圖4所示。
2.2 1602液晶顯示器程序設計
使用1602液晶顯示器實現顯示數據,若沒有接收到無線模塊傳送過來的數據,則液晶顯示屏上顯示“NO NRF24L01”;接收到后,則在顯示屏第一排顯示溫度、濕度以及風速,第二排顯示PM2.5值。另外,液晶的顯示工作是一位一位逐個進行的。在任務開始時,對第1個字符進行定位后,此后不需要對每個字符都定位,液晶會自動跳轉至下一個字符顯示。
2.3 無線傳輸模塊程序設計
NRF24L01無線模塊在使用時,通過基本的程序指令來完成運行無線模塊,其中包含中斷信號IRQ和一些命令。發射節點啟用了IRO和ACK功能后,無線模塊之間可以進行通信。發送模塊接收到接收模塊發送過來的ACK信號,中斷信號IRO被置低中斷傳輸。如果接收節點使用IRQ和ACK功能,則在成功進行數據交換后,在有效數據范圍內接收數據后,中斷信號的IRQ線也會被置低中斷傳輸,同時通知單片機可以接收數據進行處理。
3 結語
通電后,等幾秒后各個氣象參數在顯示屏上正常顯示,溫度精準到0.1℃,測量范疇在-20℃~+60℃,濕度精確到0.1%,濕度測量范圍為0.0%~99.9%,PM2.5的靈敏度為0.1mg/m3。可以運用小電扇來提供風力或者用手推動風速傳感器,注意風的方向應該對著碗狀結構,如果推的方向相反,則不會測量出結果,即風速為0。在不同環境下有不同的數值,經過多次試驗,顯示屏能清楚地顯示需要的數據,各個位置達到編寫要求,操作方便,采集的數據在傳感器合理的范圍內,精度也沒問題,基本實現了本次設計的預期要求。下一步,計劃將數據通過數據采集卡傳輸到上位機LabVIEW上進行數據顯示、分析、存儲與處理,實現遠程實時監控和報警功能。
參考文獻
[1]胡林林,付龍,吳偉.基于AT89C52單片機的智能家居環境監測系統設計[J].信息技術與信息化,2021(12):75-78.
[2]劉曉藝,劉清平,安仕梅.基于STC89C52單片機的溫度采集與控制系統設計[J].科技廣場,2016(6):186-188.
[3]李賀,程祥,曾令國.基于nRF24L01芯片的近程無線通信系統設計[J].現代電子技術,2014(15):32-34.
[4]趙曉梅.基于單片機的黑板粉塵監測清除裝置設計[D].徐州:中國礦業大學,2021.
(編輯 傅金睿)