PID控制算法的C語言實現二 PID算法的離散化


上一節中,我論述了PID算法的基本形式,並對其控制過程的實現有了一個簡要的說明,通過上一節的總結,基本已經可以明白PID控制的過程。這一節中先繼續上一節內容補充說明一下。 

   1.說明一下反饋控制的原理,通過上一節的框圖不難看出,PID控制其實是對偏差的控制過程

  

 2.如果偏差為0,則比例環節不起作用,只有存在偏差時,比例環節才起作用。   

 

 3.積分環節主要是用來消除靜差,所謂靜差,就是系統穩定后輸出值和設定值之間的差值,積分環節實際上就是偏差累計的過程,把累計的誤差加到原有系統上以抵消系統造成的靜差。 

  

 4.而微分信號則反應了偏差信號的變化規律,或者說是變化趨勢,根據偏差信號的變化趨勢來進行超前調節,從而增加了系統的快速性。 

   好了,關於PID的基本說明就補充到這里,下面將對PID連續系統離散化,從而方便在處理器上實現。下面把連續狀態的公式再貼一下:

假設采樣間隔為T,則在第K T時刻: 

偏差err(K)=rin(K)-rout(K); 

積分環節用加和的形式表示,即err(K)+err(K+1)+„„

微分環節用斜率的形式表示,即[err(K)-err(K-1)]/T; 

從而形成如下PID離散表示形式:

至於說KpKiKd三個參數的具體表達式,我想可以輕松的推出了,這里節省時間,不再詳細表示了。

 

其實到這里為止,PID的基本離散表示形式已經出來了。目前的這種表述形式屬於位置型PID另外一種表述方式為增量式PID,由U上述表達式可以輕易得到:

這就是離散化PID的增量式表示方式,由公式可以看出,增量式的表達結果和最近三次的偏差有關,這樣就大大提高了系統的穩定性。需要注意的是最終的輸出結果應該為 

       

    u(K)+增量調節值

 

PID的離散化過程基本思路就是這樣,下面是將離散化的公式轉換成為C語言,從而實現微控制器的控制作用。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM