增量式pid算法

增量式pid算法

ID:35961225

大?。?6.15 KB

頁數(shù):10頁

時間:2019-04-28

增量式pid算法_第1頁
增量式pid算法_第2頁
增量式pid算法_第3頁
增量式pid算法_第4頁
增量式pid算法_第5頁
資源描述:

《增量式pid算法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、....增量式PID算法程序是自己編的,根據(jù)多方資料改寫了一部分,為增量式PID算法。程序采用浮點形式,如果MCU速度不夠快,可根據(jù)需求轉(zhuǎn)換定點運算。關(guān)鍵變量:ref——設(shè)置的參數(shù);feb——采樣反饋;根據(jù)實際情況修改這兩個變量即可。相關(guān)參數(shù):Kp、Ti、Td、T:根據(jù)各項目的控制對象不同而修改其定義值。//定義變量doubleref=0;//設(shè)置參數(shù)doublefeb=0;//采樣反饋intpwm_var=0;//PID調(diào)整量----....Uint16PWM_out=0;//PWM輸出量doubleUo=0;----....double

2、Ek=0;doubleEi=0;doubleEd=0;#defineKp8//PID調(diào)節(jié)的比例常數(shù)#defineTi0.05//PID調(diào)節(jié)的積分常數(shù)#defineTd0.02//PID調(diào)節(jié)的微分時間常數(shù)#defineT0.02//采樣周期#defineKppKp*(1+(T/Ti)+(Td/T))----....#defineKi(-Kp)*(1+(2*----....Td/T))#defineKdKp*Td/T//#defineKpp4//#defineKi0.8//#defineKd20//誤差的閥值,小于這個數(shù)值的時候,不做PID調(diào)整

3、,避免誤差較小時頻繁調(diào)節(jié)引起震蕩#defineEmin3//調(diào)整值限幅,防止積分飽和#defineUmax100#defineUmin-100//輸出值限幅#definePmax15500#definePmin200/////////////////////////////////////////////////////////////////////////PID運算----....///////voidpid_ctrl(void){Ek=ref-feb;//差值運算if(fabs(Ek)<Emin)//誤差的閥值(死區(qū)控制??){

4、pwm_var=0;----....}----....else{Uo=Kpp*Ek+Ki*Ei+Kd*Ed;//PID計算Ed=Ei;Ei=Ek;pwm_var=(int)Uo;//強制轉(zhuǎn)化調(diào)整量,PWM為整數(shù)----....if(pwm_var----....>=Umax)pwm_var=Umax;//調(diào)整值限幅,防止積分飽和if(pwm_var<=Umin)pwm_var=Umin;//調(diào)整值限幅,防止積分飽和}PWM_out+=pwm_var;//調(diào)整PWM輸出if(PWM_out>Pmax)PWM_out=Pmax

5、;----....//輸出值限幅if(PWM_out<Pmin)PWM_out=Pmin;//輸出值限幅TBCCR1=PWM_out;//輸出給寄存器,改變PWM占空比}///////////////////////////////////////////////////////////////////調(diào)用示例:voidmain(void){ref=120.6;while(1)----....{----....feb=adc_sample();pid_ctrl();}}另外附上:PID調(diào)節(jié)經(jīng)驗總結(jié)(搜索資源)PID控制器參數(shù)選擇的方法

6、很多,例如試湊法、臨界比例度法、擴充臨界比例度法等。但是,對于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調(diào)整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗,一般PID參數(shù)確定的步驟如下:----....(1)確定比例系數(shù)Kp----....確定比例系數(shù)Kp時,首先去掉PID的積分項和微分項,可以令Ti=0、Td=0,使之成為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許輸出最大值的60%~70%,比例系數(shù)Kp由0開始逐漸增----....大,直至系統(tǒng)出現(xiàn)振蕩;再反過來,從此時的比例系數(shù)逐漸減小,直至系統(tǒng)振蕩消失。記錄此時的比例系數(shù)設(shè)定PID的

7、比例系數(shù)Kp為當前值的60%~70%。KpKp,----....(2)確定積分時間常數(shù)Ti比例系數(shù)Kp確定之后,設(shè)定一個較大的積分時間常數(shù)Ti,然后逐漸減小Ti,直至系統(tǒng)出現(xiàn)振蕩,然后再反過來,逐漸增大Ti,直至系統(tǒng)振蕩消失。記錄此時的Ti,設(shè)定PID的積分時間常數(shù)Ti為當前值的150%~180%。(3)確定微分時間常數(shù)Td微分時間常數(shù)Td一般不用設(shè)定,為0即可,此時PID調(diào)節(jié)轉(zhuǎn)換為PI調(diào)節(jié)。如果需要設(shè)定,則與確定Kp的方法相同,----....取不振蕩時其值的30%。----....(4)系統(tǒng)空載、帶載聯(lián)調(diào)對PID參數(shù)進行微調(diào),直到滿

8、足性能要求。----

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。