Skip to content

17.3 Buck 变换器实例:失控的滤波器

上一节我们给出了“阻抗不等式”这个尚方宝剑,理论上只要搞定 ZoZNZD 的关系,系统就稳如泰山。但理论是一回事,实战又是另一回事。

这一节,我们通过一个 Buck 变换器的实例,来看看如果违反了这些不等式,事情到底会变得多难看。你会发现,违规的代价不仅仅是传递函数发生变形,它会引入谐振极点甚至右半平面(RHP)零点——这些幽灵会直接把你的环路增益撕碎,相位裕度变成负数,然后你的电源就开始唱歌了。

另外,根据式 (17.12),开环输出阻抗 Zout 受到的影响由另一组不等式决定:

ZoZEandZoZD

如果你只满足了 (17.19) 但没满足 (17.20),那么环路增益可能幸存,但你的输出阻抗特性会变——这意味着负载瞬态响应会变差,电源带不动负载。

下面我们直接开干。


17.3.1 无阻尼输入滤波器的反噬

还是那个经典的 Buck 变换器,我们在它前面挂一个 LC 输入滤波器。把变换器换成我们熟悉的小信号模型,就得到了入口处多出 LfCf 的等效电路。我们的任务是计算式 (17.4),看看这个输入滤波器是怎么一步步篡改控制到输出传递函数 Gvd(s) 的。

第一步:算出 ZD(s)

ZN(s)ZD(s) 可以直接查表 17.1,也可以用 EET 手推。ZD 的抓法很直接:把 d^(s) 设为 0(也就是把受控源关掉),电路就简化了。你会发现 ZD(s) 其实就是后面那个 RLC 网络的输入阻抗,除以变压器变比的平方:

ZD(s)=1D2(sL+R1sC)

这其实是一个经典的端口阻抗问题。我们在 8.4 节详细讲过怎么画这个阻抗的渐近线,结果如下。

  • 低频段:负载电阻 R 说了算,直流渐近线是 R/D2。在这个例子里,R=6Ω(因为 12Ω 的负载反射到初级是除以 D2,等等,原文是 R 在次级,这里初级看到的电阻是 R/D2=12Ω,注意单位换算)。这个数值是 12Ω
  • 中频段:对于高 Q 值的情况,曲线会沿着输出电容的阻抗渐近线走,同样要除以 D2 反射回去。
  • 谐振点:在输出滤波器的谐振频率 f0 处发生串联谐振。f0=12πLC代入数值(L=330μH, C=470μF),f0=1.6kHz。 这里的特征阻抗 R0 反射到初级是 R0/D2。算出来是 4ΩQ 值由 R/R0 决定(注意这里的 R 是负载,未反射前),算出 Q=3。 所以在谐振点,阻抗的峰值不是 4Ω,而是要除以 Q,也就是 1.33Ω
  • 高频段:这时候感抗又占上风了,曲线沿着电感 L 的阻抗上升(同样要除以 D2)。

第二步:算出 ZN(s)

ZN(s) 这个概念稍微反直觉一点。它是指在保持输出电压 v^(s) 为 0 的条件下,变换器的输入阻抗。 推导思路是这样的:我们在输入端注一个测试电流 i^test(s),然后看测试电压 v^test(s) 是多少。

ZN(s)=v^test(s)i^test(s)|v^0

v^0”这个条件(Double Injection)简直是个作弊码。 因为 v^(s) 被强制为 0,所以电容和负载电阻上的电流都是 0。 进而,电感电流 i^(s) 和变压器绕组电流也是 0。 最后,变压器初级电压(电感电压)也是 0。

既然变压器绕组里没电流,那测试电流 i^test 全部流进了受控源 Id^(s)

i^test(s)=Id^(s)

既然变压器初级电压是 0,那次级电压(也就是受控电压源那头)就得等于 Vgd^(s)。 除以变比 D,我们就拿到了测试电压:

v^test(s)=Vgd^(s)D

把这两个代入 ZN 的定义式:

ZN(s)=Vgd^(s)/DId^(s)=RD2

(这里用了稳态关系 I=DVg/R)。 这就是表 17.1 里的结果。它是一个负电阻,幅值等于反射后的负载电阻。在阻抗波特图上,它是一条水平线,贴着 ZD 的低频渐近线。

第三步:直面输入滤波器的输出阻抗 Zo(s)

现在的关键变量来了:滤波器输出阻抗 Zo(s)。 把输入源 v^g 短路,电路就退化成一个典型的 LC 并联网络。

Zo(s)=sLf1sCf

它的波特图长这样:

  • 低频走电感 Lf
  • 高频走电容 Cf
  • 两者交点就是谐振频率 ffff=12πLfCf代入数值(Lf=100μH, Cf=100μF),算出 ff=400Hz。 特征阻抗 R0f=0.84Ω

