Skip to content

13.3 实例:运放 PD(比例微分)补偿电路

上一节我们像推导数学公式那样,一步步拆解了闭环增益 G 的通用表达式。现在,理论工具箱已经满了,是时候把它砸到一个真正的工程问题上了。

这一节,我们来看一个经典的运算放大器电路——PD 补偿器(Proportional-Derivative Compensator)。你可能在无数篇电源设计的论文里见过它,但这一节我们要做的,不是简单地套用“虚地”口诀算出传递函数,而是要把它的骨头架子拆开,看看当运放不够完美时,反馈回路的内部到底发生了什么

这不仅仅是算题。我们即将看到的,是一个教科书式的“理想设计”是如何在“现实器件”的攻击下开始摇摇欲坠的。


13.3.1 从理想模型到“有缺陷”的模型

先在脑子里把这个电路搭起来:一个我们熟悉的 PD 补偿器结构。在《电路原理》课本里,如果你假设运放是理想的,这个电路就是一个标准的超前-滞后网络。它在反馈回路里用来提升相位裕度,作用就像在系统濒临振荡时推一把。

但“理想运放”这个词,在工程里是个陷阱。

为了搞清楚现实会发生什么,我们把那个完美的三角形符号换成一个更诚实的等效模型。

  • 输入阻抗不再是无穷大(虽然很大),但这里我们依旧假设它是无穷大,以便专注核心问题。
  • 关键在于输出端。我们用了一个戴维南等效电路来建模输出:一个电压源 Gop(s)(v+v) 串联了一个输出电阻 Ro。这 50 欧姆的 Ro,就是一切麻烦的源头。

这个运放的开环增益 Gop(s) 不是无限的,而是一个单极点系统:

Gop(s)=Gop01+sω1

看着这个式子,你会发现:

  • 直流增益 Gop0 很大(105,即 100 dB)。
  • f1=10 Hz 处有一个极点。
  • 这意味着,频率超过 10 Hz 后,增益就开始以 -20dB/dec 的速度滚降。
  • 穿越频率(增益降到 0dB 的点)在 1 MHz。

我们手里的元件参数如下:

  • 运放参数Gop0=105f1=10 HzRo=50Ω
  • 外围电路R1=1.6kΩR2=16ΩRL=100ΩR3=1.6kΩC=0.1μF

把这个非理想模型塞进原来的电路里,就得到了接下来要解剖的对象。下面用反馈定理把它一层层剖开。


13.3.2 第一步:寻找误差信号与理想正向增益 G

应用反馈定理的第一步,是找到一个“理想注入点”。对于运放电路,误差信号是什么?是差模输入电压 (v+v)

(v+v) 为零时,电路进入“虚地”状态,也就是完美的理想状态。

在这套带戴维南输出的模型里,受控电压源紧跟着就是那个增益因子 Gop(s)。如果我们在这个电压源之后(也就是 vy 处)注入电压,那么 vy 将直接正比于误差信号。这就是完美的注入点。

现在我们来求 G(s)——也就是假设环路增益无穷大、误差信号被置零时的理想增益。

这里有一个经典的解题技巧(Null Double Injection): 要想轻松算出 G,必须先从“Null(置零)”条件出发,而不是硬解电路方程。

假设: 我们在输入端加了信号,但通过某种手段把注入点电压 vy 置零了。 推导:

  1. 如果 vy=0,那么受控源 Gopv 也必须为 0(因为它是 vy 的一部分)。
  2. 既然 Gop 不是 0,那只能是 v=0
  3. v=0 意味着什么?意味着 R1C 的连接点被强制拉到了地。这就是你熟悉的“虚地”!

现在的电路变得异常简单:

  • 电流 ifvin 流经 R1R2C 到地(因为 v=0)。

    if=vinR2+1R1||sC=vinR2+1sCR1R1+1sC

    经过化简(具体代数步骤留给练习),分子分母同乘 sC,你会发现分母变成了 R2+R1+1sC ... 不对,更简单的看法是并联导纳。 我们直接看结果式子 (13.46) 给出的形式:

    if=vinR2+(R1||1sC)

    这条支路的阻抗是 Z=R2+R11sCR1+1sC=R1R2sC+R1+R2R1sC+1。 我们暂且保留阻抗概念,继续看输出。

  • 输出电压 vout 是怎么来的?v=0,电流 if 流过 R3

    vout=0+ifR3

所以,理想增益 G 就是:

G(s)=R3R2+(R1||1sC)

化简这个式子,得到标准的 PD 补偿器形式:

G=R3R11+s(R1+R2)C1+sR2C

你看,这就是教科书上的公式。 它的分母有一个极点(由 R2,C 决定),分子有一个零点(由 R1+R2,C 决定)。 代入数值:

  • 直流增益 G0=1.6k1.6k=1 (0 dB)。
  • 零点频率 f2=12π(R1+R2)C1 kHz
  • 极点频率 f3=12πR2C100 kHz

