增量式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;//微分项
(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如何能防止积分饱和的主要内容,如果未能解决你的问题,请参考以下文章