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