现在的位置: 首页 > 综合 > 正文

PID整定经验

2019年03月23日 ⁄ 综合 ⁄ 共 1545字 ⁄ 字号 评论关闭

这段时间做了一个数控项目,用到了数字PI调节,现在将整定过程稍做整理,给大家参考。采用增量式PI算法,数学公式原型:


△u(k)=Kp*(e(k)-e(k-1))+Ki*e(k)+Kd*(e(k)-2e(k-1)+e(k-2))  (Kd=0)


Ziegler-Nichols法是基于系统稳定性分析的PID整定方法.在设计过程中无需考虑任何特性要求,整定方法简单,控制效果比较理想,因此我采用此方法。


1. 先置I和D的增益为0,逐渐将Kp由1增加到8.2,在Kp达到7.3后系统输出到开始震荡,在7.5和8之间时振荡幅度比较稳定,振荡频率为285Hz。暂设定临界增益Kc=7.3~8,振荡周期Pc=1/285,系统采样周期T=1/2000;
(ysmz4: 振荡?临界增益?)


2.根据Ziegler-Nichols整定表计算具体参数


控制器                Kp                Ti                Td  

  P                   0.50*Kc              /                 /  

  PD                0.65*Kc              /                 0.12*Pc  

  PI                 0.45*Kc             0.85*Pc         /  

  PID               0.65*Kc            0.5*Pc         0.12*Pc 


使用PI调节方式,因此有:


Kp = 0.45*Kc = 3.5(28/8);


Ti = 0.85*Pc;


Ki = Kp*T/Ti = 0.587(37/64);


将上述参数代人数字PI调节函数,加入积分分离算法后,实测结果令人满意 (积分分离算法)

------------------------------------------------------------------------------------------------------------------------------------------------------

振荡?

设想这样一个情况(我用中学物理解释)。
一个没有摩擦的小车,我可以控制小车的加速度,我的目标是让小车停到1m处。
如果使用PID的话,大约如此(设e是当前位置和1m的距离)

a = kp * e + ki * e的积分 + kd * e的微分

考虑简单情况,ki,kd都是0,式子就变成了

a = kp * e

就是,我当前的加速度等于我距目标点的距离乘以一个系数kp。

有没有觉得这个式子很像 弹簧振子 ? 距离中心位置越远(目标位置),受到的力越大。
所以,在这种控制策略下,小车会像弹簧振子一样,出现等幅振荡(按正弦运动)。这种状态就是震荡了。

通常,加入微分项后,会抑制震荡,理由也很简单,对位置偏差的微分可以理解为就是速度,如果小车一直受到一个与速度方向相反的力,那么动能就越来越小,最后会停下,体现在控制中,就是收敛或者叫稳定。

临界增益?

积分分离算法?



http://www.znczz.com/thread-522-1-1.html

Ziegler-Nichols整定方法如下:

  首先,置Kd=Ki=0,然后增加比例系数一直到系统开始振荡(闭环系统的极点在jω轴上);
  再将该比例系数乘以0.6,其他参数按照以下公式计算:
  Kp = 0.6*Km   (ysmz4:不知道为什么定0.6)
  Kd = Kp*π/4*ω
  Ki = Kp*ω/π


上式中Kp为比例控制参数
   Kd为微分控制参数
   Ki为积分控制参数
   Km为系统开始振荡时的比例值;
   ω为振荡时的频率


抱歉!评论已关闭.