jjzjj

【开关电源四】电源拓扑之Cuk、Sepic、Zeta

highman110 2023-08-25 原文
👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容

​​​​​​​目录

        1 Cuk变换器

        1.1 Cuk电路工作原理

        1.2 Cuk电路输入输出关系推导

        2 Sepic变换器

        2.1 Sepic电路工作原理

        2.2 Sepic电路输入输出关系推导

        3 Zeta变换器

        3.1 Zeta电路工作原理

        3.2 zeta电路输入输出关系推导


     

        开关电源系列第一篇分享了buck、boost、buck-boost三种非隔离DCDC拓扑的工作原理,今天再分享另外三款非隔离DCDC拓扑:Cuk、Sepic、Zeta,这三种结构比前面三种略微复杂,应用不是特别广泛。

        1 Cuk变换器

        Cuk变换器是由美国加州理工学院SlobodanCuk提出的对Buck/Boost进行改进的单管非隔离直流变换器,在输入输出段均有电感,可以显著减小输入和输出电流的纹波,输出电压的极性和输入电压相反,输出电压既可以低于也可以高于输入电压。Cuk变换器可看做是Boost变换器和Buck变换器串联而成,合并了开关管。基本拓扑如下图所示:

        电路中主要元器件包括耦合电容C1、开关管S、boost电感L,buck电感L1、续流二极管VD、滤波电容C1。

        1.1 Cuk电路工作原理

        在开关导通阶段,输入电压经过电感L、开关S到地,电感L充能。而右侧由于电容C1在上一周期开关关断时充了能,在本周期开关导通时将能量释放,此时二极管VD​截止,这时相当于是电容充当电源放能,给电感L1充能,右侧的电流路径为电感L1→电容C1→开关S→负载。如下图左所示。

        在开关断开阶段,在左侧,电源Ui和电感L的感应电动势之和给电容C1充能,电流方向为电源→电感L→电容C1→二极管VD。在右侧,电感L1放能,电流经二极管VD续流,电流方向为电感L1→二极管VD→负载。如下图右所示。

        1.2 Cuk电路输入输出关系推导

        从以上原理分析可知,Cuk电路在开关导通时,电感L、L1充能,C1放能;在开关关断时,电感L、L1放能,C1充能,电容C1起到能量耦合传递的作用。可以知道,两个电感在开关导通和开关关断阶段的电流变化量是相等的,于是,针对左侧电感L而言:

        即:

        针对右侧电感L1而言:

        即:

        联立这两个等式,消去Vc1,可得:

        此输入输出关系和我们前面分析的升降压电路一样。但此电路结构比buck-boost更复杂,相对来说应用较少。

        2 Sepic变换器

        SEPIC(single ended primary inductor converter) 是一种允许输出电压大于、小于或者等于输入电压的DCDC变换器。输出电压由主控开关(三极管或MOS管)的占空比控制。

        这种电路最大的好处是输入输出同极性。尤其适合于电池供电的应用场合,允许电池电压高于或者小于所需要的输入电压。比如一块锂电池的电压为3V~4.2V,如果负载需要3.3V,那么SEPIC电路可以实现这种转换。

        基本拓扑如下图所示,可以看做是左侧的升压电路经电容C1耦合到右侧的升降压电路然后输出。

        2.1 Sepic电路工作原理

        如下图左,当开关管导通的时候,输入的电压对电感充电L,形成的回路是:电源正极→电感L→电源负极。电容C1在上一周期开关关闭时充了能,在本周期开关导通时要将这部分能量释放,C1将给电感L1充能,此时二极管VD截止,输出电压由电容C维持;

        如下图右,当开关管关断时,输入的能量和电感能量一起向输出提供能量,形成的回路是:输入Vi→电感L→电容C1→二极管D→负载R,电感L1也形成感应电动势,通过二极管VD续流,形成的回路是:电感L1→二极管D→负载R。

        2.2 Sepic电路输入输出关系推导

        从以上原理分析可知,Sepic电路在开关导通时,电感L、L1充能,C1放能;在开关关断时,电感L、L1放能,C1充能,电容C1起到能量耦合传递的作用。可以知道,两个电感在开关导通和开关关断阶段的电流变化量是相等的,于是,针对左侧电感L而言:

        即:

        针对右侧电感L1而言:

        即:

        联立这两个等式,消去Vc1,可得:

        3 Zeta变换器

        Zeta变换器可看做是buck-boost电路和buck电路级联而成。基本拓扑如下图所示:

        3.1 Zeta电路工作原理

        如下图左,当开关管导通时,输入的电压对电感L充电,同时电容C1要释放上周期开关截止时充的能量,给电感L1充电,这时由于二极管上方电位较高,二极管截止,形成了两条回路:输入Vi→开关管S→电感L,输入Vi→开关管S→电容C1→电感L1→负载;

        如下图右,当开关管关断时,电感L生成下正上负的感应电动势,经过续流二极管VD给电容C1充能,电流回路为:电感L→二极管VD→电容C1。另外,电感L1也生成感应电动势给负载供电,电流回路为:电感L1→负载R→二极管VD。

        3.2 zeta电路输入输出关系推导

        从以上原理分析可知,zeta电路在开关导通时,电感L、L1充能,C1放能;在开关关断时,电感L、L1放能,C1充能,电容C1起到能量耦合传递的作用。可以知道,两个电感在开关导通和开关关断阶段的电流变化量是相等的,于是,针对左侧电感L而言:

        即:

        针对右侧电感L1而言:

        即:

        联立这两个等式,消去Vc1,可得:

      可以看出Zeta电路的输入输出关系与Sepic电路完全一样。从这三种电路的输出表达是来看,三种电路均应避免占空比接近1,且这三种电路均不应输出空载,否则会产生很高的电压损坏器件。

