基于單片機(jī)的溫濕度檢測(cè)與控制系統(tǒng)研究
引言
溫、濕度是工業(yè)生產(chǎn)中常見的被控參數(shù),溫度和濕度己不再是相互獨(dú)立的量,而應(yīng)在系統(tǒng)集成中綜合考慮。利用單片機(jī)對(duì)溫、濕度控制,具有控溫、濕精度高、功能強(qiáng)、體積小、價(jià)格低,簡(jiǎn)單靈活等優(yōu)點(diǎn),很好的滿足了工藝要求。本文介紹了利用AT89C51單片機(jī)進(jìn)行溫度和濕度的檢測(cè)及其控制的智能化方法。
1系統(tǒng)的硬件結(jié)構(gòu)及工作原理
工業(yè)中很多裝置溫度和濕度需要保持在一個(gè)既定的溫度和濕度值上,本文針對(duì)實(shí)際需要,設(shè)計(jì)了一套溫度、濕度閉環(huán)檢測(cè)與控制系統(tǒng),系統(tǒng)整個(gè)硬件結(jié)構(gòu)如圖1:
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)的工作中,經(jīng)過(guò)溫度、濕度檢測(cè)及變換電路把被測(cè)對(duì)象的溫度、濕度轉(zhuǎn)換成電壓信號(hào),該電壓信號(hào)經(jīng)A/D變換器轉(zhuǎn)換為數(shù)字信號(hào)后送入單片機(jī)中,與給定的對(duì)應(yīng)所要控制的多組溫度、濕度值進(jìn)行比較,找出現(xiàn)溫度、濕度值所在范圍,根據(jù)單片機(jī)AT89C51中設(shè)置的PID參數(shù),輸出相應(yīng)溫度、濕度初值對(duì)應(yīng)的受控對(duì)象電機(jī)的轉(zhuǎn)速初值,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬電壓,通過(guò)信號(hào)轉(zhuǎn)化為變頻器的頻率,控制變頻調(diào)速裝置,帶動(dòng)被控對(duì)象,并且把被控對(duì)象的轉(zhuǎn)速經(jīng)變換電路和A/D轉(zhuǎn)換器反饋到單片機(jī)中,與輸出的轉(zhuǎn)速初值進(jìn)行比較,其偏差被PID程序計(jì)算出后重新輸出,在規(guī)定的時(shí)間內(nèi)循環(huán),從而實(shí)現(xiàn)對(duì)溫度、濕度的控制 [1],直到達(dá)到在誤差允許的范圍內(nèi)輸出的轉(zhuǎn)速值與轉(zhuǎn)速初值相等。對(duì)于欠溫度,控制加熱功率;對(duì)于過(guò)溫度,控制吹風(fēng)冷卻裝置,對(duì)于濕度則控制一個(gè)加濕、去濕裝置[2]。
2硬件系統(tǒng)的組成
2.1溫度傳感器的選擇[3]
本系統(tǒng)采用美國(guó)DALLAS公司生產(chǎn)的單總線數(shù)字式溫度傳感器DS18B20,由于具有結(jié)構(gòu)簡(jiǎn)單不需要外接電路,可用一根I/0數(shù)據(jù)線既供電又傳輸數(shù)據(jù),并且具有體積小,分辨率高,轉(zhuǎn)換快等優(yōu)點(diǎn),被廣泛用于測(cè)量和控制溫度的地方。
2.2濕度傳感器的選擇
本系統(tǒng)采用的是電容式濕敏傳感器HS1101,電容式濕度傳感器的感濕機(jī)理是當(dāng)基于電極間的感濕材料吸附環(huán)境中的水分時(shí),其介電常數(shù)也隨之變化,其電容量與環(huán)境中水蒸汽相對(duì)壓(PV/P}關(guān)系可由下式表示:
電容式濕度傳感器實(shí)用化程度高,工藝成熟,性能穩(wěn)定,普遍用于各種情況下濕度測(cè)量。
2.3主控模塊單片機(jī)的選擇[4]
本系統(tǒng)單片機(jī)選用ATMEL公司的閃速存儲(chǔ)器(flash ROM)型單片機(jī)芯片AT89C51。AT89C51是ATMEL公司的新一代8位的一片機(jī)產(chǎn)品,帶有4KROM、128BRAM,最大工作頻率24MHZ,同時(shí),具有32條輸入輸出線,16位定時(shí)/計(jì)數(shù)器,5個(gè)中斷源,一個(gè)串行口;它具有集成度高、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,體積小可靠性高,處理功能強(qiáng),速度快等特點(diǎn)。
2.4A/D芯片的選擇
本系統(tǒng)采用Ti公司的串行A/D芯片TLC2543,A/D轉(zhuǎn)換電路作為TLC2543與單片機(jī)的接口電路,它是一種利用12位開關(guān)電容逐次逼近模擬信號(hào)的模數(shù)轉(zhuǎn)換器,片內(nèi)有14位通道。具有12位分辨率A/D轉(zhuǎn)換口,在標(biāo)定轉(zhuǎn)換溫度范圍內(nèi)轉(zhuǎn)換時(shí)間為10us,輸出數(shù)據(jù)長(zhǎng)度可編程,TLC2543自帶采樣、保持電路。所以輸出引腳可以直接與單片機(jī)的并行I/0口連接。
2.5D/A芯片的選擇
本系統(tǒng)采用帶有緩沖基準(zhǔn)輸入的10位電壓輸出數(shù)據(jù)的模擬轉(zhuǎn)換器TLC5615,D/A轉(zhuǎn)換電路作為TLC5615與單片機(jī)的接口電路,它具有基準(zhǔn)電壓兩倍的輸出電壓范圍。通過(guò)3線串行總線和工業(yè)標(biāo)準(zhǔn)的微處理器和微控制器接口,接收16位數(shù)據(jù)字以產(chǎn)生模擬輸出。
2.6報(bào)警電路簡(jiǎn)介
本設(shè)計(jì)的報(bào)警電路由一個(gè)自我震蕩刑的蜂鳴器,只要在蜂鳴器兩端加上超過(guò)3v的電壓,蜂鳴器就會(huì)叫個(gè)不停和一個(gè)發(fā)光二極管組成。設(shè)計(jì)中蜂鳴器是通過(guò)ULN 2003達(dá)林頓管芯片電流放大IC來(lái)控制。在要求的溫度、濕度達(dá)到一定的上界或者下界時(shí),報(bào)警電路開始工作。
2.7溫度、濕度顯示電路
本設(shè)計(jì)中用4個(gè)LED組成顯示單元,采用靜態(tài)顯示方式。如圖2所示,
圖2 溫、濕度顯示模塊圖
AT89C51通過(guò)2-4譯碼器對(duì)4只MC14495芯片進(jìn)行控制。MC14495的輸出端與LED數(shù)碼管的7段a,b,c,d,e,f,g相連。MC14495芯片的作用是輸入被顯示字符的二進(jìn)制碼(或BCD碼),井把他自動(dòng)轉(zhuǎn)換成相應(yīng)的字形碼,送給LED顯示。
圖2中,4個(gè)輸出端口用于輸出顯示字符的二進(jìn)制碼 (或BCD碼)。1個(gè)輸出端口用于控制2-4譯碼器工作,還有2個(gè)輸出口經(jīng)譯碼器輸出后控制哪一片MC14495顯示輸出,從而直觀的看出溫度、濕度經(jīng)過(guò)閉環(huán)調(diào)節(jié)之后的效果值。如我們假定溫度上限、下限為50,0,濕度為70,30。我們可根據(jù)現(xiàn)場(chǎng)檢測(cè)直觀的顯示溫、濕度值,超出系統(tǒng)將做報(bào)警處理。程序簡(jiǎn)單思路如下[5]:
#includeiostream.h>
Void main( ){ int a,b,c,d,e,f,g,g;//設(shè)置檢測(cè)點(diǎn)a,b用來(lái)檢測(cè)溫度上下限,c,d檢測(cè)濕度上下限,e,f,g,h對(duì)應(yīng)顯示溫度與濕度的測(cè)量值。
If(a>0a5c>3c7)//如果溫度、濕度都在我們?cè)O(shè)定的范圍內(nèi),正常顯示。
a=e;b=f;c=g;d=h;//把檢測(cè)對(duì)應(yīng)連接顯示接口,顯示溫度、濕度值。
else
報(bào)警}
3系統(tǒng)軟件設(shè)計(jì)
3.1數(shù)據(jù)采集
溫度數(shù)據(jù)的采集經(jīng)過(guò)DS18B20獨(dú)特的功能,直接將采集的數(shù)據(jù)自動(dòng)轉(zhuǎn)化為數(shù)字量傳入單片機(jī),濕度數(shù)據(jù)是由傳感器測(cè)得現(xiàn)場(chǎng)濕度信號(hào)經(jīng)變送器轉(zhuǎn)換成0~5V的直流信號(hào),送到A/D模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量后,再送入單片機(jī)進(jìn)行數(shù)據(jù)處理,處理后的數(shù)據(jù)進(jìn)入PID算法比較做出控制量的選擇。
3.2數(shù)字濾波
當(dāng)采樣過(guò)程完成后,要對(duì)采樣所得的數(shù)據(jù)進(jìn)行數(shù)字濾波。數(shù)字濾波程序用于濾去來(lái)自控制現(xiàn)場(chǎng)對(duì)采樣值的干擾,數(shù)字濾波的算法很多,這里采用中值濾波。中值濾波原理很簡(jiǎn)單,就是對(duì)采樣過(guò)程中的n個(gè) (一般是3個(gè))采樣值進(jìn)行比較,取中間值放入指定的存儲(chǔ)單元。
3.3單片機(jī)抗干擾電路的設(shè)計(jì)
在抗干擾方面的許多技術(shù),如設(shè)計(jì)軟件陷阱、加硬件看門狗電路等。若失控的程序進(jìn)入“死循環(huán)”,通常采用“看門狗”技術(shù)使程序脫離“死循環(huán)”。通過(guò)不斷檢測(cè)程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程序循環(huán)時(shí)間超過(guò)最大循環(huán)運(yùn)行時(shí)間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯(cuò)處理?!?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/看門狗">看門狗”技術(shù)大大提高了系統(tǒng)可靠性,本系統(tǒng)“看門狗”讓系統(tǒng)運(yùn)行更加穩(wěn)定可靠。
3.4系統(tǒng)的PID控制算法[6]
控制算法是控制系統(tǒng)的核心部分,是控制系統(tǒng)能否穩(wěn)定和調(diào)節(jié)品質(zhì)是否優(yōu)良的關(guān)鍵。本系統(tǒng)是一個(gè)閉環(huán)控制的單片機(jī)直接控制系統(tǒng)(DDC),它的工作原理是按照一定的采樣周期T去對(duì)被控量(溫度、濕度)進(jìn)行采樣,并經(jīng)過(guò)控制算法算出控制量,以此控制量作為輸出控制執(zhí)行器,實(shí)現(xiàn)對(duì)被控對(duì)象的控制,采用單片機(jī)作為控制器核心所構(gòu)成的自動(dòng)控制系統(tǒng),軟件算法流程圖如圖3。閉環(huán)溫度、濕度控制程序,由求偏差E和偏差變化率Ec,數(shù)據(jù)量化算法、增量PID控制算法等程序模塊組成。單片機(jī)首先讀取數(shù)字化的實(shí)際轉(zhuǎn)速,并與設(shè)定的轉(zhuǎn)速相比較,得出差值,單片機(jī)再根據(jù)差值,調(diào)用PID程序,計(jì)算并輸出模擬電壓控制變頻調(diào)速器,調(diào)節(jié)被控對(duì)象電機(jī)轉(zhuǎn)速的大小,同時(shí),尋找最優(yōu)條件,改變PID參數(shù)。
PID的計(jì)算公式為:
U(K)=U(K-1)+KP[E(K)-E(K-1)]+KI×E(K)+KD[E(K)-2 E(K-1)+ E(K-2)]
= U(K-1)+PP+PI+PD (2)
KI=T/TK (3)
KD=Td/T (4)
式中:KP為比例系數(shù);T為采樣周期;TK為積分時(shí)間;Td為微分時(shí)間。
根據(jù)公式進(jìn)行編程,相應(yīng)的程序流程如圖4
圖3軟件算法流程圖
圖4PID算法子程序流程圖
4 結(jié)束語(yǔ)
該閉環(huán)控制系統(tǒng)實(shí)現(xiàn)了AT89C51單片機(jī)為核心,通過(guò)PID算法達(dá)到對(duì)溫度、濕度的檢測(cè)及其控制,運(yùn)行可靠,操作簡(jiǎn)單,精度高,響應(yīng)速度快,可以滿足溫、濕度的控制。同時(shí),通過(guò)LED數(shù)碼管直觀的顯示通過(guò)控制系統(tǒng)后的溫、濕度值,當(dāng)出現(xiàn)異?,F(xiàn)象時(shí),通過(guò)報(bào)警裝置發(fā)出警告,及時(shí)得到處理,從而滿足現(xiàn)場(chǎng)需要,具有廣泛的應(yīng)用前景。
本文創(chuàng)新點(diǎn):采用單片機(jī)AT89C51性價(jià)比高,溫度DS18B20轉(zhuǎn)化溫度簡(jiǎn)潔,整個(gè)閉環(huán)控制系統(tǒng)通過(guò)PID設(shè)置的參數(shù),根據(jù)單片機(jī)自動(dòng)修正啟動(dòng)溫、濕度控制裝置,調(diào)整滿足現(xiàn)場(chǎng)需要,同時(shí)可通過(guò)數(shù)碼顯示,清楚的觀測(cè)到溫、濕度值,超過(guò)限定值進(jìn)行報(bào)警處理。此套裝置實(shí)施方便、可靠。
參考文獻(xiàn):
[1]劉攀,俞杰.基于單片機(jī)的溫度測(cè)控系統(tǒng)[J]. 蘭州交通大學(xué)學(xué)報(bào),2005,6-12: 103-106.
[2]夏曉南.基于單片機(jī)的溫箱溫度和濕度的控制[J].現(xiàn)代電子技術(shù),2005,215-24: 117-118.
[3]趙娜,趙剛.基于51單片機(jī)的溫度測(cè)量系統(tǒng)[J].微計(jì)算機(jī)信息,2007,23-1:146-148.
[4]馮建華,趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社 2004
[5]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社 1999
[6]王德玉等.智能井控系統(tǒng)的控制研究[J].西南石油大學(xué)學(xué)報(bào),2006,28-4:97-100.
蜂鳴器相關(guān)文章:蜂鳴器原理
評(píng)論