半桥LLC谐振变换器及同步整流MATLAB仿真(二)

在上文《半桥LLC谐振变换器及同步整流MATLAB仿真(一)》讲解了半桥LLC谐振变换器的工作原理,本文将利用MATLAB搭建电路模型进行仿真。

参数:输入电压:400Vdc;输出电压范围:36-50V ;输出电流最大值50A。

主电路关键器件参数这里就不详细计算了,如下参数仅供参考:

谐振电容Cr:100nF;

谐振电感Lr:20uH;

变压器原边感量Lm:80uH;

变压器副边感量L2:5uH;

变压器匝比:4:1

一般在电路参数设计需要验证参数是否合理。比如,增益是否能满足电压、电流、功率的要求。绘制输出电压Vout与开关频率f的函数曲线,需要用到LLC的输出电压计算公式:

式中Vin表示输入电压,n表示电压器匝比,k表示即励磁电感Lm与谐振电感Lr的比值,fr表示谐振频率,f表示开关频率,Q表示Q值(其定义可看上文)。

绘制函数曲线常用mathcad、matlab等软件。我这里直接使用matlab的脚本进行曲线绘制:

在matlab菜单栏左上角选择"新建脚本",创建一个空脚本,然后输入如下程序:

vbscript 复制代码
%基本参数%
Lr=20;  %谐振电感/uH
Lm=80;  %励磁电感/uH
Cr=0.1;  %谐振电容/uF
R=[1,2,5] ;     %输出电阻,分别代表轻载、半载、满载时的电阻/R
n=4;       %变压器匝数比
Vin=400;

f=linspace(30,200);%f区间

for i=1:3   %for循环计算不同的R值所对应的增益曲线   
Fr1=1./(2*pi*sqrt(Lr*Cr./1000000)); %计算Fr1
K=Lm./Lr;                           %系数K
Req=(8./(pi*pi))*n*n*R(i);             %输出电阻等效到原边
Q=sqrt(Lr./Cr)./Req;                %计算Q
G=1./(   ((1-(Fr1./f).*(Fr1./f))./K+1).^2 + Q.*Q.*((f./Fr1-Fr1./f).^2 )   );       %增益公式
Vout=Vin.*G./n./2;     %输出电压计算(输入x增益/变压器匝比)
%plot(f,G); %绘制增益曲线
plot(f,Vout);   %绘制输出电压曲线
hold on;    %保持上次绘制的曲线
end

然后点击运行,或者按F5.

就能得到如下曲线:

三条曲线分别代表程序里设置的R=1、2、5时的电压变化曲线。峰值越高的曲线对应较小的负载R值时的曲线。可以发现,3条曲线都会经过(112,50)这个点。而本LLC的谐振频率正是112kHz。这就是LLC的谐振点工作特性:不管负载多大,输出电压都是相同的。关于LLC详细的原理,可参考我上篇文章,这里就不详细说了。

在主界面的右边有一个工作区,可以查看程序中所有中间变量的值,例如K值、Q值、Req。

我们回到仿真,在matlab中新建simlink空白模型。首先是主电路,模型如下。

开关管Q1.Q2可参考如下参数

Snubber resistance Rs(缓冲电阻)设为inf(无穷大)即表示不需要缓冲电阻;Snubber capacitance Cs(缓冲电容)设为0即表示不需要缓冲电容。这两个参数这样设置可以尽可能模拟理想的器件。

所有的电阻、电容、电感都是选择series RLC Branch,然后在里面可修改成单独的电感电容电阻。

变压器选择Linear Transformer,参数如下

变压器选择线性变压器,我们只需要双绕组,所以取消勾选"Three windings transformer"

变压器参数我这里使用的都是国际单位制,也可以使用标幺值。

Q1、Q2驱动,模型如下:

输出端口"Frequency"即驱动的频率,输出端口Q1、Q2分别为上下管的驱动。80k频率驱动仿真波形:

调节最右边的costant参数,可以修改死区时间。计算为:死区时间=周期*(1-0.99)/2。

同步整流及控制模块:

该模块即通过分别采集每个MOSFET的DS电压,来控制对应MOS的关断与截止。

输出电压环控制:

电压环用以稳住输出电压,这里没使用电流环进行控制,电压环与电流环的双环控制方法 可参考《反激式开关电源的双环控制(电压环+电流环)之MATLAB仿真》,方法基本一样。

其中"电压基准"即想要的输出电压,"频率最大值" 即最大的开关频率,这里我设置成180K,另外还需要设置PID的输出范围:

这里我设置成0-100。

根据模型可以知道,开关频率=频率最大值(180)-PID输出(0-100)。所以,开关频率范围为80-180kHz。如果输出电压上下限不满足要求,可在这里修改开关频率上下限。

电压环的PID参数调节,在前面几篇文章中都有详细介绍,这里就不讲了。可参考如下参数(不一定是最好的):

如果仿真过程中出现报错"电感开路",可在对应电感的两端并联一个阻值非常大的电阻。如下,谐振电感与变压器副边都并联有大电阻。

运行仿真,即可。

相关推荐
LCMICRO-133108477462 小时前
长芯微LCMDC8584完全P2P替代ADS8584,是一款16位、4通道同步采样的逐次逼近型(SAR)模数转换器(ADC)
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换器adc
可编程芯片开发3 小时前
基于VMD分解和Qlearning强化学习的biLSTM与DELM最优组合模型的超短期电力负荷预测算法matlab仿真
matlab·强化学习·bilstm·vmd·qlearning·delm·超短期电力负荷预测
jllllyuz6 小时前
MATLAB 蒙特卡洛排队等待模拟程序
数据结构·matlab
机器学习之心8 小时前
VMD-KAN-Transformer:时间序列预测的“三体运动”,我们用数学与深度学习找到了最优解
matlab·回归·vmd·kan-transformer
MESMarketing11 小时前
互动分享 | 软件工具的安全合规实践
功能测试·测试工具·matlab·ci/cd·autosar
南宫萧幕13 小时前
从YALMIP工具箱到车辆工况仿真:MATLAB控制策略开发的完整实践指南
开发语言·人工智能·matlab·simulink
yong999013 小时前
基于直方图优化的图像去雾技术MATLAB实现
人工智能·计算机视觉·matlab
gihigo199813 小时前
MATLAB中实现混沌序列的相空间重构
开发语言·matlab·重构
机器学习之心14 小时前
BO-NARX贝叶斯优化非线性自回归外生模型股票价格预测,MATLAB代码
matlab·回归·贝叶斯优化非线性自回归
Evand J14 小时前
【MATLAB代码介绍】三维环境下的IMM(交互式多模型),使用CV和CT模型,EKF作为滤波,目标高精度、自适应跟踪定位
开发语言·算法·matlab·imm·代码介绍