溫度是工業(yè)控制中主要的被控參數(shù)之一.對典型的溫度控制系統(tǒng)進(jìn)行研究具有很廣泛的意義。根據(jù)不同場所、不同溫度范圍、精度等要求.所采用的測溫元件、測溫方法以及對溫度的控制方法也不同.本文以實驗室電烤箱為被控對象,以AT89S52單片機(jī)為控制核心,溫度傳感單元采用DS18B20.采用PID算法,實現(xiàn)智能的溫度控制系統(tǒng)。
1 系統(tǒng)組成
整個系統(tǒng)主控部分采用AT89S52構(gòu)成單片機(jī)應(yīng)用系統(tǒng):溫度檢測部分采用DS18B20單總線數(shù)字溫度傳感器對溫度進(jìn)行檢測:控制部分由固態(tài)繼電器控制加熱管的通斷。工作時.由鍵盤輸入設(shè)定溫度值,系統(tǒng)采用PID控制算法進(jìn)行運箅,通過單片機(jī)AT89S52的開關(guān)量控制固態(tài)繼電器(SSR)的通斷,以調(diào)節(jié)烤箱內(nèi)溫度至設(shè)定值,穩(wěn)態(tài)誤差在+(-)1℃。液晶實時顯示烤箱內(nèi)溫度和設(shè)定溫度值。
單片機(jī)溫度控制系統(tǒng)原理圖如圖1所示。
圖1 單片機(jī)溫度控制系統(tǒng)原理圖
2 溫度檢測電路
溫度檢測部分采用集成溫度傳感器DS18B20,它采用獨特的單口接線方式傳輸,在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊,不需要外圍器件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只i極管的集成電路內(nèi),外加電源范圍是3.0~5.5V,測溫范圍從-55%到+125℃,在-1O℃~+85℃同有分辨率為0.5℃,測量結(jié)果以9位到12位數(shù)字量方式直接輸出數(shù)字溫度信號,以”一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。
DS18B20測溫原理如圖2所示。圖中低溫度系數(shù)品振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在-55%所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時。溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。
圖2 DS18B20測溫原理圖
3 系統(tǒng)軟件設(shè)計
3.1溫度檢測子程序
DS18B20使用的關(guān)鍵在于清楚總線的讀寫時序。
由于DS18B20外接電路極為簡單,所以電路連接沒有問題;但在軟件編程上,就要求嚴(yán)格按照它的時序進(jìn)行讀寫操作。具體操作如下:
對DS18B20操作時,首先要將它復(fù)位。將DQ線拉低480至960μs,再將數(shù)據(jù)線拉高15至60μs,然后,DS18B20發(fā)出60至此240μs的低電平作為應(yīng)答信號,這時主機(jī)才能對它進(jìn)行其它操作。
寫操作:將數(shù)據(jù)線從島電平拉至低電平,產(chǎn)生寫起始信號。從DQ線的下降滑起計時,在15μs到60μs這段時問內(nèi)對數(shù)據(jù)線進(jìn)行檢測,如數(shù)據(jù)線為高電平則寫1;若為低電平,則寫0,完成了一個寫周期。在開始另一個寫周期前,必須有1μs以上的高電平恢復(fù)期。每個寫周期必須要有60μs以上的持續(xù)期。
讀操作:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1μs以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。從主機(jī)將數(shù)據(jù)線從高電平拉至低電平起15μs至60μs,主機(jī)讀取數(shù)據(jù)。每個讀周期最短的持續(xù)期為60μs。周期乏問必須有1μs以上的高電平恢復(fù)期。
系統(tǒng)軟件采用keil c51編制。
復(fù)位子程序:
sbit DQ=P3^3:定義數(shù)據(jù)線口地址
unsigned char reset()
{
unsigned char presence;
DQ=O; //拉低DQ總線開始復(fù)位
delay(30); //保持低電平480us
DQ=1; //釋放總線
delay(3); //等待芯片應(yīng)答信號75us
presence=DQ; //獲取應(yīng)答信號
delay(28); //延時以完成整個時序
return(presence); //返回應(yīng)答信號,有芯片應(yīng)答返同0,無芯片則返回1
}
讀一位數(shù)據(jù)子程序
unsigned char read_bit()
{
unsigned char i,value_bit;
DQ=0; //拉低DQ,開始讀時序
DQ=1; //釋放總線
for(i=0;i《2;i++){} //8us delay
value_bit=DQ;
return(value_bit);
}
讀一字節(jié)數(shù)據(jù)子程序:
unsigned char read__byte()
{
unsigned char i,value=0;
for(i=0;i《8;i++)
{
if(read_bit()) //讀一字節(jié)數(shù)據(jù),一個時序中讀一次,并作移位處理
value!=0x01《 delay(4); //延時80us以完成此次都時序,之后再讀下一數(shù)據(jù)
}
return(value);
}
延時子程序void delay(unsigned char time).延時時間為25usx time
3.2 控制算法子程序
目前數(shù)字PID控制器被廣泛應(yīng)用十溫度控制系統(tǒng)之中,本系統(tǒng)即以PID控制算法為核心,通過實驗測試的方法獲得控制參數(shù)范圍.然后應(yīng)用試湊法進(jìn)行參數(shù)整定,最終達(dá)到較為快速,精確的控制。通過PID算法得到SSR固態(tài)繼電器“通”在總通斷時間的百分比。
PID算法的增量表達(dá)式為:
其中,k表示第k次采樣,s(k)為設(shè)定溫度,y(k)為實際溫度,u(k)為電爐功率控制,KP為比例系數(shù),e(t)為誤差,e(k)=y(k)一s(k)。T1為積分時間常數(shù),TD為微分時問常數(shù):T為采樣周期。
PID控制器的這些參數(shù),分別對系統(tǒng)性能產(chǎn)生不同的影響。Kp加大,響應(yīng)速度加快,可以減小穩(wěn)態(tài)誤差.積分時間常數(shù)T1越小。積分作用越強(qiáng),積分控制能消除系統(tǒng)的穩(wěn)態(tài)誤差,提高控制系統(tǒng)的控制精度。微分時問常數(shù)Tn越大,微分作用越強(qiáng),微分控制可以改善動態(tài)特性,如超調(diào)量減小,調(diào)節(jié)時問縮短。采樣周期T直接影響到系統(tǒng)的控制性能。采樣周期太小偏差信號也會過小,計算機(jī)將會失去調(diào)節(jié)的作用,采樣周期過長,又會引起過大的誤差,因此采樣周期必須綜合考慮。
擴(kuò)充響應(yīng)曲線法是當(dāng)系統(tǒng)在給定值處于平衡后,加一階躍輸入(如圖3a所示)。用儀表記錄下被調(diào)參數(shù)在階躍作用下的變化過程曲線,如圖3b所示。在曲線最大斜率k處做切線,求得滯后時間t,對象時問常數(shù)Tm,以及它們的比值Tm/t。根據(jù)所求得的Tm、t和Tm/t的值,查表1即可求得控制器的T、Kp、Ti和Td。由于溫度控制過程千差萬別,經(jīng)驗數(shù)據(jù)不一定就合適,最后可用試湊法逐步調(diào)試進(jìn)行確定。
圖3 擴(kuò)充響應(yīng)曲線法
表1 擴(kuò)充響應(yīng)曲線法整定參數(shù)表
為了得到最佳的控制效果,我們采用了擴(kuò)允響應(yīng)曲線法和現(xiàn)場經(jīng)驗試湊法來整定各項參數(shù)。
所謂試湊法是人們在長期工作程實踐中,從各種控制規(guī)律對系統(tǒng)控制質(zhì)量的影響的定性分析總結(jié)出來的一種行之有效、并得到廣泛應(yīng)用的工程整定方法。在實際現(xiàn)場整定過程中,我們首先通過擴(kuò)充響應(yīng)曲線法整定參數(shù),設(shè)定初始的PID參數(shù)進(jìn)行控制,為了達(dá)到理想的控制目標(biāo),對PID參數(shù)進(jìn)行了不斷的調(diào)整,原則是要保持PID參數(shù)按先比例,后積分,最后微分的順序進(jìn)行反復(fù)試湊至獲得滿意的控制效果和PID控制參數(shù)。
4 結(jié)束語
該系統(tǒng)利用DS18B20進(jìn)行測溫,基于單片機(jī)AT89S52進(jìn)行溫度控制,具有硬件電路簡單,控溫精度高(誤差在±1℃范圍內(nèi))、功能強(qiáng)、體積小、價格低.簡單靈活等優(yōu)點,可以應(yīng)用于控制溫度在-55℃到+125℃之間的各種場合,可以實現(xiàn)溫度的實時采集、顯示與控制功能,是一種較理想的智能化控制系統(tǒng)。
責(zé)任編輯:gt
-
單片機(jī)
+關(guān)注
關(guān)注
6041文章
44616瀏覽量
637419 -
溫度傳感器
+關(guān)注
關(guān)注
48文章
2969瀏覽量
156274 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6655瀏覽量
110771
發(fā)布評論請先 登錄
相關(guān)推薦
評論