我想学会调PID是真心的(只是自己笔记而已)
借鉴了一些文章,链接在这里
PID原理部分:
https://blog.csdn.net/kilotwo/article/details/79828201
https://blog.csdn.net/keilzc/article/details/104123758
https://blog.csdn.net/wangweijundeqq/article/details/76389770
(会想办法自己写代码调参的)
位置式和增量式PID部分:
https://blog.csdn.net/weibo1230123/article/details/80812211
PID常用口诀
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢,微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
先对公式理解理解,具体是增量式还是位置式稍后补充~~
其中e(t)为目标值与实际值的差值
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
Kp:比例控制,直接将误差乘以实数,可以立即调节实际与目标的差距,反应比较迅速明显,可以迅速减少误差,但是一些情况下容易产生静态误差(如耳熟能详的漏水控制,以及其他情况下的阻力消耗等)。在kp过小情况下,曲线逼近目标值较慢,控制作用弱;在kp过大情况下容易超调,使系统产生震荡,使系统不稳定。(这里用下别人的图)
此图链接
kp过小时,比如0.5,离目标值较远,需要增大kp;kp过大时候,如5和10,曲线随着kp增大超调问题加重,经历较长时间才稳定下。
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
Ki:积分控制,用于消除稳态误差(也就是解决kp弊端),只要系统存在误差积分作用就会不断积累,输出控制量来消除误差,如果偏差为零这时积其积分才为一个不变的值(也就是不会增加,使系统保持稳定)。
积分环节主要是消除稳态误差,但是他也容易降低系统动态稳定性,降低响应速度,甚至增加系统超调量(一般ki比较小,为kp除以200~400左右,也会有pd不要i的情况)
当Ti(积分时间)比较小的时候,ki数值大,积分体现出的作用比较强,需要加长积分时间,此时曲线表现是消除静态误差比较快,但是容易产生超调和长时间震荡;当积分时间Ti比较大时候,ki数值小,积分体现出的作用比较弱,需要缩短时间,此时曲线消除静态误差用时比较长,但是超调效果比较小,稳定性较强。
此图链接
从图中大致可以看出,ki对于曲线第一次超调效果是ki越大,效果越好,但是对于后续波动来说ki过大过小都会过大,使得接近目标值时间变长。
曲线振荡频率快,先把微分降下来
动差大来波动慢,微分时间应加长
Kd:微分控制,和变化率有关,和积分控制互补,它可以减小超调量,使系统稳定性提高,同时加快响应速度(加快调节速度),使系统更快有更好的动态性能,加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不用微分, 或在微分起作用之前先对输入信号进行滤波。
如果kd较小,会导致超调抑制力度不够;在kd较大时候,容易因为灵敏度过高导致振荡频率过快。
以下是关于位置式PID和增量式PID的分析,区分:
当前系统的实际位置,与你想要达到的预期位置的偏差,进行PID控制;
增量式PID:是对位置型 PID 取增量,这时控制器输出的是相邻两次采样时刻所计算的位置值之差,得到的结果是增量,即在上一次的控制量的基础上需要增加(负值意味减少)控制量。
区别:
1.位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值;而增量式PID的输出只与当前拍和前两拍的误差有关,因此位置式PID控制的累积误差相对更大;
2.由于增量式PID输出的是控制量增量,如果计算机出现故障,误动作影响较小,而执行机构本身有记忆功能,可仍保持原位,不会严重影响系统的工作,而位置式的输出直接对应对象的输出,因此对系统影响较大。
公式如图
位置式:
增量式:
可以简化为 Δu=Kp*{e(n)-e(n-1)}+Kie(n)+Kd{e(n)-2e(n-1)+e(n-2)} 整理为 Δu=(Kp+Ki)e(n)-(Kp+2)e(n-1)+Kde(n-2) 由于Pid需要整定参数、因而可以将上式三项误差前的数当作一个整体; 即表示为 Δu=KPe(n)-KIe(n-1)+KD*e(n-2),