半桥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参数调节,在前面几篇文章中都有详细介绍,这里就不讲了。可参考如下参数(不一定是最好的):

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

运行仿真,即可。

相关推荐
chao1898444 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
yongui4783410 小时前
基于 GA 优化的 BP 神经网络算法分析与 MATLAB 实现
神经网络·算法·matlab
rit843249911 小时前
基于 MATLAB 的坐标变换程序
开发语言·matlab
listhi52011 小时前
LTE标准下Turbo码编译码仿真
算法·matlab
fie888912 小时前
城市环境下车辆目标跟踪算法 MATLAB 实现
算法·matlab·目标跟踪
机器学习之心12 小时前
轴承剩余寿命预测 | 基于BP神经网络的轴承剩余寿命预测MATLAB实现!
人工智能·神经网络·matlab·轴承剩余寿命预测
Evand J14 小时前
【无人机编队控制程序4】复杂障碍环境下多无人机编队避障(人工势场法APF)与协同控制,MATLAB仿真例程
开发语言·matlab·无人机·控制·apf·避障
南宫萧幕15 小时前
基于 MATLAB 的插电混动汽车 CD-CS 策略 WLTC 前向仿真实现
开发语言·matlab·汽车
yugi98783816 小时前
主动噪声控制中的 FXLMS 算法研究与 MATLAB 实现
开发语言·算法·matlab
kaikaile199518 小时前
基于 MATLAB 的3D 蒙特卡洛光子传输模拟
开发语言·matlab·3d