迅游加速器 迅雷下载:引用 PID 算法应用实例(一) - 娟子的日志 - 网易博客1

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 20:49:54

四、参数调整

 

【以下资料摘自DSP交流网(http://www.hellodsp.com/)】

PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下:

(1)确定比例系数Kp

确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。

(2)确定积分时间常数Ti

比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。

(3) 确定微分时间常数Td

微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。

(4) 系统空载、带载联调

对PID参数进行微调,直到满足性能要求。

 

PID代码

//定义变量
float Kp;                       //PI调节的比例常数
float Ti;                       //PI调节的积分常数
float T;                        //采样周期
float Ki;
float ek;                       //偏差e[k]
float ek1;                      //偏差e[k-1]
float ek2;                      //偏差e[k-2]
float uk;                       //u[k]
signed int uk1;                  //对u[k]四舍五入取整
signed int adjust;              //调节器输出调整量

//变量初始化
    Kp=4;
    Ti=0.005;
    T=0.001;
// Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数
    ek=0;
    ek1=0;
    ek2=0;
    uk=0;
    uk1=0;
    adjust=0;

int piadjust(float ek)  //PI调节算法
{
    if( gabs(ek)<0.1 )
    {
       adjust=0;
    }
    else
      
       uk=Kp*(ek-ek1)+Ki*ek;  //计算控制增量
       ek1=ek;
      
       uk1=(signed int)uk;
       if(uk>0)
       {
          if(uk-uk1>=0.5)
          {
             uk1=uk1+1;
          }
       }
       if(uk<0)
       {
          if(uk1-uk>=0.5)
          {
             uk1=uk1-1;
          }
       }
       adjust=uk1;   
         
   
   
    return adjust;
}

下面是在AD中断程序中调用的代码。
      
       。。。。。。。。。。。
       else //退出软启动后,PID调节,20ms调节一次
           {
              EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);//误差较小PID调节稳住
              if(EvaRegs.CMPR3>=890)
              {
                 EvaRegs.CMPR3=890; //限制PWM占空比
                   
           }

引用 PID 算法应用实例(一) - 娟子的日志 - 网易博客1 PID控制算法 - z86k的日志 - 网易博客 【引用】做人的底线 - 晶子的日志 - 网易博客 引用 童趣盎然 - 民子的日志 - 网易博客 【引用】常见手语 - 子玉女阁的日志 - 网易博客 【引用】温总理史上最全图 - 蓉子的日志 - 网易博客 引用 十秒快速推算日支最新算法(独家披露,强烈推荐!!) - 飘叶的日志 - 网易博客 引用“执子之手,与子偕老”全文 - 雯子的日志 - 网易博客 【引用】分享应用 - 百草堂的日志 - 网易博客 【引用】女儿的小帽子(有图解) - 孩儿他妈的日志 - 网易博客 【引用】等等我。。。钩针衣 - 娟子的日志 - 网易博客 引用 引用 引用 民间谚语俗语集(一) - 山水相逢的日志 - 网易博客 狗 这 一 辈 子 - 雪影冰痕的日志 - 网易博客 【引用】引用 水边的女人... - 子青青的日志 - 网易博客 引用 引用 漂亮宝宝小鞋子的钩法 - 爱上芳菲的日志 - 网易博客 引用 引用 皖南赏油菜花 - 兰 子 君的日志 - 网易博客 表格边框代码应用(一) - 无所谓的日志 - 网易博客 水法应用吉凶解1211(一) - 一介烟民的日志 - 网易博客 水法应用吉凶解(一) - 一介烟民的日志 - 网易博客 【引用】硬笔书法欣赏(一) - 夜色美丽的日志 - 网易博客 引用 【原创】网上与人对对子(二十八) - 破书屋主的日志 - 网易博客 【引用】引用 引用 大师安心的打毛衣心得 - 若是一夏的日志 - 网易博客 【引用】天才总结的“社会写真” 一针见血 - 子牛的日志 - 网易博客 【引用】海峡两岸贪官的监狱生活对比 - 煤黑子的日志 - 网易博客