Buck变换电路

news2024/11/27 0:33:40

Buck变换电路
Buck变换电路是最基本的DC/DC拓扑电路,属于非隔离型直流变换器,其输出电压小于输入电压。Buck变换电路具有效率高、输出稳定、控制简单和成本低的优点,广泛应用于稳压电源、光伏发电、LED驱动和能量回收系统。

电路原理
Buck变换电路的电路原理如图1-2所示,主电路由串联开关管S、二极管D、电感L和电容C组成。开关管S可以采用GTR、Mosfet或IGBT。当开关管S导通时,二极管D截止,输入电源通过电感L向负载供电,电感L将电能转换为磁能储存;当开关管S关断时,二极管D导通,电感L将磁能转换为电能释放,向负载供电。
Buck变换电路的输入电流是脉动的,会引起对输入电源的电磁干扰,在实际应用中通常要增加输入滤波网络。

图1-2:Buck降压变换电路原理图

Buck变换电路的电源是电压源性质,负载是电流源性质,稳态电压增益为:
M=U_o/U_i =D
其中,D是占空比,表示开关S的导通时间t_on占整个开关周期T_S的比例,取值范围为0~1。因此,Buck变换电路的输出电压U_o始终小于输入电压U_i。
保持开关频率f_S不变,调节占空比D改变开关管S的导通时间t_on,就可以控制输出电压U_o。这种控制方式称为脉冲宽度调制(Pulse Width Modulation,PWM)。
根据电感电流是否连续,Buck变换电路有三种工作模式:连续模式(CCM)、断续模式(DCM)和临界模式(BCM)。连续模式是指在整个开关周期内电感电流i_L>0,断续模式是指开关周期内有一段时间i_L=0。临界模式是二者的边界,只在开关开通的瞬时i_L=0。
电流连续模式的条件为:
I_o>((1-D_c ) T_S)/2L U_o
其中,U_o是输出电压,I_o是输出电流,L是电感值,T_S是开关周期,下标c表示临界值。
因此,Buck变换电路当负载电流较大时工作在电流连续模式,而当负载电流小于临界值时就进入断续模式,电压增益也就不再保持线性关系。

设计计算
设计要求:输入电压U_i=300V,输出电压U_o=60V,输出电流I_o=5A,纹波系数r_V=1%。
设计为连续导通模式工作。选择MOS管作为开关器件,开关频率f_S=10kHz。
(1)计算占空比
D_c=U_o/U_i =60/300=0.2
(2)计算负载电阻
R_L=U_o/I_o =60/25=12 (Ω)
(2)计算电感临界值
L_c=((1-D_c ) R_L)/(2f_S )=((1-0.2)12)/(210^4 )=4.810^(-4) (H)
将实际电感值取为临界值的1.3倍,即:L=6.24
10^(-4) (H)。
(4)根据电压纹波的要求,计算输出电容值
C_o=((1-D) T_S^2)/(8L (∆U_o)⁄U_o )=((1-0.2)*(1/10^4 )2)/(8*6.24*10(-4)0.01)=1.610^(-4) (F)

对Buck变换电路的设计计算,可以编写如下的Matlab程序实现。

% Design and Calculation of Buck Converter

Ui = 300;
Uo = 60;
Io = 5;
ripV = 0.01; % ripple coefficient of voltage
fs = 10e3;

Ts = 1/fs
Dc = Uo/Ui
RL = Uo/Io
Lc = RL/2*(1-Dc)Ts; % 临界值
L = 1.3
Lc % 实际值
Cf = (1-Dc)* Ts^2/(8LfripV)

仿真模型
使用Matlab/Simulink建立Buck变换电路的开环仿真模型。
(1)新建模型:打开Matlab软件,在Simulink模型编辑界面中新建“空白模型”。
(2)添加模块:打开库浏览器,从Simulink、Simscape\Electrical\Specialized Power Systems等标准库中依次选取DC Voltage Source、Mosfet、Diode、Series RLC Branch、Pulse Generator、powerGUI、Scope等模块。
按照设计计算结果设置模块参数。例如,将Pulse Generator的脉冲宽度(周期百分比)设为20,对应于占空比为0.2。
在Matlab不同版本中,标准库的路径可能有改变。用户也可以直接在模型编辑界面中,双击鼠标左键调出“搜索模块”弹窗,输入模块名称,直接选择和添加模块。
(3)搭建模型:按照图1-2所示的电路原理图,连接各模块,搭建Buck变换电路的仿真模型。
(4)信号监测:使用信号标记模块goto、信号分解模块Demux、总线选择模块Bus Select,提取和选择需要观测的信号,作为示波器的输入信号。
(5)接口设置:从Simscape\Electrical\Specialized Power Systems库中选取并添加电力系统的图形化用户接口powerGUI模块,以实现电路图形和状态空间方程的转换。
在powerGUI模块设置中,将求解器(Solver)的仿真类型设为连续型(Continuous),使用来自Simulink的可变步长求解器。
(6)模型设置:选择“模型配置参数”,在求解器中选择仿真算法ode23tb(stiff/TR-BDF2),仿真时间为0.02s。
按照以上步骤,建立Buck变换电路的开环仿真模型(Buck01.slx),如图1-3所示。

