用matlab代码画出 BUCK DC-DC 变换器的纹波电流分别随输入电压或输出电压的变化关系曲线
时间: 2024-05-22 21:12:13 浏览: 183
由于BUCK DC-DC变换器的纹波电流与输入电压和输出电压都有关系,因此需要分别画出纹波电流随输入电压和输出电压的变化关系曲线。
先给出BUCK DC-DC变换器的电路图和基本公式:
![BUCK DC-DC电路图](https://i.imgur.com/0cZvFb1.png)
其中,D为开关管,L为电感,C为输出电容,V_in为输入电压,V_out为输出电压,Duty为占空比。
根据BUCK DC-DC变换器的工作原理和基本公式,可以得到纹波电流的计算公式:
$$\Delta I_L = \frac{V_{in}-V_{out}}{L} \cdot \frac{1}{f_{sw}} \cdot \Delta t_{on}$$
其中,$\Delta t_{on}$为开关管开通时间,$f_{sw}$为开关频率。
接下来,我们分别画出纹波电流随输入电压和输出电压的变化关系曲线。假设开关频率为100kHz,电感为10uH,输出电容为10uF,占空比从0.1到0.9变化。
输入电压为12V时的纹波电流随占空比的变化关系曲线代码如下:
```matlab
Vin = 12; % 输入电压
L = 10e-6; % 电感
C = 10e-6; % 输出电容
fs = 100e3; % 开关频率
Duty = 0.1:0.1:0.9; % 占空比
Delta_ton = Duty./fs; % 开通时间
Delta_IL = (Vin-Vout)./L .* (1./fs) .* Delta_ton; % 计算纹波电流
plot(Duty, Delta_IL);
xlabel('Duty');
ylabel('Delta_IL');
title('Delta_IL vs Duty (Vin=12V)');
```
输出电压为5V时的纹波电流随占空比的变化关系曲线代码如下:
```matlab
Vout = 5; % 输出电压
L = 10e-6; % 电感
C = 10e-6; % 输出电容
fs = 100e3; % 开关频率
Duty = 0.1:0.1:0.9; % 占空比
Delta_ton = Duty./fs; % 开通时间
Delta_IL = (Vin-Vout)./L .* (1./fs) .* Delta_ton; % 计算纹波电流
plot(Duty, Delta_IL);
xlabel('Duty');
ylabel('Delta_IL');
title('Delta_IL vs Duty (Vout=5V)');
```
阅读全文