Buck电路状态空间平均模型:从理论推导到仿真验证

1次阅读
没有评论

共计 2160 个字符,预计需要花费 6 分钟才能阅读完成。

image.webp

为什么需要状态空间平均模型

刚接触 Buck 电路设计时,直接用开关器件仿真会遇到两个头疼问题:

  • 仿真速度极慢:每次开关动作都要计算,一个 10ms 的瞬态过程可能要跑半小时
  • 无法直接设计控制器:开关动作产生的高频噪声会掩盖系统的低频特性

这就像用显微镜观察山脉轮廓——虽然能看到每一块石头,但反而看不清整体形状了。状态空间平均法就是帮我们找到这个 ” 宏观视角 ”。

两种平均方法的本质区别

开关周期平均法

  • 只对波形取开关周期内的平均值
  • 适合计算稳态工作点(比如输出电压平均值)
  • 无法反映动态特性

状态空间平均法

  • 对状态方程本身进行平均
  • 能保留系统的动态特性
  • 可推导传递函数进行稳定性分析

关键区别 :前者是结果的平均,后者是规律的平均。就像气象预报中,前者相当于记录每天平均温度,后者相当于建立温度变化的微分方程。

手把手推导过程

第一步:建立分段状态方程

Buck 电路在开关导通($0<t<DT_s$)和关断($DT_s<t<T_s$)时的状态方程分别为:

\begin{cases}
\frac{di_L}{dt} = \frac{V_{in}-v_C}{L} & \text{(导通阶段)} \\
\frac{di_L}{dt} = \frac{-v_C}{L} & \text{(关断阶段)} \\
\frac{dv_C}{dt} = \frac{i_L}{C} - \frac{v_C}{RC} & \text{(两阶段相同)}
\end{cases}

第二步:引入关键假设

  1. 开关频率远大于系统动态变化频率(通常要求 $f_s > 10f_c$)
  2. 电感电流纹波小于其直流分量(CCM 模式)
  3. 输出电压纹波可以忽略

第三步:加权平均处理

将两个阶段方程按占空比 $D$ 加权平均:

\frac{d}{dt}\begin{bmatrix} i_L \\ v_C \end{bmatrix} = 
\begin{bmatrix} 
0 & -1/L \\ 
1/C & -1/RC 
\end{bmatrix}
\begin{bmatrix} i_L \\ v_C \end{bmatrix} +
\begin{bmatrix} D/L \\ 0 \end{bmatrix}V_{in}

第四步:小信号线性化

  1. 将变量表示为稳态值 + 扰动:$D = D_0 + \tilde{d}$
  2. 忽略二阶小量
  3. 得到扰动量的状态方程:
\frac{d}{dt}\begin{bmatrix} \tilde{i_L} \\ \tilde{v_C} \end{bmatrix} = 
A\begin{bmatrix} \tilde{i_L} \\ \tilde{v_C} \end{bmatrix} +
B\tilde{d}, \quad 
A=\begin{bmatrix} 0 & -1/L \\ 1/C & -1/RC \end{bmatrix},
B=\begin{bmatrix} V_{in}/L \\ 0 \end{bmatrix}

仿真验证实战

模型对比测试

% 参数设置
L = 20e-6; C = 100e-6; R = 5; 
Vin = 24; D = 0.5; Ts = 1/100e3;

% 状态空间模型
A = [0 -1/L; 1/C -1/R/C];
B = [Vin/L; 0];
C_sys = [0 1];  % 输出为电容电压
ss_model = ss(A,B,C_sys,0);

% 与实际电路仿真对比
sim('buck_circuit_simulink'); 
plot(tout, Vout_actual, 'b', tout, Vout_model, 'r--');
legend('实际电路','平均模型');

Buck 电路状态空间平均模型:从理论推导到仿真验证

频域特性分析

bode(ss_model);
hold on;
% 添加实际电路扫频数据
plot(freq, 20*log10(mag), 'o'); 

关键观察点:
– 低频段(<1/10 fs)模型精度高
– 谐振频率点 $f_0 = \frac{1}{2\pi\sqrt{LC}}$
– 右半平面零点位置(影响相位裕度)

工程实践中的坑

占空比扰动幅度

  • 一般取 $\Delta D < 0.1$(大信号会激发非线性)
  • 验证方法:比较不同扰动幅度下的谐波失真度

高频失效原因

当接近开关频率时:
1. 纹波不可忽略
2. 假设条件被破坏
3. 需要引入采样保持效应修正

参数补偿技巧

  1. 电感量补偿:$L_{eff} = L(1 + \frac{D(1-D)}{6}\frac{T_s^2}{LC})$
  2. 电容 ESR 的影响:在状态方程中添加串联电阻项

方法扩展应用

对于 Boost 电路需要特别注意:
1. 输出电压出现在电感电流方程中
2. 会产生右半平面零点
3. 状态方程变为:

\frac{d}{dt}\begin{bmatrix} i_L \\ v_C \end{bmatrix} = 
\begin{bmatrix} 
0 & -(1-D)/L \\ 
(1-D)/C & -1/RC 
\end{bmatrix}
\begin{bmatrix} i_L \\ v_C \end{bmatrix} +
\begin{bmatrix} 1/L \\ 0 \end{bmatrix}V_{in}

写在最后

第一次推导状态空间模型时,我被各种矩阵运算绕得头晕。直到在示波器上看到仿真波形和实际测量重合的那一刻,突然理解了数学建模的意义——它不是纸上游戏,而是连接理论与实践的桥梁。建议新手一定要亲手做一遍仿真对比,这种直观感受比任何理论讲解都深刻。

下次可以试试在模型中添加输入电压扰动项,你会看到为什么 Buck 电路对输入变化有天然抑制作用。这也是汽车电子喜欢用 Buck 给 MCU 供电的原因之一。

正文完
 0
评论(没有评论)