文章目录
一、PID算法
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、…)。
PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。顾名思义,PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法,该控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清楚的场合。实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业过程进行控制时,都能得到比较满意的效果。PID控制的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。
二、PID分类
1.并联PID (Parallel PID)
并联型PID的三个环节由比例,积分和微分项并联而成,其结构简图如下:
其传递函数为:
G
(
s
)
=
K
p
+
K
i
/
s
+
K
d
s
\ G(s) = K_p + K_i/s + K_d s
G(s)=Kp+Ki/s+Kds
并联PID是我们工程应用中最常见的形式。
2.串联PID (Cascade PID)
串联型PID的三个环节由比例,积分和微分项串级而成,结构简图如下:
其传递函数为:
G
(
s
)
=
k
(
1
+
1
s
τ
i
)
(
1
+
s
τ
d
)
\ G(s) = k ( 1+ \frac{1}{s\tau_i})(1+s\tau_d)
G(s)=k(1+sτi1)(1+sτd)
若使用后向欧拉法将其离散化,即将:
s
=
1
−
z
−
1
T
s
s=\frac{1-z^{-1}}{T_s}
s=Ts1−z−1
代入上式得到串联型PID的离散化增量式实现。
o
u
t
(
m
)
=
o
u
t
(
m
−
1
)
+
A
e
r
r
(
m
)
+
B
e
r
r
(
m
−
1
)
+
C
e
r
r
(
m
−
2
)
out(m)=out(m−1)+Aerr(m)+Berr(m−1)+Cerr(m−2)
out(m)=out(m−1)+Aerr(m)+Berr(m−1)+Cerr(m−2)
利用递推的方法可得到绝对式实现如下:
o
u
t
(
m
)
=
A
∑
n
=
2
m
e
r
r
(
n
)
+
B
∑
n
=
1
m
−
1
e
r
r
(
n
)
+
C
∑
n
=
0
m
−
2
e
r
r
(
n
)
out(m) = A\sum_{n=2}^m err(n) +B\sum_{n=1}^{m-1} err(n)+C\sum_{n=0}^{m-2} err(n)
out(m)=An=2∑merr(n)+Bn=1∑m−1err(n)+Cn=0∑m−2err(n)
串联型与并联型二者的系数有所不同,其关系如下:
K
p
=
k
(
1
+
τ
d
τ
i
)
K_p=k(1+\frac{\tau_d}{\tau_i})
Kp=k(1+τiτd)
K i = k / τ i K_i=k/\tau_i Ki=k/τi
K d = k τ d K_d=k\tau_d Kd=kτd
3.标准PID(Standard or mixed or Ideal PID)
标准型PID与上述二者都不同,其结构简图如下:
其传递函数为:
G ( s ) = k ( 1 + 1 s τ i + s τ d ) \ G(s) = k ( 1+ \frac{1}{s\tau_i}+s\tau_d) G(s)=k(1+sτi1+sτd)
三者最重要的区别在于不同结构的参数对于控制器行为影响的不同。并联型PID实现了比例项,积分项和微分项的完全解耦,调节其中的Kp、Ki、Kd即可独立的作用在比例,积分和微分项上。串联式和标准式类似,Kp的调整将同时影响比例,积分和微分项上。
三、PID的组合
在工业控制中,由于控制目标和控制对象之间可能存在级联关系。
典型的例子是无刷直流电机的FOC控制过程:转速pid->iq电流;iq电流pid->svpwm。即前级控制的输出是后级控制的目标输入。还有诸如飞控里面姿态、悬停等控制,位置目标有时候并不能直接与电流等建立联系,需要多级PID组合控制,实现闭环。
笔者心得:PID的核心是通过一组控制逻辑,建立闭环控制,实现输出的稳定控制。
四、PID系数
首先明确一下误差定义
e
r
r
=
s
v
−
p
v
err = sv - pv
err=sv−pv
sv——set value
pv——process value
一个常见的问题是P、I、D参数的正负问题。先说结论,PID的正负应当根据实际情况选取,没有正负值的强制要求。
一般来说,输出结果正相关于输入,则PID为正;输出结果负相关于输入,则PID为负。
举个例子:
加热器的温度(输出,控制目标)和加热功率成正相关,即加热功率越大,加热器的温度就越高,升温越快。
反之,物体温度和制冷器的功率显然成负相关,即制冷功率越大,则物体问题越低。