一、Buck电路的参数计算较为简单,可以用matlab来完成,代码如下。
clear;clc;
Vin = 12; %输入电压单位V
Vout = 5; %输出电压单位V
Fs = 100000; %开关频率单位Hz
DeltaIL = 0.25; %电流纹波单位A
DeltaVc = 0.01; %电压纹波单位V
Ts = 1/Fs; %开关周期
duty = Vout / Vin;
VL = Vin - Vout;
L = (VL * duty * Ts) / DeltaIL;
C = (DeltaIL * Ts) / ( 8 * DeltaVc);
duty = duty * 100; %单位%
Ts = Ts * 10^6; %单位us
L = L * 10^6; %单位uH
C = C * 10^6; %单位uF
fprintf('duty = %.1f%%\n',duty);
fprintf('Ts = %.1fus\n',Ts);
fprintf('L = %.1fuH\n',L);
fprintf('C = %.1fuF\n',C);
结果如下:
Buck电路拓扑如下(仅考虑理想情况)。
仿真结果如下图所示。
可以看出,稳态情况下,B通道为输出电压5.244V,A通道为电流纹波21mV / 0.1R=210mA。
此次仿真为开环控制,所以输出电压不会很准确,而且为会随着负载的变化而变化,因此,必须加入闭环。
二、其它问题。
1、将二极管换为开关管,即为同步Buck电路,可以减少损耗。