PID入门
该文章仅适用于PID入门,需要用到的数学基础:拉氏变换;终值定理。
比例环节
首先我们画一个输入信号为一个在1时刻上升到1的阶跃信号反馈回自己的图像:
我们会发现输出信号从1下降到了0.5,我们简单推导一下很好解释这种现象:
如图:
e
=
R
−
e
⇒
e
=
R
2
e=R-e\Rightarrow e=\frac{R}{2}
e=R−e⇒e=2R 所以输出
u
=
e
⋅
1
=
R
2
=
0.5
u=e\cdot1=\frac{R}{2}=0.5
u=e⋅1=2R=0.5
同理我们对输入信号乘以任意一个参数K
误差
e
=
R
−
K
⋅
e
⇒
e
=
R
1
+
K
e=R-K\cdot e\Rightarrow e=\frac{R}{1+K}
e=R−K⋅e⇒e=1+KR
输出
u
=
e
⋅
K
=
K
⋅
R
1
+
K
u=e\cdot K=\frac{K\cdot R}{1+K}
u=e⋅K=1+KK⋅R
如图K=3
输出
u
=
K
⋅
R
1
+
K
=
3
⋅
10
1
+
3
=
0.75
u=\frac{K\cdot R}{1+K}=\frac{3\cdot 10}{1+3}=0.75
u=1+KK⋅R=1+33⋅10=0.75
我们当然不满足于自己的仅仅输入传回来反馈给自己,因此我们在系统中加入了二阶传函作为被控对象。
G
(
s
)
=
1
s
2
+
s
+
1
G(s)=\frac{1}{s^2+s+1}
G(s)=s2+s+11
系统输出变成了
u
=
K
⋅
G
⋅
R
1
+
K
⋅
G
=
K
⋅
1
s
2
+
s
+
1
⋅
R
1
+
K
⋅
1
s
2
+
s
+
1
=
K
⋅
R
s
2
+
s
+
1
+
K
=
3
s
2
+
s
+
4
⋅
R
u=\frac{K\cdot G\cdot R}{1+K\cdot G}=\frac{K\cdot \frac{1}{s^2+s+1}\cdot R}{1+K\cdot \frac{1}{s^2+s+1}}=\frac{K\cdot R}{s^2+s+1+K}=\frac{3}{s^2+s+4}\cdot R
u=1+K⋅GK⋅G⋅R=1+K⋅s2+s+11K⋅s2+s+11⋅R=s2+s+1+KK⋅R=s2+s+43⋅R
如图我们看到二阶传函因为参数的加入从收敛到1变为收敛到0.75,同时更快的达到稳态。
这里的0.75也可以通过终值定理推出:
lim
t
→
∞
u
(
t
)
=
lim
s
→
0
u
(
s
)
=
3
4
⋅
1
=
0.75
\lim_{t \to \infty} u(t)=\lim_{s \to 0} u(s)=\frac{3}{4}\cdot 1=0.75
t→∞limu(t)=s→0limu(s)=43⋅1=0.75
这里对二阶传函和新得到的系统传函做拉氏反变换:
L
−
1
1
s
2
+
s
+
1
=
1
−
e
−
1
2
⋅
t
3
4
⋅
s
i
n
(
3
4
⋅
t
+
a
r
c
s
i
n
3
4
)
L^{-1}\frac{1}{s^2+s+1}=1-\frac{e^{-\frac{1}{2}\cdot t}}{\sqrt{\frac{3}{4}}}\cdot sin(\sqrt{\frac{3}{4}}\cdot t+arcsin\sqrt{\frac{3}{4}})
L−1s2+s+11=1−43e−21⋅t⋅sin(43⋅t+arcsin43)
L
−
1
3
s
2
+
s
+
4
=
3
⋅
(
1
−
e
−
1
2
⋅
t
15
16
⋅
s
i
n
(
15
4
⋅
t
+
a
r
c
s
i
n
15
16
)
)
L^{-1}\frac{3}{s^2+s+4}=3\cdot(1-\frac{e^{-\frac{1}{2}\cdot t}}{\sqrt{\frac{15}{16}}}\cdot sin(\sqrt{\frac{15}{4}}\cdot t+arcsin\sqrt{\frac{15}{16}}))
L−1s2+s+43=3⋅(1−1615e−21⋅t⋅sin(415⋅t+arcsin1615))
原函数的峰值时间:
3
4
⋅
t
=
π
⇒
t
=
3.6277
\sqrt{\frac{3}{4}}\cdot t=\pi\Rightarrow t=3.6277
43⋅t=π⇒t=3.6277
新传函的峰值时间:
15
4
⋅
t
=
π
⇒
t
=
1.6223
\sqrt{\frac{15}{4}}\cdot t=\pi\Rightarrow t=1.6223
415⋅t=π⇒t=1.6223
由于是从1时刻开始所以原函数的峰值时间=4.6277新传函的峰值时间=2.6223与图像对应,这里可以看出加入参数后系统更快的达到了稳定状态。
积分环节
现在我们已经成功通过比例环节和反馈让我们的二阶系统更快达到稳定状态,但是无论我的参数K有多大我的系统永远也达不到预定状态,因为
K
1
+
K
\frac{K}{1+K}
1+KK永远也不可能=1,同时参数调的过大还会使超调变大,为了让新的传函=1,我们尝试在系统里添加一个变量设为c(s)
那么我们的终值定理写成了
lim
s
→
0
=
K
⋅
c
(
0
)
1
+
K
⋅
c
(
0
)
\lim_{s \to 0}=\frac{K\cdot c(0)}{1+K\cdot c(0)}
lims→0=1+K⋅c(0)K⋅c(0),想要让终值=1只有
c
(
0
)
=
∞
⇒
3
⋅
∞
1
+
3
⋅
∞
=
∞
∞
=
1
c(0)=\infty \Rightarrow \frac{3\cdot \infty}{1+3\cdot \infty}=\frac{\infty}{\infty}=1
c(0)=∞⇒1+3⋅∞3⋅∞=∞∞=1我们姑且令
c
(
s
)
=
s
+
z
s
+
0
c(s)=\frac{s+z}{s+0}
c(s)=s+0s+z(为了尽量不影响整个系统,c(s)需上下同阶),学过自控的小伙伴应该认得c(s)被设计成了一个滞后补偿器,z被我随便取了
1
3
\frac{1}{3}
31
我们可以看到输出被我们成功拉回到了我们预定的值1,我们把c(s)拆分一下=
1
+
z
s
1+\frac{z}{s}
1+sz与K乘到一起就变成了
K
+
K
⋅
z
s
=
3
+
1
s
K+\frac{K\cdot z}{s}=3+\frac{1}{s}
K+sK⋅z=3+s1系统成功的被我们写成了PI形式,与P对比一下发现虽然被我们把信号拉回了期望值但震荡幅度变大了。
微分环节
我们想办法减小震荡幅度,让系统快速收敛。我们知道系统根轨迹越是被往左拉系统越是稳定,收敛越快。我们画出二阶传函
G
(
s
)
=
1
s
2
+
s
+
1
G(s)=\frac{1}{s^2+s+1}
G(s)=s2+s+11的根轨迹:
我们在左侧添加一个零点把根轨迹往左拉,故在系统内添加一个(as+1),这样我们就得到了
−
1
a
-\frac{1}{a}
−a1这样一个零点,a越小零点的模越大。在这里我们令
a
=
1
6
a=\frac{1}{6}
a=61根轨迹如下:
我们把
1
6
⋅
s
+
1
\frac{1}{6}\cdot s+1
61⋅s+1与K=3结合这样我们成功的得到了标准的PID形式:
其中我们令
{
K
P
=
K
K
I
=
z
⋅
K
K
D
=
a
⋅
K
\begin{cases} K_P=K \\K_I=z\cdot K \\K_D=a\cdot K \end{cases}
⎩
⎨
⎧KP=KKI=z⋅KKD=a⋅K
在这里我并没有严格的调节PID的参数导致图像看起来不是很稳。