从简单RL电路认识伯德图与PI整定

伯德图(Bode 图)回答一个很直观的问题:给系统一个正弦输入,当频率改变时,输出的幅值和相位会怎样变化? 我们先从一个简单的 RL 电路出发,建立它的传递函数。

1. 我们要控制什么?

电压指令驱动受控电压源,电流流过串联电阻 R 和电感 L,电流表输出测量信号
图 1:被控对象为串联 RL 电路,输入为电压指令,输出为测量电流。

图中,u∗(t)u^*(t) 是电压指令,u(t)u(t) 是电压源实际输出的电压,i(t)i(t) 是支路电流,im(t)i_m(t) 是电流测量值。星号表示“指令值”,不是复共轭。

我们希望通过改变 u∗(t)u^*(t) 来调节电流。第一步不是设计控制器,而是先弄清楚:电压改变以后,电流怎样响应?

这里先取 R>0R>0、L>0L>0,并假设电压源和电流测量都是理想的:

u(t)=u∗(t),im(t)=i(t). u(t)=u^*(t),\qquad i_m(t)=i(t).

暂不考虑电压源的响应延迟、限幅,以及电流测量的滤波和延迟。图中虚线表示指令或测量信号,不是额外的电流支路。

2. 从电路方程到传递函数

沿电流方向应用基尔霍夫电压定律,得到:

u(t)=Ri(t)+Ldi(t)dt. u(t)=Ri(t)+L\frac{di(t)}{dt}.

电压一部分落在电阻上,另一部分用于改变电感电流。因此,电流不会在电压改变时立刻跳到新的稳态值。

在零初始条件下,作拉普拉斯变换:

U(s)=(R+Ls)I(s). U(s)=(R+Ls)I(s).

于是,电压到电流的传递函数为:

G(s)=I(s)U(s)=1Ls+R. \boxed{G(s)=\frac{I(s)}{U(s)}=\frac{1}{Ls+R}}.

在上述理想假设下,电压指令到测量电流也具有相同的传递函数:

Im(s)U∗(s)=1Ls+R=1/R1+τs,τ=LR. \boxed{\frac{I_m(s)}{U^*(s)}=\frac{1}{Ls+R} =\frac{1/R}{1+\tau s},\qquad \tau=\frac{L}{R}}.

这是一个一阶惯性环节。1/R1/R 是直流增益,单位为 A/V;τ=L/R\tau=L/R 是时间常数,单位为秒。电感越大、电阻越小,时间常数越大,电流到达新稳态所需的时间就越长。

这里的 G(s)G(s) 描述被控电路,不是加入控制器之后的闭环传递函数。

3. RL 被控对象的伯德图

令 s=jωs=j\omega,就得到这个电路的频率响应:

G(jω)=1R+jωL. G(j\omega)=\frac{1}{R+j\omega L}.

3.1 幅值:输入一个正弦电压,会得到多大的电流?

当输入电压是角频率为 ω\omega 的正弦量时,稳态电流仍是同频率的正弦量,但幅值和相位会改变:

I^U^=∣G(jω)∣=1R2+(ωL)2, \boxed{\frac{\hat I}{\hat U}=|G(j\omega)|=\frac{1}{\sqrt{R^2+(\omega L)^2}}}, φ(ω)=−arctan⁡(ωLR). \boxed{\varphi(\omega)=-\arctan\left(\frac{\omega L}{R}\right)}.

这里 U^\hat U、I^\hat I 表示正弦电压和电流的峰值,ω\omega 的单位为 rad/s。相位为负,表示电流滞后于电压。

例如,给电路施加峰值为 1 V1\,\mathrm V 的正弦电压:

u(t)=U^sin⁡(ωt),U^=1 V. u(t)=\hat U\sin(\omega t),\qquad \hat U=1\,\mathrm V.

稳态电流为:

i(t)=I^sin⁡(ωt+φ),I^=∣G(jω)∣U^. i(t)=\hat I\sin(\omega t+\varphi),\qquad \boxed{\hat I=|G(j\omega)|\hat U}.

