新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的溫濕度檢測與控制系統(tǒng)研究

基于單片機(jī)的溫濕度檢測與控制系統(tǒng)研究

作者: 時(shí)間:2012-01-07 來源:網(wǎng)絡(luò) 收藏

引言

溫、濕度是工業(yè)生產(chǎn)中常見的被控參數(shù),溫度和濕度己不再是相互獨(dú)立的量,而應(yīng)在系統(tǒng)集成中綜合考慮。利用單片機(jī)對(duì)溫、濕度控制,具有控溫、濕精度高、功能強(qiáng)、體積小、價(jià)格低,簡單靈活等優(yōu)點(diǎn),很好的滿足了工藝要求。本文介紹了利用AT89C51單片機(jī)進(jìn)行溫度和濕度的檢測及其控制的智能化方法。

1系統(tǒng)的硬件結(jié)構(gòu)及工作原理

工業(yè)中很多裝置溫度和濕度需要保持在一個(gè)既定的溫度和濕度值上,本文針對(duì)實(shí)際需要,設(shè)計(jì)了一套溫度、濕度閉環(huán)系統(tǒng),系統(tǒng)整個(gè)硬件結(jié)構(gòu)如圖1:

圖1 系統(tǒng)硬件結(jié)構(gòu)圖

系統(tǒng)的工作中,經(jīng)過溫度、濕度檢測及變換電路把被測對(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ù)中設(shè)置的參數(shù),輸出相應(yīng)溫度、濕度初值對(duì)應(yīng)的受控對(duì)象電機(jī)的轉(zhuǎn)速初值,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬電壓,通過信號(hào)轉(zhuǎn)化為變頻器的頻率,控制變頻調(diào)速裝置,帶動(dòng)被控對(duì)象,并且把被控對(duì)象的轉(zhuǎn)速經(jīng)變換電路和A/D轉(zhuǎn)換器反饋到單片機(jī)中,與輸出的轉(zhuǎn)速初值進(jìn)行比較,其偏差被程序計(jì)算出后重新輸出,在規(guī)定的時(shí)間內(nèi)循環(huán),從而實(shí)現(xiàn)對(duì)溫度、濕度的控制 [1],直到達(dá)到在誤差允許的范圍內(nèi)輸出的轉(zhuǎn)速值與轉(zhuǎn)速初值相等。對(duì)于欠溫度,控制加熱功率;對(duì)于過溫度,控制吹風(fēng)冷卻裝置,對(duì)于濕度則控制一個(gè)加濕、去濕裝置[2]。

2硬件系統(tǒng)的組成

2.1溫度傳感器的選擇[3]

本系統(tǒng)采用美國DALLAS公司生產(chǎn)的單總線數(shù)字式溫度傳感器DS18B20,由于具有結(jié)構(gòu)簡單不需要外接電路,可用一根I/0數(shù)據(jù)線既供電又傳輸數(shù)據(jù),并且具有體積小,分辨率高,轉(zhuǎn)換快等優(yōu)點(diǎn),被廣泛用于測量和控制溫度的地方。

2.2濕度傳感器的選擇

本系統(tǒng)采用的是電容式濕敏傳感器HS1101,電容式濕度傳感器的感濕機(jī)理是當(dāng)基于電極間的感濕材料吸附環(huán)境中的水分時(shí),其介電常數(shù)也隨之變化,其電容量與環(huán)境中水蒸汽相對(duì)壓(PV/P}關(guān)系可由下式表示:

電容式濕度傳感器實(shí)用化程度高,工藝成熟,性能穩(wěn)定,普遍用于各種情況下濕度測量。

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)簡單,體積小可靠性高,處理功能強(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ù)長度可編程,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)電壓兩倍的輸出電壓范圍。通過3線串行總線和工業(yè)標(biāo)準(zhǔn)的微處理器和微控制器接口,接收16位數(shù)據(jù)字以產(chǎn)生模擬輸出。

2.6報(bào)警電路簡介

本設(shè)計(jì)的報(bào)警電路由一個(gè)自我震蕩刑的蜂鳴器,只要在蜂鳴器兩端加上超過3v的電壓,蜂鳴器就會(huì)叫個(gè)不停和一個(gè)發(fā)光二極管組成。設(shè)計(jì)中蜂鳴器是通過ULN 2003達(dá)林頓管芯片電流放大IC來控制。在要求的溫度、濕度達(dá)到一定的上界或者下界時(shí),報(bào)警電路開始工作。