这就是它的幅频特性的形状:在 1 kHz 处开始上升(+20dB/dec),在 100 kHz 处变平。这是一个完美的 PD 补偿曲线,用来提升系统在 10 kHz 附近的相位,原本是再好不过了。

如果运放真的是理想的,故事到这里就结束了。 但记住,我们刚才计算的 G 是建立在“误差信号为 0”这个假设上的。现实里,运放必须靠非零的误差信号来驱动输出。而这个“非零”的误差信号有多大,取决于环路增益 T(s)


13.3.3 第二步:计算环路增益 T(s)

接下来,我们要把输入 vin 置零(短路),断开环路,看信号绕一圈能被放大多少倍。 具体做法是:在 vx 处加信号,测量 vy。这两个位置的比值就是环路增益 T(s)

我们可以分段来看:

  1. vxvout:这是一个电阻分压。vx 经过 RoRL 分压。voutvx=RLRL+Ro
  2. voutv:这是反馈网络。vout 经过 R3(R1+R2||C) 分压。vvout=R1||(1sC+R2)R3+R1||(1sC+R2)这里稍微有点绕,注意阻抗关系。
  3. vvy:这就是运放的开环增益 Gop(s)

把这三段乘起来,就得到了 T(s) 的原始表达式(13.54)。这个式子看起来非常复杂,充满了 sC 和电阻的纠缠。 别急着化简。 这时候如果硬做代数化简,你很容易掉进坑里。我们用上一节提到的互易关系(Reciprocity Relationship)。既然 T=TnG0G,我们可以先算出简单的 G0Tn,最后再来拼凑 T。这比直接硬算要聪明得多。


13.3.4 第三步:直接正向传输 G0 —— 绕过运放的那条路

G0 是什么?是当我们把环路增益 T 置零(即把受控源 vy 置零,也就是把运放输出短路掉)时,输入直接“漏”到输出的增益。

操作步骤:

  1. 假设注入源 vy 被调节,使得 vx=0。这意味着受控源 Gopv 不起作用,等效于短路。
  2. 此时,运放的输出电阻 Ro 直接并联在负载 RL 上。
  3. 信号从 vin 进来,经过 R1,C,R2,再经过 R3,最后在 Ro||RL 上输出。

这纯粹是一个无源电阻网络。 经过代数化简,式子 (13.57) 给出了结果:

G0(s)=Ro||RLRo||RL+R3+(R1||(R2+1sC))

写成标准形式:

G0=G001+sω21+sω4
  • G000.0103 (-39.7 dB)。非常小。
  • 它在 f2=1 kHz 处有一个零点,在 f41.93 kHz 处有一个极点。

G0 的幅频特性也值得一提:它的幅值非常小(-40 dB 左右)。在通常的音频或工频应用中,这个“漏过去的信号”完全可以忽略不计。 但是,别忘了我们在算 T。这个微小的 G0 在互易公式里可是至关重要的。


13.3.5 第五步:空环路增益 Tn —— 绕过负载的那条路

按照互易关系,最后我们要求 Tn定义: 输入 vin 存在,我们调节注入源 vz,使得输出 vout 强制为 0(Null)。在这种状态下,测量 vy/vx

这种状态下发生了什么?

  1. vout=0。意味着负载 RL 两端电压为 0。
  2. 既然 RL 上没电压,那就没电流流过 RL
  3. 运放的输出电流 if 全部流进了 R3

这带来了巨大的简化:

  • 运放输出电流 if=vxRo(因为 vx 也就是 Ro 前面的电压,此时运放输出电压被强制,但分析电流路径时 vx 是源头)。等等,仔细看电流路径:vx 直接加在 Ro 上。因为 vout=0Ro 右边接地。所以 if=vx/Ro
  • 这个电流流过 R3,产生 v 电压(注意方向):v=ifR3
  • vy 是什么?就是运放增益乘以 vvy=Gop(s)v=Gop(s)(vxRoR3)
  • 所以:Tn(s)=vyvx=R3RoGop(s)

这太漂亮了。 Tn 的表达式里,除了运放自己的极点,没有任何其他的极点或零点! 这就是 Null Double Injection 的威力:它把电路的动态特性从复杂的拓扑中剥离出来了。


13.3.6 拼图完成:真正的环路增益 T(s)

现在我们有了所有的拼图:

  • G:理想增益(PD 形状)。
  • G0:直接传输(极小,但在计算中有用)。
  • Tn:空环路增益(极简形式,只含运放极点)。

根据互易关系:

T=TnG0G

把这三个量代入,经过一番代数运算(注意那个负号,相位会反转),我们终于得到了环路增益 T(s) 的因式分解形式(13.66):

T(s)=T01+sω2(1+sω1)(1+sω4)

