|
看到很多兄弟姐妹來問關于PID控制器的情況,偶就結合自己的理解,盡可能淺顯的講述一下PID控制的概念和如何設計一個簡單的PID控制器的設計。其目的就是有興趣朋友們可以跟這個設計一個簡單的PID控制器 所謂的控制首先分有反饋控制和無反饋控制,我們當然討論的PID當然是有反饋控制了。所謂的有反饋控制無非是要根據(jù)被控量的情況參與運算來決定操縱量的大小或者方向,那么到底如何根據(jù)被控兩來決定操縱量的大小呢,唉,這就有很多分類了,所謂的高級的控制方式也就是“高級”在這個節(jié)骨眼上,有什么“自適應控制、模糊控制、預測控制、神經(jīng)網(wǎng)絡控制、專家智能控制”等等(至于到底這些控制方式有什么優(yōu)點,唉,我只用過PID,別的也說不清楚,去抄書的話也沒有說服力,關鍵是也懶的去抄。那位老弟如果要作論文,可以在這里發(fā)揮一下,資料到處都是)。但是就目前而言,在工業(yè)控制領域尤其是控制系統(tǒng)的底層,PID控制算法仍然獨霸鰲頭,占領著80%左右的市場份額,當然,這里所說的PID控制算法不是俠義上的固定PID,現(xiàn)在不是講究多學科融合嗎?人們在PID控制規(guī)律中吸取了其他“高級”的控制規(guī)律的優(yōu)點,出現(xiàn)了諸多的新穎的控制器如自校正PID、專家自適應PID、預估PID、模糊PID、神經(jīng)網(wǎng)絡PID、非線性 PID等新型PID控制器。至于所謂的變種的PID算法如什么“遇限削弱微分”微分先行,積分分離“bangbang+PID”等等,已經(jīng)不算是什么高級的控制方式了作控制器的廠商大多都會或多等等或少的采取一些,至于是神經(jīng)網(wǎng)絡PID,模糊PID,自適應PID是如何實現(xiàn)的,我所知道的就是利用對應的控制算法,適時的調節(jié)PID的參數(shù)。還是舉個例子吧。傳統(tǒng)PID的算法公式是: ⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)] U(n)=⊿U(n)+U(n-1) e(n) ,e(n-1), e(n-2)就是歷史上的三個設定值跟過程值之間的偏差了。 這是一個增量式的PID算式(如果有誰不明白什么式增量是算式,呵呵,可能以后會提到,偶的寫作水平有限,不會組織內(nèi)容,再說我是想到哪,寫道哪,呵呵,見涼)。 所謂的新型PID控制器,就是根據(jù)e(n)的不同,利用那些先進的控制規(guī)律來適當?shù)恼{整Kp,Ki,Ke。至于怎么調整,呵呵,這就太羅嗦了,也不是這篇內(nèi)容所該介紹的,(關鍵是我也不太清楚,呵呵,見笑),需要這些功能的大俠應該是我的前輩,還請指教喲。 好了,現(xiàn)在正式介紹一下所謂的PID各個參數(shù)吧。 所謂的PID大家在大學期間都應該學過,就是比例(P)、積分(I)、微分(D)。 比例控制:就是對偏差進行控制,偏差一旦產(chǎn)生,控制器立即就發(fā)生作用即調節(jié)控制輸出,使被控量朝著減小偏差的方向變化,偏差減小的速度取決于比例系數(shù)Kp, Kp越大偏差減小的越快,但是很容易引起振蕩,尤其是在遲滯環(huán)節(jié)比較大的情況下,Kp減小,發(fā)生振蕩的可能性減小但是調節(jié)速度變慢。但單純的比例控制存在靜差不能消除的缺點。這里就需要積分控制。 積分控制:實質上就是對偏差累積進行控制,直至偏差為零。積分控制作用始終施加指向給定值的作用力,有利于消除靜差,其效果不僅與偏差大小有關,而且還與偏差持續(xù)的時間有關。簡單來說就是把偏差積累起來,一起算總帳。 微分控制:它能敏感出誤差的變化趨勢,可在誤差信號出現(xiàn)之前就起到修正誤差的作用,有利于提高輸出響應的快速性,減小被控量的超調和增加系統(tǒng)的穩(wěn)定性。但微分作用很容易放大高頻噪聲,降低系統(tǒng)的信噪比,從而使系統(tǒng)抑制干擾的能力下降。因此,在實際應用中,應慎用微分控制,尤其是當你開始作實驗時,不防將微分控制項去掉,看看行不行,呵呵,不行???還是看看別的地方吧,肯定行的。 行了,這三個參數(shù)說明白了,再來說說怎么確定這幾個參數(shù)的數(shù)值吧。這幾個參數(shù)的確定比較先進的方式是自整定,但是如果是開始涉及這部分還是先不要講了,按照經(jīng)驗值吧。估計大家用來控制溫度比較多。大家按照這個規(guī)律來選吧。 Kp=100/P Ki= kp*T/I Kd= kp*D/T 分別介紹一下各個參數(shù)的意義: T:計算周期,就是各多少時間計算一次 ⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)],單位是秒。一般1秒或者0.5秒甚至5秒都行。 P:比例帶 I:積分時間 D:微分時間 P、I、D跟kp,ki,kd有什么關系呢? Kp=100/P, Ki=kp*T/I Kd=kp*D/T 然后就可以計算 ⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)] 算出來⊿U(n)之后再怎么辦呢?怎么把這一個數(shù)據(jù)跟控制輸出聯(lián)系在一起呢?說道這里我們先說說PID控制方式大體都有那些? 其一為線形連續(xù)PID輸出,也就是說,PID運算的結果以模擬電壓,電流或者可控硅導通角的形式按比例輸出。 其二為時間-比例PID輸出,也就是說,事先定一個時間長度,T1,然后PID運算的結果就在控制周期內(nèi)以ON-OFF的形式輸出出來,比如你控制一個爐子的溫度,用電熱絲來加熱,就可以控制電熱絲的一個控制周期內(nèi)通電占整個控制周期的比例來實現(xiàn),電路上可以用繼電器或者過零觸發(fā)的方式來切斷或者接通電熱絲供電。 起三為位置比例PID,PID運算的結果主要是對應于調節(jié)閥的閥門開度。 再回到前面,我們以第二種控制方式為例,計算出⊿U(n)后,一般首先將其歸一化,也就是說除以你所要控制的溫度的量程。 ⊿U(n)0_1=⊿U(n)/(hh-ll) 而時間比例PID輸出對應的是“位置式PID運算”的結果 所以呢,我們要講結果累積起來, U(n)0_1+=⊿U(n)0_1 然后將次結果換算成對應于控制周期的占空比來輸出。 |
|
|
來自: ldjsld > 《電腦手機及電子技術》