因此,如果某个频率下 ∣G(jω)∣=0.5 A/V|G(j\omega)|=0.5\,\mathrm{A/V},输入 1 V1\,\mathrm V 峰值的电压,就会得到 0.5 A0.5\,\mathrm A 峰值的电流。伯德图的幅值曲线告诉我们的,正是每个频率下这种输入幅值与输出幅值的对应关系。

这里讨论的是持续正弦激励下的稳态响应,不是刚接通电压时的暂态过程。改变频率后,实际电路仍需要经历过渡过程才能到达新的正弦稳态。

3.2 dB:把幅值关系换一种刻度表示

幅值可以直接用 A/V 表示,也可以换成分贝(dB)。换成 dB 不会改变电路,只是把纵轴改为对数刻度。 较大的幅值跨度可以用较紧凑的数值范围表示。

由于这里输出是电流、输入是电压,∣G∣|G| 带有 A/V 单位。我们先约定参考值 Gref=1 A/VG_{ref}=1\,\mathrm{A/V},再对无量纲比值取对数:

MdB(ω)=20log⁡10(∣G(jω)∣Gref),Gref=1 A/V. \boxed{M_{dB}(\omega)=20\log_{10}\left(\frac{|G(j\omega)|}{G_{ref}}\right),\qquad G_{ref}=1\,\mathrm{A/V}}.

反过来读图,就有:

∣G(jω)∣=Gref 10MdB(ω)/20. |G(j\omega)|=G_{ref}\,10^{M_{dB}(\omega)/20}.

以峰值 1 V1\,\mathrm V 的输入为例:

图上幅值对应的幅值比稳态电流峰值
+6.02 dB+6.02\,\mathrm{dB}约 2 A/V2\,\mathrm{A/V}约 2 A2\,\mathrm A
0 dB0\,\mathrm{dB}1 A/V1\,\mathrm{A/V}1 A1\,\mathrm A
−3.01 dB-3.01\,\mathrm{dB}约 0.707 A/V0.707\,\mathrm{A/V}约 0.707 A0.707\,\mathrm A
−6.02 dB-6.02\,\mathrm{dB}约 0.5 A/V0.5\,\mathrm{A/V}约 0.5 A0.5\,\mathrm A
−20 dB-20\,\mathrm{dB}0.1 A/V0.1\,\mathrm{A/V}0.1 A0.1\,\mathrm A

0 dB 不表示没有输出,负 dB 也不表示电流为负。 它们只表示幅值比等于或小于所选参考值;电流波形的正负变化和相位要另外看。

还要区分“幅值为 −3.01 dB-3.01\,\mathrm{dB}”与“相对低频下降 3.01 dB3.01\,\mathrm{dB}”。对 RL 电路,在转折频率处,幅值是低频增益 1/R1/R 的 1/21/\sqrt2,所以总是比低频低约 3.01 dB3.01\,\mathrm{dB};但它在图上的绝对读数取决于 RR,不一定就是 −3.01 dB-3.01\,\mathrm{dB}。

3.3 从伯德图上的一个点,看到时域波形

下面只画 G(jω)G(j\omega),尚未加入 PI 或反馈回路。幅值以 1 A/V1\,\mathrm{A/V} 为参考,表示为 20log⁡10(∣G(jω)∣/(1 A/V))20\log_{10}(|G(j\omega)|/(1\,\mathrm{A/V}));相位用角度表示。

选定一个角频率,就选定了伯德图上的一个幅值和一个相位。下方对应的时域图采用 1 V1\,\mathrm V 峰值的正弦电压,电流峰值为 ∣G(jω)∣×1 V|G(j\omega)|\times1\,\mathrm V。绿色选中点与两条时域波形使用同一组 R、L 和频率参数。

电压、电流画在同一张时域图上。蓝线为 u/(1 V)u/(1\,\mathrm V),橙线为 i/(1 A)i/(1\,\mathrm A),使用同一个无量纲纵轴;峰值标签保留实际的 V、A 单位。这样两条曲线的高度之比就等于 ∣G∣/(1 A/V)|G|/(1\,\mathrm{A/V}),可以直接对应上方的 dB 读数,而不是把电压和电流当作同一种物理量。

动画展示的是所选参数下的正弦稳态,并非参数改变后的真实暂态。时间轴标注实际时间,每轮展示三个周期,屏幕播放约需 6 秒;播放速度不代表电路的真实频率。两条曲线不会分别按各自峰值归一化,否则幅值差异就被抹去了。

