段曉麗,張家超,賈支元,李立新,閆玉瑋,吳偉振
(1.太原工業(yè)學(xué)院理學(xué)系,山西 太原 030008;2太原工業(yè)學(xué)院電子工程系,山西太原 030008)
目前,加濕器已經(jīng)在日常生活中得到了較為廣泛的應(yīng)用,隨著溫濕度檢測技術(shù)越來越成熟,加濕器的設(shè)計朝著更安全以及智能化、便攜化的方向發(fā)展。在ANSI公布的“熱舒適圖”中[1]表明,在大多數(shù)情況下,空氣濕度越高,人體感覺會越舒適,通常人體能感受到的最佳溫濕度范圍在40%RH~60%RH。但隨著溫度升高,濕度就不一定是越高越好了(例如在室溫25 ℃時,如果濕度大于50%人體反而會覺得不舒服,濕度越大越不舒適。)那么冬天在室內(nèi)感到不舒服時,很有可能是濕度太高了,繼續(xù)加濕則會適得其反[2]。因此我們需要對室溫環(huán)境更加精確的測量以及智能化的自動加濕。
本系統(tǒng)由易燒寫的STC89C52單片機控制單元[3-4]、按鍵輸入閾值(按鍵模塊)、抗干擾能力強的DHT11濕溫度采集(傳感器模塊)、水位傳感器檢測(傳感器模塊)、LCD1602顯示(顯示模塊)、蜂鳴器報警(報警電路)、繼電器控制七個部分組成,其中單片機作為系統(tǒng)核心與其他六部分相互作用實現(xiàn)各類功能。整體設(shè)計框圖如圖1所示。
圖1 設(shè)計框圖
因為單片機具有較高的集成度且性能穩(wěn)定[5],操作靈活等優(yōu)勢,因此本設(shè)計采用STC89C52單片機為核心控制樞紐,振蕩電路、復(fù)位電路輔之。STC89C52是高性能COMOS8位微處理器,有8 K的系統(tǒng)內(nèi)可編程閃存。指令代碼完全兼容傳統(tǒng)8051單片機,12時鐘/機器周期和6時鐘/機器周期可以任意選擇,它兼容MCS-51系列的引腳,適用于所有標(biāo)準(zhǔn)80C51指令集。此外該器件支持在系統(tǒng)編程(ISD),程序下載完成后自動運行。
震蕩電路中單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。
本設(shè)計中復(fù)位電路采用上電復(fù)位,通過外部復(fù)位電路的電容充電來實現(xiàn)。單片機的RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期即二個機器周期以上。
傳感器模塊是對整體電路進行信號采集和初步處理,本次設(shè)計采用DHT11溫濕度傳感器模塊,其占用的面積小,濕度精度5.0%,溫度精度為0.2 ℃,采用的是單總線的數(shù)據(jù)傳輸方式,而且其抗干擾能力強,經(jīng)常用于高爐測溫、機房檢測、家庭溫度控制等方面適合于很多空間比較小的場合,檢測的結(jié)果以數(shù)字量方式串行傳送。
DHT11在3~5.5 V電壓下可以正常工作。在DHT11傳感器上電之后,為了越過不穩(wěn)定狀態(tài)則需要等待1 s,在此期間不再發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100 nF的電容,用以去耦濾波。DHT11同微處理器之間的通訊與同步通過DATA來實現(xiàn)的,DATA與單片機P2.0口相連,使用4.7 K上拉電阻,防止干擾來增加穩(wěn)定性。使用單總線數(shù)據(jù)格式,在安裝時為降低熱傳導(dǎo),DHT11與印刷電路板其它部分的銅鍍層應(yīng)盡可能最小,并在兩者之間留出了一道縫隙。
本次設(shè)計的顯示部分采用LCD1602液晶顯示器,可以顯示預(yù)設(shè)最佳相對濕度和室內(nèi)實時的相對濕度。LCD1602工作在3.5 V~5 V的工作電壓下,它內(nèi)部設(shè)計有復(fù)位電路,可以進行光標(biāo)移動、清屏的操作。顯示的亮度可以通過外部連接的電位計進行調(diào)節(jié)。內(nèi)部帶有存儲器可以儲存數(shù)據(jù),它可以直接與單片機相連,通過單片機程序來控制液晶的顯示。RT為電位器也就是滑動變阻器,通過旋轉(zhuǎn)這個電位器可以調(diào)節(jié)液晶背光亮度。
本設(shè)計采用的蜂鳴音報警電路,采用有源蜂鳴器,其作用是將在水位低于閾值的信號送給單片機后,進行報警,起到防干燒的目的。由于電路上的TTL電平基本上驅(qū)動不了蜂鳴器,因此設(shè)計中增加了一個PNP型三極管放大電流以驅(qū)動蜂鳴器,如圖2所示,圖中電阻R4起到限流的作用,可以防止三極管意外導(dǎo)通而損壞器件。
圖2 蜂鳴器報警電路
蜂鳴器的正極性的一端聯(lián)接到5 V電源上面,另一端接到三極管的集電極,三極管的基極由單片機的一個管腳通過一個與非門來控制,當(dāng)管腳為低時,與非門輸出高電平,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。當(dāng)管腳為高時,與非門輸出低電平,三極管截至,蜂鳴器不發(fā)出聲音。
按鍵電路如圖3所示,其主要功能為判別是否有按鍵按下,如果有就進入下一步工作;然后識別哪一個鍵被按下,求出相應(yīng)的鍵值;依據(jù)鍵值找到相應(yīng)的處理程序入口。具體操作及響應(yīng)如下:
圖3 按鍵電路
所有按鍵都是在按鍵彈起時,按鍵與單片機之間的引腳處于高電平,按鍵按下時處于低電平:
1) 總開關(guān):主要用來控制硬件系統(tǒng)的開關(guān);
2) 狀態(tài)選擇鍵K1:模式選擇鍵,按一次后轉(zhuǎn)為手動模式,可以根據(jù)用戶需要輸入最佳相對濕度,再按一次轉(zhuǎn)為自動模式,根據(jù)默認(rèn)最佳相對濕度40%RH進行加濕;
3) 數(shù)字設(shè)置鍵:在選擇手動模式后,按下設(shè)置鍵K2后,進行溫濕度設(shè)置,按下按鍵K3即可進入溫度或濕度的數(shù)值設(shè)置。
電路中繼電器室通過PNP型三極管驅(qū)動,當(dāng)閾值超過設(shè)定時,單片機會由高電平跳變成低電平,三極管導(dǎo)通繼電器吸合,繼電器起開關(guān)作用,可以驅(qū)動負(fù)載。
本系統(tǒng)使用的是Keil軟件,它是C51系列兼容單片機C語言軟件開發(fā)系統(tǒng),能夠應(yīng)用通俗易懂的高級C語言對單片機進行軟件開發(fā)。
所有的程序,使用C51編程語言,在keil開發(fā)環(huán)境中編譯和調(diào)試,整個程序利用了中斷技術(shù)、數(shù)字濾波技術(shù)、系數(shù)補償技術(shù)以及其他先進技術(shù)。系統(tǒng)的程序設(shè)計分為幾個模塊包括濕度檢測模塊、濕度控制模塊、按鍵輸入模塊、顯示模塊、水位檢測模塊。
系統(tǒng)上電初始化后,讀取水位信號,根據(jù)水位信號判斷是否蜂鳴報警,選擇自動/手動模式后,傳感器讀取濕度將數(shù)據(jù)送至單片機,單片機進行數(shù)比對,判斷是否加濕。加濕中如果輸入水位低信號則蜂鳴報警且不再加濕。系統(tǒng)程序流程圖如圖4所示。
圖4 主流程圖 圖5 數(shù)據(jù)采集流程圖
溫濕度程序包括DHT11初始化,應(yīng)答脈沖,掃描,數(shù)據(jù)轉(zhuǎn)換,讀操作等步驟,其程序流程圖如圖5所示。
考慮到要顯示的是溫度和濕度這兩個數(shù)據(jù),只需要能夠顯示一到兩行的顯示器即可。LCD1602顯示數(shù)據(jù)的過程是首先進行液晶初始化,初始化之后執(zhí)行延時程序,等待數(shù)據(jù)的采集,演示完成后先寫入一些指令和顯示字符的地址,之后單片機向LCD發(fā)送數(shù)據(jù)即寫數(shù)據(jù),數(shù)據(jù)發(fā)送完成后,LCD讀取寫入的地址并顯示出來,最后返回。軟件流程圖如圖6所示。
圖6 顯示流程圖
本款以STC89C52為核心設(shè)計的加濕器,經(jīng)實際測試,能夠?qū)崿F(xiàn)根據(jù)室內(nèi)空氣溫濕度對加濕器的智能調(diào)節(jié),并實時顯示溫濕度,同時也通過水位檢測電路實現(xiàn)了加濕器的防干燒功能,提高了安全性,性價比高,有較好的實際推廣價值。