基于DHT11的多點(diǎn)溫濕度報(bào)警系統(tǒng)設(shè)計(jì)
引言
實(shí)驗(yàn)室作為學(xué)生實(shí)驗(yàn)和科研活動(dòng)的重要場(chǎng)所,實(shí)驗(yàn)室環(huán)境指標(biāo)是否符合要求,直接關(guān)系到實(shí)驗(yàn)?zāi)芊耥樌M(jìn)行,乃至實(shí)驗(yàn)的成敗,特別是對(duì)于醫(yī)學(xué)院校生物、生理等實(shí)驗(yàn)課程,都要求穩(wěn)定的實(shí)驗(yàn)室環(huán)境,所以對(duì)于實(shí)驗(yàn)室環(huán)境參數(shù)的檢測(cè)就顯得尤為重要。傳統(tǒng)的實(shí)驗(yàn)室溫度濕度檢測(cè)方案基本使用溫濕度傳感器采集信號(hào),經(jīng)放大、濾波、校準(zhǔn)、模數(shù)轉(zhuǎn)換、顯示等硬件電路實(shí)現(xiàn),這種方案由于硬件系統(tǒng)復(fù)雜,調(diào)試?yán)щy,使用時(shí)系統(tǒng)小元件故障就可能造成系統(tǒng)不穩(wěn)定乃至癱瘓。鑒于此,我們采用數(shù)字溫濕度傳感器DHT11對(duì)傳統(tǒng)溫濕度檢測(cè)方案進(jìn)行改進(jìn)設(shè)計(jì),對(duì)實(shí)驗(yàn)室溫濕度參數(shù)采用多點(diǎn)檢測(cè),實(shí)現(xiàn)了實(shí)時(shí)綜合評(píng)估實(shí)驗(yàn)室溫濕度環(huán)境適宜性的目的。
1 系統(tǒng)原理及硬件構(gòu)成
1.1 系統(tǒng)原理
實(shí)驗(yàn)室多點(diǎn)溫濕度報(bào)警系統(tǒng)原理框圖如圖1所示,由低性價(jià)比單片機(jī)對(duì)數(shù)字溫濕度傳感器控制,通過模擬溫度傳感器通訊時(shí)序,實(shí)現(xiàn)對(duì)溫濕度數(shù)據(jù)采集,并對(duì)數(shù)據(jù)處理、顯示。當(dāng)溫濕度數(shù)據(jù)超出設(shè)定溫濕度值時(shí),由單片機(jī)驅(qū)動(dòng)報(bào)警裝置,實(shí)現(xiàn)現(xiàn)場(chǎng)報(bào)警功能。
1.2 硬件選型
單片機(jī)選用國產(chǎn)宏晶科技生產(chǎn)的高性價(jià)比STC89C51RC系列,與傳統(tǒng)8051單片機(jī)相比,其具有功耗低,抗外部電磁輻射干擾強(qiáng),程序下載方式為UART方式等優(yōu)點(diǎn),使用非常方便。顯示模塊采用自帶漢字庫的LCD12864,主控芯片為ST7921,要求支持串口通信(部分LCD模塊需要跳線才能實(shí)現(xiàn)串口通信功能)。報(bào)警裝置采用LED與蜂鳴器實(shí)現(xiàn)聲光報(bào)警,當(dāng)溫濕度超出設(shè)定值時(shí),單片機(jī)I/O口輸出高電平,經(jīng)NPN型三極管驅(qū)動(dòng)大電流蜂鳴器和高亮發(fā)光管,實(shí)現(xiàn)報(bào)警功能。
1.3 DHT11特性研究
DHT11數(shù)字溫濕度傳感器,是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。測(cè)量范圍相對(duì)濕度20%~90%RH,攝氏溫度0~50℃。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。數(shù)據(jù)接口采用單線制串行接口,信號(hào)傳輸距離可達(dá)20 m以上。傳感器典型連接方式如圖2所示,電源正與地跟單片機(jī)電源正和地相連接,8路數(shù)據(jù)接口分別接5.1 k上拉電阻與單片機(jī)P1口連接。
DHT11數(shù)字溫濕度傳感器采用單線雙向的串行接口技術(shù),一次通訊時(shí)間約4ms,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,一次完整的數(shù)據(jù)傳輸為40bit,高位在先。即8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)碼,其中校驗(yàn)數(shù)據(jù)等于上述4個(gè)8bit數(shù)據(jù)之和所得結(jié)果的末8位。例如:讀取數(shù)據(jù)為:濕度為:36.50%;溫度為22.80℃,則對(duì)應(yīng)的40bit數(shù)據(jù)為:0010 0100,0011 0010,0001 O110,0101 0000,1011 1100,其數(shù)值對(duì)應(yīng)于溫濕度如表1所示。
DHT11與單片機(jī)主機(jī)通訊過程時(shí)序如圖3所示,總線空閑狀態(tài)為高電平,主機(jī)把總線拉低大于18ms等待DHT11響應(yīng),等開始信號(hào)結(jié)束后,延時(shí)等待20~40μs,DHT11然后發(fā)送80μs低電平響應(yīng)信號(hào),然后主機(jī)讀取DHT11的響應(yīng)信號(hào),若總線為低電平,說明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80μs,準(zhǔn)備發(fā)送數(shù)據(jù),每1 bit數(shù)據(jù)都以50μs低電平時(shí)隙開始,高電平的長短(26μs~28μs表示數(shù)字0;70μs表示數(shù)字1)決定了數(shù)據(jù)位是0或1。如果讀取響應(yīng)信號(hào)為高電平,則DHT11沒有響應(yīng),應(yīng)當(dāng)檢測(cè)器件或電路。當(dāng)最后1 bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。當(dāng)用戶MCU再次發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40blt的數(shù)據(jù),這是讀到的數(shù)據(jù)為上次測(cè)量的數(shù)據(jù),要得到實(shí)時(shí)溫濕度數(shù)據(jù),必須連續(xù)兩次讀取溫濕度值,且第二次讀到的值為當(dāng)前的溫濕度值。這一點(diǎn)特別值得注意。
2 系統(tǒng)軟件
軟件結(jié)構(gòu)比較簡(jiǎn)單,主要包括了系統(tǒng)各部分的初始化,數(shù)據(jù)的讀取、計(jì)算、顯示、超限判斷等。程序編寫首先要用單片機(jī)軟件模擬DHT11時(shí)序,驅(qū)動(dòng)單個(gè)傳感器模塊,然后應(yīng)用模塊化編程方法集成整個(gè)系統(tǒng)軟件,以實(shí)現(xiàn)各項(xiàng)功能。
3 總結(jié)
本文采用了單總線數(shù)字溫度、濕度傳感器,應(yīng)用單片機(jī)原理,LCD顯示技術(shù),實(shí)現(xiàn)了實(shí)驗(yàn)室多點(diǎn)溫濕度參數(shù)的實(shí)時(shí)顯示和超限報(bào)警系統(tǒng),保障了實(shí)驗(yàn)室環(huán)境的可靠性,有效地提高了實(shí)驗(yàn)成功率。本系統(tǒng)還可以根據(jù)需要增加其他模塊,通過控制比如通風(fēng),加溫等裝置,達(dá)到自動(dòng)控制實(shí)驗(yàn)室環(huán)境的目的。
評(píng)論