|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
PID算法
! O) A1 S+ D; E' \' A0 m9 q! [ 在过程控制中,PID控制器,一直是应用最为广泛的一种自动控制器;PID控制也一直是众多控制方法中应用最为普遍的控制算法,PID算法的计算过程与输出值(OUT)有着直接函数关系,因此想进一步了解PID控制器,必须首先熟悉PID算法,这也是笔者为什么在下面的内容里大费周章讨论这个问题的原因所在。' B3 ]( K- K# r1 ^1 j
PID控制器调节输出,是为了保证偏差值(e值)为零,使系统达到一个预期稳定状态。这里的偏差(e)是给定值(SP)和过程变量值(PV)的差。PID控制原理基于下面的算式:+ i: v2 D9 j' h6 ]) F3 R
输出M(t)是比例项(P)、积分项(I)、微分项(D)的函数。
T. h2 _: j4 S" k2 w0 _ M(t)=KC*e+ KC* +Minitial+ KC*TD* (1-1)
$ Y* \: A# g+ Q& M: m 为了让计算机能处理这个PID算法,我们必须把这个连续算式离散化成为周期采样偏差算式,才能计算调节输出值(以下简称OUT值)。将积分与微分项分别改写成差分方程,可得:) i2 a# {4 q# Y- v
≈ (1-2)2 k" S( q8 e9 b$ D7 I
≈ (1-3)- O# p; i+ m5 s8 R1 G# Z
将上(1-2)和(1-3)式代入输出项函数(1-1)式,可得数字偏差算式(1-4)为:
* P/ V0 I! v7 f, K' W Mn=KC*en+KC* +Minitial+ KC* *(en-en-1) (1-4)
, e9 K* _) N9 V7 ~ 输出=比例项 +积分项 +微分项
3 v& I- G! _2 q9 A3 S (1-1)与(1-4)式中:" t0 k' X2 `3 Z; o7 X( q
M(t) :回路输出(时间函数)
6 Y0 c& P O2 O. X! [ Mn :第n次采样时刻,PID回路输出的计算值(OUT值)
- y- P: t S$ e, e) c' Q9 F T :采样周期(或控制周期)" ?$ A; F4 n d, P5 r1 x, S9 p z
Minitial :PID回路输出初始值 Z4 N% I7 _1 E+ U5 W7 |! K* E2 Q
Kc :PID回路增益% n/ {) k$ A/ ~
TI :积分项的比例常数8 h! K/ C* D/ |: a
TD :微分项的比例常数$ w3 {! z$ }& |- `
en :在第n次采样时刻的偏差值(en=SPn-PVn)
/ h! k2 z: h' P# M* O! l en-1:在第n-1次采样时刻的偏差值(也称偏差前项)
: G8 h4 I2 G7 D 从这个数字偏差算式可以看出;
6 W; Z8 [/ D. e7 f 比例项是:当前误差采样的函数。
3 ]6 _" N9 N& o2 K, Q4 t2 T 积分项是:从第一个采样周期到当前采样周期所有误差项的函数。3 j, g1 y/ g0 P/ D
微分项是:当前误差采样和前一次误差采样的函数。* n: |6 q! U$ z" H' Q3 ^
在这里需要说明的是:我们在积分项中可以不保存所有误差项,因为保存所有误差项会占用较大的计算机存储单元,所以我们通常从第一次误差采样开始,我们利用每一次偏差采样都会计算出的输出值的特点,在以后的输出值计算时只需保存偏差前项和积分项前值。利用计算机的处理的周期重复性,我们就可以根据我们刚才推导的数字偏差算式计算出下一次积分项值。因此我们可以简化上述的数字偏差算式(1-4)为:
6 I8 h {3 u! T* x3 o' a6 _ Mn=KC*en+KC* en +MX+ KC* *(en-en-1) (1-5)# m7 o" T, u" Z5 o4 C" ?% _% E
CPU(计算机中央芯片)实际计算中使用的是(1-5)简化算式的改进比例项、积分项、微分项和的形式计算PID输出的。/ j7 f7 }7 j4 `9 I# ]/ W
/ `' ]: m( L S# ~
3 M; `6 b( u% E, K; |& k Q; l |
|