杂谈PID控制算法——第二篇:调·三个量

上面一篇文章讲了一下PID算法中的三个常量大致的在PID算法中起的一个作用,但在实际的使用中,究竟应该如何调节(或者用更加专业的话说是整定)PID控制算法的三个。首先可以将KP,KI,KD三个常量全部设为一,观察一下系统的调节情况是不是过快。大致确定输出控制量的结果需要右移多少位来做最终的控制量。然后将KI,KD设为0,KP从0一直逐渐增加试探,直到被控制量有一定超调,且有一定的小震荡。此时kp算调节到差不多了。我们可以继续调节Ki,通过增大Ki使被控制量最终平稳下来的值尽可能是我们设定的值。积分量ki的调节与Kp的调节相似,从小到大调整。但要注意ki的增加会使得超调量变大,所以ki增大时kp应当相应减小一点。调节完KP与Ki之后的效果就是有一定超调,但最终还是能基本稳定在设定值,最后我们就开始调节Kd。依旧是从小到大调整,通过kd的调节能使超调尽量减小。

PID控制算法还有一种调节方式——齐格勒-尼科尔斯方法。

其调试方式为,首先将积分和微分增益设置为0,然后比例增益从零开始逐渐增加,直到到达极限增益KU,此时控制器输出值以恒定值振荡。KU振荡周期TU根据不同的类型,按下表中的方式来设置比例、积分和微分增益。

Ziegler–Nichols方法[2]
控制类型 K_p K_i K_d
比例 K_u/2 - -
比例-积分 K_u/2.2 1.2K_p/T_u -
经典比例-积分-微分(PID)[3] 0.60 K_u 2K_p/T_u K_pT_u/8
Pessen Integral Rule[3] 0.7 K_u 2.5K_p/T_u 0.15K_p T_u
some overshoot[3] 0.33 K_u 2K_p/T_u K_pT_u/3K_pT_u/3

 

--维基百科 http://zh.wikipedia.org/wiki/Ziegler%E2%80%93Nichols%E6%96%B9%E6%B3%95

看上去 会比第一种会简单的多。但现在有个问题就是Ku究竟是该调整到一个什么样的值。

自己不负责任的理解:Ku应该是设定ki与kd全为0时调整kp的值,使得被控制量出现等幅震荡时此时的kp即ku。

wiki上还有提到其他两种方法,没怎么仔细看,有时间再去研究研究。

本篇结束,刚刚开始学pid,表示文章中一定有不少错漏之处。希望各位童鞋批评指正。

下篇(目测最后一篇)把自己写的pid控制算法的代码放上来给大伙瞅瞅吧。。

posted @ 2013-08-22 21:05  77695  阅读(10610)  评论(0编辑  收藏  举报