Buck-Boost电路的参数计算较为简单,可以用matlab来完成,代码如下。
clear;clc;
Vin = 12; %输入电压单位V
Vout = 6; %输出电压单位V
Fs = 5000000; %开关频率单位Hz
Iout = 1; %输出电流单位A
DeltaIL = 0.2; %电流纹波单位A
DeltaVc = 0.01; %电压纹波单位V
Ts = 1/Fs; %开关周期
duty = Vout / (Vout+Vin);
VL = Vin;
L = (VL * duty * Ts) / DeltaIL;
C = (Iout * duty * Ts) / 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-Boost电路拓扑如下(仅考虑理想情况)。
仿真结果如下图所示。
可以看出,稳态情况下,B通道为输出电压-6.006V,A通道为电感的电流纹波17.579mV / 0.1R=175.79mA。
此次仿真为开环控制,所以输出电压不会很准确,而且为会随着负载的变化而变化,因此,必须加入闭环。
二、升压模式下,输出电压为18V时,结果如下:
电路拓扑如下:
仿真结果如下图所示。
可以看出,稳态情况下,B通道为输出电压-18.008V,A通道为电感的电流纹波15.429mV / 0.1R=154.29mA。
此次仿真为开环控制,所以输出电压不会很准确,而且为会随着负载的变化而变化,因此,必须加入闭环。