PID算法原理參考模板_第1頁
PID算法原理參考模板_第2頁
PID算法原理參考模板_第3頁
PID算法原理參考模板_第4頁
PID算法原理參考模板_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PID算法原理、調(diào)試經(jīng)驗(yàn)以及代碼(轉(zhuǎn)載)熱1已有 631 次閱讀 2009-05-05 21:35 標(biāo)簽: PID 算法 原理 經(jīng)驗(yàn) 代碼 1。PID原理1 / 92.流程圖3。PID代碼/定義變量float Kp; /PI調(diào)節(jié)的比例常數(shù)float Ti; /PI調(diào)節(jié)的積分常數(shù)float T; /采樣周期float Ki;float ek; /偏差ekfloat ek1; /偏差ek-1float ek2; /偏差ek-2float uk; /uksigned int uk1; /對(duì)uk四舍五入取整signed int adjust; /調(diào)節(jié)器輸出調(diào)整量/變量初始化 Kp=4; Ti=0。00

2、5; T=0.001;/ Ki=KpT/Ti=0.8,微分系數(shù)Kd=KpTd/T=0.8,Td=0.0002,根據(jù)實(shí)驗(yàn)調(diào)得的結(jié)果確定這些參數(shù) ek=0; ek1=0; ek2=0; uk=0; uk1=0; adjust=0;int piadjust(float ek)/PI調(diào)節(jié)算法 if( gabs(ek)0) if(uk-uk1=0.5) uk1=uk1+1; if(uk=0.5) uk1=uk1-1; adjust=uk1; return adjust;下面是在AD中斷程序中調(diào)用的代碼。 。 else /退出軟啟動(dòng)后,PID調(diào)節(jié),20ms調(diào)節(jié)一次 EvaRegs.CMPR3=EvaReg

3、s.CMPR3+piadjust(ek);/誤差較小PID調(diào)節(jié)穩(wěn)住 if(EvaRegs.CMPR3=890) EvaRegs.CMPR3=890; /限制PWM占空比 。4。PID調(diào)節(jié)經(jīng)驗(yàn)總結(jié)PID控制器參數(shù)選擇的方法很多,例如試湊法、臨界比例度法、擴(kuò)充臨界比例度法等。但是,對(duì)于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調(diào)整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗(yàn),一般PID參數(shù)確定的步驟如下42:(1) 確定比例系數(shù)Kp確定比例系數(shù)Kp時(shí),首先去掉PID的積分項(xiàng)和微分項(xiàng),可以令Ti=0、Td=0,使之成為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允許輸出最大值的6070,比例系數(shù)Kp由

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

5、到滿足性能要求。上面的實(shí)際是PI調(diào)節(jié)的代碼,現(xiàn)附上PID的。 1. /聲明變量2.3. /定義變量4. float Kp; /PID調(diào)節(jié)的比例常數(shù)5. float Ti; /PID調(diào)節(jié)的積分常數(shù)6. float T; /采樣周期7. float Td; /PID調(diào)節(jié)的微分時(shí)間常數(shù)8. float a0;9. float a1;10. float a2;11.12. float ek; /偏差ek13. float ek1; /偏差ek-114. float ek2; /偏差ek-215. float uk; /uk16. int uk1; /對(duì)uk四舍五入求整17. int adjust; /

6、最終輸出的調(diào)整量18.19. /變量初始化,根據(jù)實(shí)際情況初始化20. Kp=;21. Ti=;22. T=;23. Td=; 24.25. a0=Kp*(1+T/Ti+Td/T);26. a1=-Kp*(1+2*Td/T);27. a2=Kp*Td/T;28. / Ki=KpT/Ti=0.8,微分系數(shù)Kd=KpTd/T=0.8,Td=0.0002,根據(jù)實(shí)驗(yàn)調(diào)得的結(jié)果確定這些參數(shù)29. ek=0;30. ek1=0;31. ek2=0;32. uk=0;33. uk1=0;34. adjust=0;35.36.37. int pid(float ek)38. 39. if(gabs(ek)0)51. 52. if(uk-uk1=0.5)53. 54. uk1=uk1+1;55. 56. 57. if(uk=0.5)60. 61. uk1=uk1-1;62. 63. 64. 65. adjust=uk1; 66. 67. return adjust;6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論