这里的关键频率点:

  • 直流增益 T0:33000 (90.7 dB)。这是一个非常高的数值。
  • 极点 ω1:这就是运放原本的主极点 (10 Hz)。
  • 极点 ω4:来自 G0 的极点 (1.93 kHz)。
  • 零点 ω2:来自反馈网络 (1 kHz)。

现在把这个环路增益的波特图在脑子里画出来。 仔细看这条曲线,你会发现一个非常有意思的现象,也是整个问题的核心转折点:

  1. 从 10 Hz 开始,增益以 -20dB/dec 下降(这是运放的主极点在起作用)。
  2. 到了 1 kHz 左右,零点 ω2 出现,曲线变平,相位开始回升。
  3. 但是! 紧接着在 1.93 kHz,极点 ω4 降临。
  4. 曲线再次以 -20dB/dec 下降。相位开始剧烈下跌。
  5. 直到 100 kHz 处,那个来自 G 分母的极点 ω3 本该出现,但现在它被掩盖在了曲线下方。

穿越频率 fc 是多少? 利用图中渐近线估算: 在 1.93 kHz 到 100 kHz 之间,斜率是 -20dB/dec。

|T|T0ω/ω2ω/ω1ω/ω4=T0ω1ω4ω2ω

|T|=1,解得 fc25.2 kHz

注意这个位置:25 kHz。 它恰好位于两个极点(1.93 kHz)和一个零点(100 kHz)之间。


13.3.7 崩塌的相位裕度

现在我们来算相位裕度(Phase Margin)。 在 fc=25.2 kHz 处:

  • 极点 f1 (10 Hz) 和极点 f4 (1.9 kHz) 贡献了接近 -180° 的相移。
  • 零点 f3 (100 kHz) 距离 fc 还有点远,只能拉回一点点相位。

计算结果(式 13.72):

T(25 kHz)165.8

相位裕度 ϕm 只有:

ϕm=180165.8=14.2

14.2 度。

这是个危险数字。对于一个闭环系统来说,这意味着当你试图用这个 PD 补偿器去修正主电路的相位时,你自己先制造了一个高 Q 值的振荡源。 根据式 (13.74),对应的 Q 值高达 4(也就是 12 dB)!

踩坑提醒:这种「PM 看着还行、一上板就振」的事在电源调试台天天发生。套路是这样的——你照着理想 G 把零点放好,仿真里相位裕度 45° 漂漂亮亮;可一焊上真实的运放,那个被 Ro 和有限 GBW 偷偷塞进来的高频极点 ω4 直接把穿越区里的相位再砍一刀。教训:仿真一定要把运放的开环输出阻抗和带宽模型加进去,光用理想三角形符号,你看到的裕度是假的。

为什么会这样? 我们回头看那个“理想”的 G。它原本是一个完美的 PD 补偿,零点在 1 kHz,极点在 100 kHz。 但因为运放不够快(Ro 的存在以及有限的带宽),真实的环路增益 T 在 1.9 kHz 处多冒出了一个极点 f4。 正是这个隐形的极点,把相位狠狠地踩了一脚,导致在 25 kHz 处相位几乎翻转。


13.3.8 闭环传递函数 G(s) —— 谁说了算?

最后,我们看一眼闭环传递函数 G(s)。 根据公式:

G=GT1+T+G011+T

把结果画出来就是这样:

  • 在低频段,T 很大,T1+T1。所以 GG。这符合我们的预期,运放工作得很好。
  • 但在 25 kHz 附近,也就是 fc 处,由于相位裕度太小,T1+T 这一项表现出剧烈的尖峰。这就意味着,闭环传递函数在这里会出现共振。

这就是结局: 你以为你在设计一个截止频率为 100 kHz 的补偿器,但实际上,你的补偿器在 25 kHz 就开始振铃。 如果把这个电路扔到一个开关电源环路里,那个 25 kHz 的尖峰可能会直接搞垮整个系统的稳定性。

怎么修? 回头看式子。问题的根源在于极点 f4 出现得太早了,或者说穿越频率 fc 太高了。 唯一的办法是提升运放的带宽(GBW)。如果你能把运放的穿越频率从 1 MHz 提升到 4 MHz,整个 T(s) 的曲线会向上平移,把实际的穿越频率 fc 推到更右边,让那个讨厌的极点 f4 远离穿越区。

这不仅是计算,这是教训。 当我们拿着“虚地”这个简化工具到处用时,往往会忘记它背后的前提:环路增益无穷大。一旦器件带宽受限,那个被简化的世界就会崩塌,而反馈定理,正是那个能让我们看清崩塌细节的放大镜。


参考说明:参考自 geqianQWQ 同学阅读《Fundamentals of Power Electronics》的笔记,仅作理解线索;本文为结合自己理解重新整理的学习笔记,不涉及对原书的复制或翻译。

面向嵌入式学习者的硬件学习笔记