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

圖2 溫濕度監(jiān)測流程Fig.2 Flow chart of temperature and humidity monitoring
系統(tǒng)控制的過程如下:當(dāng)AT89S51 單片機(jī)在執(zhí)行完檢測功能后,判斷出當(dāng)前的溫濕度數(shù)值超出了預(yù)設(shè)值,則通過內(nèi)部程序處理,將相關(guān)繼電器吸合,從而為加熱裝置、降溫裝置、加濕裝置、除濕裝置加電,完成控制相對應(yīng)的外設(shè)設(shè)備的啟動(dòng);當(dāng)外界溫濕度數(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
為保證上位機(jī)與LCD1602 顯示的數(shù)據(jù)同步,采用RS232 串口通訊,使用Visual Basic 編程。上位機(jī)界面顯示了預(yù)先設(shè)置的溫度上限值, 溫度下限值,當(dāng)前溫度值,濕度上限值,濕度下限值,當(dāng)前濕度值。加濕繼電器、去濕繼電器、加熱繼電器、降溫繼電器的開關(guān)狀態(tài)。上位機(jī)運(yùn)行界面如圖4所示。

圖4 上位機(jī)運(yùn)行界面Fig.4 Operating interface of host computer
此界面顯示溫度上限值是30 ℃,溫度下限值是6 ℃,當(dāng)前溫度是25 ℃,濕度上限值是74%,濕度下限值是40%,當(dāng)前濕度值是30%。因?yàn)楫?dāng)前濕度值在預(yù)設(shè)的濕度下限值以下,于是加濕繼電器呈現(xiàn)打開狀態(tài),使當(dāng)前濕度增大,達(dá)到預(yù)設(shè)的濕度范圍。
經(jīng)過對溫濕度監(jiān)測與控制系統(tǒng)的硬件及軟件環(huán)節(jié)的調(diào)試,本次溫濕度檢測與控制系統(tǒng)功能得到了實(shí)現(xiàn),達(dá)到了系統(tǒng)設(shè)計(jì)之初,對生活環(huán)境溫濕度的實(shí)時(shí)監(jiān)測與控的各項(xiàng)目的。此外,該系統(tǒng)也可用于其他環(huán)境下得溫濕度監(jiān)測與控制,具有很好的移植性和廣泛的應(yīng)用性。