2.7溫度、濕度顯示電路

本設(shè)計(jì)中用4個(gè)LED組成顯示單元,采用靜態(tài)顯示方式。如圖2所示,

圖2 溫、濕度顯示模塊圖

AT89C51通過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)過閉環(huán)調(diào)節(jié)之后的效果值。如我們假定溫度上限、下限為50,0,濕度為70,30。我們可根據(jù)現(xiàn)場檢測直觀的顯示溫、濕度值,超出系統(tǒng)將做報(bào)警處理。程序簡單思路如下[5]

#includeiostream.h>

Void main( ){ int a,b,c,d,e,f,g,g;//設(shè)置檢測點(diǎn)a,b用來檢測溫度上下限,c,d檢測濕度上下限,e,f,g,h對(duì)應(yīng)顯示溫度與濕度的測量值。

If(a>0a5c>3c7)//如果溫度、濕度都在我們?cè)O(shè)定的范圍內(nèi),正常顯示。

a=e;b=f;c=g;d=h;//把檢測對(duì)應(yīng)連接顯示接口,顯示溫度、濕度值。

else

報(bào)警}

3系統(tǒng)軟件設(shè)計(jì)

3.1數(shù)據(jù)采集

溫度數(shù)據(jù)的采集經(jīng)過DS18B20獨(dú)特的功能,直接將采集的數(shù)據(jù)自動(dòng)轉(zhuǎn)化為數(shù)字量傳入單片機(jī),濕度數(shù)據(jù)是由傳感器測得現(xiàn)場濕度信號(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)入算法比較做出控制量的選擇。

3.2數(shù)字濾波

當(dāng)采樣過程完成后,要對(duì)采樣所得的數(shù)據(jù)進(jìn)行數(shù)字濾波。數(shù)字濾波程序用于濾去來自控制現(xiàn)場對(duì)采樣值的干擾,數(shù)字濾波的算法很多,這里采用中值濾波。中值濾波原理很簡單,就是對(duì)采樣過程中的n個(gè) (一般是3個(gè))采樣值進(jìn)行比較,取中間值放入指定的存儲(chǔ)單元。

3.3單片機(jī)抗干擾電路的設(shè)計(jì)

在抗干擾方面的許多技術(shù),如設(shè)計(jì)軟件陷阱、加硬件電路等。若失控的程序進(jìn)入“死循環(huán)”,通常采用“”技術(shù)使程序脫離“死循環(huán)”。通過不斷檢測程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程序循環(huán)時(shí)間超過最大循環(huán)運(yùn)行時(shí)間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯(cuò)處理?!?a class="contentlabel" href="http://butianyuan.cn/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)過控制算法算出控制量,以此控制量作為輸出控制執(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é)束語

該閉環(huán)控制系統(tǒng)實(shí)現(xiàn)了AT89C51單片機(jī)為核心,通過PID算法達(dá)到對(duì)溫度、濕度的檢測及其控制,運(yùn)行可靠,操作簡單,精度高,響應(yīng)速度快,可以滿足溫、濕度的控制。同時(shí),通過LED數(shù)碼管直觀的顯示通過控制系統(tǒng)后的溫、濕度值,當(dāng)出現(xiàn)異常現(xiàn)象時(shí),通過報(bào)警裝置發(fā)出警告,及時(shí)得到處理,從而滿足現(xiàn)場需要,具有廣泛的應(yīng)用前景。

本文創(chuàng)新點(diǎn):采用性價(jià)比高,溫度DS18B20轉(zhuǎn)化溫度簡潔,整個(gè)閉環(huán)控制系統(tǒng)通過PID設(shè)置的參數(shù),根據(jù)單片機(jī)自動(dòng)修正啟動(dòng)溫、濕度控制裝置,調(diào)整滿足現(xiàn)場需要,同時(shí)可通過數(shù)碼顯示,清楚的觀測到溫、濕度值,超過限定值進(jìn)行報(bào)警處理。此套裝置實(shí)施方便、可靠。

參考文獻(xiàn):

[1]劉攀,俞杰.基于單片機(jī)的溫度測控系統(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ī)的溫度測量系統(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語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社 1999

[6]王德玉等.智能井控系統(tǒng)的控制研究[J].西南石油大學(xué)學(xué)報(bào),2006,28-4:97-100.

蜂鳴器相關(guān)文章:蜂鳴器原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