2、功率级建模(上):开关器件的平均模型,状态空间平均法,小信号扰动与线性化

各位工程师朋友,咱们今天聊聊功率级建模。说实话,很多做电源的兄弟一听到「建模」两个字就头大,觉得那是搞理论的人干的事。但我跟你说,不懂建模,你调环路的时候就像蒙着眼睛走路——能走,但不知道什么时候会撞墙。

我个人习惯是,先把功率级的行为摸清楚,再动手调补偿。你想想看,连被控对象长什么样都不知道,你怎么设计控制器?

2.1 开关器件:从「开关」到「平均」

先问个问题:一个MOSFET在开关,它的行为是什么样的?

导通的时候,它像个很小的电阻(Rds_on)。关断的时候,它像个很大的电阻。中间切换的时候,有上升沿、下降沿、米勒平台……这些细节,做EMI和效率分析时很重要。但做环路分析时,我们关心的是——平均效果

什么叫平均效果?

我举个例子。你拿一个开关去控制一个灯泡,开关频率是100kHz。你盯着示波器看,灯泡在闪。但你用肉眼去看,灯泡是常亮的。为什么?因为人眼有惯性,它「平均」了光的变化。

同样的道理,我们的控制环路也有惯性。它不关心每个开关周期内的细节,它只关心几个周期、几十个周期内的平均趋势。

所以,我们引入开关器件的平均模型

核心思想:用一个受控源(受占空比控制的电压源或电流源)来代替开关管的开关动作。

具体来说:

  • MOSFET:导通时,相当于一个小电阻;关断时,相当于开路。平均模型里,我们把它等效为一个受占空比控制的电流源(或电压源)。
  • 二极管:导通时,相当于一个正向压降;关断时,相当于开路。平均模型里,我们把它等效为一个受占空比控制的电压源。

嗯,这里要注意:平均模型只适用于连续导通模式(CCM)。如果你工作在断续模式(DCM),那模型会不一样,我们后面会讲到。

2.2 状态空间平均法:把非线性问题「掰直」

开关电源本质上是一个时变非线性系统。为什么?因为开关管在导通和关断两种状态之间切换,系统的拓扑结构在变。

你想想看,一个电路,一会儿是这个结构,一会儿是那个结构,你怎么用一套微分方程来描述它?

状态空间平均法就是来解决这个问题的。

它的思路很简单:

  1. 分别写出开关管导通和关断两种状态下的状态方程。
  2. 按照占空比D,把这两个方程「加权平均」。

用数学语言说:

导通状态:dx/dt = A1 * x + B1 * u
关断状态:dx/dt = A2 * x + B2 * u

平均模型:dx/dt = (D * A1 + (1-D) * A2) * x + (D * B1 + (1-D) * B2) * u

其中,x是状态变量(比如电感电流、电容电压),u是输入(比如输入电压),D是占空比。

这样一来,我们就把一个时变系统,变成了一个时不变系统。虽然它还是非线性的(因为D乘以x,是乘积项),但至少我们有了一个统一的数学描述。

我的经验:刚开始学这个方法时,我总觉得它太「粗糙」了,把开关过程直接平均掉,能准吗?后来我在一个48V转12V的DC-DC项目里,用平均模型算出来的环路带宽,和实测只差了不到5%。从那以后,我就信了。

2.3 小信号扰动与线性化:给非线性系统「把脉」

好,现在我们有了平均模型。但它还是非线性的——因为占空比D和状态变量x相乘了。

非线性系统怎么分析?用拉普拉斯变换?用波特图?都不行。那些工具只适用于线性系统。

所以,我们需要线性化

怎么做?小信号扰动。

思路是这样的:

  • 假设系统工作在某个稳态工作点(比如D=0.5,Vin=12V,Vout=5V)。
  • 在这个工作点附近,给一个很小的扰动(比如占空比变化Δd=0.01)。
  • 看系统的响应(比如输出电压变化Δvout)。
  • 如果扰动足够小,系统的响应近似是线性的。

用数学语言说,就是把变量写成稳态值加小信号扰动:

d = D + Δd
x = X + Δx
u = U + Δu

代入平均模型,忽略二阶小项(Δd * Δx这种),就得到了小信号线性模型

这个模型,就是我们可以用波特图、奈奎斯特图去分析的那个东西。

注意:小信号模型只在稳态工作点附近有效。如果你让系统偏离工作点太远(比如负载从满载突然变成空载),小信号模型就不准了。我曾经在一个项目里吃过这个亏——用满载点设计的补偿器,在轻载时振荡了。后来加了非线性补偿才解决。

2.4 一个完整的例子:Buck变换器的小信号模型

光说不练假把式。咱们拿Buck变换器走一遍流程。

第一步:写出两种状态的状态方程

导通状态(S闭合,D断开):

L * diL/dt = Vin - Vout
C * dvout/dt = iL - Vout/R

关断状态(S断开,D导通):

L * diL/dt = -Vout
C * dvout/dt = iL - Vout/R

第二步:状态空间平均

按占空比D加权平均:

L * diL/dt = D * Vin - Vout
C * dvout/dt = iL - Vout/R

第三步:小信号扰动

令:

d = D + Δd
vin = Vin + Δvin
vout = Vout + Δvout
iL = IL + ΔiL

代入,忽略二阶项,得到:

L * d(ΔiL)/dt = D * Δvin + Vin * Δd - Δvout
C * d(Δvout)/dt = ΔiL - Δvout/R

第四步:拉普拉斯变换,得到传递函数

从占空比到输出电压的传递函数:

Gvd(s) = Δvout(s) / Δd(s) = Vin / (LC*s² + (L/R)*s + 1)

你看,这就是一个典型的二阶系统。有了这个,你就可以设计补偿器了。

2.5 知识体系总览

下面这张图,是我自己整理的功率级建模的完整流程。你可以把它当作一个「地图」,以后做建模时按这个步骤走,基本不会错。

功率级建模知识体系 开关电源(时变非线性) 状态空间平均 平均模型(时不变非线性) 小信号扰动 + 线性化 小信号线性模型 拉普拉斯变换 传递函数 Gvd(s) → 解决时变问题 → 解决非线性问题 → 得到频域模型 → 用于环路设计

说白了,整个建模过程就是三步:平均 → 扰动 → 线性化。每一步都有它的物理意义和数学依据。你只要理解了这三步,任何拓扑的功率级建模你都能自己推出来。

避坑指南:我曾经在推一个Sepic变换器的小信号模型时,忘了考虑耦合电容的ESR,结果算出来的零点位置和实测差了十万八千里。所以,建模时一定要把寄生参数考虑进去——至少要把ESR和ESL带上。

好了,这一章的内容就到这里。功率级建模是环路设计的基础,基础打牢了,后面调补偿器的时候你心里就有底了。


专注资料整理