Buck变换电路

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变换电路的闭环仿真结果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

bestvike --bvframe学习

ref title fetch后台api 分页属性,pagination 要差几条?pagelimit 在api中写一个饭方法,vue中用用他 vue.cinfig.js中配置别名 nacos微服务 实体类要继承basedata(封装了公共数据) 控制器autowired,getm…

【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符

读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 Java常量自动类型转换Java修饰符 Java常量 常量在程序运行时是不能被修改的。 在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似: final double PI 3.1415927;自动类型转换…

大数据平台搭建2024(一)

一:基础配置 创建虚拟机并查出ip地址进行连接 ip a1.配置node01静态ip地址与主机名 vi /etc/sysconfig/network-scripts/ifcfg-ens33修改或添加如下内容: BOOTPROTO"static" ONBOOTyes #根据虚拟机网卡信息配置 IPADDR192.168.200.141 NET…

ENVI实战—一文学会使用GLT配准工具对风云数据进行几何校正

实验2:学会使用GLT配准工具 目的:完成气象卫星数据的校正,掌握利用GLT配准工具实验地理配准的方法 过程: ①读取影像:选择“文件”,选择“HS5”文件并打开,在弹出的科学数据集浏览器中&#x…

秘塔和Kimi AI在资料查询和学习中的使用对比

一、引言 最近老猿在网上查资料时,基本上都使用Kimi AI进行查询,发现其查询资料后总结到位,知识点的准确度较高。今天早上收到一个消息,说新推出的秘塔AI比Kimi更新进,老猿利用在学习的《统计知识学习》简单对比试用了…

JS算法题:找到数组中第 k 大的元素

问题描述: 给定一个未排序的整数数组,找到其中第 k 大的元素。注意,你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 举个例子: 如果给定数组是 [3,2,1,5,6,4],k 是 2,那么第 2 大的元素…

每日OJ题_BFS解决FloodFill①_力扣733. 图像渲染

目录 BFS解决FloodFill简介 力扣733. 图像渲染 解析代码 BFS解决FloodFill简介 FloodeFill算法即填充算法,中文:洪水灌溉,算法原理就是从一个点开始向四周扩散,向周围可以走到的点填充颜色,直到将可扩散到的点全部填…

(踩坑)Please refer to 异常和Error creating bean with name 异常

一、Please refer to 异常 如图所示,在使用maven构建项目的时候,如果提示该错误,则可能是xml配置文件有问题或者测试类等。但是没有明确的异常信息,所以做以下小改动,可以查看异常信息。 在IDEA工具中,打…

【C/C++笔试练习】read函数、虚拟存储、用户态、线程特点、缺页处理、调度算法、进程优先级、锁的使用、创建进程、不用加减乘除做加法、三角形

文章目录 C/C笔试练习选择部分(1)read函数(2)虚拟存储(3)用户态(4)线程特点(5)缺页处理(6)调度算法(7)进程优先…

JDK1.8新特性

JDK8新特性 ​ Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 了解Java发展史Lambda表达式…

数字人项目 ER-NeRF 的使用和部署详细教程

文章目录 1. ER-NeRF简介2. ER-NeRF部署3. 训练自己的数字人4. 生成数字人视频5. 其他数字人模型比较常见错误 1. ER-NeRF简介 ER-NeRF(官方链接)是一个Talking Portrait Synthesis(对嘴型)项目。即:给一段某人说话的…

微信小程序-长按显示,点击空白区域关闭

<view bind:tap"closeLongAction"><view bind:longpress"openAction></view><view wx:if"{{longActionIsShow}}"> 长按显示的区域 </view> </view>openAction(e) {console.log(322,e);this.setData({longActionI…

【解读】《中华人民共和国网络安全法》:所有IT从业者都应知应懂

随着网络的快速发展&#xff0c;当今社会存在的网络安全问题也是接踵而来&#xff1a;网络入侵、网络攻击等非法活动威胁信息安全&#xff1b;非法获取公民信息、侵犯知识产权、损害公民合法利益&#xff1b;宣扬恐怖主义、极端主义&#xff0c;严重危害国家安全和社会公共利益…

IDM2024破解版 IDM软件破解注册序列号 idm教程 idm序列激活永久授权 Internet Download Manager网络下载加速神器

你是不是感觉下载东西资源的时候&#xff0c;下载的非常慢&#xff0c;即便是五十兆的光纤依旧慢、是不是想下载网页上的视频但不知如何进行下载……这些问题是否一直在困扰着您&#xff0c;今日小编特意我大家带来了这款IDM 2024破解版。 众所周知&#xff0c;IDM是一款功能强…

openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置

文章目录 openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置264.1 恢复BIOS出厂设置264.2 修改相关BIOS设置264.3 重启操作系统 openGauss学习笔记-264 openGauss性能调优-TPCC性能调优测试指导-BIOS配置 本章节主要介绍openGauss数据库内核基于鲲鹏服务…

redis五种类型介绍

Redis是一种内存数据存储系统&#xff0c;它支持五种不同的数据类型&#xff1a; 1. String String是Redis中最基本的数据类型&#xff0c;它可以存储任何形式的字符串数据&#xff0c;例如普通的文本字符串&#xff0c;二进制数据或JSON格式的数据。除此之外&#xff0c;还可以…

LD3320语音模块开发以及未来拿到其他模块的开发方式

当我们拿到一块模块进行开发的时候&#xff0c;一定要拿到配套的使用手册&#xff0c;不然在短时间内根本下不了手 一、使用source Insight来阅读源码 1.建立文件夹 2. 在source Insight放入该文件 3.添加源码 4.解决Source Insight乱码的问题 5.让各个代码模块之间有关联 二、…

动态IP代理API是什么?怎么用?

“动态”意味着每次连接或每隔一段时间&#xff0c;用户的IP地址都会发生改变。由于IP地址的不断变化&#xff0c;用户可以避免因频繁访问同一网站而导致的IP被封锁的问题。API叫做应用程序接口&#xff0c;是一种让软件之间相互通信的接口。API允许用户通过编程方式来调用动态…

mPEG-Succinamide Acid能够作为连接分子,将不同的生物分子偶联在一起,从而构建生物偶联物聚乙二醇衍生物

【试剂详情】 英文名称 mPEG-SAA&#xff0c;mPEG-Succinamide Acid&#xff0c; Methoxy PEG SAA 中文名称 聚乙二醇单甲醚酰胺丁二酸 外观性状 由分子量决定&#xff0c;粘性液体或者固体 分子量 400&#xff0c;600&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&…

【Android】Activity task和Instrumentation杂谈

文章目录 activity taskInstrumentation机制参考 Android不仅可以装载众多的系统组件&#xff0c;还可以将它们跨进程组成ActivityTask&#xff0c;这个特性使得每个应用都不是孤立的。 activity task 从数据结构角度看&#xff0c;Task有先后之分&#xff0c;源码实现上采取了…