Ω
mH
rad/s
ωp = 100 rad/s fp = 15.92 Hz τ = 10 ms
f = 15.92 Hz |G| = 0.7071 A/V M = -3.01 dB φ = -45.00° 电流峰值 = 0.7071 A
峰值比 k = (Î / 1 A) / (Û / 1 V) = 0.7071;M = 20 log₁₀ k = -3.01 dB
波峰时间差 Δt = 7.854 ms;周期 T = 62.83 ms
相位 φ = −360° × Δt / T = -45.00°(电流滞后)
t = 0 ms u(t) = 0 V i(t) = -0.5 A

伯德图中的灰色竖虚线标出转折角频率 ωp=R/L\omega_p=R/L,绿色实线标出当前选中的频率。在转折频率处,幅值比其低频极限下降约 3.01 dB3.01\,\mathrm{dB},相位为 −45∘-45^\circ。

例如,初始参数 R=1 ΩR=1\,\Omega、L=10 mHL=10\,\mathrm{mH}、ω=100 rad/s\omega=100\,\mathrm{rad/s} 恰好位于转折点。幅值读数约为 −3.01 dB-3.01\,\mathrm{dB},对应的电流峰值约为 0.707 A0.707\,\mathrm A;相位为 −45∘-45^\circ,所以电流波峰比电压波峰晚出现八分之一个周期。

时域图中的两个彩色圆点标出同一周期内的正峰值,竖向虚线从零线延伸经过峰值。看峰值高度之比,读出幅值;看两个波峰的时间差,读出相位。 图中的水平箭头标出电流波峰比电压波峰晚出现的时间 Δt\Delta t。一个周期 T=2π/ωT=2\pi/\omega 对应 360∘360^\circ,因此电流相对电压的相位为:

φ=−360∘ΔtT. \varphi=-360^\circ\frac{\Delta t}{T}.

这里负号表示滞后。默认参数下,Δt≈7.854 ms\Delta t\approx7.854\,\mathrm{ms}、T≈62.83 msT\approx62.83\,\mathrm{ms},所以相位为 −45∘-45^\circ,与上方相频曲线的选中点一致。

保持 RR 不变、增大 LL,转折点向低频移动,低频增益不变;保持 LL 不变、增大 RR,低频增益降低,转折点向高频移动。

初学的读者会对 dB 这个单位特别陌生:既然是比值,为什么不直接画?

当然可以。下面固定 R=1 ΩR=1\,\Omega、L=10 mHL=10\,\mathrm{mH},用同一组频率响应作一张静态对照图。两图横轴都采用对数频率,左图直接画参考化幅值比 k=∣G∣/(1 A/V)k=|G|/(1\,\mathrm{A/V}),右图把它换算成 20log⁡10k20\log_{10}k。

同一个 RL 电路的幅值响应:线性比值图中约 0.1、0.01、0.001 越来越靠近零线,而 dB 图中约负20、负40、负60 dB 的变化仍清楚可见。
图 2:同一组幅值数据的两种表示。浅绿色区域对应相同的高频范围。

看浅绿色区域:频率从 10310^3 增加到 10410^4、再到 105 rad/s10^5\,\mathrm{rad/s},幅值比约为 0.10.1、0.010.01、0.0010.001。每一步都缩小到原来的十分之一,但在线性纵轴上,后两点几乎贴着零线。 换成 dB 后,对应约 −20-20、−40-40、−60 dB-60\,\mathrm{dB},每一步约下降 20 dB20\,\mathrm{dB},变化趋势就清楚了。

所以不是“不用比值”,而是当幅值跨越多个数量级时,dB 更方便同时观察大幅值和小幅值的变化。电路没有改变,数据也没有改变,改变的只是纵轴的表示方式。

4. 加入PI控制及参数整定

前面给 RL 电路施加电压,观察电流怎样响应。现在换一个目标:希望实际电流跟随我们给定的电流 i∗(t)i^*(t)。 为此,需要测量实际电流,将它与给定值比较,再让 PI 根据两者的差异调整电压。

4.1 先明确闭环要做什么

电流给定减去测量电流形成误差,经PI产生电压指令驱动图1的RL电路,测量电流返回求和点的负端。
图 3:在图 1 的基础上加入 PI 和电流负反馈。蓝色虚线是控制信号,黑色实线是电路导线;反馈线不表示电流沿该线流回控制器。

图中的 i∗(t)i^*(t) 是电流给定,im(t)i_m(t) 是测量电流,二者相减得到电流误差:

e(t)=i∗(t)−im(t). e(t)=i^*(t)-i_m(t).

PI 的输入现在有了明确意义:它不是直接接收给定电流,而是接收“还差多少”的误差信号。PI 输出电压指令 u∗(t)u^*(t),电压源驱动原来的 RL 电路;新的电流又被测量、比较,形成闭环。我们仍假设 u(t)=u∗(t)u(t)=u^*(t)、im(t)=i(t)i_m(t)=i(t),暂不加入延迟、滤波或限幅。

PI 包含比例(P)和积分(I)两部分。令积分项初始值为零,有:

u∗(t)=Kpe(t)+Ki∫0te(ξ) dξ. u^*(t)=K_p e(t)+K_i\int_0^t e(\xi)\,d\xi.
  • 比例部分根据当前误差贡献电压指令:当前误差越大,这部分的调整越大。
  • 积分部分累积过去的误差:只要误差持续存在,这部分就会继续调整;即使当前误差为零,已经积累的积分值也可以维持非零电压指令。

先取 Kp>0K_p>0、Ki≥0K_i\geq0,暂不指定数值。Ki=0K_i=0 时只保留比例作用,可作为对照。在零初始条件下,PI 的传递函数是:

C(s)=U∗(s)E(s)=Kp+Kis. \boxed{C(s)=\frac{U^*(s)}{E(s)}=K_p+\frac{K_i}{s}}.

在零初始条件下,PI 的输出等于传递函数与输入信号的拉普拉斯变换相乘。这里把乘号明确写出来:

U∗(s)=C(s)⋅E(s). \boxed{U^*(s)=C(s)\cdot E(s)}.

由 e(t)=i∗(t)−im(t)e(t)=i^*(t)-i_m(t),得到:

E(s)=I∗(s)−Im(s). E(s)=I^*(s)-I_m(s).

因此,PI 的输出可以一步一步写成:

U∗(s)=C(s)⋅E(s)=C(s)⋅[I∗(s)−Im(s)]=(Kp+Kis)⋅[I∗(s)−Im(s)]. \begin{aligned} U^*(s)&=C(s)\cdot E(s)\\ &=C(s)\cdot\left[I^*(s)-I_m(s)\right]\\ &=\left(K_p+\frac{K_i}{s}\right)\cdot \left[I^*(s)-I_m(s)\right]. \end{aligned}

方括号只是把整个误差信号括起来,它与前面的 C(s)C(s) 是乘法关系,不是 CC 的函数括号。

这里输入是电流误差、输出是电压,所以 KpK_p 的单位为 V/A\mathrm{V/A},KiK_i 的单位为 V/(A⋅s)\mathrm{V/(A\cdot s)}。

再把 PI 的输出接到 RL 对象。由于电压源和测量理想,测量电流满足:

Im(s)=G(s)⋅U∗(s)=G(s)⋅C(s)⋅[I∗(s)−Im(s)]. \begin{aligned} I_m(s)&=G(s)\cdot U^*(s)\\ &=G(s)\cdot C(s)\cdot\left[I^*(s)-I_m(s)\right]. \end{aligned}

将右侧括号展开,再把含 Im(s)I_m(s) 的项移到左边:

Im(s)=G(s)⋅C(s)⋅I∗(s)−G(s)⋅C(s)⋅Im(s),[1+G(s)⋅C(s)]⋅Im(s)=G(s)⋅C(s)⋅I∗(s). \begin{aligned} I_m(s)&=G(s)\cdot C(s)\cdot I^*(s)-G(s)\cdot C(s)\cdot I_m(s),\\ \left[1+G(s)\cdot C(s)\right]\cdot I_m(s)&=G(s)\cdot C(s)\cdot I^*(s). \end{aligned}

于是得到给定电流到测量电流的闭环传递函数:

