林森,胡晴 ,王宇萌通信作者)
1.吉林農業科技學院,吉林 吉林 130012:2.國網冀北電力有限公司懷安縣供電分公司,河北 張家口 076150
近年來,氣象監測系統發展迅速,我國在這方面已經取得了舉世矚目的成就。氣象監測系統為現代氣象業發展服務,提供了豐富的監測數據以及監測產品。傳統的觀念中的氣象監測僅限于借助儀器和目力來對氣象要素進行判斷和測量,涉及范圍十分局限,但隨著自動化和電子信息技術的發展,測量技術以及測量范圍不斷地擴展,自動化監測技術不斷地完善,《戰略研究》中提到了對氣象監測的新的解釋:氣象監測是對地球上所有的生態圈的氣候以及氣候變化過程中的多方面數據進行采集、記錄以及顯示[1]。
本文研究的氣象監測系統是以STC12C5A 60S2單片機為核心,監測溫濕度、光照強度、PM2.5濃度、大氣壓強,利用LCD1602液晶顯示器將監測到的數據顯示在液晶顯示屏上,控制上下限數值。當檢測溫濕度不在限定值內時,蜂鳴器發出警報,LED小燈閃爍,同時可以將大氣壓強、光照強度和PM2.5濃度的數據通過無線通信技術傳輸顯示到手機APP上[2]。
系統選用的主要元器件有:STC12C5A60S2單片機、粉塵傳感器、溫濕度傳感器、液晶顯示模塊、氣壓傳感器、光敏傳感器、蜂鳴器、LED小燈、ESP8266芯片,如圖1所示。

圖1 系統結構示意框圖
本次設計是針對氣象監測需求設計一個基于51單片機的采集監測顯示系統,具體功能如下:
(1)采用溫度、濕度傳感器對溫度、濕度進行實時測量和采集,并將其傳送至微處理器,通過液晶顯示屏進行顯示,并對現場的天氣狀況進行分析,確定溫度和濕度的閾值。溫度檢測范圍在0~100℃,測溫精度±2℃。濕度檢測范圍0~100%RH,測濕精度在±2%RH。
(2)當溫濕度采集數據時,溫度超限時,其一燈亮;濕度超限,其二燈亮。其中之一超限,蜂鳴器報警,具有基本的聲光報警功能。
(3)利用光敏傳感器實時監測光照強度數值,并將數值傳送到單片機上,由LCD1602顯示。利用粉塵傳感器、氣壓傳感器同樣可實時監測PM2.5濃度、大氣壓強數值。
(4)使用LCD1602液晶顯示器顯示溫濕度、大氣壓強、光照強度、PM2.5數值。
(5)WiFi模塊將實時采集到的數據利用局域網TPC通信傳送到用戶的手機APP上,以便實時查看,實現人機交互。
根據本次設計需要,選用STC12C5A60S2單片機作為主控制器,基于向用戶發送實時信息功能,選擇STC12C5A60S2微處理器,選擇WiFi通信,STC12C5A60S2微處理器采用靈活的8位CPU,聯機可編程Flash。因此本研究選用了增強型的8051單片機。
該傳感器采用了最新的PM2.5探測機制,用于監測PM2.5。本儀器利用微粒計數原理對PM2.5進行探測,能對直徑1微米以上的粉塵進行敏感探測,并帶有可配置為UART的數字串行接口及定制接口,含有PWM信號輸出。
光敏傳感器包含3個引腳,1引腳接地,2引腳連接電源,3引腳與STC89C52單片機P10端口連接,用于收發信號,采集數據。
Bmp180是一種氣壓傳感器,具有一個簡單兩線式l2C接口,可以作為微控制器接口與單片機相連,內含4根引腳,即氣壓傳感器原理,其中VCC和GND分別接電源和地,其中數據線SDI與單片機的P30、P31引腳相連,時鐘線SCL與單片機的P15、P16引腳相連。當Bmp180接收數據時,每個數據位發送一個確認ACKS,主機在發送最后一個確認后,發送停止條件。Bmp180模塊帶有一個3.3V穩壓器,可以與5V的微控制器一起使用[3]。
本設計的溫濕度報警電路采用的是2個LED燈和1個蜂鳴器,LED能夠將接收到的電信號轉化為光信號。在本系統中,當溫度超限時,D5燈亮同時蜂鳴器響;當濕度超限時,D4燈亮同時蜂鳴器響;燈D4、D5分別和STC89C52單片機的P22、P21端口相連。
系統的聲音報警功能由蜂鳴器來實現,晶體管發射極一端接電源,SS8550晶體管集電極一端接蜂鳴器,蜂鳴器另一端口接地,當溫度或濕度不在限定范圍時,蜂鳴器發聲報警。
本系統選用的是局域網TPC通信,使用了ESP8266模塊。ESP8266共有6個通用I/O口,其中1、2、3引腳分別是NC、GPIO02、GPIO13引腳,其中NC引腳與STC89C52單片機的P13端口相連;4引腳接地,5引腳接3.3V電源;5、6、7引腳分別是CH_PD、RX、N(7)引腳,恒為低電平,上電后藍燈閃爍0.2秒后熄滅,即可輸入AT指令。
氣象檢測系統軟件設計分為幾個方面:主程序、檢測程序、按鍵處理程序、WiFi通信程序。系統主程序流程如圖2所示。

