基于PID算法和89C52單片機的溫度控制系統(tǒng)
0 引 言
溫控技術(shù)無論是在工業(yè)生產(chǎn),還是日常生活中都起著非常重要的作用。在冶金、石油、化工、電力和現(xiàn)代農(nóng)業(yè)等行業(yè),溫度是極為重要而又普遍的熱工參數(shù)之一,在普通家庭里熱水器、電飯煲、電烤箱等依賴于溫控技術(shù)的家電設(shè)備也是必不可少。可以說溫度控制技術(shù)無處不在。
常規(guī)的溫度控制方法以設(shè)定溫度為臨界點,超出設(shè)定允許范圍即進行溫度調(diào)控:低于設(shè)定值就加熱,反之就停止或降溫。這種方法實現(xiàn)簡單、成本低,但控制效果不理想,控制溫度精度不高、容易引起震蕩,達(dá)到穩(wěn)定點的時間也長,因此,只能用在精度要求不高的場合。
而采用PID算法進行溫度控制,它具有控制精度高,能夠克服容量滯后的特點,特別適用于負(fù)荷變化大、容量滯后較大、控制品質(zhì)要求又很高的控制系統(tǒng)。
單片機作為控制系統(tǒng)中必不可少的部分,在各個領(lǐng)域得到了廣泛的應(yīng)用,用單片機進行實時系統(tǒng)數(shù)據(jù)處理和控制,保證系統(tǒng)工作在最佳狀態(tài),提高系統(tǒng)的控制精度,有利于提高系統(tǒng)的工作效率。本系統(tǒng)采用單片機編程實現(xiàn)PID算法進行溫度控制。
1 PID控制的原理和特點
在工程實際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡稱PID控制,又稱PID調(diào)節(jié)。PID控制器以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型,控制理論的其他技術(shù)也難以采用,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定時,應(yīng)用PID控制技術(shù)最為方便。
PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計的核心內(nèi)容。它是根據(jù)被控過程的特性確定PID控制器的比例系數(shù)、積分時問和微分時間的大小。PID控制器參數(shù)整定的方法概括起來有兩大類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計算確定控制器參數(shù)。這種方法所得到的計算數(shù)據(jù)未必可以直接用,還必須通過工程實際進行調(diào)整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。
PID一般算式及模擬控制規(guī)律如式(1)所示:
式中:u(t)為控制器的輸出;e(t)為偏差,即設(shè)定值與反饋值之差;KC為控制器的放大系數(shù),即比例增益;TI為控制器的積分常數(shù);TD為控制器的微分時間常數(shù)。PID算法的原理即調(diào)節(jié)KC,TI,TD三個參數(shù)使系統(tǒng)達(dá)到穩(wěn)定。
由于計算機控制是一種采樣控制,它只能根據(jù)采樣時刻的偏差值計算控制量。因此在計算機控制系統(tǒng)中,必須首先對式(1)進行離散化處理,用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程,此時積分項和微分項可用求和及增量式表示:
將式(2)和式(3)代入式(1),則可得到離散的PID表達(dá)式:
式中:△t=T為采樣周期,必須使T足夠小,才能保證系統(tǒng)有一定的精度(采樣定理);E(K)為第K次采樣時的偏差值;E(K-1)為第K-1次采樣時的偏差值;P(K)為第K次采樣是調(diào)節(jié)器的輸出。
2 系統(tǒng)的硬件構(gòu)成
本系統(tǒng)由傳感器A/D采樣輸入、單片機控制、人機交互、控制信號輸出四部分組成,其中溫度傳感部分由測試采樣電路實現(xiàn),人機交互由矩陣鍵盤和LCD液晶屏構(gòu)成,PID控制算法由89C52單片機實現(xiàn),控制信號輸出部分則由功率放大和開關(guān)控制電路組成。系統(tǒng)框圖如圖1所示。
3 主程序流程
軟件程序是本控制系統(tǒng)的核心,它包括從溫度采樣到信號輸出的整個流程控制,其示意圖如圖2所示。
程序功能主要由以下的幾部分組成:
(1)初始化:設(shè)定各參數(shù)的初始值,設(shè)定各中斷及定時器。
(2)接收/發(fā)射:此部分程序主要完成數(shù)據(jù)的控制及顯示,主要通過89C52單片機的全雙工串行口完成和鍵盤部分的雙向通信。
(3)PC機通信:此部分完成與微機控制接口RS 232的連接及通信的控制。
(4)數(shù)值轉(zhuǎn)換子程序:由于主程序中用到了很多的數(shù)值轉(zhuǎn)換及數(shù)值的運算(如十進制轉(zhuǎn)換成十六進制、雙字節(jié)與單字節(jié)的除法運算等),為了程序調(diào)用的方便,特將其編寫成子程序的形式。
(5)PID算法。
4 實驗測試
系統(tǒng)的性能與穩(wěn)定度需要通過具體實驗測試完成?,F(xiàn)用1 kW的電爐將電熱杯中的1 L清水進行加熱。
觀測設(shè)定值和實測值之間的誤差(當(dāng)水溫達(dá)到穩(wěn)定時的值),計算絕對誤差和相對誤差,見表1。
設(shè)定溫度為50℃,每隔30 s記錄實測溫度,如表2所示。
從表2中的數(shù)據(jù)可知,系統(tǒng)運行5 min時基本達(dá)到穩(wěn)定。
5 結(jié) 語
由實驗結(jié)果可以看出,系統(tǒng)的誤差基本穩(wěn)定在±0.3℃,可見系統(tǒng)的精度很好。此外,系統(tǒng)運行5 min時溫度基本達(dá)到穩(wěn)定,穩(wěn)定所需時間較短。可以看出,基于PID算法的單片機溫度控制系統(tǒng)具有較高的精確度和穩(wěn)定性,在溫度調(diào)節(jié)階段平衡溫度時間較短。因此本系統(tǒng)可以應(yīng)用于各種對精度要求較高的溫度控制場合。