4. 开环控制与稳态特性分析

开环 Buck 变换器是理解所有闭环控制算法的起点。在固定占空比 D 下,变换器进入稳态后,输出电压平均值由 Vo = D·Vin 决定(CCM 理想情况),但真正决定电源品质的,是叠加在平均值上的纹波、电感电流的脉动幅度,以及变换器究竟工作在 CCM 还是 DCM。本节围绕占空比扫描仿真,把纹波分析、CCM/DCM 边界判定、效率与损耗分解、参数扫描工具串成一条完整的稳态特性分析链路。

一、占空比扫描:从单点到特性曲线

单次仿真只能得到一个工作点,而占空比扫描(Duty Sweep)能一次性给出 Vo–D 关系曲线。在 Simulink 中,把 PWM 比较器的常值输入替换为受控源,用 Simulink.SimulationInput 数组批量设置 D,例如从 0.1 到 0.9 步进 0.05,共 17 个仿真点。每个点运行到稳态后,用 mean 模块或 To Workspace 记录输出电压平均值、纹波峰峰值、电感电流平均值与峰峰值。

扫描结果会呈现两个明显区间:低占空比段 Vo 与 D 近似线性,符合 CCM 的 Vo=D·Vin;当 D 继续降低或负载变轻时,曲线开始偏离线性并向下弯曲,这正是进入 DCM 的标志。因此占空比扫描不仅是特性曲线,也是判定工作模式的第一手依据。

二、输出电压纹波与电感电流纹波

CCM 下电感电流呈三角波,峰峰值由伏秒平衡决定:

Δi_L = (V_in - V_o)·D / (L·f_sw) = V_o·(1-D) / (L·f_sw)

输出电压纹波主要来自电容对电感电流交流分量的积分。忽略 ESR 时,峰峰值近似为:

ΔV_o ≈ Δi_L / (8·f_sw·C)

以 Vin=24 V、Vo=12 V、L=100 µH、C=220 µF、fsw=100 kHz 为例:D=0.5,Δi_L = 12×0.5/(100e-6×100e3) = 0.6 A,ΔVo ≈ 0.6/(8×100e3×220e-6) ≈ 3.4 mV。若电容 ESR 为 20 mΩ,则 ESR 纹波 Δi_L×ESR = 12 mV,反而成为主导项。这说明实际纹波分析必须同时考虑 C 与 ESR,不能只看容值。

观察纹波时,务必先让仿真跳过启动暂态。可在 To Workspace 后取最后 20% 数据段计算峰峰值,避免把启动过冲误判为稳态纹波。

三、CCM/DCM 边界条件判定

CCM 与 DCM 的分界是电感电流最小值恰好为零。CCM 临界条件为:

I_o,crit = Δi_L / 2 = V_o·(1-D) / (2·L·f_sw)

当实际负载电流 Io > Io,crit 时工作在 CCM;Io < Io,crit 时进入 DCM。仍用上例,D=0.5 时 Io,crit = 0.6/2 = 0.3 A。若负载电阻 R=40 Ω,Io=0.3 A,恰好处于临界;R 增大到 100 Ω,Io=0.12 A,则进入 DCM,此时 Vo 会高于 D·Vin,占空比扫描曲线出现上翘。

在 Simulink 中判定 DCM 最直接的方法是观察电感电流波形是否出现零平台段。也可以用一个 MinMax 模块取 iL 最小值,若稳态最小值接近 0 且持续一段时间,即判定为 DCM。

Buck 稳态特性:CCM/DCM 边界与纹波关系 CCM:i_L 连续,无零平台 0 i_L I_o Δi_L DCM:i_L 出现零平台 0 i_L 零平台 I_o CCM/DCM 边界与纹波参数关系 I_o,crit = V_o·(1−D) / (2·L·f_sw) I_o > I_o,crit → CCM | I_o < I_o,crit → DCM Δi_L = V_o·(1−D) / (L·f_sw) ΔV_o ≈ Δi_L/(8·f_sw·C) + Δi_L·ESR L↑ → Δi_L↓ → 更易 CCM | f_sw↑ → Δi_L↓、ΔV_o↓ | C↑ → ΔV_o↓ | ESR↑ → ΔV_o↑ 负载 R↑(I_o↓)→ 可能进入 DCM → V_o 偏离 D·V_in

四、效率计算与损耗分解

效率 η = Po/Pin,其中 Po=Vo·Io,Pin=Vin·Iin,avg。在 Simulink 中,用 Mean 模块分别对 vo·io 和 vin·iin 求平均即可得到效率。但仅知道总效率不够,需要分解损耗来源:

  • 开关管导通损耗:Pcond = Irms²·Rds(on),其中 Irms 为开关管电流有效值。
  • 开关损耗:Psw ≈ 0.5·Vin·Io·(tr+tf)·fsw,与频率成正比。
  • 电感铜损:PL = IL,rms²·DCR,IL,rms² ≈ Io² + Δi_L²/12。
  • 电感铁损:与磁芯材料、ΔB、fsw 相关,可用 Steinmetz 公式估算。
  • 电容 ESR 损耗:PC = IC,rms²·ESR,IC,rms ≈ Δi_L/√12。

以 12 V/1 A 输出、Rds(on)=30 mΩ、DCR=50 mΩ、ESR=20 mΩ、tr+tf=50 ns 为例,可估算各损耗占比,从而判断优化方向:若开关损耗占比最大,应降低 fsw 或选用更快器件;若铜损占比最大,应减小 DCR 或增大线径。

五、参数扫描工具的使用

Simulink 提供两种参数扫描方式:Simulink.SimulationInput 数组适合脚本化批量仿真,parsim 可并行加速;Simscape 模型还可用 Parameter Sweep 配置界面。典型流程是:定义扫描变量(L、C、fsw、Rload),为每个变量生成取值组合,用 setVariable 写入 SimulationInput,运行后提取稳态指标,最后用 plot 或 parallelplot 可视化。

L_list = [47e-6, 100e-6, 220e-6];
C_list = [100e-6, 220e-6, 470e-6];
simIn = repmat(Simulink.SimulationInput('buck_openloop'), ...
               numel(L_list)*numel(C_list), 1);
idx = 1;
for L = L_list
  for C = C_list
    simIn(idx) = simIn(idx).setVariable('L', L).setVariable('C', C);
    idx = idx + 1;
  end
end
out = parsim(simIn, 'ShowProgress', 'on');
参数扫描时务必固定仿真步长与停止时间,并确保每个工况都达到稳态。若某组参数进入 DCM,纹波与效率会突变,需在结果中单独标注,避免把不同工作模式的数据混在一起比较。

六、结果判读与工程判断

完成扫描后,应形成一张“参数—性能”对照表:每个 (L, C, fsw) 组合对应 Δi_L、ΔVo、工作模式、效率。判读时先看是否满足纹波指标(如 ΔVo < 1% Vo),再看是否全程处于 CCM(若要求 CCM),最后在满足前两项的候选中选效率最高、体积最小的方案。例如 L=100 µH、C=220 µF、fsw=100 kHz 在 1 A 负载下 ΔVo≈15 mV(含 ESR),效率约 92%,且 Io,crit=0.3 A < 1 A,稳定工作在 CCM,是一个合理的折中。

开环稳态分析的价值在于:它给出了变换器的“静态骨架”。后续加入电压闭环、电流闭环时,所有控制器的设计都建立在这条骨架之上——知道纹波多大、边界在哪、损耗如何分布,才能判断闭环后动态响应是否合理、稳态误差是否可接受。