圖2 主程序流程圖
本次軟件設計編程用到的是KEILC51來完成。氣象監測系統主程序主要由以下幾個系統組成大氣壓檢測程序、光強檢測程序、溫濕度設定程序、粉塵檢測程序、按鍵程序、液晶顯示等程序。主程序如下,因為篇幅有限,僅展示部分。
主程序初始化之后,設定溫濕度上下限數值,溫度上限位29℃、下限設定為26℃;濕度上限設定為50%,下限設定為20%。共設置五個按鍵K2-K6,K2、K3控制溫度上限下限數值,每按下K2一次,溫度上限值增加1℃,K3同理;K4、K5控制濕度上下限數值,每按下一次,數值增加1%。按下K6實現液晶顯示界面光強、大氣壓、粉塵、溫濕度的切換。
本次設計使用Altium Designer軟件來繪制原理圖,如圖3所示。

圖3 原理圖
(1)首先將系統USB供電接口接電源,按下開關按鈕上電,開機之后液晶顯示屏顯示溫度上下限值為29℃、26℃。
(2)用手機連接“WY WiFi”網絡,打開氣象檢測APP點擊連接,使其始終保持連接狀態。
(3)手機APP接入運行界面后,如圖4所示。
(4)接入運行后按下K2,檢測溫度為24℃,超過溫度上限值23℃,警報燈亮同時蜂鳴器響。
(5)當前大氣壓強數值如圖4所示。

圖4 接入界面
(6)遮擋光強傳感器,光照強度數值發生變化。
(7)用手指觸碰溫濕度傳感器,濕度增加,也會發出警報。
本系統最后將在PCB板上完成各個模塊的組裝和焊接,焊接完成后,主要檢查各個模塊有無少焊、漏焊、短路等情況;其次檢查按鍵模塊,檢查按下功能是否能實現;調節溫濕度數值時,檢查LED小燈和蜂鳴器是否響應,WiFi模塊軟件燒錄是否正確。
調試過程中,光敏傳感器1、2引腳接反了,導致按下按鍵6切換顯示界面時,光照強度沒有數值,重新修正后,光照強度正常顯示數值[4-5]。
本設計以溫濕度、大氣壓、光照、PM2.5濃度為控制對象,設計了一款基于單片機的自動氣象檢測系統,主要分為數據檢測模塊、WiFi無線通信模塊兩大部分,基本實現了對溫濕度、大氣壓強、光照強度、粉塵的數據檢測、超限報警功能以及系統設計初期的設計要求,完成了手機傳輸顯示數據,設計出了軟硬件方案。
本設計證明了STC12C5A60S2單片機的諸多優勢,根據目前國內外現狀,氣象檢測系統目前被廣泛應用于農業上,需要檢測的范圍更廣。但由于本人能力有限,還不能完成溫濕度的高精度檢測,為了保證系統的整體性能和穩定性,本系統仍需改進。