Skip to content

7.2.6 扰动与线性化

现在,Buck-Boost 变换器的三大基石方程——电感方程 (7.18)、电容方程 (7.26) 和输入电流方程 (7.28)——都已经整齐地排列在面前了:

Ldi(t)Tsdt=d(t)vg(t)Ts+d(t)v(t)TsCdv(t)Tsdt=d(t)i(t)Tsv(t)TsRig(t)Ts=d(t)i(t)Ts

看着这三个方程,你会发现一个令人不安的事实:它们是非线性的

原因很明显——里面到处都是乘法。电容电流取决于控制输入 d(t) 和电感电流 i(t)Ts 的乘积。两个随时间变化的信号相乘,这就是非线性的根源。这种乘法会产生新的谐波分量,完全破坏了叠加原理。

这很麻烦。

我们手里最顺手的交流电路分析工具——拉普拉斯变换、频域阻抗法、传递函数——全都是为线性系统准备的。如果方程是非线性的,这些工具统统失效。为了让这套强大的工具箱重新上场,我们必须把这组非线性方程「掰直」了——也就是构造一个小信号模型。

扰动:在平静湖面上投石子

想象你的变换器正运行在一个完美的稳态下。

这时候,输入电压是一个常数 Vg,占空比锁定在一个固定值 D。根据我们在第 2、3 章学过的稳态分析原则(伏秒平衡、电荷平衡),电感电流、电容电压和输入电流最终都会安顿下来,停在各自的直流稳态值上:

V=DDVg,I=VDR,Ig=DI

这组 (Vg,D,I,V,Ig) 定义了一个准静态工作点。这是变换器的「出厂设置」,也是它的「休息状态」。

现在,我们在这个平静的湖面上轻轻投下一颗石子。

假设输入电压 vg(t) 和占空比 d(t) 不再是死板的常数,而是在那个直流基准上叠加了一点点微小的交流扰动:

vg(t)Ts=Vg+v^g(t)d(t)=D+d^(t)

作为响应,系统里的其他变量也会跟着晃动。在瞬态过程平息之后,电感电流、电容电压和输入电流的平均值,也会变成对应的直流值加上微小的交流扰动:

i(t)Ts=I+i^(t)v(t)Ts=V+v^(t)ig(t)Ts=Ig+i^g(t)

这一步叫「扰动」。

我们做这件事的前提是那个强假设:扰动必须很小

|v^g(t)|Vg,|d^(t)||D|,|i^(t)||I|,|v^(t)||V|

为什么要强调「很小」?因为只有当扰动足够小的时候,非线性系统才会看起来像是线性的。这就好比地球是圆的,但在你脚下的一小块地皮上,它是平的。我们现在的任务,就是算出这块「地皮」的斜率。

线性化手术:展开,分类,丢弃

现在,我们要把这一组带着「帽子的变量」代入原来的非线性方程里,做一次外科手术。

先看电感方程。先把 d(t)=D+d^(t) 代进去。

这里有一个容易搞错的细节:d(t) 怎么办?因为 d(t)=1d(t),所以:

d(t)=1(D+d^(t))=(1D)d^(t)=Dd^(t)

注意那个负号。这意味着如果 d(t) 往上跳,d(t) 就必须往下掉,这个反直觉的符号后面会反复出现。

好,现在把所有变量一股脑代入电感方程:

Ld(I+i^(t))dt=(D+d^(t))(Vg+v^g(t))+(Dd^(t))(V+v^(t))

现在展开右边的乘法。这是一场纯粹的代数暴力,但要小心。

LdIdt+Ldi^(t)dt=DVg+DVDC Terms+Dv^g(t)+Dv^(t)+(VgV)d^(t)1st Order AC Terms (Linear)+d^(t)(v^g(t)v^(t))2nd Order AC Terms (Nonlinear)

停下来,看看这一堆东西都分成了什么类:

  1. 直流项:这是基准,是系统静止时的样子。
  2. 一阶交流项:每个项里只有一个「戴帽子」的变量,这通常是线性的。
  3. 二阶交流项:这就是 d^(t) 乘以 v^g(t) 这种「帽子乘帽子」的项。这是非线性毒瘤。

我们的目标是建立线性模型。线性模型意味着它不能包含二阶项。

能不能扔掉二阶项?可以,前提是它们真的很小。

根据之前的假设,|d^(t)|D。那么 d^(t)v^g(t)Dv^g(t) 相比,前者就像尘埃一样微小。既然我们要处理的是小信号,那么这些二阶小量的贡献微乎其微,可以直接扔进垃圾桶。

扔掉二阶项后,方程两边的直流项(根据稳态方程的定义)也是互相抵消的。LdIdt 这一项是 0,因为 I 是常数。

最后剩下的是什么?纯粹的、干净的一阶项:

Ldi^(t)dt=Dv^g(t)+Dv^(t)+(VgV)d^(t)

这就是我们梦寐以求的:描述电感电流变化的小信号线性方程。它告诉我们,电感电流的变化率,是输入电压扰动、输出电压扰动和控制扰动(占空比扰动)的线性加权组合。

同样的手术,我们还要在电容方程和输入电流方程上做一遍。

电容方程的线性化

把变量代入电容方程:

Cd(V+v^(t))dt=(Dd^(t))(I+i^(t))V+v^(t)R

再次展开,再次分类:

CdVdt+Cdv^(t)dt=DIVRDC Terms+d^(t)Iv^(t)R+

这里你会遇到同样的二阶项:d^(t)i^(t)

别犹豫,只要满足小信号假设,它就远小于 Di^(t) 或者 Id^(t)。把它删掉。

剩下的,就是线性化后的电容方程:

Cdv^(t)dt=Di^(t)v^(t)R+Id^(t)

输入电流方程的线性化

最后是输入电流方程。代入:

Ig+i^g(t)=(D+d^(t))(I+i^(t))

展开后得到:

Ig+i^g(t)=DIDC+Di^(t)+Id^(t)Linear+d^(t)i^(t)Nonlinear

二阶项 d^(t)i^(t) 出现了。你猜怎么着?删掉它。

直流项 IgDI 是相等的(来自稳态关系),它们互相抵消。剩下的就是:

i^g(t)=Di^(t)+Id^(t)

总结:从非线性混沌到线性秩序

至此,我们已经完成了 Buck-Boost 变换器核心方程的彻底线性化。

回顾一下这一步我们做了什么:

  1. 扰动:把所有变量写成 DC+AC 的形式。
  2. 展开:把变量代入平均方程,暴力展开。
  3. 识别:把展开项分为直流项、一阶交流项、二阶交流项。
  4. 清洗:利用「小信号」假设,扔掉所有二阶非线性项;利用「稳态」定义,抵消直流项。
  5. 收割:得到一组只包含一阶交流变量的线性微分方程。

这是一套通用的流程。不管是 Buck、Boost 还是更复杂的 Cuk 变换器,只要你把平均方程写出来,只要扰动够小,这套手术流程就能把非线性的开关变换器,变成一个我们可以用拉普拉斯变换去处理的线性电路模型。

下一步,我们就要把这些抽象的线性方程,变回成电阻、电容、受控源组成的电路图——那就是传说中的「交流等效电路模型」。

💡 记号小窍门:每次做这套扰动展开,我都建议先把 d(t)=Dd^(t) 单独写一行再代入。d 上面加帽是「往上跳」,但 d 因为等于 1d,它必然是「往下掉」——这个负号是全章最容易出错的符号陷阱,一旦在这里漏了负号,后面受控源极性全错,电路模型看起来「差不多对」却算出右半平面零点跑到左半边,debug 到怀疑人生。


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

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