關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 數字PID控制算法在溫控系統中的應用

        數字PID控制算法在溫控系統中的應用

        作者: 時間:2010-11-01 來源:網絡 收藏

        設n為定時器T2的初值,fi為單片機的時鐘,本中fi=11.059 2 MHz定時方式下TL2寄存器每個機器周期(即12個晶振周期)增加1。這時PWM脈沖信號的“低”電平寬度為:

        通過改變定時器T2初值n,即可改變“低”電平的寬度tPWM-L,從而加熱元件的加熱時間,達到對溫度進行的目的。當n=65 536時,P2.7引腳輸出電平一直保持為“高”,加熱元件一直處于斷電狀態;n=0時,P2.7引腳輸出電平一直保持為“低”,加熱元件一直處于通電加熱狀態。單片機根據從DSl8B20讀取的溫度值來確定n值,即確定加熱元件的加熱時間。

        3 恒
        基本是這樣的:器的輸出與控制器的輸入(誤差)成正比,與輸入的積分成正比,與輸入的微分成正比,為三個分量之和,其連續表達為:

        式中:TD為微分時間;e為測量值與給定值之間的偏差;Tl為積分時間;Kp為調節器的放大系數。
        對式(2)兩邊進行拉氏變換,可以得到調節器的傳遞函數為:

        采用不同的方法對式(3)的D(s)離散化,就可以得到控制器的不同。用矩形法數值積分代替式(3)中的積分項,對導數用后向差分逼近,得到:

        式中:uo是由式(2)中的不定積分變為式(4)中的定積分所具有的積分常數;T為采樣周期。式(4)就是PID控制器位置式算法的表達式,其輸出控制量uk對應于的輸出(位置)是全量輸出。
        由式(4)可推算出控制量的增量為:

        式(5)就是PID控制器增量式算法的表達式,其輸出為系統的△uk。
        采用增量式算法,系統中需增加一個積分裝置,但在本恒溫系統中,控制對象本身就具有積分作用,因此無需加積分裝置。
        與位置式算法相比,在增量式算法中,計算誤差對控制量影響小。這是因為位置式算法控制器輸出的是全量,每次輸出均與過去的所有狀態有關。計算機的位數是有限的,當累加結果產生上溢出時,丟失一部分控制量;當采樣周期短,誤差很小時,計算機認為是零,不進行累加,這兩種情況均會產生累加誤差。而增量式算法在計算△uk時只用到最近的三次采樣值,以前的狀態不影響本次輸出。
        為簡化計算機的運算,把式(5)改為下面的形式:

        可以根據式(6)編寫程序,由計算機實現。Kp,TD,TI,T由參數整定確定。對于簡單系統,可以采用理論計算的方法確定這些參數,但是稍微復雜一些的系統,采用理論計算的方法就困難了。因此幾乎都是用工程的方法對參數進行整定。調節器參數的整定是一項繁瑣而又費時的工作,因此,近年來國內外在數字PID調節器參數的工程整定方面做了大量的研究工作,歸一參數的整定法是一種簡易的整定法。
        根據大量實際經驗的總結,人為設定約束條件,以減少獨立變量的個數,例如取:

        式中:Ts是純比例控制式的臨界振蕩周期。
        將式(7)代入式(6)中,可得數字PID控制器的差分方程為:

        對比式(6)和式(8)可知,對4個參數的整定簡化成了對一個參數Kp的整定,使問題明顯地簡化了。
        采樣周期T的取值,從數字PID控制器對連續PID控制器的模擬精度考慮,采樣周期越小越好,但采樣周期小,控制器占用計算機的時間就長,增加了系統的成本。因此采樣周期的選擇應綜合考慮各方面因素,選取最優值。
        在恒制系統中,控制輸出為定時器T2初值n(O≤n≤65 536),誤差為溫度設定值Tset與DSl8B20檢測值之差Tread。因為電阻絲的功率是有限的,初始溫度低于溫度設定值Tset較大時,可以不用數字PID控制。可以根據電阻絲的功率設定一個誤差值emax,當e>emax時,一直加熱,輸出n=O;當e0時,停止加熱,輸出為n=65 536。只有當O≤e≤emax時,才用數字PID控制。
        為保證溫度控制的實時性,根據文獻,溫度控制程序采用定時中斷方式,定時長為采樣周期T,且中斷優先級設得比其他中斷高,用增量式算法其程序流程圖如圖3所示。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陈巴尔虎旗| 岫岩| 平遥县| 长白| 海安县| 云安县| 青河县| 库伦旗| 武汉市| 鄢陵县| 南陵县| 沈阳市| 原平市| 乌鲁木齐县| 砀山县| 伊通| 巨野县| 嘉善县| 奈曼旗| 电白县| 文成县| 旬阳县| 三门峡市| 新干县| 石楼县| 绩溪县| 宝坻区| 陵川县| 长葛市| 桂林市| 凤冈县| 黄陵县| 兴和县| 遵化市| 闽侯县| 阿鲁科尔沁旗| 股票| 河北区| 思南县| 尉氏县| 马边|