1 系統(tǒng)硬件設計
室內溫度檢測與調控系統(tǒng)的基本功能要求是:能夠實時檢測并顯示室內的環(huán)境溫度,并可根據(jù)用戶要求設定溫度閾值,當室內溫度在所要求的正常范圍內時,系統(tǒng)將采集到的溫度數(shù)據(jù)實時顯示,在監(jiān)測到的環(huán)境溫度超過閾值時,系統(tǒng)發(fā)出告警提示并開啟溫度自動調節(jié)開關,控制溫度調節(jié)設備實施環(huán)境溫度自動調節(jié)。根據(jù)以上要求,構建系統(tǒng)結構如下圖1所示。
在此次系統(tǒng)設計過程中,溫度傳感器選擇DALLAS公司生產的智能數(shù)字溫度傳感器DS18B20。該傳感器因具有的功能集成化、輸出信號數(shù)字化,控制簡單化等特點而廣泛應用于溫度檢測系統(tǒng)的設計中。在0~100℃時,DS18B20最大線形偏差小于1℃:有效的測溫范圍為-55~+125 ℃;編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,測溫分辨率為0.062 5℃;被測溫度用符號擴展的16位數(shù)字量方式串行輸出。
DS18B20將地址線、數(shù)據(jù)線、控制線合為1根雙向串行數(shù)據(jù)的信號線,并允許在這根信號線上接多個DS18B20;可由單片機處理及控制,多個DS18B20可以并聯(lián)到3根或兩根線上,處理器只需1根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路,所設計電路簡潔,抗干擾性能強;其工作電源既可在遠端引入,也而采用寄生電源方式產生。
系統(tǒng)控制器采用AT89C52 8位單片機,該單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便,可以單獨實現(xiàn)對多個DS18B20控制工作。
1.1 溫度數(shù)據(jù)采集
由于室內環(huán)境溫度受光照、儲物密度、人流量等因素的影響較大,為了保證測量數(shù)據(jù)的準確性和調節(jié)控制功能執(zhí)行的有效性,在實現(xiàn)溫度數(shù)據(jù)采集時采用多點檢測方式,即通過在室內布設多個溫度檢測點,由各檢測點將采集到的數(shù)據(jù)送往系統(tǒng)控制器分析比較,當5個檢測點中有3個以上的檢測結果超過閾值后,認定當前環(huán)境溫度超限,實施告警和調節(jié)控制功能。根據(jù)以上要求設計的溫度采集模塊結構如下圖2所示。
溫度數(shù)據(jù)采集模塊中DS18B20采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個DS18B20,但實踐中發(fā)現(xiàn).如果掛接25個以上的DS18B20仍舊有可能產生功耗問題。另外單線長度也不宜超過80 m,否則也會影響到數(shù)據(jù)的傳輸。在這種情況下,可以采用分組的方式,用單片機的多個I/O來驅動多路DS18B20。在實際應用中還可以使用一個MOSFET將I/O口線直接和電源相連,起到上拉的作用。
1.2 鍵盤控制模塊
由于在本系統(tǒng)中允許用戶按照實際要求設定溫度閾值,用戶可根據(jù)對室內環(huán)境溫度要求,設定所允許的最高或最低溫度參數(shù),當環(huán)境溫度超此限度后,實施告警及自動溫度調節(jié)功能。本系統(tǒng)中設置4個按鈕開關,分別與單片機P1.0、P1.1、P1.2、P1.3口相連,分別實現(xiàn)手動復位,閾值設定選擇、數(shù)值加、數(shù)值減等功能。
1.3 系統(tǒng)顯示模塊
通過該模塊實現(xiàn)采集溫度數(shù)據(jù)的實時顯示功能,給用戶提供直觀的溫度測量數(shù)據(jù)。該模塊設計采用LCD1602來實現(xiàn),LCD1602與單片機連接電路如下圖3所示。
1.4 報警及溫度自動調節(jié)電路
該模塊的基本功能是在室內實際的測量溫度達到用戶設定閾值的時候實施報警及溫度自動調節(jié)功能。報警功能采用的是最簡單的蜂鳴器,報警持續(xù)時間可設定為30 s(主程序流程圖中在報警控制之后加報警時間判定)。溫度自動調節(jié)功能通過在單片機P1.7口接繼電器J1,繼電器J1作為溫度調節(jié)設備(如空調)的電源通斷開關。當檢測到的溫度數(shù)據(jù)在正常范圍內時,三極管VQ2處于截止狀態(tài),J1斷開;當超過閾值時P1.7變?yōu)楦唠娖剑?font class="f14">三極管由截止變?yōu)轱柡?,J1觸點閉合,則溫度調節(jié)設備的電源開關接通,實施溫度調節(jié),直至溫度達到設定要求,P1.7變?yōu)榈碗娖?,J1斷開,完成溫度自動調節(jié)過程。該部分電路如下圖4所示。
2 系統(tǒng)軟件設計
DS18B20的信號線與單片機AT89C52的P3.0口相連,通過系統(tǒng)軟件控制,實現(xiàn)信號的輸出或者讀取。其中對溫度數(shù)據(jù)的讀取包括DS18B20序列號搜索、溫度轉換、溫度數(shù)據(jù)讀取3個基本過程。系統(tǒng)工作時,首先通過初始化操作,使總線上的所連接DS18B20均被復位,接著發(fā)送ROM搜索指令,使序列號編碼匹配的DS18B20被激活,準備接受RAM訪問指令。RAM訪問指令控制處于激活狀態(tài)的DS18B20工作狀態(tài),完成溫度轉換及讀取等工作。在ROM命令發(fā)送之前,RAM命令不起作用。
本系統(tǒng)中設定5個溫度檢測點,通過在總線上掛接5個DS18B20實現(xiàn),當其中的某一個DS18B20被激活時,將所采集到的數(shù)據(jù)通過單片機P3.0送往主控機轉換分析,在主控器上實時顯示,并由主控器對所采集到的數(shù)據(jù)與設定的閾值比較,每檢測到一次溫度數(shù)據(jù)超過閾值,超限檢測點數(shù)I自加1,直到I的數(shù)值大于等于3時,單片機P3.6口輸出控制信號,使蜂鳴器報警,同時P1.7口送出控制電平,使繼電器J1吸合,溫度調節(jié)開關接通,實施溫度調節(jié)功能。
系統(tǒng)控制軟件執(zhí)行流程如圖5所示。
DS18B20初始化程序如下所示:
程序中設參數(shù)I是因室內環(huán)境受各種因素影響分布不均勻,在實施溫度超限判定時不能以某個檢測點的數(shù)值作為判定依據(jù),需要綜合多個采集點的檢測數(shù)據(jù)。本系統(tǒng)設定I大于等于3,即當5個檢測點中有任意3個以上檢測的溫度超過閾值時,就認定當前室內環(huán)境溫度超過設定要求,啟動報警及溫度自動調節(jié),同時I數(shù)值清零。
3 實驗測試
在實驗室中完成了系統(tǒng)功能測試,在面積約70 m2的實驗室中設置了5個監(jiān)測點,5個檢測點到主控機的距離分布在4~12 m之間,系統(tǒng)測試時正值夏季中午,設定閾值為30℃,即當實驗室環(huán)境溫度高于30℃實施告警和溫度調節(jié)控制?,F(xiàn)場測試時,該系統(tǒng)能夠有效地讀取并顯示各檢測點溫度,溫度數(shù)據(jù)傳輸穩(wěn)定準確,并能夠在3個以上檢測點出現(xiàn)超閾值溫度的時實施蜂鳴器報警并能驅動繼電器J1吸合,接通降溫電源開關實施降溫處理。測試結果表明該系統(tǒng)能夠穩(wěn)定的完成室內的多點溫度實時檢測、顯示、超限報警及自動調節(jié)功能。
4 結論
該系統(tǒng)方案改進了傳統(tǒng)的溫度檢測系統(tǒng)單點測試及只測溫而不能調節(jié)溫度的缺陷,通過多點溫度檢測提高了測試環(huán)境溫度的準確性,并有效地將溫度檢測與溫度自動調節(jié)控制功能結合,具有閾值設定功能,可使用戶根據(jù)需要設定告警閾值,實現(xiàn)了對特定區(qū)域的多點溫度檢測報警及溫度自動調節(jié)控制等功能,可應用于對環(huán)境溫度要求嚴格的病房、居室、辦公室、小型倉庫等場所。同時該系統(tǒng)所提供的實時室內環(huán)境溫度,也可作為用戶判定冬季室內采暖否達標的依據(jù),成為消費者維護自身權益的有力工具。