數(shù)字PID控制算法在溫控系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
溫度控制對(duì)于大型工業(yè)和日常生活等領(lǐng)域都具有廣闊的應(yīng)用前景。很多應(yīng)用領(lǐng)域,需要精度較高的恒溫控制,例如,根據(jù)外界變化,隨時(shí)調(diào)節(jié)相應(yīng)的LED亮度以達(dá)到所需色溫值,可以實(shí)現(xiàn)更好的照明和裝飾效果。在連續(xù)控制系統(tǒng)中,對(duì)象為一階和二階慣性環(huán)節(jié)或同時(shí)帶有滯后時(shí)間不大的滯后環(huán)節(jié)時(shí),PID控制是一種較好的控制方法。本文主要采用數(shù)字PID控制,通過(guò)單片機(jī)PID控制算法的程序?qū)崿F(xiàn)。
1 數(shù)字式定時(shí)溫控系統(tǒng)
本文研制的數(shù)字式定時(shí)溫控系統(tǒng)主要完成數(shù)據(jù)采集,溫度、定時(shí)的顯示,溫度控制,溫度定時(shí)的設(shè)定以及報(bào)警等功能。核心控制器由單片機(jī)完成,采用數(shù)字PID控制算法進(jìn)行過(guò)程控制。加熱器件選用熱慣性小,溫度控制精度高,速度快的電熱膜,由單片機(jī)輸出通斷率控制信號(hào)進(jìn)行控制。硬件框圖如圖1所示。
2 PWM功能的實(shí)現(xiàn)
AT89S52內(nèi)部有3個(gè)16位定時(shí)器:TO,T1,T2。用定時(shí)器T2實(shí)現(xiàn)PWM(脈寬調(diào)制)方式來(lái)對(duì)加熱器件進(jìn)行溫度控制。設(shè)置T2CON中C/#T2=O(定時(shí)方式),CP/#RL2=1且EXEN2=O時(shí),T2是16位定時(shí)器。當(dāng)計(jì)數(shù)溢出時(shí),會(huì)設(shè)置T2CON中的TF2位,進(jìn)而觸發(fā)相關(guān)中斷。用單片機(jī)系統(tǒng)實(shí)現(xiàn),必須首先完成兩個(gè)任務(wù):首先是產(chǎn)生基本的PWM周期信號(hào);其次是脈寬的調(diào)整,即單片機(jī)模擬PWM信號(hào)的輸出,并且調(diào)整占空比。具體的設(shè)計(jì)原理:若想讓它的負(fù)脈沖為2 ms,則正脈沖為20-2=18 ms,所以開(kāi)始時(shí)在控制口發(fā)送低電平,然后設(shè)置定時(shí)器在2 ms后發(fā)生中斷,中斷發(fā)生后,在中斷程序里將控制口改為高電平,并將中斷時(shí)間改為18 ms,再過(guò)18 ms進(jìn)入下一次定時(shí)中斷,再將控制口改為低電平,并將定時(shí)器初值改為2 ms,等待下次中斷到來(lái),如此往復(fù)實(shí)現(xiàn)PWM信號(hào)輸出。用修改定時(shí)器中斷初值的方法巧妙形成了脈沖信號(hào),調(diào)整時(shí)間段的寬度便可實(shí)現(xiàn)脈寬調(diào)整。實(shí)現(xiàn)其軟件流程如圖2所示。
設(shè)n為定時(shí)器T2的初值,fi為單片機(jī)的系統(tǒng)時(shí)鐘,本系統(tǒng)中fi=11.059 2 MHz定時(shí)方式下TL2寄存器每個(gè)機(jī)器周期(即12個(gè)晶振周期)增加1。這時(shí)PWM脈沖信號(hào)的“低”電平寬度為:
通過(guò)改變定時(shí)器T2初值n,即可改變“低”電平的寬度tPWM-L,從而控制加熱元件的加熱時(shí)間,達(dá)到對(duì)溫度進(jìn)行控制的目的。當(dāng)n=65 536時(shí),P2.7引腳輸出電平一直保持為“高”,加熱元件一直處于斷電狀態(tài);n=0時(shí),P2.7引腳輸出電平一直保持為“低”,加熱元件一直處于通電加熱狀態(tài)。單片機(jī)根據(jù)從DSl8B20讀取的溫度值來(lái)確定n值,即確定加熱元件的加熱時(shí)間。
3 恒溫控制算法
PID基本算法是這樣的:控制器的輸出與控制器的輸入(誤差)成正比,與輸入的積分成正比,與輸入的微分成正比,為三個(gè)分量之和,其連續(xù)表達(dá)為:
式中:TD為微分時(shí)間;e為測(cè)量值與給定值之間的偏差;Tl為積分時(shí)間;Kp為調(diào)節(jié)器的放大系數(shù)。
對(duì)式(2)兩邊進(jìn)行拉氏變換,可以得到PID調(diào)節(jié)器的傳遞函數(shù)為:
采用不同的方法對(duì)式(3)的D(s)離散化,就可以得到數(shù)字PID控制器的不同算法。用矩形法數(shù)值積分代替式(3)中的積分項(xiàng),對(duì)導(dǎo)數(shù)用后向差分逼近,得到:
式中:uo是由式(2)中的不定積分變?yōu)槭?4)中的定積分所具有的積分常數(shù);T為采樣周期。式(4)就是數(shù)字PID控制器位置式算法的表達(dá)式,其輸出控制量uk對(duì)應(yīng)于系統(tǒng)的輸出(位置)是全量輸出。
由式(4)可推算出控制量的增量為:
式(5)就是數(shù)字PID控制器增量式算法的表達(dá)式,其輸出為系統(tǒng)的△uk。
采用增量式算法,系統(tǒng)中需增加一個(gè)積分裝置,但在本恒溫系統(tǒng)中,控制對(duì)象本身就具有積分作用,因此無(wú)需加積分裝置。
與位置式算法相比,在增量式算法中,計(jì)算誤差對(duì)控制量影響小。這是因?yàn)槲恢檬剿惴刂破鬏敵龅氖侨?,每次輸出均與過(guò)去的所有狀態(tài)有關(guān)。計(jì)算機(jī)的位數(shù)是有限的,當(dāng)累加結(jié)果產(chǎn)生上溢出時(shí),丟失一部分控制量;當(dāng)采樣周期短,誤差很小時(shí),計(jì)算機(jī)認(rèn)為是零,不進(jìn)行累加,這兩種情況均會(huì)產(chǎn)生累加誤差。而增量式算法在計(jì)算△uk時(shí)只用到最近的三次采樣值,以前的狀態(tài)不影響本次輸出。
為簡(jiǎn)化計(jì)算機(jī)的運(yùn)算,把式(5)改為下面的形式:
可以根據(jù)式(6)編寫(xiě)程序,由計(jì)算機(jī)實(shí)現(xiàn)。Kp,TD,TI,T由參數(shù)整定確定。對(duì)于簡(jiǎn)單系統(tǒng),可以采用理論計(jì)算的方法確定這些參數(shù),但是稍微復(fù)雜一些的系統(tǒng),采用理論計(jì)算的方法就困難了。因此幾乎都是用工程的方法對(duì)參數(shù)進(jìn)行整定。調(diào)節(jié)器參數(shù)的整定是一項(xiàng)繁瑣而又費(fèi)時(shí)的工作,因此,近年來(lái)國(guó)內(nèi)外在數(shù)字PID調(diào)節(jié)器參數(shù)的工程整定方面做了大量的研究工作,歸一參數(shù)的整定法是一種簡(jiǎn)易的整定法。
根據(jù)大量實(shí)際經(jīng)驗(yàn)的總結(jié),人為設(shè)定約束條件,以減少獨(dú)立變量的個(gè)數(shù),例如?。?br />
式中:Ts是純比例控制式的臨界振蕩周期。
將式(7)代入式(6)中,可得數(shù)字PID控制器的差分方程為:
對(duì)比式(6)和式(8)可知,對(duì)4個(gè)參數(shù)的整定簡(jiǎn)化成了對(duì)一個(gè)參數(shù)Kp的整定,使問(wèn)題明顯地簡(jiǎn)化了。
采樣周期T的取值,從數(shù)字PID控制器對(duì)連續(xù)PID控制器的模擬精度考慮,采樣周期越小越好,但采樣周期小,控制器占用計(jì)算機(jī)的時(shí)間就長(zhǎng),增加了系統(tǒng)的成本。因此采樣周期的選擇應(yīng)綜合考慮各方面因素,選取最優(yōu)值。
在恒溫控制系統(tǒng)中,控制輸出為定時(shí)器T2初值n(O≤n≤65 536),誤差為溫度設(shè)定值Tset與DSl8B20檢測(cè)值之差Tread。因?yàn)殡娮杞z的功率是有限的,初始溫度低于溫度設(shè)定值Tset較大時(shí),可以不用數(shù)字PID控制??梢愿鶕?jù)電阻絲的功率設(shè)定一個(gè)誤差值emax,當(dāng)e>emax時(shí),一直加熱,輸出n=O;當(dāng)e<0時(shí),停止加熱,輸出為n=65 536。只有當(dāng)O≤e≤emax時(shí),才用數(shù)字PID控制。
為保證溫度控制的實(shí)時(shí)性,根據(jù)文獻(xiàn),溫度控制程序采用定時(shí)中斷方式,定時(shí)長(zhǎng)為采樣周期T,且中斷優(yōu)先級(jí)設(shè)得比其他中斷高,用增量式算法其程序流程圖如圖3所示。
4 恒溫控制結(jié)果
根據(jù)溫度控制精度和采樣時(shí)間的要求,本設(shè)計(jì)對(duì)DSl8B20的溫度轉(zhuǎn)換結(jié)果選擇12位,采樣周期定為T(mén)=O.408 s。當(dāng)加熱元件功率選用100 W,溫度設(shè)定值Tset=30℃時(shí),用歸一參數(shù)法整定數(shù)字PID控制器的參數(shù),當(dāng)參數(shù)Kp=150時(shí),得到數(shù)字PID控制曲線如圖4所示。
5 結(jié)語(yǔ)
在介紹利用AT89S52單片機(jī)實(shí)現(xiàn)PWM功能的基礎(chǔ)上,討論了數(shù)字PID控制算法對(duì)恒溫控制的應(yīng)用。從控制結(jié)果來(lái)看,這種控制方法可以得到較理想的控制效果,溫度波動(dòng)均可控制在±O.125℃之內(nèi)。該技術(shù)已應(yīng)用于定時(shí)控溫發(fā)酵器、保健墊等產(chǎn)品中,運(yùn)行良好,獲得了良好的社會(huì)效益和經(jīng)濟(jì)效益?,F(xiàn)正在嘗試用于無(wú)影照明系統(tǒng)的色溫控制,實(shí)現(xiàn)更好的無(wú)影照明效果。