共计 1497 个字符,预计需要花费 4 分钟才能阅读完成。
1. Buck 电路基础与状态变量选择
Buck 电路作为最基本的 DC-DC 降压变换器,其拓扑结构包含开关管(S)、二极管(D)、电感(L)、电容(C)和负载电阻(R)。建立状态空间模型时,需选择储能元件的能量状态作为状态变量:

- 电感电流 (i_L(t)):反映磁场储能
- 电容电压 (v_C(t)):反映电场储能
根据基尔霍夫定律,当开关管导通(状态 1)和关断(状态 2)时,电路分别满足:
[
\begin{cases}
L\frac{di_L}{dt} = v_{in} – v_C \
C\frac{dv_C}{dt} = i_L – \frac{v_C}{R}
\end{cases}
\quad \text{(状态 1)}
]
[
\begin{cases}
L\frac{di_L}{dt} = -v_C \
C\frac{dv_C}{dt} = i_L – \frac{v_C}{R}
\end{cases}
\quad \text{(状态 2)}
]
2. 状态空间方程的推导
采用状态空间平均法,定义占空比 (D) 为开关导通时间比例,合并两个状态可得:
[
\begin{aligned}
\frac{d}{dt}\begin{bmatrix} i_L \ v_C \end{bmatrix} &= \begin{bmatrix}
0 & -\frac{1}{L} \
\frac{1}{C} & -\frac{1}{RC}
\end{bmatrix}
\begin{bmatrix} i_L \ v_C \end{bmatrix} +
\begin{bmatrix} \frac{D}{L} \ 0 \end{bmatrix} v_{in} \
y &= \begin{bmatrix} 0 & 1 \end{bmatrix} \begin{bmatrix} i_L \ v_C \end{bmatrix}
\end{aligned}
]
3. MATLAB 实现与仿真
% 参数设置
L = 100e-6; C = 470e-6; R = 10; D = 0.6; Vin = 24;
% 状态空间矩阵
A = [0 -1/L; 1/C -1/(R*C)];
B = [D/L; 0];
C_mat = [0 1]; D_mat = 0;
sys = ss(A, B, C_mat, D_mat);
% 伯德图分析
figure; bode(sys); grid on;
% 阶跃响应
figure; step(sys); grid on;
4. 开环与闭环性能对比
通过 PID 控制器设计闭环系统(以输出电压为反馈):
% PID 控制器设计
Kp = 0.5; Ki = 100; Kd = 0.001;
controller = pid(Kp, Ki, Kd);
closed_loop = feedback(controller * sys, 1);
% 对比阶跃响应
figure;
step(sys, 'r--', closed_loop, 'b-');
legend('Open-loop', 'Closed-loop');
grid on;
5. 工程实践注意事项
- 寄生参数影响 :实际电感存在等效串联电阻(ESR),电容具有等效串联电感(ESL),需在模型中增加额外状态变量
- 开关器件非理想特性 :MOSFET 导通电阻和二极管正向压降会导致损耗,需修正输入电压项
- 采样延迟 :数字控制系统中,ADC 采样和 PWM 更新会引入相位滞后,需在控制器设计中补偿
6. 思考题
- 当输入电压 (v_{in}) 存在±20% 波动时,如何修改状态方程以分析扰动影响?
- 若考虑电感饱和效应,状态空间模型应如何调整?
- 在数字控制实现中,如何将连续状态方程转换为离散形式?
结语
通过状态空间建模,Buck 电路的动态特性分析变得系统化。MATLAB 工具链为模型验证提供了高效平台,而实际工程中需持续平衡模型精度与计算复杂度。建议读者通过参数扫描实验深入理解各物理量对系统响应的影响规律。
