积分限幅:限制积分的幅度,防止积分深度饱和
要解决的问题:如果执行器因为卡住、断电、损坏等原因不能消除误差,则误差积分会无限制加大,进而达到深度饱和状态,此时PID控制器会持续输出最大的调控力,即使后续执行器恢复正常,PID控制器在短时间内也会维持最大的调控力,直到误差积分从深度饱和状态退出
积分限幅实现思路:对误差积分或积分项输出进行判断,如果幅值超过指定阈值,则进行限制
饱和状态(out输出值)
增量式pid:几乎不会过饱和。因为其与历史状态无关。
位置式pid:如果卡住积分项会一直增加。等到松手后会出现超调。
单独对误差积分进行限幅
误差差上下限通过;误差积分的限度*Ki;就是限幅的数量级。
对整个积分项输出进行限幅
(IntOut替换原来的ErrorInt)
误差差上下限通过;误差积分的数量级就是限幅的数量级。
积分分离:误差小于一个限度才开始积分,反之则去掉积分部分
积分分离;
(电机定位一般用PD控制)
要解决的问题:积分项作用一般位于调控后期,用来消除持续的误差,调控前期一般误差较大且不需要积分项作用,如果此时仍然进行积分,则调控进行到后期时,积分项可能已经累积了过大的调控力,这会导致超调
积分分离实现思路:对误差大小进行判断,如果误差绝对值小于指定阈值,则加入积分项作用,反之,则直接将误差积分清零或不加入积分项作用
判断误差决定是否加入积分作用
(另外定义变量C)
积分分离阈值怎么确定,因为想要稳定所以就大概去找稳态波动的那个范围。通过图查看误差误差正常波动的范围再留些余量,过大会导致分离阈值没有作用,国小会导致积分项调节失去作用。
变速积分;
要解决的问题:如果积分分离阈值没有设定好,被控对象正好在阈值之外停下来,则此时控制器完全没有积分作用,误差不能消除
变速积分实现思路:变速积分是积分分离的升级版,变速积分需要设计一个函数值随误差绝对值增大而减小的函数,函数值作为调整系数,用于调整误差积分的速度或积分项作用的强度