3、开关变换器建模:Buck变换器的小信号模型、状态空间平均法、CCM与DCM模式下的模型差异

做数字电源控制,绕不开一个核心问题——建模。

你想想看,环路补偿器设计、稳定性分析、动态响应优化,哪样离得开模型?没有模型,就像蒙着眼睛调参数,调出来也不知道对不对。我早年刚入行时,就吃过这个亏。一个Buck电路,调PI参数调了三天,上负载一测,振荡了。后来老老实实把模型推了一遍,才发现问题出在DCM模式下模型没选对。

这一章,我们就来啃这块硬骨头。我会从最基础的小信号模型讲起,然后介绍状态空间平均法这个核心工具,最后对比CCM与DCM下的模型差异。放心,我会把项目中踩过的坑一并告诉你。

3.1 为什么要用小信号模型?

开关变换器本质上是非线性、时变的系统。开关管导通、关断,电感电流上升、下降,这些都是大信号行为。但我们在设计控制环路时,关心的是稳态工作点附近的小扰动——比如负载突变、输入电压波动,系统怎么响应。

小信号模型的核心思想就是:在稳态工作点附近,把非线性系统线性化。这样,我们就可以用经典的线性控制理论(波特图、根轨迹、奈奎斯特判据)来分析和设计补偿器。

关键理解:小信号模型不是忽略大信号,而是在大信号稳态基础上,提取出扰动量的传递关系。模型的有效性取决于扰动幅度是否足够小。

3.2 状态空间平均法——建模的“万能钥匙”

状态空间平均法,说白了就是:把一个开关周期内的不同拓扑状态,按时间加权平均,得到一个连续的平均模型。我个人习惯把它称为“开关变换器建模的万能钥匙”。

具体步骤分四步:

  1. 列写各开关状态下的状态方程——比如开关管导通时一个方程,关断时另一个方程。
  2. 时间加权平均——用占空比d作为权重,把两个状态方程合并成一个平均方程。
  3. 加入小信号扰动——把状态变量、输入、占空比都写成稳态量+小扰动量的形式。
  4. 分离稳态与扰动——忽略二阶小项,得到小信号线性状态方程。

听起来抽象?我们拿Buck变换器来走一遍流程。

3.2.1 Buck变换器CCM模式下的状态空间平均

先看CCM(连续导通模式)。Buck电路在CCM下有两个开关状态:

  • 状态1(开关管导通,二极管截止):电感两端电压为Vin - Vo,电感电流上升。
  • 状态2(开关管截止,二极管续流):电感两端电压为 -Vo,电感电流下降。

选取电感电流iL和输出电压vo作为状态变量,列写状态方程:

状态1(0 < t < dTs):
  diL/dt = (Vin - Vo) / L
  dVo/dt = (iL - Vo/R) / C

状态2(dTs < t < Ts):
  diL/dt = -Vo / L
  dVo/dt = (iL - Vo/R) / C

然后做时间加权平均:

平均后的状态方程:
  diL/dt = (d * Vin - Vo) / L
  dVo/dt = (iL - Vo/R) / C

接着加入小信号扰动:令 d = D + d̂,Vin = Vin0 + v̂in,Vo = Vo0 + v̂o,iL = IL0 + îL。代入并分离稳态与扰动,得到小信号模型:

小信号状态方程:
  dîL/dt = (D * v̂in + Vin0 * d̂ - v̂o) / L
  dv̂o/dt = (îL - v̂o/R) / C

从这个方程,我们可以推导出控制到输出(v̂o/d̂)和输入到输出(v̂o/v̂in)的传递函数。

我的经验:实际项目中,我很少手推这些方程。但理解推导过程至关重要——它能帮你判断仿真模型对不对。有一次我仿真结果和实测对不上,回头检查才发现平均模型里漏了电感寄生电阻。加上去,就对上了。

3.3 CCM与DCM模式下的模型差异

