《PID溫度控制算法》由會員分享,可在線閱讀,更多相關(guān)《PID溫度控制算法(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、PID溫度控制算法溫度控制算法溫度控制算法的軟件實現(xiàn)的軟件實現(xiàn)PID溫度控制算法問題?問題? 1. 1. 怎樣評價溫度控制系統(tǒng)控制效果的優(yōu)劣?怎樣評價溫度控制系統(tǒng)控制效果的優(yōu)劣? 2. 2. 什么是什么是PIDPID控制算法?什么是數(shù)字式控制算法?什么是數(shù)字式PIDPID控制算法控制算法? ? 3. 3. 什么是積分飽和現(xiàn)象?怎樣避免積分飽和現(xiàn)象什么是積分飽和現(xiàn)象?怎樣避免積分飽和現(xiàn)象? ? 4. 4. 怎樣用怎樣用C C語言編寫語言編寫PIDPID控制程序?控制程序? 5. 5. 怎樣在怎樣在PSOCPSOC上實現(xiàn)上實現(xiàn)PIDPID控制溫度?控制溫度? 6.6.怎樣測試怎樣測試PIDPID控
2、制器是否正常工作?控制器是否正常工作?PID溫度控制算法問題一:問題一:怎樣評價溫度控制系統(tǒng)控制效果的優(yōu)劣?怎樣評價溫度控制系統(tǒng)控制效果的優(yōu)劣? 能夠快速穩(wěn)定準確的實現(xiàn)控制能夠快速穩(wěn)定準確的實現(xiàn)控制 能夠?qū)囟绕钪悼刂圃谝粋€較小的范圍內(nèi)能夠?qū)囟绕钪悼刂圃谝粋€較小的范圍內(nèi) 具有較強抵抗干擾的能力具有較強抵抗干擾的能力 控制超調(diào)量不能過大控制超調(diào)量不能過大PID溫度控制算法問題二:問題二:什么是什么是PIDPID控制算法?什么是數(shù)字控制算法?什么是數(shù)字 式式PIDPID控制算法控制算法? ?PIDPID控制算法:控制算法:PIDPID控制器是一種線性控制器,它將給定值與實際輸出值的偏差控制器
3、是一種線性控制器,它將給定值與實際輸出值的偏差 的比例、積的比例、積分和微分進行線性組合,形成控制量分和微分進行線性組合,形成控制量 輸出,如圖下圖所示。輸出,如圖下圖所示。 PIDPID控制器方框圖控制器方框圖)(te)(tuPID溫度控制算法問題二:問題二:什么是什么是PIDPID控制算法?什么是數(shù)字式控制算法?什么是數(shù)字式PIDPID控控制算法制算法? ?模擬控制算法:用于模擬控制系統(tǒng)模擬控制算法:用于模擬控制系統(tǒng)被測參數(shù)由傳感器變化成統(tǒng)一的標準信號后輸入調(diào)節(jié)器,在調(diào)節(jié)器中與給定值進行被測參數(shù)由傳感器變化成統(tǒng)一的標準信號后輸入調(diào)節(jié)器,在調(diào)節(jié)器中與給定值進行比較,再把比較后的差值經(jīng)運算后送
4、到執(zhí)行機構(gòu),改變進給量,以達到自動調(diào)節(jié)比較,再把比較后的差值經(jīng)運算后送到執(zhí)行機構(gòu),改變進給量,以達到自動調(diào)節(jié)的目的。的目的。數(shù)字數(shù)字控制算法:用于數(shù)字控制系統(tǒng)控制算法:用于數(shù)字控制系統(tǒng)先把過程參數(shù)進行采樣,并通過模擬量輸入通道將模擬量變成數(shù)字量,這些數(shù)字量先把過程參數(shù)進行采樣,并通過模擬量輸入通道將模擬量變成數(shù)字量,這些數(shù)字量通過計算機按一定控制算法進行運算處理,運算結(jié)果經(jīng)轉(zhuǎn)換成模擬量后,由模擬通過計算機按一定控制算法進行運算處理,運算結(jié)果經(jīng)轉(zhuǎn)換成模擬量后,由模擬量輸出通道輸出,并通過執(zhí)行機構(gòu)去控制生產(chǎn),以此達到給定值。量輸出通道輸出,并通過執(zhí)行機構(gòu)去控制生產(chǎn),以此達到給定值。PID溫度控制算
5、法問題三:問題三:什么是積分飽和現(xiàn)象?怎樣避免積分飽和什么是積分飽和現(xiàn)象?怎樣避免積分飽和 現(xiàn)象現(xiàn)象? ? 在實際的控制系統(tǒng)中,控制量實際輸出值往往受到執(zhí)行機構(gòu)性能在實際的控制系統(tǒng)中,控制量實際輸出值往往受到執(zhí)行機構(gòu)性能的限制,而被限制在一定的范圍內(nèi),即的限制,而被限制在一定的范圍內(nèi),即 , 其變化也局限在一定的范圍,即其變化也局限在一定的范圍,即 。如果控制量如果控制量在上述范圍內(nèi),那么在上述范圍內(nèi),那么控制可以達到預期效控制可以達到預期效果;一旦超出上述范圍,則實際執(zhí)行機構(gòu)的控制量就不再是計算值。果;一旦超出上述范圍,則實際執(zhí)行機構(gòu)的控制量就不再是計算值。這相當于在系統(tǒng)中串聯(lián)了一個飽和非線
6、性環(huán)節(jié),因此,將引起不期這相當于在系統(tǒng)中串聯(lián)了一個飽和非線性環(huán)節(jié),因此,將引起不期望的效應,即望的效應,即飽和效應飽和效應。PID溫度控制算法問題三:問題三:什么是積分飽和現(xiàn)象?怎樣避免積分飽和什么是積分飽和現(xiàn)象?怎樣避免積分飽和 現(xiàn)象現(xiàn)象? ?防止調(diào)節(jié)器積分飽和的措施防止調(diào)節(jié)器積分飽和的措施一:一:積分分離法積分分離法 積分分離的基本思路是:當被調(diào)積分分離的基本思路是:當被調(diào)量與設(shè)定值量與設(shè)定值偏差較大偏差較大時,取消積分作時,取消積分作用,以免由于積分作用使系統(tǒng)穩(wěn)定性用,以免由于積分作用使系統(tǒng)穩(wěn)定性降低,超調(diào)量增大;當被控量接近給降低,超調(diào)量增大;當被控量接近給定值時,引入積分控制,以便定
7、值時,引入積分控制,以便消除靜消除靜差,提高控制精度。差,提高控制精度。yrtPID溫度控制算法問題三:問題三:什么是積分飽和現(xiàn)象?怎樣避免積分飽和什么是積分飽和現(xiàn)象?怎樣避免積分飽和現(xiàn)象?現(xiàn)象?防止調(diào)節(jié)器積分飽和的措施防止調(diào)節(jié)器積分飽和的措施二:二:遇限削弱積分控制算法遇限削弱積分控制算法 當控制進入飽和區(qū)以后,便不再進行積分項的累加,而只執(zhí)行削弱當控制進入飽和區(qū)以后,便不再進行積分項的累加,而只執(zhí)行削弱積分的運算。因而,在計算積分的運算。因而,在計算()()時,先判斷時,先判斷()()是否已超出限制值。若是否已超出限制值。若()(),則只累加負偏差;若,則只累加負偏差;若()(),則累加正
8、偏差。采用,則累加正偏差。采用遇限削弱積分控制算法后,遇限削弱積分控制算法后,可以避免控制量長時間停留在飽和區(qū)可以避免控制量長時間停留在飽和區(qū)。PID溫度控制算法問題三:問題三:什么是積分飽和現(xiàn)象?怎樣避免積分飽和什么是積分飽和現(xiàn)象?怎樣避免積分飽和 現(xiàn)象現(xiàn)象? ?防止調(diào)節(jié)器積分飽和的措施防止調(diào)節(jié)器積分飽和的措施三:三:有效偏差法有效偏差法 當根據(jù)位置算法算出的控制量超出限制范圍時,當根據(jù)位置算法算出的控制量超出限制范圍時,控制量實際上只能取控制量實際上只能取邊界值邊界值,即或,即或,有效偏差法是將相應的這一控制量的偏差值作為有效偏差法是將相應的這一控制量的偏差值作為有效偏差值計入有效偏差值計
9、入積分累計而不是將實際偏差計入積分累計積分累計而不是將實際偏差計入積分累計。因為按實際偏差值計。因為按實際偏差值計算出的控制量并未實行。算出的控制量并未實行。PID溫度控制算法問題四:問題四:怎樣用怎樣用C C語言編寫語言編寫PIDPID控制程序?控制程序? 通過采樣將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,并與目標設(shè)置值進通過采樣將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號,并與目標設(shè)置值進行比較分析。同時將二者的偏差通過算法輸出,進行反饋調(diào)節(jié)。行比較分析。同時將二者的偏差通過算法輸出,進行反饋調(diào)節(jié)。整個過程不斷循環(huán),從而使得控制的對象保持一個較為恒定的值。整個過程不斷循環(huán),從而使得控制的對象保持一個較為恒定的值。 從而將模擬
10、量轉(zhuǎn)變?yōu)橛嬎銠C可以操作的數(shù)字信號,則可采從而將模擬量轉(zhuǎn)變?yōu)橛嬎銠C可以操作的數(shù)字信號,則可采用用C C語言控制整個循環(huán)過程。語言控制整個循環(huán)過程。PID溫度控制算法問題四:問題四:怎樣用怎樣用C C語言編寫語言編寫PIDPID控制程序?控制程序?PID溫度控制算法問題四:問題四:怎樣用怎樣用C C語言編寫語言編寫PIDPID控制程序?控制程序?PID溫度控制算法問題五:問題五:怎樣在怎樣在PSOCPSOC上實現(xiàn)上實現(xiàn)PIDPID控制溫度?控制溫度?在中斷程序中定義的臨時變量: float de,y0; static float Ie=0,de1=0; static uint8 PID_Count
11、=0; 在主程序外定義的常變量: #define Kp12.19/PID控制參數(shù) #define Ki0.3 #define Kd 109.7 #define Integral_Boundary 11.0/有限積分邊界 uint8 PWM_Output;PID溫度控制算法問題五:問題五:怎樣在怎樣在PSOCPSOC上實現(xiàn)上實現(xiàn)PIDPID控制溫度?控制溫度? PID_Count+; if(PID_Count100) PID_Count=0; de=Target_Temp-Current_Temp;/求溫度誤差e if(de-Integral_Boundary)/如果處于有限積分邊界之內(nèi) Ie=Ie+Ki*de;/求誤差的積分 else Ie=0;/在邊界外時積分清零 y0=Kp*de+Ie+Kd*(de-de1)+128;/求輸出 if(y0255) y0=255; if(y099) /記錄數(shù)據(jù)的數(shù)量 RecorderPt=0; RecC=0;PID溫度控制算法問題六:問題六:怎樣測試怎樣測試PIDPID控制器是否正常工作控制器是否正常工作 PID溫度控制算法謝謝!此課件下載可自行編輯修改,供參考!此課件下載可自行編輯修改,供參考!感謝你的支持,我們會努力做得更好!感謝你的支持,我們會努力做得更好!