Gcl(s)=Im(s)I∗(s)=C(s)G(s)1+C(s)G(s). \boxed{G_{\mathrm{cl}}(s)=\frac{I_m(s)}{I^*(s)} =\frac{C(s)G(s)}{1+C(s)G(s)}}.

这个传递函数回答的是:给定电流变化后,实际电流怎样跟随?响应多快、有没有超调,都属于闭环性能问题。但接成负反馈,并不意味着任意 PI 参数都能获得满意的性能。

4.2 观察 PI 参数怎样改变闭环响应

沿用图 3 的闭环连接,先给出具体电路参数和电流跟踪目标,再观察改变 PI 参数后,实际电流怎样跟随给定。

第一步:把电路和控制目标写清楚

固定本节的电路参数,不随第 3 节的滑块变化:

R=1 Ω,L=10 mH=0.01 H,G(s)=10.01s+1. R=1\,\Omega,\qquad L=10\,\mathrm{mH}=0.01\,\mathrm H, \qquad G(s)=\frac{1}{0.01s+1}.

初始电流、PI 积分初值都取零,电流给定在 t=0t=0 从 00 跳到 1 A1\,\mathrm A。我们的目标是:约 10 ms10\,\mathrm{ms} 以内,电流进入并保持在 0.980.98 至 1.02 A1.02\,\mathrm A 的范围内。 这就是本例的“2% 调节时间”要求。

待选的参数有两个:KpK_p 和 KiK_i。先把它们保留为独立参数。

第二步:把闭环表现与环路特征对应起来

先取一组便于观察的初始值,不把它当作已经整定好的结果:

Kp=1 V/A,Ki=400 V/(A⋅s). K_p=1\,\mathrm{V/A},\qquad K_i=400\,\mathrm{V/(A\cdot s)}.

把 C(s)=Kp+Ki/sC(s)=K_p+K_i/s 和 G(s)=1/(0.01s+1)G(s)=1/(0.01s+1) 代入前面得到的闭环传递函数:

Gcl(s)=C(s)⋅G(s)1+C(s)⋅G(s)=Kps+Kis(0.01s+1)+Kps+Ki=Kps+Ki0.01s2+(1+Kp)s+Ki. \begin{aligned} G_{\mathrm{cl}}(s) &=\frac{C(s)\cdot G(s)}{1+C(s)\cdot G(s)}\\ &=\frac{K_p s+K_i}{s(0.01s+1)+K_p s+K_i}\\ &=\boxed{\frac{K_p s+K_i}{0.01s^2+(1+K_p)s+K_i}}. \end{aligned}

左图沿用这个闭环,观察给定电流从 0 跳到 1 A1\,\mathrm A 后的实际电流。为了在右图标出交越频率和相位裕度,右侧改看同一组参数的环路增益(开环传递函数):

Gol(s)=C(s)⋅G(s)=Kps+Kis(0.01s+1). G_{\mathrm{ol}}(s)=C(s)\cdot G(s) =\frac{K_p s+K_i}{s(0.01s+1)}.

左边是闭环控制的结果,右边是帮助理解这些结果的环路特征,不是要求电路实际断开反馈运行。 图中用绿色对应“上升时间与交越频率”,蓝色对应“稳态误差与低频增益”,红色对应“超调量与相位裕度”;参数改变时,两侧标注同时更新。

这里的上升时间取电流第一次从最终值的 10% 上升到 90% 所需的时间;超调量相对最终值计算。将 KiK_i 调到 0 可对照纯比例控制:本例给定为 1 A1\,\mathrm A,纯比例控制的稳态误差为 R/(R+Kp) AR/(R+K_p)\,\mathrm A;Ki>0K_i>0 时,理想稳定 PI 闭环的阶跃稳态误差为零。

同色表示值得一起观察的指标,并非一一对应的换算公式。交越频率提高不保证调节时间一定缩短,相位裕度也不能直接换算为固定超调量。蓝色读数使用低频极限(ω→0\omega\to0);曲线上的蓝点则显示 ω=1 rad/s\omega=1\,\mathrm{rad/s} 的有限频率增益,两者不要混为一谈。

