手把手教你看懂并理解Arduino PID控制库——设定值突然改变

引子

本文将分析《手把手教你看懂并理解Arduino PID控制库》中:设定值的突然改变,如何避免输出突变。

问题定义

首先先看一下上述问题的图示说明:

083049_kAfr_3162997.png

假设PID控制的输出的限制是255,如果按照PID经典公式计算,PID控制器不知道其输出的极限值是255,由于设定值较大,那么输出会一直增长,超过255,达到300/400或者更高。此时,突然降低设定值到一个较低的位置(比被控量更小),那么,由于积分项的作用,输出会需要一定的时间才会渐渐过度到极限值以下,然后再慢慢降到所需的设定值。从图中看,就是绿色线条的Lag,这个 是我们不希望看到的。

解决方案

有多种手段可以减小上述问题的影响。

最简单的方式:告诉PID软件输出限制是什么,一旦达到了限制,PID参数将不再累加(积分),注意这里不是“生硬”的将输出限制在极限值,而是到达极限值后,要关闭积分项的继续累加,否则一旦PID恢复,积分项超限部分仍会进入控制流程,影响输出。至于微分项,在时间上仅和上一次的被控量值存在关联,所以影响是微乎其微的。

084113_rs6P_3162997.png

从图中看出:

一旦积分项控制住了,输出值则会被限制在一个合理的范围中,就算超限,也不会过大。而被控量在设定值降到合理范围后,也不会存在时间上的较大滞后。

NOTE:如有不足之处请告知‘

下一章节将分析PID开启和关闭对系统的影响^.^

NEXT

PS:转载请注明出处:欧阳天华

转载于:https://my.oschina.net/u/3162997/blog/827549

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值