序
首先最重要的是了解每个参数调节了系统响应的那些属性,通过观察响应从而调节参数改变属性。
PID的作用概述:
1、P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。
2、I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。
3、D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。
同时调节的顺序是:P>I>D
下面了解的一个很重要的就是调节的目标,也就是最好的响应曲线是什么样子。
PID 调节目标:
1、衰减比在4-10之间最佳,也就是响应曲线的前两个峰值B:B1的比值在4-10之间。
2、稳态误差趋近于0
3、系统响应越快越好
一、P参数选取
tip:在第一步牢记P产生响应速度和力度,过小响应慢,过大会产生振荡,是I和D的基础。
如果想自己调试尝试可以打开matlab,运行simulink,照着下面的图进行连接,如果想直接应用可以直接往后看。
图中的系统为一个PID控制二阶系统。
拿上面的系统进行举例,首先设定P=0.1,I=0,D=0观察响应。可以看到图像没有超调,说明P产生的响应速度和力度太小了,
P=1,I=0,D=0观察系统响应,超调量出现但是只有一个波形,同时也就意味着调节时间太慢了,继续加大P
P=10,I=0,D=0,此时调节时间显著下降,可以看到此时的数量级已经调整完成,也就是P参数只需要微调
P=100,I=0,D=0,系统开始变得振荡
如果继续加大P,系统会达到一个临界值,产生等幅振荡,最后开始发散。如下图所示:
二、I的调节
tip:I在有系统误差和外力作用时消除偏差、提高精度,同时也会增加响应速度,产生过冲,过大会产生振荡。
I主要调节稳态输出,消除扰动。由于系统没有扰动输入因此看不到I对于消除扰动的效果。P=10,I=10,D=0,此时I过大导致系统振荡加剧。
P=10,I=1,D=0,此时响应波形基本符合预期。观察稳态输出约为0.963左右。
P=10,I=0.1,D=0,可以看到几乎响应波形没有变化。说明在没有扰动的情况下I只要不过大影响不大。但是稳态输出变化为0.916
P=10,I=0,D=0,稳态输出变为0.91左右。
最终我们可以通过I少量调节稳态输出的值,最终将稳态误差消除。关于I对波形影响的作用总结如下图:
三、D的调节
tip:D抑制过冲和振荡,过小系统会过冲,过大会减慢响应速度。D的另外一个作用是抵抗外界的突发干扰,阻止系统的突变。
P=10,I=0.1,D=10,可以看到将所有的冲击都消除掉了。
P=10,I=0.1,D=1,消除冲击减弱,此时显然衰减比不符合要求
P=10,I=0.1,D=1,此时基本符合要求。
四、总结
首先调节P的数量级达到一个只有2个左右明显峰值的波形,再调节I找到不会波形振荡也不会没有超调的的区间,在区间内找到一个I将稳态误差尽可能消除。最终使用D来控制衰减比和波形的峰值、超调量。最后根据要求的稳态值、调节时间、超调量、上升时间、峰值时间等指标进行微调达到目标。
最后可以总结成一个口诀
参数整定找最佳,从小到大顺序查,
先是比例后积分,最后再把微分加,
曲线振荡很频繁,比例度盘要放大,
曲线漂浮绕大湾,比例度盘往小扳,
曲线偏离回复慢,积分时间往下降,
曲线波动周期长,积分时间再加长,
曲线振荡频率快,先把微分降下来,
动差大来波动慢,微分时间应加长,
理想曲线两个波,前高后低4比1,
一看二调多分析,调节质量不会低。