⚠️ 注意,大坑来了 这个滤波器是无阻尼的。理论上 Qf 是无穷大。 虽然寄生电阻(ESR、线圈电阻)会拉一点 Q,但在 ff 附近,Zo 依然会冲到一个非常夸张的数值。 把这条 Zo 曲线和 ZNZD 叠在一起看。

第四步:不等式判据的审判

放在一起看,这简直是车祸现场。 我们的设计判据是要求 Zo 远远低于 ZNZD。 可是呢? 在 ff=400Hz 附近,Zo 冲破了天际,直接切开了 ZNZD 的底线。 这说明阻抗不等式 (17.19) 完全失效了。 设计启示录:千万别把输入滤波器的谐振频率 ff 和输出滤波器的 f0 靠得太近,否则满足不等式就成了Mission Impossible。最好把它们分得越远越好。

既然不满足条件,修正因子 (17.18) 就会发飙。 后果是这样的:

  • 低频段(远离 ff):不等式勉强还行,修正因子接近 10,传递函数 Gvd 还没怎么变形。
  • ff 附近:修正因子崩了。它引入了一对复数极点,更绝的是,还引入了一对右半平面零点(RHP Zeros)。 这直接导致了幅频曲线上的“Glitch”(毛刺)。 相位呢?相位直接暴跌 360
  • 高频段:修正因子趋于 1360。虽然幅度凑合,但相位损失已经无法挽回。

致命一击 原装的 Gvd(s) 在高频就有 180 的滞后(来自两个极点)。 现在输入滤波器又补了 360。 如果你在设计中把穿越频率设得比较高(比如靠近 ff),你的总相位裕度就是负数。 负相位裕度 = 振荡器。 这就是为什么加个“朴实无华”的输入滤波器,你的稳压电源就变成了高频信号发生器。


17.3.2 救火:阻尼输入滤波器

既然问题出在那个刺破天际的 Zo 峰值上,那我们的对策就是把它按下去——也就是阻尼

方案 A:直接并联电阻 在电容 Cf 上并联一个电阻 Rf。 并联谐振阻抗的峰值会被 Rf 钳位。最大值就是 Rf。 为了满足不等式,我们需要 RfZNR/D2=12Ω。 这听起来不错。 但是,代价是什么? 直流输入电压 Vg 直接加在 Rf 上! Rf 上的功耗是 Vg2/Rf。 如果你为了稳定性把 Rf 设得很小(比如 1Ω),这个电阻会烧掉甚至超过负载功率。 这绝对不是一个工程解。

方案 B:电阻挂在电感两头 那我把 Rf 挂在电感 Lf 两头? 电感两端直流电压是 0,所以没有直流损耗。问题解决? 没这么简单。 虽然直流没事了,但在高频下,这个电路的传输函数里会冒出一个零点。 这个零点会让滤波器的高频衰减斜率从 40dB/decade 恶化成 20dB/decade。 电感 Lf 相当于被短路了,整个滤波器退化成了一个普通的 RC 低通滤波。高频噪声抑制能力直接废掉。

方案 C:隔直电容阻尼——真正的工程解

这是我们需要学的正规军打法 [152]。 在阻尼电阻 Rf 上串联一个电容 Cb

  • 直流上Cb 是断路的。没有直流电流流过 Rf直流损耗为 0
  • 谐振频率上:我们选 Cb 足够大,使得在谐振频率 ff 处,Cb 的阻抗远远小于 Rf。 于是,在 ff 处,Rf 就像直接并联在 LfCf 上一样,发挥了强力阻尼作用。 这个电路兼有 A 的阻尼效果和 B 的无损耗特性,同时保留了高频的 -40dB/decade 衰减能力。

来算一下数值 按照阻尼支路的渐近线思路。 我们依然要求 Rf12Ω。选 Rf=1Ω 很稳。 然后是 Cb。我们希望在 ff 处它表现为短路。 计算容抗:1/(2πffCb)。 选 Cb=4700μF,这在这个频率下的阻抗只有 0.084Ω。 相比 Rf=1Ω,这个值足够小,可以忽略。

把加了阻尼后的 Zo 拿来对比一下。 看到了吗?之前那个刺破天际的尖峰被削平了。 新的 Zo 整条曲线都乖乖地趴在 ZNZD 下面。 不等式 (17.19) 满足了!

最后看修正因子的结果。 加了阻尼输入滤波器后,控制到输出传递函数 Gvd(s) 几乎和原装的一模一样。 相位没有剧烈跳动,增益也没有毛刺。 你的反馈环路现在可以安全地工作,就像输入滤波器不存在一样。

这才是我们想要的结果:输入滤波器安安静静地滤波,不要在后台搞小动作。


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

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