pid.txt

来自「增量式PID」· 文本 代码 · 共 29 行

TXT
29
字号
 这是我们实验室计算机控制实验台的一个简单例程(PID子程序,位置式PID算法),用TC3写的,其实很简单(位置控制的)
  Sample是当前采样值,Position是目标值
  
  int PIDPro(float Sample, float Position)
  {
   int DAOut;
  
   ErrPres=Position-Sample; //E(k)=R(k)-S(k)
   PPro=Kp*ErrPres; //Pp(k)=Kp*E(k)
   PInt=Ki*ErrPres+PIntPrev; //Pi(k)=Ki*E(k)+Pi(k-1)
   PDif=Kd*(ErrPres-ErrPrev); //Pd(k)=Kd*[E(k)-E(k-1)]
  
   VolOut=PPro+PInt+PDif; //P(k)=Pp(k)+Pi(k)+Pd(k)
  
   ErrPrev=ErrPres; //P(k-1)=P(k)
   PIntPrev=PInt; //Pi(k-1)=Pi(k)
  
   DAOut=(int)VolOut;
   if(DAOut>UpperLimit)
   DAOut=UpperLimit; //Upper Limit
   if(DAOut<LowerLimit)
   DAOut=LowerLimit; //Low Limit
  
   return DAOut;
  }
  
  返回值是12位D/A的转换器的输入量

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?