PID算法控制簡單理解


1 傳統的位式控制算法

  用戶期望值Sv(設定值)經控制算法輸出一個輸出信號OUT,輸出信號加載到執行部件上(像MOS管等)對控制對象進行控制(步進電機、加熱器等),控制對象的當前值(Pv)如速度通過傳感器反饋給控制算法與Sv相比較。

  特點:1 位式算法輸出的控制信號只有兩種狀態‘H’或者‘L’。

        2 算法輸出信號OUT的依據:

          如果Pv>=Sv 輸出信號高了

          如果Pv<Sv 輸出信號低了

  缺點:只能考察控制對象的當前值

2 PID算法

 

  Sv:用戶的設定值(目標值)

  Pv:反應負載當前的狀態值(控制對象當前的狀態值)

  E = Sv - Pv :偏差值

2.1 PID算法分析

  1.從開始工作到當前時刻得到一個采樣點序列(假如每秒采樣一次,Xk表示當前時刻的采樣值):

    X1,X2,X3,..........Xk-1,Xk

  2.分析采樣點序列得到三個信息:

    1> 偏差值Ek = Sv - Xk 反映了當前時刻,傳感器反饋回來的值與目標值偏差的程度;

       如果:Ek>0   表示當前時刻未達標

             Ek=0   表示當前時刻已達標

             Ek<0   表示當前時刻已超標

        設:Pout = Kp * Ek  ——比例控制

        特點:比例控制一般輸出為PWM信號,通過調節PWM的占空比,來對輸出進行控制。比例控制只考慮當前時刻是否有偏差,當Ek=0時,負載就處於失控狀態,PWM此時可不起作用;比例控制沒有偏差時是不起作用的,需要始終有一個偏差。

        一般地在算法上加一個常數:

          Pout = Kp * Ek + out0 ;

    2>歷史偏差序列(有正數有負數)

    設:E1=Sv-X1,E2=Sv-X2,E3=Sv-X3,.........Ek = Sv - Xk

    得序列:E1,E2,E3,.............Ek.

      Sk=E1+E2+E3+............+Ek

      如果:Sk>0     過去時間段大多數時刻未達標

            Sk=0     過去時間段總體情況較好

            Sk<0     過去時間段大多數時刻超標

      根據歷史狀態輸出信號得:

            Iout = Kp * Sk  ——積分算法

      單純的積分控制Sk=0時,會嚴重干擾當前情況,進入失控狀態;一般的

            Iout = K* E+ out0

    3>最近兩次的偏差相減

      Dk=Ek-Ek-1

 

      如果:Dk>0 偏差有增大趨勢
            Dk=0 偏差趨勢沒有變化
            Dk<0 偏差有減小趨勢
         Dout =Dk * Kp   ——微分控制
       微分控制不可以獨立行動,微分算法只關心偏差有沒有變化趨勢
         Dout =Dk * Kp + out0 

 

              

 


免責聲明!

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



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