开关电源基础01:电源变换器基础(1)-关于缘起

news2024/11/25 20:15:39

说在开头

我相信各位胖友们通过对《阻容感基础》,《信号完整性基础》以及《半导体器件基础》艰苦卓绝地钻研,已为 “硬功夫” 这门绝世武功,打下了坚实的入门基础,入门之日简直就是指日可待(我xxx,都半年了,还没入门哪~)。接下来我们要对这三门基础知识活学活用,逐渐偏向于实际电路应用。下面开始正题。

如果有人问我单板硬件中哪个模块设计最重要?我正要回答,他又补充了一句:没有之一哦。既然这样,那我就要回答的严谨一点:在我看来,对于一般硬件电路设计来说电源系统是单板上最重要的系统/模块,没有之一。正如《电源完整性基础》专题中所说,电源系统好比是人的心血管系统或许还得加上呼吸系统。

Sanjaya Maniktala在《精通开关电源设计》这本书中,对开关电源做了一个非常形象的比喻。

想象我们站在一个周五晚高峰的上海高铁站,有成千上万的乘客涌进高铁站要坐高铁到杭州,当然所有乘客不能同时挤上一趟高铁,而是每隔30分钟一趟分流运送。开关电源与运输系统非常类似,差别在于运送的是能量而非人:用一个开关把这些能量截成一个个的能量包,然后通过储能元件(电感器、电容器)进行传输,从而可以按照要求调整和转换这些能量包,最后再将这些能量包汇合,从输出端得到平稳的能量。

在规定时间内运送一定数量的乘客:一种方法是通过载量更大的大型列车,此时发车间隔时间长一些(例如45分钟);另外一种方法是载量小的小型列车,发车间隔时间短一点(例如15分钟)。小型列车单次的载客量少,所以一次到达目的车站的乘客就少,所以车站容量就可以小一点;因此对于开关电源来说:提升开关频率,目的就是减小能量包的大小,处理能量包的电感器和电容器(相当于车站)就能减小,从而减小电感器和电容器的尺寸

应用这种原理的电源就成为开关电源或开关型功率变换器。

开关DC-DC开关电源是现代高频开关电源的基本组成部分,即:将直流(DC)输入电压Vin转换成更满足我们电路设计要求的直流(DC)输出电压Vo。而AC-DC也称为离线式开关电源,一般在市电环境(AC-220V)下工作,先将交流(AC)输入电压Vac整流成直流电压(称为HVDC母线或高压直流母线),再作为后级DC-DC电压变换的输入。

当输入电压Vin或则输出负载电流Io变化时,开关电源需保持稳定的直流输出电压,这对开关电源来说是非常重要的。因此功率变换器都有一个控制电路(反馈环路)来持续监视输出电压的大小,并将它与内部基准参考电压做比较:如果输出电压偏离设定值,那么控制电路将会自动调整能量包的大小,这一过程称为输出调整。外加输入电压Vin在其工作范围内(Vinmax~Vinmin)变化时,保持输出电压稳定的过程称为电网调整;而Io在工作范围(Iomin~Iomax)内变化时,保持输出电压稳定的过程称为负载调整。电源的输出调整率也非常重要,在外部扰动下快速调整的性能称为环路响应,其一般是负载阶跃响应和电网暂态响应的叠加。

接下来《开关电源基础》专题将以《精通开关电源设计》作为蓝本,进行开关电源的技术分享。

  • 电源变换器的历史

电源是设备系统中各器件的能量供给者,而电源变换器是为了适应不同器件工作电压需求的电源电压变换系统,即Vin输入Vout输出;同样的对于能量功耗来说:Pin(Vin*Iin)输入Po(Vo*Io)输出。理想情况下我们希望Pin = Po:电源电压在转换过程中没有任何的损耗。但现实世界往往并不能如人意,在电源电压转换过程中必然会有一部分能量损耗掉:Ploss = Pin – Po。这就出现了电源的转换效率:η = Po/Pin,如果以转换效率来定义损耗的能量Ploss = Pin*(1-η)。

能量损耗除了造成无谓浪费外,它还会给我们带来了什么呢?我们来看热力学第一定律:能量守恒定律(爱因斯坦的质能方程将其推广到:质能守恒定律);电源能量在电源电压变换过程中损耗掉一部分,那必然以其它方式呈现出来:热能。所以消耗掉的能量表现为设备温度的升高(相对环境的温升ΔT),而温度的升高必然会影响整个系统的可靠性。

