PID算法原理、調(diào)試經(jīng)驗以及代碼_第1頁
PID算法原理、調(diào)試經(jīng)驗以及代碼_第2頁
PID算法原理、調(diào)試經(jīng)驗以及代碼_第3頁
PID算法原理、調(diào)試經(jīng)驗以及代碼_第4頁
PID算法原理、調(diào)試經(jīng)驗以及代碼_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1PID原理電池充放電系統(tǒng)中的控制器,根據(jù)給定信號和反饋信號相減得到的偏差信號來計算控制雖出就而控制功率管的占空比咲(4-35沖可知圮在PVM的頻率不變的情況下化即周期寄存器垠的值不變的情況下,由控制量u改變比較寄存器劇宓的值便可氐改變功率管的占空比在自動控制系統(tǒng)中A常用的控制器有比例-積分控制器$PI控制器h比例-積分-微分控制器(PID控制器分段逼近式控制器,較為新穎的有模糊控制器,神經(jīng)元網(wǎng)絡(luò)控制器等十本系統(tǒng)使用的是工業(yè)過程控制中廣泛應(yīng)用的PID控制器。*按偏差的比例、積分微分進(jìn)行控制的控制黠稱為PID控制器。模擬PID控制器的原理框圖如圖4打所示其中T為系統(tǒng)給定值,e為實際輸出中u為控制

2、量。PID控制解決了自動控制理論所要解決的最為基本的問題即系統(tǒng)的穩(wěn)定性、快速性和準(zhǔn)確性。調(diào)節(jié)PID的參數(shù),可以實現(xiàn)在系統(tǒng)穩(wěn)定的前提下兼顧系統(tǒng)的帶載能力題拔匪力,同時由干在PID控制器中引入了積分項貳系統(tǒng)增加了二1積點這樣系統(tǒng)階躍響應(yīng)的穩(wěn)態(tài)誤差就為零。中圖4-7所示的模擬PID控制器的控制表達(dá)式為:*(0=(0+(4-3式中,電舫為系統(tǒng)偏差e$5=r-c7心式中#唸為系統(tǒng)偏差;%為比例系數(shù);心口為積分時間常數(shù);心口為微分時間常數(shù)中式(4-3)也可以寫成a瓦(右)=心鞏右)+禺|詁(9)宀工+殆弓?(4-37式中,&為比例系數(shù);a扛為積令系數(shù)十直=熾遐中也為微分系數(shù)直=城4簡單說來,PID控制器中

3、各校正.環(huán)節(jié)的作用如下日社4C-17比例環(huán)節(jié)茲時成比例地反映控制系統(tǒng)的備差信號已電;偏差一旦產(chǎn)生,.控制器立即產(chǎn)生調(diào)節(jié)作用,以減少偏差。中積分環(huán)節(jié)主要用于消除讎羞提贏系統(tǒng)的無差度積分作用的強(qiáng)弱取決于積分時間常數(shù)險血越大匸積分作用越弱反之則越強(qiáng)。*C30微分環(huán)節(jié)能夠反映偏差信號的變化趨勢,即偏差信號的變化速率,并能在偏差信號值趣太夫藝前孑在系統(tǒng)中引燕一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。a計算機(jī)控制是一種離散的采樣控制,在計算機(jī)控制系統(tǒng)中所使用的是數(shù)字PID控制器,而式孚邦式(4鄧)均為模擬PID控制器的控制表達(dá)式通過將模擬PID表達(dá)式中的積分.微分運算用數(shù)值計算方法來逼

4、近冬便可實現(xiàn)數(shù)字P9控制只要采樣周期T取得足夠水這腫逼近就可以相當(dāng)精確亠將微球項用差分代替,積另項用矩形和式代替數(shù)字PID控制器的控制表達(dá)式如式知喊u(k)=kp眉(七)+同樣的;式(4.3也可以寫成:*邂)=kpe(k)+出(丿)+kd於)-e(k-1)j=o其中:kv=kpT/Tlt取=煜馭口亠數(shù)字PK)控制器的控制算法通常可以聳為位置式PK)控制算法和增雖式PK)控制算法,本系統(tǒng)使用的杲位置式PID控制算法,因此下面將討論如何建立位置式PID控制算法的數(shù)學(xué)模型。中由式備犁可得,第氐1時gJPID調(diào)節(jié)的表達(dá)式為小u(k-X)=-1)+k.Ve(j)+k.dg優(yōu)一1)一逐(七一2)將式糾芬)

5、減式4-40、便可得到位置式PID控制算法的表達(dá)式為莖卩u(k)=u(k-X)十住(七)一它(七一1)+畢3)+底/層3)-2e(1)+址一2)卜為了使表達(dá)式更為簡單,可以將上面的式子展開七合并同類項后可以得到印*(4-41Au(k)=艮(七一1)+諮(七)+如電(七-1)+其中吟ao=kp+ki+k=kpf1+if汁T&T;+j日1=-kp-2kj=-kjj1+2Tj/T;+*翹=駅痰瓊T*我(4斗門即為本系統(tǒng)所停甲的忖臂式PID捽制黠的數(shù)孝樟型72.流程圖pid調(diào)節(jié)子程序的流程圖如圖4-io所示。當(dāng)進(jìn)Aped調(diào)節(jié)子程序時,首先需要根據(jù)系統(tǒng)給定值利釆樣值來計算偏差.為了防止在系統(tǒng)運材初期,由

6、于控制量wfe過犬使得開關(guān)管占空比d過大,需要對代汽式(41運算的O做一定的限幅處理。因為瞬間過大的占空比有時候可能會引起過大的電流,淤而導(dǎo)致開關(guān)轡的損壞.另外,在系統(tǒng)進(jìn)入穩(wěn)態(tài)后,偏差杲很小的,如果偏差在一冷很小的范圍內(nèi)波動,控制器對這樣微小的偏差計算后吏將會輸出一仆微小的控制雖此時輸出的控制值在一個很小的范圍內(nèi)十不斷改變自已的方向、頻繁動作,發(fā)生振顫,這樣不利于正在充電的蓄電池因此也煮控制過程進(jìn)班這種狀態(tài)時,就進(jìn)衣系統(tǒng)設(shè)定的一個輸出允許帶印,即當(dāng)釆集到的偏差|e(kjSD時扎不改變控制量使充放電過程能夠穩(wěn)定的進(jìn)存。中計:k心上戶Ek卜饒射|eMD=o3。PID代碼定義變量floatKp;fl

7、oatTi;/PI調(diào)節(jié)的比例常數(shù)/PI調(diào)節(jié)的積分常數(shù)floatT;采樣周期LL?-u(kiTK醫(yī).d調(diào)活子程序流程圖衛(wèi)/uk對uk四舍五入取整/調(diào)節(jié)器輸出調(diào)整量floatKi;floatek;/偏差ekfloatek1;/偏差ek-1floatek2;/偏差ek-2floatuk;signedintuk1;signedintadjust;/變量初始化Kp=4;Ti=0。005;T=0.001;/Ki=KpT/Ti=0.8,微分系數(shù)Kd=KpTd/T=0.8,Td=0.0002,根據(jù)實驗調(diào)得的結(jié)果確定這些參數(shù)ek=0;ek1=0;ek2=0;uk=0;uk1=0;adjust=0;intpiad

8、just(floatek)/PI調(diào)節(jié)算法0000000000000000if(gabs(ek)0)if(uk-uk1=0.5)uk1=uk1+1;if(uk=0.5)uk1=uk1-1;adjust=uk1;returnadjust;下面是在AD中斷程序中調(diào)用的代碼。else退出軟啟動后,PID調(diào)節(jié),20ms調(diào)節(jié)一次EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);誤差較小PID調(diào)節(jié)穩(wěn)住if(EvaRegs.CMPR3=890)EvaRegs.CMPR3=890;/限制PWM占空比4。PID調(diào)節(jié)經(jīng)驗總結(jié)PID控制器參數(shù)選擇的方法很多,例如試湊法、臨界比例度法、擴(kuò)

9、充臨界比例度法等。但是,對于PID控制而言,參數(shù)的選擇始終是一件非常煩雜的工作,需要經(jīng)過不斷的調(diào)整才能得到較為滿意的控制效果。依據(jù)經(jīng)驗,一般PID參數(shù)確定的步驟如下42:確定比例系數(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ù)Kp逐漸減小,直至系統(tǒng)振蕩消失。記錄此時的比例系數(shù)Kp,設(shè)定PID的比例系數(shù)Kp為當(dāng)前值的60%70%。確定積分時間常數(shù)Ti比例系數(shù)Kp確定之后,設(shè)定一個較大的積分時間常數(shù)Ti,然后逐漸減小Ti,直

10、至系統(tǒng)出現(xiàn)振蕩,然后再反過來,逐漸增大Ti,直至系統(tǒng)振蕩消失。記錄此時的Ti,設(shè)定PID的積分時間常數(shù)Ti為當(dāng)前值的150%180%。確定微分時間常數(shù)Td微分時間常數(shù)Td一般不用設(shè)定,為0即可,此時PID調(diào)節(jié)轉(zhuǎn)換為PI調(diào)節(jié)。如果需要設(shè)定,則與確定Kp的方法相同,取不振蕩時其值的30%。系統(tǒng)空載、帶載聯(lián)調(diào)對PID參數(shù)進(jìn)行微調(diào),直到滿足性能要求。上面的實際是PI調(diào)節(jié)的代碼,現(xiàn)附上PID的。1./聲明變量2.3./定義變量4.floatKp;/PID調(diào)節(jié)的比例常數(shù)5.floatTi;/PID調(diào)節(jié)的積分常數(shù)6.floatT;/采樣周期7.floatTd;/PID調(diào)節(jié)的微分時間常數(shù)8.floata0;9

11、.floata1;10.floata2;11.12.floatek;/偏差ek13.floatek1;/偏差ek-114.floatek2;/偏差ek-215.floatuk;/uk1;/對uk四舍五入求整17.intadjust;/最終輸出的調(diào)整量18.19./變量初始化,根據(jù)實際情況初始化20.Kp=;21.Ti=;22.T=;23.Td=;3.64.65.a0=Kp*(1+T/Ti+Td/T);a1=-Kp*(1+2*Td/T);a2=Kp*Td/T;/Ki=KpT/Ti=0.8,微分系數(shù)Kd=KpTd/T=0.8,Td=0.0002,根據(jù)實驗調(diào)得的結(jié)果確定這些參數(shù)ek=0;ek1=0;ek2=0;uk=0;uk1=0;adjust=0;intpid(floatek)if(gabs(ek)vee)ee為誤差的閥值,小于這個數(shù)值的時候,不做PID調(diào)整,避免誤差較小時頻繁調(diào)節(jié)引起震蕩。ee的值可自己設(shè)adjust=0;elseuk=a0*ek+a1*ek1+a2*ek2;ek2=ek1;ek1

溫馨提示

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

最新文檔

評論

0/150

提交評論