CCM和DCM的模型差异,是很多工程师容易忽略的地方。我见过有人用CCM模型去设计DCM下的补偿器,结果环路不稳定,还以为是芯片问题。

两者的本质区别在于:DCM模式下,电感电流在每个开关周期都会降到零,系统多了一个“断续”的自由度。

3.3.1 模型阶数不同

特性 CCM DCM
模型阶数 二阶(LC谐振) 一阶(主导极点由负载和输出电容决定)
控制到输出传递函数 双极点 + 一个零点(ESR零点) 单极点 + 一个零点(右半平面零点?不,DCM没有RHPZ)
占空比到输出电压增益 与输入电压成正比 与输入电压和负载都有关系
相位裕度特性 轻载时相位裕度下降 轻载时相位裕度反而更好

你看,CCM是二阶系统,有LC谐振峰;DCM变成了一阶系统,特性完全不同。用错模型,补偿器设计就是南辕北辙。

3.3.2 DCM下的状态空间平均——需要“三态”模型

DCM模式下,一个开关周期有三个状态:

  • 状态1:开关管导通,电感电流从0上升。
  • 状态2:开关管关断,二极管续流,电感电流下降到0。
  • 状态3:电感电流为0,负载由输出电容供电。

第三个状态在CCM中不存在。这意味着DCM的平均模型需要处理电感电流的峰值和谷值约束。推导过程更复杂,但结果更简洁——因为电感电流在每个周期都归零,电感不再是一个独立的状态变量,系统降阶为一阶。

避坑指南:我曾经在一个48V转12V的Buck项目中,轻载时效率要求很高,电路进入了DCM。我直接用CCM模型设计了Type III补偿器,结果环路在轻载下振荡。后来改成DCM模型,用Type II补偿器就搞定了。记住:轻载DCM下,Type III补偿器可能引入不必要的相位滞后。

3.4 小信号模型的工程应用——传递函数与波特图

有了小信号模型,我们就可以推导出关键的传递函数。以Buck变换器CCM为例,控制到输出的传递函数为:

Gvd(s) = v̂o(s) / d̂(s) = Vin0 * (1 + s * ESR * C) / (1 + s * L/R + s² * L * C)

这个传递函数告诉我们:

  • 直流增益:由输入电压Vin0决定。
  • LC双极点:频率为 1/(2π√(LC)),是系统的主要谐振点。
  • ESR零点:由输出电容的等效串联电阻引入,频率为 1/(2π * ESR * C)。

在DCM下,传递函数简化为:

Gvd(s) = K / (1 + s * R * C)

其中K与输入电压、负载、电感值都有关系。你看,从双极点变成了单极点,补偿策略完全不同。

3.5 本章知识体系总览

下面这张图,帮你把本章的核心逻辑串起来:

开关变换器建模知识体系 开关变换器建模知识体系 建模目标:小信号线性化 核心方法:状态空间平均法 CCM模式(二阶模型) DCM模式(一阶模型) 双极点 + ESR零点 Type III补偿器 单极点 + 负载相关增益 Type II补偿器 工程要点 • 轻载DCM下,模型阶数降低,补偿器需从Type III改为Type II • 状态空间平均法适用于CCM和DCM,但DCM需考虑三态模型

3.6 小结与工程建议

这一章的内容,总结下来就三句话:

  • 小信号模型是线性化工具,让我们能用经典控制理论设计环路。
  • 状态空间平均法是建模的核心方法,CCM和DCM都适用,但推导细节不同。
  • CCM是二阶模型,DCM是一阶模型——用错模型,补偿器设计全错。

最后给个工程建议:在实际项目中,不要只依赖一种模型。我通常的做法是:先用CCM模型设计,然后在轻载条件下用DCM模型验证。如果两者差异大,就做混合模型——在重载区用CCM模型,轻载区切换到DCM模型。现在的数字电源控制器,很多都支持这种自适应补偿策略。