3. 数学模型建立:从物理电路到传递函数

做电流环设计,我最怕的就是一上来就扔公式。很多工程师觉得数学是门槛,其实不然。数学模型说白了,就是把你手里的电路板,翻译成控制理论能听懂的语言。翻译对了,后面的振荡分析才有根有据。

这一节,我们就从最基础的 Buck 电路出发,一步步推导出电流环的开环和闭环传递函数。我会尽量用口语化的方式讲,但该有的公式一个都不会少。

3.1 从物理电路到小信号模型

先看一个典型的峰值电流模式 Buck 电路。功率级包括:输入电压 Vin、开关管 Q1、续流二极管 D1、电感 L、输出电容 C 和负载 RL。

为什么要建小信号模型?因为开关电源本质上是非线性系统。开关管要么开要么关,电感电流是三角波。但控制环路关心的是“在稳态工作点附近,扰动怎么传播”。小信号模型就是把这个非线性系统,在直流工作点附近线性化。

我个人习惯用状态空间平均法。这个方法的核心思想是:在一个开关周期内,用平均值代替瞬时值。具体步骤分三步:

  1. 写出开关管导通和关断两个阶段的状态方程
  2. 按占空比加权平均
  3. 分离直流分量和小信号分量

以电感电流为例。导通阶段,电感两端电压是 Vin - Vo;关断阶段,电感两端电压是 -Vo。平均后得到:

L · di/dt = d · (V_in - V_o) + (1-d) · (-V_o)
          = d · V_in - V_o

嗯,这里要注意,d 是占空比。加上小信号扰动:d = D + d̂,Vin = Vin + v̂in,Vo = Vo + v̂o,i = I + î。代入并忽略二阶小项,得到电感电流的小信号方程:

L · dî/dt = D · v̂_in + V_in · d̂ - v̂_o

同理,输出电容节点的小信号方程为:

C · dv̂_o/dt = î - v̂_o / R_L

这两个方程,就是电流环建模的起点。

核心要点:小信号模型只在直流工作点附近有效。如果工作点变化很大(比如从轻载跳到重载),模型精度会下降。这时候需要大信号模型或分段线性化处理。

3.2 功率级传递函数推导

有了小信号方程,接下来就是拉普拉斯变换。把时域方程变成 s 域方程,方便我们分析频率特性。

对电感电流方程做拉氏变换:

sL · î(s) = D · v̂_in(s) + V_in · d̂(s) - v̂_o(s)

对输出电容方程做拉氏变换:

sC · v̂_o(s) = î(s) - v̂_o(s) / R_L

我们关心的是占空比 d̂ 到电感电流 î 的传递函数。假设输入电压扰动 v̂in = 0(输入端已经稳压),联立两个方程,消去 v̂o,得到:

G_id(s) = î(s) / d̂(s) = V_in · (sC + 1/R_L) / [s²LC + sL/R_L + 1]

这个传递函数描述的是:占空比变化,如何引起电感电流变化。它有一个二阶分母,典型的 LC 双极点系统。

我在项目中遇到过一个问题:按照这个公式算出来的穿越频率,和实测总是差 20% 左右。后来发现,是忽略了电感的 DCR(直流电阻)和电容的 ESR(等效串联电阻)。加上这些寄生参数后,模型才和实测吻合。

考虑寄生参数后的传递函数更复杂一些:

G_id(s) = V_in · (sC·R_c + 1) / [s²LC·(1+R_c/R_L) + s(L/R_L + C·(R_c+R_L)) + 1]

其中 Rc 是电容 ESR,RL 是负载电阻。这个公式看起来吓人,但实际用起来,你会发现它更贴近真实情况。

实战技巧:如果只是快速估算,可以忽略寄生参数。但做最终设计时,一定要把 DCR 和 ESR 加进去。我习惯在仿真模型里保留这些参数,调试时再逐个去掉,看哪个参数影响最大。

3.3 电流环开环模型

电流环的开环模型,包括:功率级传递函数 Gid(s)、电流采样增益 Hi、PWM 调制器增益 Fm,以及电流补偿器 Gci(s)。

开环传递函数 Ti(s) 定义为:

T_i(s) = G_ci(s) · F_m · G_id(s) · H_i

其中:

  • Fm:PWM 调制器增益。对于峰值电流模式,Fm = 1 / (Sn · Ts),Sn 是电感电流上升斜率,Ts 是开关周期。
  • Hi:电流采样增益。通常由采样电阻和放大倍数决定,比如 0.1V/A。
  • Gci(s):电流补偿器。最简单的就是比例积分(PI)控制器:Gci(s) = Kp + Ki/s。

开环传递函数有什么用?它决定了电流环的稳定性。我们通过分析 Ti(s) 的幅频和相频特性,来判断系统是否有足够的相位裕度和增益裕度。

我记得有一次调试一个 48V 转 12V 的电源,电流环总是有 10kHz 左右的振荡。用开环传递函数一算,发现相位裕度只有 15 度。后来把补偿器的零点往低频移了一点,相位裕度提高到 50 度,振荡就消失了。

避坑指南:我曾经在计算 Fm 时,忽略了斜坡补偿的影响。峰值电流模式在占空比大于 50% 时,会出现次谐波振荡。如果不加斜坡补偿,开环模型会给出错误的稳定性结论。一定要把斜坡补偿的斜率加到 Fm 里。

3.4 电流环闭环模型

闭环模型描述的是:参考电流 iref 到实际电感电流 iL 的传递关系。从控制框图看,闭环传递函数为:

G_ii(s) = i_L(s) / i_ref(s) = T_i(s) / [1 + T_i(s)]

这个公式很简洁,但内涵丰富。当开环增益很大时(低频段),Gii(s) ≈ 1,说明电流能很好地跟踪参考。当开环增益很小时(高频段),Gii(s) ≈ Ti(s),说明电流环失去跟踪能力。

闭环模型的带宽,就是开环穿越频率。一般设计在开关频率的 1/10 到 1/5。比如 100kHz 的开关频率,电流环带宽设在 10kHz~20kHz 比较合理。

带宽设得太高,容易引入噪声;设得太低,动态响应慢。这是个 trade-off。我一般先按 1/10 开关频率设计,然后根据负载瞬态响应测试结果微调。

下面这张图总结了从物理电路到闭环模型的完整推导路径:

电流环数学模型推导流程 Buck 物理电路 状态空间平均 小信号模型 拉普拉斯变换 功率级 G_id(s) 开环 T_i(s) 闭环 G_ii(s) 说明: 每个步骤都包含寄生参数 实际建模时建议保留

3.5 关键参数总结

为了方便查阅,我把电流环建模中涉及的关键参数整理成了一张表:

参数 符号 典型值 对稳定性的影响
电感 L 10~100 μH 决定双极点位置,L 越大,极点频率越低
输出电容 C 100~1000 μF 与 L 共同决定极点,C 越大,极点频率越低
电容 ESR Rc 1~50 mΩ 引入零点,提高相位裕度
开关频率 fs 50~500 kHz 决定电流环带宽上限
采样增益 Hi 0.05~0.2 V/A 影响开环增益,Hi 越大,穿越频率越高
斜坡补偿 Se 0.5~1.0 Sn 抑制次谐波振荡,但会降低增益

建模检查清单:

  • ✅ 是否包含了电感和电容的寄生参数?
  • ✅ 是否考虑了斜坡补偿对 Fm 的影响?
  • ✅ 开环传递函数的相位裕度是否大于 45°?
  • ✅ 闭环带宽是否小于开关频率的 1/5?
  • ✅ 模型是否在轻载和重载下都验证过?