matlab计算纹波电压,Zeta电路的参数计算及仿真

Zeta电路的参数计算较为简单,可以用matlab来完成,代码如下。

clear;clc;

Vin = 12; %输入电压单位V

Vout = 18; %输出电压单位V

Fs = 5000000; %开关频率单位Hz

Iout = 1; %输出电流单位A

DeltaIin = 0.2; %输入电流纹波单位A

DeltaIout = 0.2; %输出电流纹波单位A

DeltaVc = 0.01; %输出电压纹波单位V

Ts = 1/Fs; %开关周期

duty = Vout / (Vout+Vin);

L1 = (Vin * duty * Ts) / DeltaIin;

L2 = (Vin * duty * Ts) / DeltaIout;

C1 = (Iout * duty * Ts) / DeltaVc;

C2 = (DeltaIout * Ts) / ( 8 * DeltaVc);

duty = duty * 100; %单位%

Ts = Ts * 10^6; %单位us

L1 = L1 * 10^6; %单位uH

L2 = L2 * 10^6; %单位uH

C1 = C1 * 10^6; %单位uF

C2 = C2 * 10^6; %单位uF

fprintf('duty = %.1f%%\n',duty);

fprintf('Ts = %.1fus\n',Ts);

fprintf('L1 = %.1fuH\n',L1);

fprintf('L2 = %.1fuH\n',L2);

fprintf('C1 = %.1fuF\n',C1);

fprintf('C2 = %.1fuF\n',C2);

一、升压模式下,结果如下:

bbb3e1eb88757284cfb9bfe7d0412394.png

Zeta电路拓扑如下(仅考虑理想情况)。

d8b401083c1180299c22535ee4630971.png

仿真结果如下图所示。

67f2c11bed7be9896be4a45362a13ffe.png

可以看出,稳态情况下,B通道为输出电压18.001V,A通道为电感的电流纹波16.730mV / 0.1R=167.30mA。

此次仿真为开环控制,所以输出电压不会很准确,而且为会随着负载的变化而变化,因此,必须加入闭环。

二、降压模式下,结果如下:

2278f63c3dea63de6cd43f2914715ede.png

电路拓扑如下:

cd58d82292046419f681ccc37a65298a.png

仿真结果如下图所示。

d67315f323b2f233e92c33cb82f741e6.png

可以看出,稳态情况下,B通道为输出电压6.076V,A通道为电感的电流纹波17.918mV / 0.1R=179.18mA。

此次仿真为开环控制,所以输出电压不会很准确,而且为会随着负载的变化而变化,因此,必须加入闭环。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
冲击响应谱是指在地震或其他冲击载荷下的结构响应的一个指标,它是结构响应的峰值加速度随时间变化的最大值,通常用于评估结构的抗震能力。下面是用MATLAB计算冲击响应谱的一般步骤: 1. 定义输入的地震时间历程和结构的自振频率。 2. 将地震时间历程进行傅里叶变换得到频谱。 3. 根据结构自振频率和阻尼比计算结构的阻尼比比例阻尼。 4. 将频谱乘以阻尼比比例阻尼得到结构的响应谱。 5. 绘制地震时间历程、频谱和冲击响应谱的图像。 具体实现代码如下: ```matlab % 定义输入的地震时间历程和结构的自振频率 dt = 0.01; % 采样时间间隔 t = 0:dt:10; % 时间序列 f = 1/t(end); % 基频 w = 2*pi*f; % 自振角频率 zeta = 0.05; % 阻尼比 m = 1; % 质量 % 生成地震时间历程 acc = sin(w*t); % 进行傅里叶变换得到频谱 nfft = 2^nextpow2(length(t)); % fft长度 freq = (0:nfft/2-1)/nfft/dt; % 频率序列 spec = fft(acc, nfft)/length(t); % 傅里叶变换 spec = spec(1:nfft/2); % 取正半轴 % 根据结构自振频率和阻尼比计算结构的阻尼比比例阻尼 wd = w*sqrt(1-zeta^2); % 自振角频率 H = m*(wd^2)./((freq.^2-wd^2)+1i*2*zeta*wd*freq); % 传递函数 % 将频谱乘以阻尼比比例阻尼得到结构的响应谱 resp = abs(spec.*H); % 绘制地震时间历程、频谱和冲击响应谱的图像 subplot(3,1,1) plot(t, acc) xlabel('Time (s)') ylabel('Acceleration (m/s^2)') title('Earthquake Time History') subplot(3,1,2) plot(freq, abs(spec)) xlabel('Frequency (Hz)') ylabel('Spectrum') title('Earthquake Spectrum') subplot(3,1,3) plot(freq, resp) xlabel('Frequency (Hz)') ylabel('Response Spectrum') title('Structural Response Spectrum') ``` 注意,这只是一个简单的示例,实际应用中需要根据具体情况进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值