——一般情况下:每10℃温升,会使系统失效率加倍

所以对于电源变换器来说要尽量做到:更高的转换效率。而对于设备系统来说要尽量做:到更高的能效比

——提升能效比,无论是对设备本身可靠性还是节能减排方面来说,都是非常有益的。

1,线性调整器(LDO:低压差线性调整器)

线性调整器又称为串联型调整器(下面统一用LDO来指代),通过输入和输出之间串联一个晶体管来实现电压变换的功能。此时该串联的晶体管(BJT)工作于放大区(如下右图所示,具体原理参考:《三极管基础》相关章节),起可变电阻的作用,即确定输入电压Vin和输出电压Vo后,其压差Vdrop = Vin – Vo消耗在晶体管(BJT)上,结构如下图所示。所以我们可以看到LDO的几个明显特点:

——LDO输出电压Vo由于输入电压(Vin)升高或负载电流(Io)减小而升高时:晶体管(NPN)基极电压下降,等效电阻阻值(RCE)增加,输出电压Vo降低,从而保持采样电压等于参考电压

1. LDO的电源变换效率η比较低,其效率取决于输入/输出电压的大小:η = Vo/Vin;在相同输入电压下,输出电压越小,电源变换效率越低;

——LDO的输入功率Pin=Vin*Iin,输出功率Po = Vo*Io;而晶体管(BJT)是串在电源电路上的,根据基尔霍夫第一定律(电流定律)Iin = Io;所以η = Po/Pin = (Vo*Io)/(Vin*Iin) = Vo/Vin;举个栗子, 5V输入2.5V输出,那么此时LDO的效率是50%;由线性调整器的结构所决定,没有办法改变

2. LDO效率低,其消耗的能量由变换器本身进行耗散,而LDO本身的封装散热能力有限,所以其输出电流一般不大(<5A,远低于开关电源);

——这主要取决于两方面:1,LDO的功率损耗与输出电流成正比,从系统层面考虑,输出电流大那么能量浪费就会很大;2,受限于LDO的本身散热能力;所以一般在硬件设计中也不会应用在电流过大的场合,而且需要计算LDO的温升是否满足设计需求。

3. 如上右图晶体管(BJT)工作在放大区时Vc必然大于Ve,即Vin > Vo,因此LDO在原理上只能是降压型的;

——LDO只能应用于电源降压变换的场景,而不能应用于:升压、反压等。

4. LDO有最小压差的问题,举个栗子:假如某个LDO器件最小压差要求是0.3V,那么当Vin-Vo < 0.3V的情况下是不适用的。

——晶体管(BJT)放大状态下的压差(Vc-Ve)必然会大于其饱和状态下的压差,而晶体管饱和状态的压差不会是0V(具体原理参考:《三极管基础》相关章节),所以LDO的压差是有最小要求的。

5. LDO最大的优点是:“安静”,它不会引入噪声,也没有EMI的问题;而开关电源最大缺点之一便是:EMI问题。

2,开关调整器

根据柏拉图的“理念论”,我们总是要 摹仿“理念世界”中完美的电源变换器,使得电源转换效率不断趋于100%这一完美指标。而如上一节所述,LDO的功耗很大一部分消耗在晶体管的“放大区”,那是否能让晶体管的“饱和区”呢?

但饱和区的晶体管Vce压差基本保持不变,如果还是保持线性调整的模式,时不可能完成电源电压的随意变换;那么用“开关”的方式呢?

好办法!器件电源需要能量时将“开关”打开,能量从输入端--->输出端,如果不需要时就将“开关”关闭,就不会有能量传输到输出端;但这样又有一个问题:此时输出的是一个方波,而并非是稳定的电压。所以这时需要一个储能元件(桶):电容器,用于平滑输出电源电压,并在开关管关断时向负载提供能量。如下图所示。

——打个比方(“比方”不要怕,我一般擅长举“栗子”):将这个储能元件看成是一个水桶,有一根粗水管(Vin)给桶送水,一根细水管(Vo)在放水;但是粗水管一会“放水”一会“关水”,而细水管则一直在放水;例如水桶里的水低于0.9m高度时就触发粗水管“放水”,水桶里的水高于1.1m高度时就触发粗水管“关水”;这样就能保证水桶里的水面高度维持0.9m~1.1m之间,保持一定的稳定性,起到了平滑水面的作用。

——好,还是看成电压的话,就是当输出电压Vo低于某一阈值,开关管导通从Vin电源充满输出电容器并向负载供电,当输出电压Vo高于某一阈值时,则关断开关管。

此时晶体管是作为“开关”使用的,主要有两种工作状态:闭合导通(完全导通)和打开关断(完全关断);所以在理想情况下:开关导通时晶体管压降为0,开关断开时导通电流为0;所以每种状态下P = V*I = 0,即开关管的损耗为0。但事实并非如理想,如下情况都会导致晶体管产生额外的损耗:

1. 晶体管在导通阶段工作在饱和区:属于完全导通状态,Ice很大,此时的压降Vce≠0;

2. 晶体管在关断阶段工作在截止区:属于完全截止状态,Vce = Vin,但存在漏电流Ice≠0;

3. 晶体管在导通状态与关断状态切换时,不可能瞬间完成:两种状态之间存在过渡状态,即开关管压降和电流都不为0的阶段,此阶段P = V*I ≠ 0。

如上图所示,在直流储桶式调整器中,晶体管与电容器之间串联了一个电阻器R(小阻值),那为什么要串联一个电阻器呢?明眼人一看:这样不是减小了电源变换效率么?

我们在电容器章节(具体原理参考:《电容器原理》章节)已经知道了电容器两端电压不能突变,那么当在电容器两端加一个电压源时,必然会产生一个非常非常大的浪涌电流,这个电流不仅会影响电容器本身的寿命,还会影响晶体管的寿命,所以必须在晶体管和电容器之间串联一个电阻,用于限制晶体管的开关瞬间电流。

——串联电阻带来了电源变换效率的降低,这只是成功地将晶体管损耗转嫁到了电阻器上,相对于LDO,并没有真正提高效率;如果要想提升电源转换效率,只能去掉串联电阻R

那是否有其它器件既能防止电容器浪涌电流,又不会消耗电源功耗呢?

我们琢磨一下关键信息:要能防止电流突变,而且又不是耗能元件;基本电路元件就那么四个:阻、容、感、忆阻器(具体参考《从宇宙起源到阻容感》章节)。只有电感器符合啊,不!简直就是为这个位置量身定制的呀:电感器本身(电感)并不消耗能量,而是将输入的电能转换成磁能储存起来(具体参考:《电感器原理》章节),需要的时候又会释放出来。

如之前阻容感基础中所述,电容器储存的是静电能:P =1/2 * C* V²;电感器储存的是磁能:P = 1/2 * L* I²。如下图所示,这种结构除了能提升效率之外,在电源变换原理上能否行的通呢?对于LDO的结构来说,输出电容并非必须:因为晶体管已经完全将过剩电压消耗掉;而对于开关调整器来说,其工作方式必须符合开关功率转换逻辑:

1. 用开关管(BJT/MOS)来建立输出电压控制,实现电压调整;

——如上所述,开关管的损耗为两端电压VCE和通过其的电流I乘积:P = VCE*I,如果VCEI0(或很小),那么损耗就为0(或很小);通过不断的ON/OFF两种开关状态的切换,就能降低功耗,同时可以通过控制导通时间和关断时间的比例,就能调整平均能量包的大小来调整输出

2. 每次开关动作都会断开输入和输出,但此时输出负载的能量必须保持连续,因此需要在变换器的输出位置引入储能元件:电容器;

——在输出端增加电容器,以保证在输入输出电源断开时保持稳定的负载电压

3. 但是一旦引入电容器,就需要限制流过电容器的浪涌电流,因为这不仅导致噪声和电磁干扰,而且还会导致电源转换效率的降低;

——如上所述,这是所有电容器的特性,所有直接接入直流电源的电容都会遭到不可控的浪涌电流,直流储桶式调整器就是简单的用串联电阻器R来抑制浪涌电流

4. 为了最大限度的提升电源转换效率,变换过程中的电阻器改为电感器(电抗元件),从原理来说电感器不仅能够储能,而且不消耗任何能量;