在这里插入图片描述

图1-3:Buck变换电路的开环仿真模型

仿真结果
运行Buck变换电路的仿真模型(Buck01.slx),在示波器模块可以观察所监测信号的仿真波形,如图1-4所示。
子图(1)的上图比较输出电压的设计参考值和测量值,下图是输出电流波形。稳态输出电压约为59.0V,低于设计值60V约1.7%,这是由于半导体器件的压降损耗。启动过程输出电压的超调量很大,说明开环控制扰动抑制能力较差。子图(2)依次显示了Mosfet门极触发脉冲U_g、电感电流I_L、Mosfet电流I_mos和二极管电流I_D的波形曲线。电感电流连续,表明处于电流连续模式,与理论分析结果一致。

图1-4:Buck变换电路的开环仿真结果

闭环控制
开环控制要求输入电压、负载恒定且无外界干扰才能达到稳定状态。但在实际应用中,输入电压和负载通常在一定范围内变化,开环系统受到扰动后就会偏离稳态工作点。为了稳定、精准地将输出电压控制到给定值,需要设计恰当的反馈控制器进行闭环控制。本例中以输出电压作为被控变量进行反馈控制,使用比例积分控制器(PI controller)。
建立Buck变换电路的闭环仿真模型(Buck03CL.slx),如图1-5所示。本例中使用阶跃信号模块Step产生阶跃变化的输出电压给定值。

图1-5:Buck变换电路的闭环仿真模型

Buck变换电路的闭环仿真结果如图1-6所示。子图(1)的上图比较输出电压的设计参考值和测量值,下图是输出电流波形,子图(2)是主要电压电流的波形。设定值V_set阶跃变化时,测量值V_o也随之改变并收敛到设定值,超调量很小降低了对器件的冲击。输出电压的稳态值为59.6V,误差仅为0.7%,优于开环控制结果。

图1-6:Buck变换电路的闭环仿真结果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Noisy Student(CVPR 2020)论文解读

paper:Self-training with Noisy Student improves ImageNet classification official implementation:https://github.com/google-research/noisystudent 本文的创新点 本文提出了一种新的半监督方法Noisy Student Training,主要包括三步…

每日一题 — 串联所有单词的子串

30. 串联所有单词的子串 - 力扣(LeetCode) 思路:因为words里面的每一个字符串的长度都是固定的,所以可以将题转换成字符在字符串中的所有异位词 设出哈希表定义left和right进窗口维护count判断出窗口维护count 代码: …

Langchain入门到实战-第三弹

Langchain入门到实战 Langchain中RAG入门官网地址Langchain概述代码演示调用RAG功能更新计划 Langchain中RAG入门 Retrieval Augmented Generation 翻译成中文是“检索增强生成” 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息…

算法打卡day35

今日任务: 1)343. 整数拆分 2)96.不同的二叉搜索树 3)复习day11 343. 整数拆分 题目链接:343. 整数拆分 - 力扣(LeetCode) 给定一个正整数 n,将其拆分为至少两个正整数的和&#xf…

Vue3 + Element-Plus 使用 Table 插槽时数据未及时更新

Vue3 Element-Plus 使用 Table 插槽时数据未及时更新 问题重现解决方法最终效果 问题重现 这里我已经通过二级分类 id 查询到一级分类和二级分类&#xff0c;但是使用插槽和 v-for 渲染出来还是之前的分类 id&#xff0c;但是一点击表格或者保存代码他又能正常刷新出来。 <…

算法设计与分析实验报告c++实现(矩阵链相乘、投资问题、完全背包问题、数字三角形、最小生成树、背包问题)

一、实验目的 1&#xff0e;加深学生对分治法算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用动态…

1.2MHz,固定频率白光LED驱动器

一、产品概述 TX6216是一款升压转换器&#xff0c;设计用于通过单节锂离子电池驱动多达7个串联的白光LED。 TX6216采用电流模式&#xff0c;固定频率架构来调节LED电流&#xff0c;LED电流通过外部电流检测电阻测量。其低104mV反馈电压可降低功率损耗并提高效率。 TX6216具有…

笔试题1 -- 吃掉字符串中相邻的相同字符(点击消除_牛客网)

