倪 瑞,張萬達
(青島大學(xué) 自動化學(xué)院,青島266071)
目前隨著人們生活質(zhì)量的不斷提高,對環(huán)境的溫濕度的需求也相應(yīng)提高。為滿足人們對自身健康狀態(tài)和生活品質(zhì)的追求,對溫濕度的監(jiān)測和控制系統(tǒng)的研究就具有實際的應(yīng)用價值。一些溫濕度系統(tǒng)使用二極管作為傳感器,其互換性差[1],為了滿足人們最佳的環(huán)境生活,我們需要研究一種簡單、高效的溫濕度檢測和控制裝置[2],便于提醒和控制人們工作和生活的溫濕度, 在不同的氣候和環(huán)境需求下,進行一定程度的調(diào)整,以便達到最佳的居住環(huán)境。針對這種需求,本文設(shè)計了基于AT89S51 單片機[3]和DHT11 溫濕度傳感器[4]的溫濕度監(jiān)測與控制系統(tǒng)。
溫濕度監(jiān)測和控制系統(tǒng),主要功能為監(jiān)測當前環(huán)境的溫濕度值;當溫濕度值高于系統(tǒng)設(shè)定的溫濕度閾值時,監(jiān)測功能將以蜂鳴的形式報警,將溫濕度值傳輸?shù)紺PU 中進行處理,控制相應(yīng)的繼電器吸合,進行加熱、降溫、加濕、除濕的操作,達到系統(tǒng)控制環(huán)境溫濕度的目的。本系統(tǒng)由5 個部分組成:溫濕度采集、數(shù)據(jù)處理、用戶交互、系統(tǒng)控制、上位機顯示。
溫濕度采集由DHT11 傳感器實現(xiàn),它可以將采集到的數(shù)據(jù)傳遞到AT89S51 芯片中;數(shù)據(jù)處理通過AT89S51 單片機進行數(shù)據(jù)處理, 經(jīng)過它的運算分析,將沒有超過預(yù)設(shè)值的溫濕度數(shù)值在LCD 屏上顯示,完成環(huán)境檢測功能。假設(shè)當前溫濕度值超過了設(shè)定的閾值,則指示蜂鳴器報警,并引導(dǎo)系統(tǒng)控制模塊中的相應(yīng)裝置運行;用戶交互包含按鍵、蜂鳴器、液晶屏等硬件,用于設(shè)定溫濕度閾值、報警、實時獲取溫濕度值, 給用戶進行參考; 系統(tǒng)控制由AT89S51、繼電器、加熱裝置、降溫風(fēng)扇、干燥器、加濕器組成, 通過系統(tǒng)控制模塊可以控制本設(shè)備加熱、降溫、加濕、除濕操作;上位機顯示,在計算機端顯示實時溫濕度數(shù)據(jù),溫濕度變化實時,與液晶顯示屏數(shù)據(jù)一致。
依據(jù)以上對系統(tǒng)的功用剖析系統(tǒng)的結(jié)構(gòu)原理圖即圖1所示。
圖1 溫濕度監(jiān)測與控制系統(tǒng)架構(gòu)圖Fig.1 Architecture of temperature and humidity monitoring and control system
通過上圖可以看出,AT89S51 是整個系統(tǒng)的核心, 各個分模塊圍繞AT89S51 展開功能, 其中DHT11 傳感器是經(jīng)校準的數(shù)字信號輸出復(fù)合傳感器,負責(zé)測量和傳輸溫濕度數(shù)據(jù)[5];LCD 顯示部分完成了在系統(tǒng)裝置上的顯示;上位機部分實現(xiàn)了在計算機端的顯示;按鈕完成初始數(shù)值的預(yù)設(shè);蜂鳴報警器完成了報警功能; 系統(tǒng)控制部分完成了加熱、散熱、加濕、除濕功能的實現(xiàn)。
1.2.1 溫濕度傳感器DHT11
DHT11 溫濕度傳感器通過內(nèi)部取值,將采集到的溫濕度模擬量轉(zhuǎn)換成數(shù)據(jù)量,直接進行取值和運算,性能穩(wěn)定、可靠。DHT11 傳感器內(nèi)含了溫濕度數(shù)據(jù)校準功能,可以將校準后的溫濕度數(shù)字送入自帶的緩存中,進行存儲,待和單片機建立通訊后,可以將這些數(shù)據(jù)送入芯片中進行通訊。DHT11 響應(yīng)快速,抗干擾強,信號傳輸距離遠,性價比高[6]。
1.2.2 AT89S51 單片機
AT89S51 具有編程的功能,特別對于聯(lián)機設(shè)備,可在不停機的情況下,執(zhí)行嵌入式在線編程,重置后方可查看實際的效果。它的存儲功能,即使出現(xiàn)了突然斷電等異常情況,仍然能良好的保存先期存儲數(shù)據(jù)。
1.2.3 LCD 液晶顯示屏
本系統(tǒng)的液晶顯示屏,要能顯示中文、英文、數(shù)字和溫濕度單位,為此我們使用LCD1602 字符型液晶屏。對于功能較為強大的顯示器,因為限制于裝置的問題, 加之與之通信的單片機通信能力有限,所以一定要等液晶屏初始化之后,才能良好的顯示數(shù)據(jù)。
溫濕度監(jiān)測的流程:當系統(tǒng)開始運行后,全部裝置進行初始化操作, 蜂鳴報警器初始化鳴叫后,證明其功能正常;LCD1602 液晶屏初始化后, 顯示預(yù)設(shè)值, 并等待數(shù)據(jù)傳輸;DHT11 溫濕度傳感模塊開始采集環(huán)境中的溫濕度值, 并通過數(shù)據(jù)轉(zhuǎn)換,傳送給AT89S51 單片機;AT89S51 根據(jù)DHT11 傳來的溫濕度數(shù)據(jù)值做出判斷,如果溫濕度數(shù)值沒有超過預(yù)設(shè)值,則與LCD1602 液晶屏通信,完成當前溫濕度值顯示,若溫濕度數(shù)值超過閾值,則報警器報警,監(jiān)測流程如圖2所示。
圖2 溫濕度監(jiān)測流程Fig.2 Flow chart of temperature and humidity monitoring
系統(tǒng)控制的過程如下:當AT89S51 單片機在執(zhí)行完檢測功能后,判斷出當前的溫濕度數(shù)值超出了預(yù)設(shè)值,則通過內(nèi)部程序處理,將相關(guān)繼電器吸合,從而為加熱裝置、降溫裝置、加濕裝置、除濕裝置加電,完成控制相對應(yīng)的外設(shè)設(shè)備的啟動;當外界溫濕度數(shù)值在預(yù)設(shè)值范圍后,AT89S51 要關(guān)閉繼電器,為相應(yīng)的外設(shè)設(shè)備斷電,溫濕度系統(tǒng)控制流程如圖3所示。
圖3 溫濕度系統(tǒng)控制流程Fig.3 Flow chart of temperature and humidity control system
為保證上位機與LCD1602 顯示的數(shù)據(jù)同步,采用RS232 串口通訊,使用Visual Basic 編程。上位機界面顯示了預(yù)先設(shè)置的溫度上限值, 溫度下限值,當前溫度值,濕度上限值,濕度下限值,當前濕度值。加濕繼電器、去濕繼電器、加熱繼電器、降溫繼電器的開關(guān)狀態(tài)。上位機運行界面如圖4所示。
圖4 上位機運行界面Fig.4 Operating interface of host computer
此界面顯示溫度上限值是30 ℃,溫度下限值是6 ℃,當前溫度是25 ℃,濕度上限值是74%,濕度下限值是40%,當前濕度值是30%。因為當前濕度值在預(yù)設(shè)的濕度下限值以下,于是加濕繼電器呈現(xiàn)打開狀態(tài),使當前濕度增大,達到預(yù)設(shè)的濕度范圍。
經(jīng)過對溫濕度監(jiān)測與控制系統(tǒng)的硬件及軟件環(huán)節(jié)的調(diào)試,本次溫濕度檢測與控制系統(tǒng)功能得到了實現(xiàn),達到了系統(tǒng)設(shè)計之初,對生活環(huán)境溫濕度的實時監(jiān)測與控的各項目的。此外,該系統(tǒng)也可用于其他環(huán)境下得溫濕度監(jiān)測與控制,具有很好的移植性和廣泛的應(yīng)用性。