——电阻器始终都是耗能器件,在开关管上节省下来的损耗可能会被电阻器上增加的损耗所抵消,导致得不偿失;所以电感器和电容器的组合成为了最终的选择,而且电感器的无损限流能力正好抑制电容器的浪涌电流

5. 如上图所示,拓扑中将电阻器改为电感器外,还增加了一个“神秘”的二极管,这个二极管称为:续流二极管、逆向电压保护二极管、换流二极管等;使用该二极管源于电感器的自身特性:流过电感器电流不能突变。

——开关管在导通/关断切换过程中,流过电感器的电流不能突变,如果在开关管关断时(从开关管处提供电流的路径已经切断)没有续流二极管存在,那么电流只能通过开关管和电感中间导体的自由电子提供,将积累起非常高的负电压(浪涌电压),最终击穿开关管或电感器电弧放电

我们一直生活在农耕时代不好么?柏拉图说不好,因为那个完美世界在我们的灵魂深处召唤着我们,去改造这个现实世界。所以我们有了LDO后还想要追求更高的效率,绞尽脑汁创造出直流桶式开关调整器,一看效率好像也没高多少啊,一定得把电阻干掉,那干掉电阻会有电容的浪涌电流,那就再加电感器来抑制;好,电感器能抑制一开始的电流突变,但是关断时电感电流也不能突变哪,会产生浪涌电压!咋整?sigh,再给加一个续流二极管吧。

这下本来不需要电感器这麻烦货的,突然摇身一变就成了开关电源拓扑结构中的主角了。后面的整出来的一系列事情,都是为了搞定电感器带来的问题。

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

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

相关文章

【数据结构】单链表详解

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;数据结构 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&…

阿里云服务器镜像系统怎么选择?超详细教程

阿里云服务器镜像怎么选择&#xff1f;云服务器操作系统镜像分为Linux和Windows两大类&#xff0c;Linux可以选择Alibaba Cloud Linux&#xff0c;Windows可以选择Windows Server 2022数据中心版64位中文版&#xff0c;阿里云百科来详细说下阿里云服务器操作系统有哪些&#xf…

Buf 教程 - 使用 Protobuf 生成 Golang 代码和 Typescript 类型定义

简介 Buf 是一款更高效、开发者友好的 Protobuf API 管理工具&#xff0c;不仅支持代码生成&#xff0c;还支持插件和 Protobuf 格式化。 我们可以使用 Buf 替代原本基于 Protoc 的代码生成流程&#xff0c;一方面可以统一管理团队 Protoc 插件的版本、代码生成配置&#xff…

测试之路,2023年软件测试市场领域有哪些变化?突破走得更远...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试&…

Linux - 第12节 - 网络编程套接字

1.预备知识 1.1.理解源IP地址和目的IP地址 因特网上的每台计算机都有一个唯一的IP地址&#xff0c;如果一台主机上的数据要传输到另一台主机&#xff0c;那么对端主机的IP地址就应该作为该数据传输时的目的IP地址。但仅仅知道目的IP地址是不够的&#xff0c;当对端主机收到该数…

【Java校招面试】基础知识(七)——数据库

目录 前言一、数据库索引二、数据库锁三、数据库事务四、数据库连接池后记 前言 本篇主要介绍数据库的相关内容。 “基础知识”是本专栏的第一个部分&#xff0c;本篇博文是第六篇博文&#xff0c;如有需要&#xff0c;可&#xff1a; 点击这里&#xff0c;返回本专栏的索引文…

Sourcetree介绍及使用

Sourcetree是一个操作简单但功能强大的免费Git客户端管理工具&#xff0c;可应用在Windows和Mac平台。 Sourcetree的安装&#xff1a; 1.从Sourcetree | Free Git GUI for Mac and Windows 下载SourceTreeSetup-3.4.12.exe&#xff1b; 2.双击SourceTreeSetup-3.4.12.exe&#…

【C++】动态规划

参考博客&#xff1a;动态规划详解 1. 什么是动态规划 动态规划&#xff08;英语&#xff1a;Dynamic programming&#xff0c;简称 DP&#xff09;&#xff0c;是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的&#xff0c;通过把原问题分解为相对简单的子问…

Linux LED 驱动开发实验