吃掉字符串中相邻的相同字符 文章目录 吃掉字符串中相邻的相同字符题目重现解法一&#xff1a;(基于 erase() 函数实现)解法二&#xff1a;&#xff08;利用 栈 辅助实现&#xff09;总结 题目链接&#xff1a; 点击消除_牛客网 题目重现 牛牛拿到了一个字符串。 他每次“点击…

JMeter控制器数据库获取一组数据后遍历输出

目录 1、测试计划中添加Mysql Jar包 2、添加线程组 3、添加 jdbc connection configuration 4、添加JDBC Request&#xff0c;从数据库中获取数据 5.获取数据列表&#xff0c;提取所有goodsName信息 6.通过添加控制器遍历一组数据 6.1 方式一&#xff1a;循环控制器方式 …

Vue3从入门到实战:深度掌握通信插槽slot

slot_默认插槽的概念&#xff1a; 在Vue中&#xff0c;插槽&#xff08;slot&#xff09;是一种用于在组件中插入内容的特殊技术。默认插槽是其中一种类型的插槽&#xff0c;它允许你在组件的模板中指定一个位置&#xff0c;以便在使用组件时插入自定义的内容。 想象一下你有…

Linux中安装seata

Linux中安装seata 一、准备1、环境2、下载3、上传到服务器4、解压 二、配置1、备份配置文件2、导入sql3、修改配置前4、修改配置后5、在nacos中配置 三、使用1、启动2、关闭 一、准备 1、环境 因为要在 nacos 中配置&#xff0c;要求安装并启动 nacos 。可以参考这篇博客。 …

【十一】MyBatis Plus 原理分析

MyBatis Plus 原理分析 摘要 Java EE开发中必不可少ORM框架&#xff0c;目前行业里最流行的orm框架非Mybatis莫属了&#xff0c;而Mybatis框架本身没有提供api实现&#xff0c;所以市面上推出了Mybatis plus系列框架&#xff0c;plus版是mybatis增强工具&#xff0c;用于简化My…

【JAVA基础篇教学】第十二篇:Java中多线程编程

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第十二篇&#xff1a;Java中多线程编程。 多线程编程是利用多个线程同时执行任务来提高程序的效率和性能。在 Java 中&#xff0c;多线程编程可以通过继承 Thread 类或实现 Runnable 接口来实现。下面是一个简单的多线程…

IntelliJ IDEA2024 安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 IDEA&#xff08;Integrated Development Environment for Apache&#xff09; 是一款专为 Apache 开发者设计的集成开发环境。该软件提供了丰富的功能和工具&#xff0c;帮助开发者更高效地创建、调试和部署 Apache 项目。 主…

自定义类型: 结构体 (详解)

本文索引 一. 结构体类型的声明1. 结构体的声明和初始化2. 结构体的特殊声明3. 结构体的自引用 二. 结构体内存对齐1. 对齐规则2. 为啥存在对齐?3. 修改默认对齐值 三. 结构体传参四. 结构体实现位段1. 什么是位段?2. 位段的内存分配3. 位段的应用4. 位段的注意事项 ​ 前言:…

计算机系列之操作系统的系统

2、大话操作系统的启动 当按下开机键时&#xff0c;BIOS 就会开始执行 ​ BIOS 就是放在主板上 ROM 里面的一段程序。 ​ ROM Read Only Memory&#xff08;只能读取的内存&#xff09; ​ 所以 BIOS 在出厂的时候就可以直接写死在 ROM 里面。 ​ 每次开机的时候&#xff…

JavaScript 高性能编程 —— 加载和运行

JavaScript 在浏览器中的性能,可认为是开发者所要面对的最重要的可用性问题。此问题因 JavaScript 的阻塞特征而复杂,也就是说,当 JavaScript 运行时其他的事情不能被浏览器处理。 事实上,大多数浏览 器使用单进程处理 UI 更新和 JavaScript 运行等多个任务,而同一时间只能…

Python --- 在python中安装NumPy,SciPy和Matplotlib(Windows平台)

在python中安装NumPy&#xff0c;SciPy和Matplotlib(Windows平台) NumPy NumPy是Python的一个最常用最基本的扩展程序库之一&#xff0c;主要用于矩阵运算或数组计算。很多其他的python库都要依赖于NumPy才能跑。 NumPy的发展史&#xff1a; Matrix-sig 1995年&#xff0c;特殊…

设定延迟任务和定时任务并优化定时任务

一丶设定延时任务 1.设定延迟任务要求如下 ①在系统中建立easylee用户&#xff0c;设定其密码为easylee ②延迟任务由root用户建立 ③要求在5小时后备份系统中的用户信息文件到/backup中 ④确保延迟任务是使用非交互模式建立 ⑤确保系统中只有root用户和easylee用户可以执…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件Check Box的使用及说明 文章编号&#xff1a;…