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