V/A
V/(A·s)
响应速度上升时间 tr = —
交越频率ωc:—
稳态误差ess = —
低频增益ω → 0:—
超调量Mp = —
相位裕度PM:—
控制器:PI 给定 ±2% 调节时间:—

图 4:闭环阶跃响应与开环伯德图的同色对照。绿色为上升时间与交越频率,蓝色为稳态误差与低频增益,红色为超调与相位裕度。左图蓝色虚线表示最终值,浅色带为给定 1 A 的 ±2% 范围;图窗固定为 0–100 ms。各项数值按当前模型计算,不使用经验对应表。每次修改参数均从零初值重新计算;模型不含延迟、限幅等因素。

4.3 做三个小实验:从伯德图看懂闭环响应

随手调动图 4 的参数,会发现一些看起来矛盾的现象:有时电流上升很快,却始终达不到给定;有时交越频率几乎没变,调节时间却相差很大。下面不再自由拖动参数,而是用三组预设实验,把这些关系分开看清楚。

三个实验仍使用 R=1 ΩR=1\,\Omega、L=10 mHL=10\,\mathrm{mH},给定均从 0 跳到 1 A1\,\mathrm A。达标始终指电流进入并保持在 0.980.98 至 1.02 A1.02\,\mathrm A 内,而不是第一次碰到 1 A1\,\mathrm A。左边看闭环实际电流,右边看同一组参数的开环伯德图。

动图中每一组参数都是一次独立的零初值计算,并非在电路运行中突然切换 PI。彩色曲线为当前方案,灰色虚线保留上一组作对照;右侧伯德图在参数确定时即固定,左侧按时间展开响应。所有方案使用相同坐标范围,避免缩放造成“变快”的错觉。

实验一:交越频率提高,能更快达到控制目标吗?

先控制住其他变化,只比较速度。 选取下面三组 PI,使相位裕度都保持在 90∘90^\circ,同时将交越频率依次提高到 100、200、400 rad/s。

方案KpK_p / (V/A)KiK_i / (V/(A·s))交越频率 ωc\omega_c / (rad/s)2% 调节时间 / ms10 ms 内达标?
A110010039.12否
B220020019.56否
C44004009.78是
交越频率从100提高到400 rad/s,三组闭环响应逐次展开,并与上一组对照
图 5:交越频率与达标时间。三组相位裕度均为90°,无超调,只有最后一组在10 ms内进入并保持在给定的±2%范围。

看右边,绿色交越点逐组向右移动;再看左边,电流更早接近 1 A1\,\mathrm A,进入浅绿色误差带的时间也提前。这组实验中,交越频率提高一倍,调节时间缩短一半。方案 C 达到了前面提出的控制目标。

为了让比较足够清楚,本实验特意取 Ki/Kp=R/L=100 s−1K_i/K_p=R/L=100\,\mathrm{s^{-1}}。代入后,Gol(s)=ωc/sG_{\mathrm{ol}}(s)=\omega_c/s,Gcl(s)=ωc/(s+ωc)G_{\mathrm{cl}}(s)=\omega_c/(s+\omega_c),因此 i(t)=(1−e−ωct) Ai(t)=(1-e^{-\omega_c t})\,\mathrm A,t2%=ln⁡(50)/ωct_{2\%}=\ln(50)/\omega_c。这是这组理想参数的精确结果,不是任意 PI 都满足的公式,也不是要求整定时必须采用这种配比。

先记住一个有限定的结论:当响应形状保持相近时,提高交越频率可以使闭环跟随更快。 但如果误差消不掉,或者振荡更明显,仅凭交越频率还不能判断是否达标。下面两组实验就看这两种情况。

实验二:上升很快,为什么还是达不到目标?

先把积分关掉,只保留比例控制。 令 Ki=0K_i=0,依次将 KpK_p 从 1 增大到 4、8。右图的低频部分变成有限高度的平台,平台逐渐提高;左图的电流虽然更快到达最终值,但最终值仍低于 1 A1\,\mathrm A。

由前面的闭环关系,在本例的单位反馈和 1 A1\,\mathrm A 阶跃给定下:

