[资料干货] 增量式PID控制的参数整定

[复制链接]
4482|13
 楼主| ColeYao 发表于 2020-10-29 10:36 | 显示全部楼层 |阅读模式
本帖最后由 ColeYao 于 2021-7-3 18:37 编辑

  首先, 增量式PID的公式为 Delta Pwm= KP*vT[nT] +KI*ET[nT] +KD*aT[nT]      KP---比例系数
   KI---积分系数
   KD---微分系数     
   Delta Pwm---输入值(?功率)在某一时刻nT的增量      
   ET[nT] ---nT时刻的误差值(目标值减去当前值)  
   vT[nT] ---ET[nT] 的速度(变化趋势)   
   aT[nT] ---nT时刻ET[nT]的加速度(速度变化趋势)

  其次,使用温控仿真工具观察KI=100(强负反馈,振荡周期较短),KP=0,KD=0的波形如图所示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2020-10-29 12:12 | 显示全部楼层
本帖最后由 ColeYao 于 2020-10-29 12:30 编辑

帖子里面讨论PID整定用到的仿真工具,有问题请站内解决,软件作者不免费提供PID和工具软件的咨询工作,敬请谅解!

  另从上面的帖子可以归纳出结论:增量式PID的参数整定就是说完整的PID公式包含三个独立的参数,整定的过程就是指定其中一个参数KI,然后根据实际情况得到KP和KD的过程(整定后的效果主要看控制波形要尽量接近理想的温升曲线,超调小,波动小,升温尽可能快)
  再有如果是自整定的话,大多数情况KD=0即完成自整定相当于初步整定完成就可以用了,完全没必要完成KD的整定(当然KD的整定也比KP更麻烦更难确定)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2020-10-29 11:28 | 显示全部楼层
本帖最后由 ColeYao 于 2020-10-29 11:51 编辑

  观察振荡波形,取一个合适的比例系数KP=3000(按照ISA标准公式,KP=Ti*KI=30*100),仿真效果如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
lzm2008 发表于 2020-10-29 11:32 | 显示全部楼层
所以工具呢?
 楼主| ColeYao 发表于 2020-10-29 11:47 | 显示全部楼层
本帖最后由 ColeYao 于 2020-10-29 11:53 编辑
ColeYao 发表于 2020-10-29 11:28
观察振荡波形,取一个合适的比例系数KP=3000,仿真效果如图

再加上KD=3000(KD=KP*Td=3000*1)使得曲线平滑,降低温度波动幅度,增量式PID整定即宣告完成!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2020-10-29 11:55 | 显示全部楼层
本帖最后由 ColeYao 于 2020-10-29 15:15 编辑
ColeYao 发表于 2020-10-29 11:47
再加上KD=3000(KD=KP*Td=3000*1)使得曲线平滑,降低温度波动幅度,增量式PID整定即宣告完成!
...

再看下取KI=0.1(KI缩小1000倍,弱负反馈,振荡周期较长),KP=0,KD=0的情况

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2020-10-29 12:02 | 显示全部楼层
ColeYao 发表于 2020-10-29 11:55
再看下取KI=0.1(KI变化1000倍),KP=0,KD=0的情况

  同样取KP=54.8=KI*548,得到一个初步整定过的仿真波形

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2020-10-29 12:07 | 显示全部楼层
ColeYao 发表于 2020-10-29 12:02
同样取KP=54.8=KI*548,得到一个初步整定过的仿真波形

  最后取KD=20=KP*0.365得到最后的整定效果如图所示,从波形图可以看出,各项控制指标都正常。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
fly1974 发表于 2020-10-30 11:29 | 显示全部楼层
ColeYao 发表于 2020-10-29 12:12
帖子里面讨论PID整定用到的仿真工具,有问题请站内解决,软件作者不免费提供PID和工具软件的咨询工作,敬 ...

  关于强或弱负反馈的判定,主要看环境温度变化是受控温度波动的情况,如附图所示!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| ColeYao 发表于 2021-7-2 11:49 | 显示全部楼层
本帖最后由 ColeYao 于 2021-7-15 15:33 编辑

   ps:
chetazo 发表于 2022-2-6 17:06 | 显示全部楼层
好贴,谢谢,辛苦了
cooldog123pp 发表于 2023-7-5 11:11 | 显示全部楼层
这个软件确实很好用,已经下下来看了一下,居然还有中英文切换,感谢作者。
大大财迷 发表于 2024-11-15 11:18 | 显示全部楼层
楼主大哥。有没有此软件的底层代码,可否分享一下?可有偿。
 楼主| ColeYao 发表于 2025-7-16 07:48 | 显示全部楼层
位置式: P=Kp*E(t)+Ki*Sum(E(t))+Kd*E(t)'   当前温度小于设置温度,E(t)>0,当前温度越小,E(t)越大,因此P越大,表示离目标温度远则大功率加热,但E(t)=0时,P=0,表示达到目标温度时就不加热了,无法维持在目标温度,为了更接近目标温度,就需要Kp值大一点,有了比例项,其它两项可以没有,也能很好地工作!位置式就像是一个负反馈运放,只考虑反馈强度就好了,只要负反馈够强,就能获得理想的控制波形。
增量式:DeltaP=Kp*E(t)'+Ki*E(t)+Kd*E(t)''   当前温度小于设置温度,E(t)>0,当前温度越小,E(t)越大,P就增加得快,表示离目标温度远则功率很快增加,E(t)=0时,P不增加了,如果刚好能维持,则系统就稳定了,否则开始反向调节,因此E(t)让温度不到目标温度时功率增加,让温度曲线往目标温度的方向跑;而E(t)'为速度负反馈,到达目标温度后Ki*E(t)=0,积分项不起作用了,此时E(t)'起作用,让温度曲线保持平直(通过反馈让E(t)'近似为0),Kp*E(t)'+Ki*E(t)共同起作用基本就完成了理想的温度控制!增量式是一个带时间预测的负反馈,需要搭配好负反馈强度和预测强度才能获得理想的控制波形
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

420

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部