BUCK电路,看完这篇我入门了

Buck、Boost、Buck-Boost作为直流开关电源中应用广泛的拓扑结构,属于非隔离的直流变换器。本文将对其中的Buck电路展开详细介绍。

d4d7594bd00b7b8ce0b79c7f9f6f6d08.png

*Buck基础拓扑电路

降压式(Buck)变换器是一种输出电压≤输入电压的非隔离直流变换器。Buck变换器的主电路由开关管Q,二极管D,输出滤波电感L和输出滤波电容C构成。

 

下面,就让我们先通过一个短视频了解Buck电路的工作原理吧!

http://mpvideo.qpic.cn/0bf2amabwaaawmaosxdhlfqvaa6ddmbqagya.f10002.mp4?dis_k=c67208188b0ecdc1d08a97dfcfc0e3d8&dis_t=1667000237&vid=wxv_2090609248064815105&format_id=10002&support_redirect=0&mmversion=false

看完这个视频,有没有对Buck电路拥有初步了解呢?

 

 

接下来将从以下三部分介绍

1. 开关整流器基本原理 

2. 传说中的“伏-秒平衡” 

3. 同步整流死区时间等

 

Part 1 开关整流器基本原理

51aaf1550afa8c42c12c3b6ddb2e9b10.png

 

878352901aa72b86f95fef845a969c11.png

 

导通时间

b9e1335ccb70d61845776162c822655b.png

关断时间

在[0,Ton]期间,开关导通;

在[Ton,Ts]期间,Q截止。

 

设开关管开关周期为Ts,则开关频率fs=1/Ts。导通时间为Ton,关断时间为Toff,则Ts=Ton+Toff。设占空比为D,则D=Ton/Ts。改变占空比D,即改变了导通时间Ton的长短,这种控制方式成为脉冲宽度调制控制方式(Pulse Width Modulation, PWM)。

 

ef89ae46298042e9061358a018dece28.png

134b11f8af2eecb049d7897a6b985b1e.png

Buck电路特征

•  输出电压≤输入电压 

•  输入电流断续

•  输出电流连续 

•  需要输出滤波电感L和输出滤波电容C

 

Part 2 传说中的“伏-秒平衡”

4837ed5f96d23298f0cadf7f9d42da77.png

 

伏秒原则,又称伏秒平衡,是指开关电源稳定工作状态下,加在电感两端的电压乘以导通时间等于关断时刻电感两端电压乘以关断时间,或指在稳态工作的开关电源中电感两端的正伏秒值等于负伏秒值。

 

在一个周期 T 内, 电感电压对时间的积分为 0,称为伏秒平衡原理。正如本文开头视频中指出,任何稳定拓扑中的电感都是传递能量而不消耗能量, 都会满足伏秒平衡原理。

 

Part 3 同步整流死区时间

56cef489212f60e3df44c4e0fe3504c1.png

同步整流是采用极低导通电阻的的MOSFET来取代二极管以降低损耗的技术,大大提高了DCDC的效率。

 

物理特性的极限使二极管的正向电压难以低于0.3V。对MOSFET来说,可以通过选取导通电阻更小的MOSFET来降低导通损耗。

87780324748dbb02b583373c2f37e25b.png

在开关电源系统中,死区时间(Dead Time)是指为了避免两个晶体管开关同时导通而引入的屏蔽时间。

连接的两个晶体管开关通过交互地闭合和关断来决定线圈中电流的增减。为避免两个晶体管同时导通造成不必要的电流浪涌,即需控制电路在开关动作引入死区特性。在死区时间内,需要完成对已导通晶体管的关断和另一晶体管的导通。

2aae60fe5c56978fb1a0a28a604e0b94.png

死区时间

•  设置必要的死区时间以防止短路。

•  死区时间越小,体二极管传导越少。

•  死区时间越小,损耗越小,效率越高。

 

### MyBatis-Plus 实体类继承 `Model` 类遇到的问题及解决方案 当使用 MyBatis-Plus 并尝试让实体类继承自 `com.baomidou.mybatisplus.extension.activerecord.Model<T>` 时,可能会遇到一些问题。如果发现继承无效或无法正常工作,可以考虑以下几个方面来解决问题。 #### 配置依赖版本兼容性 确保项目中的 MyBatis-Plus 版本与其他相关库保持一致且最新。不同版本之间可能存在 API 变更或移除的情况,这可能导致某些特性不再支持。建议查看官方文档确认当前使用的版本是否仍然推荐使用 ActiveRecord 模式[^1]。 #### 正确引入所需模块 为了使 `Model<T>` 能够正常使用,在构建工具(如 Maven 或 Gradle)配置文件中应加入如下依赖: 对于 Maven 用户来说: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>${mybatis.plus.version}</version> </dependency> ``` 而对于 Gradle 用户,则应在 build.gradle 文件内添加: ```groovy implementation 'com.baomidou:mybatis-plus-extension:${mybatis.plus.version}' ``` 这里 `${mybatis.plus.version}` 应替换为你实际使用的具体版本号[^4]。 #### 修改实体类定义方式 除了简单地继承 `Model<User>` 外,还需要注意以下几点以确保正确实现: - 使用 `@TableName` 注解指定表名; - 定义字段并提供相应的 Getter 和 Setter 方法; - 如果有主键生成策略或其他特殊需求,可以通过相应注解进行设置; 例如修改后的 `User` 实体类可能看起来像这样: ```java import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @TableName("user") public class User extends Model<User> { @TableId(value="id", type= IdType.AUTO) private Long id; @TableField("name") private String name; @TableField("age") private Integer age; @TableField("email") private String email; // Getters and Setters... } ``` 通过上述调整后再次运行程序测试效果如何。另外值得注意的是,虽然早期版本确实存在过此类问题,但在较新的发行版里已经得到了修复和支持改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值