Gol(0)=KpR,ess=11+Gol(0) A=RR+Kp A. G_{\mathrm{ol}}(0)=\frac{K_p}{R},\qquad e_{\mathrm{ss}}=\frac{1}{1+G_{\mathrm{ol}}(0)}\,\mathrm A =\frac{R}{R+K_p}\,\mathrm A.

这里可以直接看出:直流环路增益越大,稳态误差越小。 但比例增益有限,误差并不会自动变成零。例如 Kp=8K_p=8 时,最终电流只有 8/9≈0.889 A8/9\approx0.889\,\mathrm A;它很快就稳定了,却始终没有进入我们要求的 0.980.98 至 1.02 A1.02\,\mathrm A。

然后固定 Kp=8K_p=8,加入积分,分别取 Ki=190K_i=190 和 800,继续观察。

控制器KpK_pKiK_i直流环路增益 Gol(0)G_{\mathrm{ol}}(0)稳态误差 / A交越频率 / (rad/s)2% 调节时间 / ms
P101(0 dB)0.500无正频率交越点无法达标
P404(12.04 dB)0.200387.30无法达标
P808(18.06 dB)0.111793.73无法达标
PI8190∞\infty0794.0970.28
PI8800∞\infty0800.004.89
五组P和PI方案对比,显示低频增益、最终电流、稳态误差和达标时间
图 6:从纯比例到PI。前三组提高有限的低频平台,后两组加入积分,使低频增益在频率趋于零时持续增大。后两组最终误差都为零,但消除误差的速度不同。Kp、Ki的单位与图5相同。

加入积分后,右图不再保持有限的低频平台,而是在频率继续降低时向上抬升。对本例稳定的理想 PI 闭环,只要 Ki>0K_i>0,直流环路增益趋于无穷大,阶跃稳态误差便为零。

但要注意:最终没有误差,并不等于很快消除误差。 Ki=190K_i=190 时,电流先快速上升,随后留下缓慢接近给定的尾巴,要约 70.28 ms70.28\,\mathrm{ms} 才达标;Ki=800K_i=800 时,则约 4.89 ms4.89\,\mathrm{ms} 就能达标。两者的直流增益极限同为无穷大,但在有限的低频范围内,后者的环路增益更高,响应也不同。

尤其注意表中最后三行:交越频率都在约800 rad/s,结果却分别是无法达标、缓慢达标、快速达标。 所以要把交越附近与低频部分一起看,不能只盯住一个0 dB交点。

稳态误差指 t→∞t\to\infty 的最终误差,不是动图播放到某一时刻的瞬时误差。图中只画到 ω=1 rad/s\omega=1\,\mathrm{rad/s},没有画到零频率;“直流增益为无穷大”是公式给出的极限,不是有限频率曲线上某一点的数值。纯比例方案 Kp=1K_p=1 只在零频率极限达到0 dB,因此表中不把它标成正频率交越。

实验三:交越频率相同,为什么超调不同?

前面看过“快”和“准”,现在再看电流会不会冲过头。将交越频率都保持在200 rad/s,选择三组不同的 PI 参数,让相位裕度发生变化。

方案KpK_p / (V/A)KiK_i / (V/(A·s))交越频率 / (rad/s)相位裕度超调量2% 调节时间 / ms
A0.5约435.8920039.49°30.79%51.12
B140020053.13°19.10%38.42
C220020090.00°0%19.56
交越频率固定200 rad/s,三组相位裕度增大时的峰值超调和振荡对照
图 7:相同交越频率下的相位裕度与超调。绿色交越线位置不变,红色相位裕度逐组增大;本组闭环响应的峰值和振荡随之减小。方案A计算使用未舍入的Ki值。

右上图的交越点没有移动,但右下图在交越频率处与 −180∘-180^\circ 之间的距离增大了,这就是相位裕度增大。对应左图,这三组方案的超调从约31%降到19%,最后变成无超调;因振荡而反复离开误差带的现象也减轻了。

冲得快,不一定稳得快。 方案 A 的首次上升时间约 6.42 ms6.42\,\mathrm{ms},比方案 C 的 10.99 ms10.99\,\mathrm{ms} 短,但 A 调节到误差带内需要约 51.12 ms51.12\,\mathrm{ms},反而比 C 慢。第一次接近目标与最终保持在目标附近,是两件不同的事。

