首頁>Club>
18
回覆列表
  • 1 # 使用者834195712159

    1、PID演算法基本原理

    PID演算法是控制行業最經典、最簡單、而又最能體現反饋控制思想的演算法。對於一般的研發人員來說,設計和實現PID演算法是完成自動控制系統的基本要求。這一演算法雖然簡單,但真正要實現好,卻也需要下一定功夫。首先我們從PID演算法最基本的原理開始分析和設計這一經典命題。

    PID演算法的執行流程是非常簡單的,即利用反饋來檢測偏差訊號,並透過偏差訊號來控制被控量。而控制器本身就是比例、積分、微分三個環節的加和。

    位置型PID的實現就是以前面的位置型公式為基礎。這一節我們只是完成最簡單的實現,也就是將前面的離散位置型PID公式的計算機語言化。

    首先定義PID物件的結構體:

    程式碼示例:

    /*定義結構體和公用體*/

    typedef struct

    {

    float setpoint; //設定值

    float proportiongain; //比例係數

    float integralgain; //積分系數

    float derivativegain; //微分系數

    float lasterror; //前一拍偏差

    float result; //輸出值

    float integral;//積分值

    }PID;

    接下來實現PID控制器:

    void PIDRegulation(PID *vPID, float processValue)

    {

    float thisError;

    thisError=vPID->setpoint-processValue;

    vPID->integral+=thisError;

    vPID->result=vPID->proportiongain*thisError+vPID->integralgain*vPID->integral+vPID->derivativegain*(thisError-vPID->lasterror);

    vPID->lasterror=thisError;

    }

  • 中秋節和大豐收的關聯?
  • samba圖形化設定?