目錄
一、PID控制原理與程式流程
1、過程控制
2、PID調節各個單元的作用
二、數字PID控制器
1、模拟PID控制規律的離散化
2、數字PID控制器的差分方程
3、常見的控制方式
4、PID算法的兩種形式
三、PID算法的程式流程
1、增量型PID算法的程式流程
2、位置型PID控制的程式流程
3、程式流程
四、标準PID算法的改進
1、微分項的改進
2、微分線性和輸入濾波
3、積分項的改進
4、消除積分不靈敏區
一、PID控制原理與程式流程
1、過程控制
對生産過程某一或某些實體參數進行自動控制。
模拟控制系統:
圖1-1 基本模拟回報控制回路
被控量的值由傳感器或變送器來檢測,這個值與給定值進行比較,得到偏差,模拟調節器按照一定控制規律使操作變量變化,以使偏差趨近于零,其輸出通過執行器作用于過程。
微機過程控制系統:
圖1-2 微機過程控制系統原理圖
以微型計算機作為控制器,控制規律的實作,是通過軟體來完成的。改變控制規律,隻要改變相應的程式即可。
模拟PID調節器:
圖1 模拟PID控制系統原理框圖
PID調節器是一種線性調節器,它将給定的r(t)的值與實際輸出的c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構成控制量,對控制對象進行控制。
(1)、PID調節器的微分方程
式中 e(t) = r(t) - c(t)
(2)、PID調節器的傳輸函數
2、PID調節各個單元的作用
(1)、比例單元P:即時成比例地反應控制系統的偏差信号e(t),偏差一旦産生,調節器立即産生控制作用以減小偏差。
(2)、積分單元I:主要用于消除靜差,提高系統的無差度。積分作用的強弱取決于積分時間常數TI,TI越大,積分作用越弱,反之則越強。
(3)、微分單元D:能反應偏差信号的變化趨勢(變化速率),并能在偏差信号的值變得太大之前,在系統中引入一個有效的早期修正信号,進而加快系統的動作速度,減小調節時間。
二、數字PID控制器
1、模拟PID控制規律的離散化
表1 模拟形式與離散化形式
2、數字PID控制器的差分方程
式中
稱為比例項
稱為積分項
稱為微分項
3、常見的控制方式
4、PID算法的兩種形式
(1)、位置型控制
圖3 位置型PID控制流程圖
(2)、增量型控制
圖4 增量型PID控制流程圖
例:設有一溫度控制系統,溫度測量範圍是0~600℃,溫度采用PID控制,控制名額為450±2℃。已知比例系數Kp=4,積分時間Ti=60s,微分時間Td=5s,采樣周期T=5s。當測量值c(n)=448,c(n-1)=449,c(n-2)=442時,計算增量輸出
。若u(n-1)=1860,計算第n次閥位輸出u(n)。
三、PID算法的程式流程
1、增量型PID算法的程式流程
增量型PID算法的算式:
2、位置型PID控制的程式流程
位置型PID算法的程式流程隻需在增量型PID算法的程式流程基礎上增加一次加運算
3、程式流程
圖5 增量型PID算法和位置型PID算法程式流程
四、标準PID算法的改進
1、微分項的改進
(1)、不完全微分型PID控制算法
圖6 不完全微分型PID控制算法
(2)完全微分和不完全微分作用的差別
圖7 完全微分與不完全微分的差別
(3)、不完全微分型PID算法的差分方程
2、微分線性和輸入濾波
(1)、微分先行
微分先行是把對偏差的微分改為對被控量的微分,這樣,在給定值變化時,不會
産生輸出的大幅度變化。而且由于被控量一般不會突變,即使給定值已發生改變,
被控量也是緩慢變化的,進而不緻引起微分項的突變。微分項的輸出增量為
(2)、輸入濾波
輸入濾波就是在計算微分項時,不是直接應用目前時刻的誤差e(n),而是采用濾
波值e(n),即用過去和目前四個采樣時刻的誤差的平均值,再通過權重求和形式
近似構成微分項
3、積分項的改進
抗積分飽和
積分作用雖能消除控制系統的靜差,但它也有一個副作用,即會引起積分飽和。在偏差始終存在的情況下,造成積分過量。當偏差方向改變後,需經過一段時間後,輸出u(n)才脫離飽和區。這樣就造成調節滞後,使系統出現明顯的超調,惡化調節品質。這種由積分項引起的過積分作用稱為積分飽和現象。
克服積分飽和的方法:
(1)、積分限幅法
積分限幅法的基本思想是當積分項輸出達到輸出限幅值時,即停止積分項的計算,這時積分項的輸出取上一時刻的積分值。其算法流程如圖5-2-4所示。
(2)、積分分離法
積分分離法的基本思想是在偏差大時不進行積分,僅當偏差的絕對值小于一預定的門限值ε時才進行積分累積。這樣既防止了偏差大時有過大的控制量,也避免了過積分現象。其算法流程如圖5-2-5
圖8 積分限幅法程式流程 圖9 積分分離法程式流程
(3)、變速積分法
變速積分法的基本思想是在偏差較大時積分慢一些,而在偏差較小時積分快一些,以盡快消除靜差。即用代替積分項中的
4、消除積分不靈敏區
積分不靈敏區産生的原因
當計算機的運作字長較短,采樣周期T也短,而積分時間TI又較長時,容易出現小于字長的精度而丢數,此積分作用消失,這就稱為積分不靈敏區。
歡迎關注我的公衆号:
程式設計技術與生活(ID:hw_cchang)