半桥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菜单栏左上角选择“新建脚本”,创建一个空脚本,然后输入如下程序:

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

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

运行仿真,即可。

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/481692.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用若依代码生成器实现课程管理模块开发

目录 前言1. 环境准备1.1 数据库表设计与导入 2. 使用若依代码生成器生成模块代码2.1 导入数据库表2.2 配置生成规则2.2.1 基本信息配置2.2.2 字段信息配置2.2.3 生成信息配置 3. 下载与集成生成代码3.1 解压与集成3.2 启动项目并验证 4. 优化与扩展4.1 前端优化4.2 后端扩展 结…

AI前景分析展望——GPTo1 SoraAI

引言 人工智能(AI)领域的飞速发展已不仅仅局限于学术研究,它已渗透到各个行业,影响着从生产制造到创意产业的方方面面。在这场技术革新的浪潮中,一些领先的AI模型,像Sora和OpenAI的O1,凭借其强大…

springboot359智慧草莓基地管理系统(论文+源码)_kaic

毕 业 设 计(论 文) 题目:智慧草莓基地管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本智慧草莓基地管理系统就…

排序算法之插入排序篇

插入排序 思路&#xff1a; 就是将没有排序的元素逐步地插入到已经排好序的元素后面&#xff0c;保持元素的有序 视频的实现过程如下&#xff1a; 插入排序全过程 代码实现过程如下&#xff1a; public static void Insertion(int[] arr) { for (int i 1; i < arr.length…

【机器学习】支持向量机SVR、SVC分析简明教程

关于使用SVM进行回归分析的介绍很少&#xff0c;在这里&#xff0c;我们讨论一下SVR的理论知识&#xff0c;并对该方法有一个简明的理解。 1. SVC简单介绍 SVR全称是support vector regression&#xff0c;是SVM&#xff08;支持向量机support vector machine&#xff09;对回…

SpringMVC-08-json

8. Json 8.1. 什么是Json JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式&#xff0c;目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写&#xf…

APM32使用I2C驱动OLED

实验效果 本次实验主要讲APM32的I2C外设的初始化和APM32作为主机如何发送数据&#xff0c;OLED的驱动写起来较难本次实验不涉及。由于条件有限本次只能讲主机发送&#xff0c;接收也没有涉及。 硬件原理图 源代码 I2C初始化部分 #ifndef __BSP__IIC_H__ #define __BSP__IIC_…

QT布局详解

ui设计器设计界面很方便&#xff0c;为什么还要手写代码? (1)更好的控制布局 (2)更好的设置qss (3)代码复用 创建水平布局 包含头文件 #include<QHBoxLayout> 创建水平布局QHBoxLayout *pHLay new QHBoxLayout(父窗口指针);//一般填this QPushButton *pBtn1 n…

宏集eXware物联网网关在水务管理系统上的应用

一、前言 水务管理系统涵盖了对城市水网、供水、排水、污水处理等多个环节的监控与管理。随着物联网&#xff08;IoT&#xff09;技术的快速发展&#xff0c;物联网网关逐渐成为水务管理系统中的关键组成部分。 宏集物联网网关以其高效的数据采集、传输和管理功能&#xff0c…

不修改内核镜像的情况下,使用内核模块实现高效监控调度时延

一、背景 在之前的博客 调度时延的观测_csdn 调度时延的观测 杰克崔-CSDN博客 里&#xff0c;我们讲了多种监控调度时延的方法&#xff0c;有依靠系统现有节点来监控&#xff0c;但是依赖系统现有节点做不到每个单词调度时延的监控&#xff0c;也讲了通过修改内核代码&#xf…

在 ASP.NET C# Web API 中实现 Serilog 以增强请求和响应的日志记录

介绍 日志记录是任何 Web 应用程序的关键方面。它有助于调试、性能监控和了解用户交互。在 ASP.NET C# 中&#xff0c;集成 Serilog 作为记录请求和响应&#xff08;包括传入和传出的数据&#xff09;的中间件可以显著提高 Web API 的可观察性和故障排除能力。 在过去的几周里&…

【开源免费】基于Vue和SpringBoot的技术交流分享平台(附论文)

博主说明&#xff1a;本文项目编号 T 053 &#xff0c;文末自助获取源码 \color{red}{T053&#xff0c;文末自助获取源码} T053&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

JVM指令集概览:基础与应用

写在文章开头 在现代软件开发中,Java 语言凭借其“一次编写,到处运行”的理念成为了企业级应用的首选之一。这一理念的背后支撑技术正是 Java 虚拟机(JVM)。JVM 是一个抽象的计算机,它实现了 Java 编程语言的各种特性,并且能够执行编译后的字节码文件。了解 JVM 的工作原…

电子应用设计方案-33:智能AI投影仪系统方案设计

智能 AI 投影仪系统方案设计 一、引言 随着科技的不断进步&#xff0c;投影仪在家庭娱乐、商务办公和教育培训等领域的应用越来越广泛。智能 AI 投影仪作为一种创新的投影设备&#xff0c;结合了人工智能技术&#xff0c;为用户带来更便捷、智能和个性化的使用体验。 二、系统…

基于springboot 的体质测试数据分析及可视化设计LWPPT

技术可行性&#xff1a;技术背景 本企业网站在Windows操作系统中进行开发&#xff0c;并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的&#xff0c;也是当下广泛应用的技术之一。 系统的开发环境和配置都是可以自行安装的&#x…

SQL进阶——C++与SQL进阶实践

在C开发中&#xff0c;SQL数据库的操作是开发者常见的任务之一。虽然前面我们已经介绍了如何在C中通过数据库连接执行基本的SQL查询&#xff0c;但在实际项目中&#xff0c;我们通常需要更加复杂和高效的数据库操作。存储过程与函数的调用、复杂SQL查询的编写、以及动态构造SQL…

Spring Boot日志总结

文章目录 1.我们的日志2.日志的作用3.使用日志对象打印日志4.日志框架介绍5.深入理解门面模式(外观模式)6.日志格式的说明7.日志级别7.1日志级别分类7.2配置文件添加日志级别 8.日志持久化9.日志文件的拆分9.1官方文档9.2IDEA演示文件分割 10.日志格式的配置11.更简单的日志输入…

CSDN设置成黑色背景(谷歌 Edge)

一.谷歌浏览器 浏览器地址输入&#xff1a;Chrome://flags搜索框输入&#xff1a;enable-force-dark将default 改成 enabled&#xff0c;点击重启浏览器 二.Edge浏览器 浏览器地址输入&#xff1a;edge://flags搜索里面输入Auto Dark Mode for Web Contents将default 改成 e…

实现PDF文档加密,访问需要密码

01. 背景 今天下午老板神秘兮兮的来问我&#xff0c;能不能做个文档加密功能&#xff0c;就是那种用户下载打开需要密码才能打开的那种效果。boss都发话了&#xff0c;那必须可以。 需求&#xff1a;将pdf文档经过加密处理&#xff0c;客户下载pdf文档&#xff0c;打开文档需要…

Android内容提供者

一、ContentProvider 实现跨程序共享数据 创建内容提供者&#xff1a;extends ContentProvider类 访问数据 Uri uri Uri.parse("uri路径") 查询数据 ContentResolver resolver context.getContentResolver(); Cursor cur resolver.query(Uri,projection,sel…