CCM降压变化器的特点:
(1)D限定在小于1,降压变换器的输出电压始终小于输入电压;
(2)如果忽略各种欧姆损耗, 变换系数M与负载电流无关;
(3)通过变化占空比D,可以控制输出电压;
(4)降压变换器工作于CCM,会带来附加损耗。因为续流二极管反向恢复电荷需要时间来消耗,这对于功率开关管而言,是附加的损耗负担;
(5)输出没有脉冲纹波,但是有脉冲输入电流。
2.DCM,(Discontinuous Conduction Mode),断续导通模式:在开关周期内,电感电流总会到0,意味着电感被适当地“复位”,即功率开关闭合时,电感电流为零。
DCM降压变换器的特点:
(1)M依赖于负载电流;
(2)对于想通的占空比,DCM下的传递系数M比CCM大在负载电流低工作于深度DCM,M容易达到1。
3.BCM(Boundary Conduction Mode),临界导通模式(CCM切换到DCM经历的模式):控制器监控电感电流,一旦检测到电流等于0,功率开关立即闭合。控制器总是等电感电流“复位”来激活开关。如果电感值电流高,而截至斜坡相当平,则开关周期延长,因此,BCM变化器是可变频率系统。
4.CCM与DCM比较:
(1)工作于DCM模式,能降低功耗的,DCM模式的转换效率更高些,属于能量完全转换;
(2)工作于DCM模式,输出电流的纹波比CCM大;
(3)工作于DCM模式,在电感电流为0的时候,会产生振荡现象;
(4)工作于CCM模式,输出电压与负载电流无关,当工作于DCM模式,输出电压受负载影响,为了控制电压恒定,占空比必须随着负载电流的变化而变化。
5.如何从CCM切换到DCM
(1)降低负载电流。
(2)降低电感值L。
脉冲宽度调制(PWM);脉冲频率调制(PFM);脉冲跨周期调制(PSM)
PWM(频率不变,不断调整脉冲宽度)
PFM(脉冲宽度不变,调整频率)
PSM(频率和脉宽都不变,脉冲时有时无)
1.PWM方式
是一种固定开关周期,变化Ton来改变占空比的调制方式。PWM方式,可称之为定频调宽,即开关频率保持恒定,而通过改变在每一个周期内的驱动信号的占空比来达到调制的目的,这是最常用的一种调制方式。当输出电压发生变化时,通过环路的控制,便会使驱动信号的占空比发生改变,从而维持输出电压的恒定。作为最常用的调制方式,PWM方式有以下优点:控制电路简单,易于设计与实现,输出纹波电压小,频率特性好,线性度高,并且在重负载的情况下有比较高的效率。PWM是从处理器到被控系统信号都是数字形式的,再进行数模转换。可将噪声影响降到最低。其缺点是随着负载的变轻,其效率也下降,尤其是轻负载的情况下,其效率很低。PWM 由于误差放大器的影响,回路增益及响应速度会受到限制。
2.PFM方式
PFM模式在正常工作时,驱动信号的脉冲宽度保持恒定,但脉冲出现的频率发生改变,即所谓的定宽调频。当输出电压发生变化时,通过环路的调整,而使脉冲出现的频率发生改变,从而实现对电路的控制与调整。PFM又可以分为恒定驱动信号的高电位时间以及恒定驱动信号的低电平时间两种方式。
在具有模式切换的DC-DC电路中,PFM也是很常见到的一种调制。这种调制方式的优点是:在轻负载的情况下,效率很高,并且频率特性也十分好。对于外围电路一样的 PFM 和 PWM 而言,其峰值效率 PFM 与 PWM 相当,但在峰值效率以前,PFM 的效率远远高于 PWM 的效率,这是 PFM 的主要优势,但是在重负载的情况下,其效率会明显低于PWM方式,并且由于其纹波的频谱比较分散,没有多少规律,这使得滤波电路的设计变得十分复杂与困难。
3.PSM方式
PSM方式,可称之为定频定宽。其驱动信号的频率与宽度都保持恒定,只是,当负载为最重的情况时,驱动信号满频工作,当负载变轻时,驱动信号就会跳过一些开关周期,在被跨过的周期内,开关功率管一直保持为关断的状态。当负载发生变化时,通过改变跨周期出现的次数,来实现对系统的调整与控制。
相对于前面的两种控制方式,PSM 方式在工业上的应用要晚一些。相比于PWM方式,在轻负载的情况下,PSM要有更高的效率,并且其开关损耗与系统的输出功率成正比,与负载的变化情况关系不大。但是这种调控方式,会使输出电压有着比较大的纹波电压,不适合用于为对电源电压精度要求很高的一些系统供电。
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最
使用Ruby1.9.2运行IDE提示说需要gemruby-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall