增量式pid如何能防止积分饱和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了增量式pid如何能防止积分饱和相关的知识,希望对你有一定的参考价值。

增量式pid 输出是每次偏差加上上次输出的值 有偏差 积分就会一直作用积分就会饱和 增量式pid如何能防止积分饱和 求大神指导
p_pid->output += p_pid->kp*(1+p_pid->ti/p_pid->t+p_pid->td/p_pid->t)*err[0];//比例项
p_pid->output += p_pid->kp*(1+2*p_pid->td/p_pid->t)*err[1];//积分项
p_pid->output += p_pid->td*err[2]/p_pid->t;//微分项

增量式pid能防止积分饱和的方法如下:
(1)当控制器输出达到额定的上、下限值后,切除积分作用,保留比例作用,构成PI-P控制器。这样在偏差减小时,控制器输出能更快脱离上限或下限值;
(2)在数字PID控制算法中,采用增量型或速度型算法,每次计算出应调整的增量值Δu或变化速度Δu/Δt,当控制作用量将超过额定上下限值时,则保持在上限值或下限值。这样,一当偏差减小或改变正、负极性时,控制器输出能更快脱离上限值或下限值。

PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点。控制点包含三种比较简单的PID控制算法,分别是:增量式算法,位置式算法,微分先行。 这三种PID算法虽然简单,但各有特点,基本上能满足一般控制的大多数要求。
参考技术A 采用积分分离的方法,当偏差超过一定值后,积分项系数设置为0,当偏差回复到正常值后,积分项系数回归正常值 参考技术B 为什么要防止积分饱和? 可以设定一个积分上限本回答被提问者和网友采纳

023_STM32之PID算法

(一)PID控制算法(P:比例     I:积分    D:微分)

(二)首先先说明原理,使用的是数字PID算法,模拟PID算法在计算机这样的系统中是不能够直接使用的,数字PID算法又分为位置式PID控制算法增量式PID控制算法,那么下面从原理上说明这两种算法

(三)原理分析如图

技术分享图片

(四)从上面图中我们可以得到定义

定义变量
用户设定值:         SV
当前值(实际值):    PV
偏差:              E = SV - PV       

(五)如果我们在一段时间内就从传感器读取一个值,那么我们就可以得到一个实际值的数据序列,,那么我们也会得到一个偏差值的序列

读取时间:  t(1)    t(2)    ------  t(k-1)    t(k)
读取到的值:  X(1)    X(2)    ------  X(k-1)  X(k)
偏差值: E(1) E(2)    ------  E(k-1)  E(k)

那么我们从偏差值中可以知道:  E(X) > 0     说明未达标
                E(X) = 0     说明正好达标
                E(X) < 0 说明超标

 






以上是关于增量式pid如何能防止积分饱和的主要内容,如果未能解决你的问题,请参考以下文章

增量式pid和位置式pid相比各有啥优缺点

matlab小车运动轨迹增量式PID控制

PID学习随笔

记录下PID整定的过程

记录下PID整定的过程

PID控制器开发笔记之三:抗积分饱和PID控制器的实现