有关【开关电源四】电源拓扑之Cuk、Sepic、Zeta的更多相关文章

  1. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  2. ruby - ruby 命令行开关 -rubygems & -r 不兼容吗? - 2

    我最近将一个ruby​​库转换为一个gem,这似乎破坏了命令行的可用性作为图书馆工作得很好$ruby-rfoobar-e'pFooBar.question'#=>"answer"作为一个gem,irb知道如何从命令行开关中请求一个gem$irb-rubygems-rfoobarirb(main):001:0>FooBar.question#=>"answer"但对于ruby​​本身来说同样失败了:$ruby-rubygems-rfoobar-e'pFooBar.question'ruby:nosuchfiletoload--foobar(LoadError)我现在必须这样做吗,这看起来

  3. 第1部分 实验拓扑、终端服务器 - 2

    目录1.1访问Cisco路由器的方法1.1.1通过Console口访问路由器1.1.2通过Telnet访问路由器1.1.3终端访问服务器1.2终端访问服务器配置命令汇总1.1访问Cisco路由器的方法    路由器没有键盘和鼠标,要初始化路由器需要把计算机的串口和路由器的Console口进行连接。访问Cisco路由器的方法还有Telnet、WebBrowser和网络管理软件(如CiscoWorks)等,本节讨论前2种。1.1.1通过Console口访问路由器    计算机的串口和路由器的Console口是通过反转线(Rollover)进行连接的,反转线的一端接在路由器的Console口上,另一

  4. ruby - bundle exec rspec spec/=> RUBYOPT : -F (RuntimeError) 中的无效开关 - 2

    当我在Windows764位系统上运行bundleexecrspecspec/时,我收到以下错误:invalidswitchinRUBYOPT:-F(RuntimeError)我正在运行ruby​​1.9.2p136(2010-12-25)[i386-mingw32](安装在c:\ProgramFiles(x86)\Ruby192)和bundler1.0.15(作为ruby​​gem安装).关于如何解决这个问题的任何线索?谢谢,本 最佳答案 Bundler不喜欢Ruby的路径包含空格这一事实。为了解决这个问题,我编辑了runtime

  5. ruby-on-rails - Ruby on Rails 案例/开关。如何匹配对象? - 2

    我正在开发ruby​​onrails应用程序。对于sessionController,我想用一个案例来检查用户的帐户是否被锁定或禁止。我正在尝试使用类的对象作为案例,并使用when来检查属性。例如,user=Profile.find(1)caseuserwhenuser.banredirect_to()whenuser.lockredirect_to()elseredirect_to()end唯一的问题是它不起作用。这是什么工作:caseuser.banwhentrueredirect_to()elseredirect_to()end关于如何使用开关检查用户对象是否被禁止或锁定,有什么

  6. ruby-on-rails - Ruby 功能开关/功能脚蹼 - 2

    Flickr都给我带来了启发和Disqus使用功能开关。他们都在博客上介绍了他们以及他们在两个开发博客上的工作方式。我只是想知道是否有我缺少的Rubygem,或者是否有人知道在Ruby中执行此操作的方法?如果没有任何东西,我希望自己制作并在野外释放它。但我只是想先在这里问一下,因为我还没有找到任何与Flickr和Disqus所达到的远程相似的东西。 最佳答案 检查rollout如果您已经在使用Redis。 关于ruby-on-rails-Ruby功能开关/功能脚蹼,我们在StackOve

  7. ruby - 如何使用 Ruby OptionParser 指定所需的开关(不是参数)? - 2

    我正在编写一个脚本,我想要一个带有值的--host开关,但是如果没有指定--host开关,我想要选项解析失败。我似乎不知道该怎么做。文档似乎只指定如何使参数值成为强制性的,而不是开关本身。 最佳答案 一种使用optparse的方法,可以在缺少开关时提供友好的输出:#!/usr/bin/envrubyrequire'optparse'options={}optparse=OptionParser.newdo|opts|opts.on('-f','--fromSENDER','usernameofsender')do|sender|op

  8. Ruby on Rails 开关 - 2

    这个问题在这里已经有了答案:HowtowriteaswitchstatementinRuby(28个答案)关闭9年前。谁能提供一个关于如何在Ruby中为变量使用switchcase的例子?

  9. javascript - Bootstrap 开关 setState 给出 js 错误 - 2

    我正在尝试使用来自Ajax的条件返回值来更改Bootstrap开关的状态,HTML,if(objData.limit==='Yes'){$('#limit').bootstrapSwitch('setState',true);$("#limit_amount").prop("readonly",false);}else{$('#limit').bootstrapSwitch('setState',false);$("#limit_amount").prop("readonly",true);}但它抛出如下错误..UncaughtTypeError:Cannotreadproperty'

  10. javascript fizzbuzz 开关语句 - 2

    我目前正在学习关于Javascript的代码学院类(class),并且我被困在FizzBu​​zz任务上。我需要从1到20数,如果这个数字可以被3printfizz整除,被5printbuzz整除,被两个printfizzbuzz整除,否则只打印数字。我能够用if/elseif语句来完成它,但我想用switch语句来尝试它,但无法得到它。我的控制台只记录默认值并打印1-20。有什么建议么?for(varx=0;x 最佳答案 Switch将switch(x){中的x与case表达式的求值结果相匹配。由于您所有的情况都会导致true/f

随机推荐