杂谈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] 控制类型 比例 - - 比例-积分 - 经典比例-积分-微分(PID)[3] Pessen Integral Rule[3] some overshoot[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控制算法的代码放上来给大伙瞅瞅吧。。
独立博客:http://nfeng.cc/