这段PID程序什么意思?

2019-03-23 17:28发布

#include "pid.h"

float PP=0.5,II=0.5,DD=0;

double SumError=0,PrevError=0,LastError=0;
int dError=0,Error=0;

void PID_init(void)
{
        Error=0;SumError=0;LastError=0;
}

void PIDcompute(unsigned int Target,unsigned int Real)
{
  /*--------------------------------------------------------------------
根据设定及采集值进行计算PID调节,计算pwm输出值
--------------------------------------------------------------------*/
float j=0.0,i;

                Error =(Target-Real);                    
                SumError +=Error;                  
    dError=Error-LastError;
    LastError=Error;
            
                i=PP;
                j=Error*i;
                i=II;
                j=j+SumError*i;
                i=DD;
                j=j+dError*i;

                j=j/100;

         if(j>=hArrPwmVal)OutPwmValue=hArrPwmVal;
         else if(j<1)OutPwmValue=1;
         else OutPwmValue=j;
}

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。