这三组结果来自完整闭环模型,保留了 PI 引入的零点,超调量直接由时域响应计算。不能据此写成“某个相位裕度必然对应某个超调百分比”;更换对象、零点或延迟后,这种对应会变化。这里是在同一个简单电路中,通过对照建立直觉。

三个实验放在一起看

想判断的问题伯德图中重点看哪里?时域中最终检查什么?
跟随能否更快?交越频率及其附近的曲线形状上升时间,以及是否在10 ms内进入并保持在误差带
最终能否跟准?低频增益,尤其是趋于零频率时的行为最终值与稳态误差;误差消除需要多长时间
会不会冲过头、来回振荡?交越频率处的相位裕度峰值超调、振荡,以及最后一次进入误差带的时间

伯德图的用处就在这里:它给出哪些频段、哪些特征值得关注,帮助我们理解参数为什么产生这些效果;是否达到控制目标,仍要回到闭环响应确认。 本节只是理想 RL 模型的数值实验,未考虑电压限幅、采样与计算延迟,不能把增益无限提高当成实际系统的整定办法。

5. 为什么前面画开环伯德图?闭环伯德图又是什么样?

看到这里,读者可能会有一个疑问:左边明明是闭环的时域响应,为什么右边一直画开环伯德图?闭环难道不能画伯德图吗?

当然可以。前面选用开环伯德图,是为了观察环路增益的低频行为、交越频率和相位裕度,再与闭环的实际响应对照;并不是说闭环没有频率响应。

在本例的单位负反馈下,这两张伯德图对应的是两个不同的传递函数:

Gol(s)=C(s)⋅G(s),Gcl(s)=Im(s)I∗(s)=Gol(s)1+Gol(s)=Kps+Ki0.01s2+(1+Kp)s+Ki. G_{\mathrm{ol}}(s)=C(s)\cdot G(s), \qquad G_{\mathrm{cl}}(s)=\frac{I_m(s)}{I^*(s)} =\frac{G_{\mathrm{ol}}(s)}{1+G_{\mathrm{ol}}(s)} =\frac{K_p s+K_i}{0.01s^2+(1+K_p)s+K_i}.

开环图观察环路本身,闭环图观察给定到输出的跟随特性。 左边的闭环阶跃响应与右边的闭环伯德图,使用的是同一个 Gcl(s)G_{\mathrm{cl}}(s):一个看阶跃给定后的变化过程,一个看不同频率正弦给定下的稳态幅值比和相位差。

下面沿用实验三的 A、B、C 三组参数,只多加一列闭环伯德图。三列始终使用同一组参数,并同步切换方案;每组时域曲线都从零初值重新计算。

同一组PI参数的三列对照:左侧闭环阶跃响应,中间开环伯德图,右侧闭环伯德图
图 8:实验三的另一种看法。左列是闭环阶跃响应,中列是开环环路增益,右列是闭环给定到输出的频率响应。两列伯德图的频率范围和纵轴刻度相同;灰虚线为上一组方案。相位裕度只标在中列,不标在闭环图上。窄屏按左、中、右顺序纵向排列。

先看一个直观现象:从方案 A 到 C,中间的开环交越频率仍为200 rad/s,相位裕度增大;左边的超调减小,右边闭环幅频曲线隆起的峰值也逐渐降低,最后不再出现高于0 dB的隆起。这是这三组参数的对照结果,不是“某个闭环幅值峰值必然对应某个超调百分比”的通用公式。

还可以注意到,右边三组闭环幅值在低频都趋近0 dB。这里输入和输出都是电流,0 dB意味着幅值比趋近1;它不等于中间的开环低频增益也是0 dB。

这一章先把三种图放到一起,让读者知道:闭环伯德图不仅能画,而且它与闭环时域图是在从不同角度观察同一个系统。 至于闭环带宽怎样定义、幅值峰值与时域响应有什么联系,以及为什么整定时仍常看开环图,留到下一篇文章再细讲。

补充参考:MathWorks:闭环传递函数与环路增益的关系。本图仍只包含前文的理想 RL 对象与 PI,不包含采样、延迟或限幅。


相关内容

Buy me a coffee~
RLC侠 支付宝支付宝
RLC侠 微信微信