1、LED 灯驱动原理 Linux 下的任何外设驱动&#xff0c;最终都是要配置相应的硬件寄存器。LED 灯驱动最 终也是对 I.MX6ULL 的 IO 口进行配置&#xff0c;在 Linux 下编写驱动要符合 Linux 的驱动框架。I.MX6U-ALPHA 开发板上的 LED 连接到 I.MX6ULL 的 GPIO1_IO03 这个引脚上&…

Day963.如何拆分数据 -遗留系统现代化实战

如何拆分数据 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于如何拆分数据的内容。 如何拆分数据&#xff0c;这个场景在建设新老城区&#xff0c;甚至与其他城市&#xff08;外部系统&#xff09;交互时都非常重要。 作为开发人员&#xff0c;理想中的业务数据存…

C++《vector类的使用介绍》

本文主要介绍vector一些常见的接口函数的使用 文章目录 一、vector的介绍二、vector的使用2.1vector构造函数2.2迭代器的使用2.3空间增长问题2.4增删查改问题 一、vector的介绍 vector是表示可变大小数组的序列容器。就像数组一样&#xff0c;vector也采用的连续存储空间来存储…

比赛记录:Codeforces Round 871 (Div. 4) A~H

传送门:CF A题:A. Love Story 简单比对一下即可解决 #include <bits/stdc.h> using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt<<1 #define rs rt<<1|1 #define lson l,mid,rt<<1 #define rson mid1,r,rt<<1|1 …

模拟银行账户转账业务

文章目录 一、需求分析二、核心代码1. 业务层添加 Spring 事务管理2. 配置类中设置事务管理器3. 开启注解式事务驱动 三、相关截图 一、需求分析 需求&#xff1a; 实现任意两个账户间转账操作&#xff0c;要求当转账过程出现异常时&#xff0c;转账方与被转账方的转账操作同时…

操作系统笔记--CPU调度

1--基本概念 CPU调度&#xff1a; 从进程的就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程&#xff1b; 在下图中&#xff0c;进程产生状态转换时&#xff08;运行→结束、运行→等待&#xff0c;等等&#xff09;都会发生相应的CPU调度&#xff1b; 内核运行调…

2023/5/7周报

目录 摘要 论文阅读 1、标题和现存问题 2、循环神经网络和传统 LSTM 3、堆叠 LSTM和论文模型结构 4、实验准备 5、结果分析 深度学习 1、TGCN 2、公式 3、伪代码 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇基于注意力机制的堆叠LSTM心电预测算法的论文。模…

1 Python数据分析概况

1 Python数据分析概况 1.1 认识数据分析1.2 熟悉Python数据分析的工具Python数据分析常用类库 1.3 Jupyter Notebook 快捷键 1.1 认识数据分析 数据分析是指用适当的分析方法对收集来的大量数据进行分析&#xff0c;提取有用信息和形成结论&#xff0c;对数据加以详细研究和概…

C语言刷题(1)----指针数组

下面指针选题来源于教材、牛客网。 1.键盘输入一个字符串&#xff0c;编写代码获取字符串的长度并输出&#xff0c;要求使用字符指针实现。 示例&#xff1a; 输入&#xff1a; helloworld 返回值&#xff1a; 10 代码实现 #include<stdio.h> int main (void) {char st…

117-Linux_数据库_事务

事务 一.什么是事务?二.事务的四大特性1.原子性(atomicity)2.一致性(consistency)3.隔离性(isolation)4.持久性(durability) 三.隔离级别1.READ UNCOMMITTED 未提交读2.READ COMMITTED 提交读3.REPEATABLE READ 可重复读4.SERIALIZABLE 可串行化5.查看隔离级别(1)查看当前会话…

HTML5 FormData 方法介绍

XMLHttpRequest 是一个浏览器接口&#xff0c;通过它&#xff0c;我们可以使得 Javascript 进行 HTTP (S) 通信。XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式。2008年 2 月&#xff0c;XMLHttpRequest Level 2 草案提出来了&#xff0c;相对于上一代&#…

MySQL之约束讲解

1. 主键约束 主键约束要求列的数据唯一&#xff0c;并且不能为空。 主键能够唯一地标识表中的一条记录。 主键和记录之间的关系如同身份证和人之间的关系&#xff0c;它们之间是一一对应的。 1.1 单字段主键 直接在定义列的时候指定主键即可。 create table temp1( num int …