ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

BUCK与BOOST占空比计算全解析:从理想公式到工程修正与实战工具

BUCK与BOOST占空比计算全解析:从理想公式到工程修正与实战工具 最近在调一块12V转3.3V的板子同事拿着原理图过来问占空比到底怎么算才算准我说这个问题看着基础真细究起来坑不少。你按理想的式子算出来是0.275实际一测往往是0.29甚至0.31误差从哪来的还有BOOST那边锂电3.7V升5V理论占空比0.26结果样机一上负载掉到4.7V占空比自己涨到0.37都不稳。这些问题绕不开同一件事占空比不是套个公式那么简单它背后是伏秒平衡、寄生参数、工作模式、甚至环路稳定性一堆事。我正好前阵子把这套计算方法整理成了一个Excel工具从BUCK到BOOST从理想占空比到带损耗修正的工程占空比再到电感纹波、输出纹波、临界电感值全部联动计算。今天就把这套思路从头到尾捋一遍适合正在做电源方案选型、刚接触开关电源设计、或者被“实测和理论对不上”折磨过的工程师参考。看完你不仅知道公式怎么来的还能直接照着我这个工具的思路搭一个自己的计算表。1. 为什么占空比是电源设计的“定海神针”1.1 占空比到底在算什么占空比的定义很简单开关管导通时间Ton占整个开关周期T的比例D Ton / T。但在电源设计里这个看似简单的比例决定了三件大事。第一电压转换关系。BUCK和BOOST的输出电压表达式里占空比是唯一的控制变量。控制环路通过调节占空比来稳定输出电压占空比算错了后面所有参数都是空中楼阁。第二电流纹波。电感电流纹波直接和伏秒积相关而伏秒积就是占空比和电感两端电压的乘积。纹波电流决定了电感选型、输出电容的纹波电流额定值。第三器件应力。占空比越大开关管导通时间越长但续流管承受的反压时间越短占空比太小最小导通时间可能触发控制芯片的保护。占空比不是孤立存在的它是一个牵一发动全身的中间变量。所以开关电源设计的第一步永远是先把占空比算清楚。算清楚的标准不是“能套公式”而是明白每个参数怎么进入公式、在什么边界条件下失效、以及实测值和理论值偏差的来源。1.2 BUCK和BOOST的核心差异BUCK降压电路和BOOST升压电路虽然都有电感、开关管和续流器件但能量传输的路径完全不同这导致占空比的表达式一个正比、一个反比背后的物理含义也相反。BUCK中开关管导通时输入直接通过电感给输出供电并储能开关管关断时电感通过续流二极管或同步管继续给输出供电。输出的平均电压等于输入电压乘以占空比所以D Vout / Vin占空比不可能超过1输出永远小于输入。BOOST就不同了。开关管导通时输入全部加在电感上储能负载电流完全靠输出电容撑着开关管关断时电感的感应电动势和输入电压串联叠加通过二极管向输出供电。输出电压等于输入电压除以1-D即D 1 - Vin / Vout。这个“除”带来了一个先天问题占空比越接近1输出电压对占空比的变化越敏感感应的电压尖峰也越难处理。很多新手把这两个公式记混根源是没搞懂能量流动的时间段。记住两条BUCK在导通时“边传边储”BOOST在导通时“只储不传”这就不会弄反了。2. BUCK电路占空比计算全解析2.1 CCM模式下的占空比推导连续导通模式CCM意味着电感电流在整个周期内都不为零这是绝大多数重载工况下的工作状态也是占空比计算最常用的场景。推导的核心是电感的伏秒平衡稳态下电感两端电压在一个周期内的平均值为零。拿非同步BUCK举例开关管导通期间电感左端被拉到Vin忽略开关管压降Vsw右端是Vout电感两端电压是Vin - Vout续流期间电感左端被二极管钳位到-Vd对地压降为 -Vd右端是Vout电感两端电压是-(Vout Vd)。于是有[ (Vin - Vout - Vsw) \times D (Vout Vd) \times (1 - D) ]解出来就是工程上最常用的BUCK占空比修正公式[ D \frac{Vout Vd}{Vin - Vsw Vd} ]其中Vsw是开关管导通压降Vd是续流二极管正向压降。如果忽略这两个小量就退化成教科书上的D Vout / Vin。举个例子输入12V输出3.3V用一颗低压差肖特基二极管续流Vd约0.5V和一个MOS管满载时Vsw约0.2V。理想占空比是3.3/12 0.275修正后是(3.30.5)/(12-0.20.5) 3.8/12.3 ≈ 0.309。差了12%以上。这在低压大电流场景非常常见因为Vd占比高。如果你设计的是一款5V/3A的非同步BUCK输出二极管压降0.5V那么占空比必须覆盖这个二极管导通期间的损耗否则输出电压根本拉不到设定值。实测中出现输出电压偏低、或者带载后跌落很多就是占空比修正没做够。2.2 同步BUCK和非同步BUCK的占空比差异同步BUCK把续流二极管换成了MOSFET称为低边管或同步管。由于MOSFET导通时是电阻特性压降约等于I_L × Rds(on)远小于二极管的正向压降所以占空比计算需要换成对应的导通压降。同步BUCK的占空比修正公式为[ D \frac{Vout V_ls}{Vin - V_hs V_ls} ]其中V_ls是同步管导通压降V_hs是高边管导通压降。拿前面的例子12V输入、3.3V输出、负载3A如果高边管Rds(on)30mΩ、低边管Rds(on)20mΩ那么V_hs0.09VV_ls0.06V修正后的D (3.30.06)/(12-0.090.06) 3.36/11.97 ≈ 0.2807和理想值0.275只差2%。这就是同步整流的核心优势占空比更接近理想值效率也高得多。但同步BUCK有一个非同步没有的坑死区时间。在高边管和低边管切换的间隙两个管子都不导通电感电流必须走低边管的体二极管。体二极管压降约0.7V虽然死区只有几十纳秒在计算平均占空比时影响不大但在轻载时死区期间的损耗占比会明显上升。所以同步BUCK在轻载时很多控制芯片会自动进入二极管仿真模式或者变频模式占空比行为完全不同后面第四章再细说。2.3 最小/最大占空比带来的设计边界占空比算出来只是一个工作点真正的设计还要检查边界条件。每颗控制芯片都有最小可控导通时间和最大占空比限制这两条边界直接决定了输入电压范围的可行性。最小占空比出现在最高输入电压时。比如一颗BUCK控制器的Vout5V输入范围6V到20V那么最高输入时D 5/20 0.25。如果芯片的最小导通时间是100ns开关频率是500kHz周期2us那么它能实现的最小占空比是100ns/2us 0.05。0.25远大于0.05没问题。但如果你把频率拉到2MHz周期500ns最小占空比变成100ns/500ns 0.2这时D0.25就很危险了。实际中芯片为了在轻载下维持稳压会采取跳过脉冲的方式这就是PFM模式。最大占空比出现在最低输入电压时。很多非同步BUCK芯片的最大占空比限制在85%到90%之间原因是自举电容需要时间充电、或者驱动电路需要死区时间。如果最低输入6V、输出5VD 5/6 0.833正好卡在85%的边界附近。这种情况下只要输出电流稍大、线路压降稍微多一点点占空比就会触及上限输出电压开始跌落电感电流会进入一种“斜面越来越平”的不稳定状态。设计时一定要在Excel工具里把全输入范围的占空比扫出来看看离芯片边界留了多少裕量。3. BOOST电路占空比计算全解析3.1 CCM升压占空比推导BOOST电路的伏秒平衡推导同样从开关管导通和关断两个区间入手。导通时开关管把电感左端接地忽略Vsw输入电压Vin全部加在电感上电感电流线性上升存储能量。关断时电感电流不能突变电感左端电势被抬升到Vout Vd加二极管压降此时电感两端电压为Vout Vd - Vin电流线性下降。伏秒平衡[ (Vin - Vsw) \times D (Vout Vd - Vin Vsw) \times (1 - D) ]忽略管压降就得到理想BOOST公式[ D 1 - \frac{Vin}{Vout} ]用理想的情况看锂电池3.7V升5VD 1 - 3.7/5 0.26。看起来不大但注意一个关键差异BOOST的输入电流是断续的开关管导通时输入不向输出供电所以要想输出5W电感峰值电流要远高于基础输入电流的平均值。这在后面的Excel实例里会体现得更具体。3.2 寄生参数对占空比的实际修正BOOST的占空比受寄生参数的影响比BUCK大得多尤其是二极管压降和整体效率。因为所有输出功率都要经过二极管或同步管导通期间的能量损耗直接在输出电压上“扣”。考虑二极管压降Vd和开关管压降Vsw后的BOOST占空比公式[ D \frac{Vout Vd - Vin Vsw}{Vout Vd - Vsw} ]还是那个3.7V升5V的例子用普通肖特基二极管Vd约0.4V开关管压降0.1V那么D (5 0.4 - 3.7 0.1)/(5 0.4 - 0.1) 1.8/5.3 ≈ 0.34比理想值0.26大了30%以上。还有一个更接近工程实测的修正方式直接用效率折损。假设转换效率为η那么等效输出电压关系可以写成[ Vout Vin \times \eta \times \frac{1}{1-D} ]反解得[ D 1 - \frac{Vin \times \eta}{Vout} ]如果效率85%那D 1 - 3.7×0.85/5 1 - 3.145/5 0.371。这和实测的占空比非常接近。很多工程师发现BOOST的占空比“偏大”以为是仪表误差其实是因为损耗让占空比必须前移才能弥补电压差。用效率修正的方法在做方案预判时非常实用。3.3 极端工况下的占空比行为BOOST有三个典型极端工况必须提前算。第一轻负载下的DCM模式。输出电流小到一定程度电感电流在周期内就降到零了此时电感电流断续占空比不再是简单的1 - Vin/Vout。DCM的占空比取决于负载电流和电感量通常比CCM占空比更小且随负载变化。这时候输出电压纹波会变大控制环路的特性也发生变化表现为轻载时输出有低频纹波或者脉冲群。第二输入电压接近输出电压的低压差工况。比如输入4.8V输出5V理想D 1 - 4.8/5 0.04。这个占空比非常小开关管每次只导通80ns按2MHz算最小导通时间可能都不够。同时BOOST在这种工况下续流管导通时间接近整个周期输出电压几乎等于输入电压减去二极管压降实际上已经退化成“输入经过二极管直接输出”的路径输出比输入低0.3V都不奇怪。第三BOOST特有的右半平面零点RHPZ问题。在CCM模式下占空比突然增大时先是电感储能时间变长、传输到输出的能量变少输出反而先跌一下然后才回升。这个“先跌后涨”的动态特性就是RHPZ在作怪它要求环路带宽只能压在低处通常是开关频率的1/10甚至1/20以下否则负载突变时输出会振荡甚至失稳。设计占空比计算工具时把RHPZ的估算频率也算出来可以提前判断环路补偿的调整方向。4. Excel计算工具实战从公式到表格4.1 工具整体结构与使用说明这套Excel工具的核心思路是把BUCK和BOOST的占空比、电感纹波、输出纹波、临界电感和器件应力全部做成联动表格改一个输入参数所有输出自动刷新。我把它拆成了三个工作表BUCK计算页、BOOST计算页、以及一个参数汇总页。每个计算页的结构分为两部分黄色底纹的单元格是手动输入区白色底纹的是自动计算区。手动输入区放的是设计规格和器件参数包括输入电压上下限、输出电压、负载电流、开关频率、二极管压降、开关管压降、电感感值、输出电容容值等。自动计算区则根据这些输入完成三个层次的输出。第一层是最基础的占空比结果理想占空比、带损耗修正的工程占空比、以及对应的最小和最大占空比。第二层是电流相关参数电感平均电流、纹波电流、峰值电流。第三层是电压应力开关管漏源极最高耐压、二极管反压、输出纹波电压。这些参数直接决定了后面选型的方向比如电感饱和电流按峰值电流留裕量开关管耐压按输出电压加尖峰留裕量。4.2 一个BUCK设计实例的完整计算我们用汽车电瓶供电转5V的数字电路供电来演示。规格是这样的Vin范围8V到16VVout5VIout2A开关频率500kHz非同步BUCK续流用肖特基二极管Vd0.4V开关管导通压降Vsw0.2V。先算占空比边界。Vin8V时D_max (50.4)/(8-0.20.4) 5.4/8.2 ≈ 0.659。Vin16V时D_min (50.4)/(16-0.20.4) 5.4/16.2 ≈ 0.333。注意低输入电压下占空比超过65%如果芯片最大占空比限制是80%那这个边界还算安全但8V输入已经是电瓶电压下限接近欠压保护点这里要额外确认启动时的电压跌落。然后是电感纹波。BUCK的电感电流纹波公式[ \Delta I_L \frac{(Vin - Vout) \times Ton}{L} ]其中Ton D / fsw。纹波最大的点出现在Vin最大时因为此时导通时间短但电感两端电压差大需要分别计算。Vin16V时Ton 0.333/500kHz 666ns如果选L22uHΔI_L (16-5)×666ns/22uH ≈ 0.333A。这个纹波大约是负载电流的16.6%很合理。如果电感选到10uH纹波会翻倍到0.66A输出电容的纹波电流压力就会变大。输出纹波用陶瓷电容估算法ΔVout ≈ ΔI_L / (8 × fsw × Cout)。选Cout22uF陶瓷电容ΔVout ≈ 0.333/(8×500k×22u) ≈ 3.8mV。但要注意陶瓷电容在直流偏压下的有效电容量会大幅下降25V耐压的1206封装在5V偏压下可能只剩60%容量实际纹波会比计算值高一些。最后检查临界电感保证最低负载20%即0.4A时还处于CCM模式。临界电感公式[ L_{crit} \frac{(1 - D) \times R_{out}}{2 \times fsw} ]在Vin16V时D0.333R_out5V/0.4A12.5ΩL_crit (1-0.333)×12.5/(2×500k) ≈ 8.34uH。22uH远超临界值CCM没问题。4.3 一个BOOST设计实例的完整计算再演示一个BOOST锂电池3.0V到4.2V升压到5V负载电流最大1A开关频率1MHz同步BOOST低边管和高边管都带同步整流先按理想同步管算再按非同步带肖特基对比。同步BOOST忽略所有压降占空比边界Vin3.0V时D_max 1-3/5 0.4Vin4.2V时D_min 1-4.2/5 0.16。如果改为非同步采用Vd0.4V的肖特基那么D_max (50.4-3.0)/(50.4) 2.4/5.4 ≈ 0.444D_min (50.4-4.2)/5.4 1.2/5.4 ≈ 0.222。可以看到非同步的占空比整体偏大而且低压输入时损耗更明显。关键的是电感电流。BOOST的电感平均电流等于输入平均电流等于输出功率除以输入电压再除以效率。取Vin3.0V满载1A输出忽略效率时平均输入电流I_in 5×1/3 1.67A。如果选L4.7uH导通时电感纹波ΔI_L Vin×D/(L×fsw) 3×0.4/(4.7u×1M) ≈ 0.255A。电感峰值电流 1.67 0.255/2 ≈ 1.8A。这颗电感的饱和电流至少按2.5A到3A选留足裕量。BOOST的输出电容也要单独算。由于BOOST的二极管或高边同步管只在关断时间内向输出传输电流所以输出电容需要提供大部分负载电流。输出纹波估算[ \Delta Vout \approx \frac{Iout \times D}{fsw \times Cout} ]取Cout47uF陶瓷电容ΔVout 1×0.4/(1M×47u) ≈ 8.5mV。这个纹波能满足大多数负载要求。如果想降到5mV以内要么增大电容要么提高频率。4.4 用工具做全输入范围扫描Excel工具最有价值的地方是可以快速做“如果改了输入电压范围占空比和纹波怎么变”的扫描。我习惯在计算页旁边放一个小的输入电压扫描表每50mV或者100mV一个点列出占空比、纹波电流、峰值电流三个关键输出然后观察趋势。以BUCK的12V转3.3V为例把输入从10V扫到16V你会发现占空比从0.33往下滑到0.206但电感纹波电流却从0.15A涨到0.22A峰值电流的“最恶劣点”不在最低输入也不在最高输入而是需要看中间某个位置。因为电感纹波增加的方向和平均电流变化的方向不同峰值电流的最大点可能出现在输入电压中段。手算很容易漏掉这个用Excel一拉就出来了。对BOOST也一样把锂电从3.0V扫到4.2V占空比从0.44降到0.22但电感峰值电流的最恶劣点在最低输入电压因为此时平均输入电流最大、且占空比也最大。工具里把这些曲线随手一画选型就能做到心中有数。5. 常见问题与排查技巧实录5.1 实测占空比与计算值不符怎么办这是我被问得最多的问题也是调试现场最容易卡壳的地方。实测占空比往往用示波器量SW节点波形然后读取脉宽。结果和理论值对不上通常有三个层次的原因。第一层是忽略了压降修正。非同步BUCK如果用了二极管续流低压大电流时实测占空比会比理想公式偏大5%到15%这是正常的用带Vd的修正公式就能对上。第二层是示波器的测量方式问题。SW节点的波形边沿如果不够陡峭示波器触发电平不同读出来的脉宽会有几十纳秒的误差高频下这个误差很可观。第三层是控制环路在起作用。如果负载瞬态变化还没稳定占空比正处于动态调节中你抓到的只是过渡波形不是稳态波形。应该等输出稳定后再测量最好用平均模式抓多个周期的平均占空比。如果修正公式也对、测量方式也对但占空比仍然明显偏离那就要怀疑是不是芯片已经进入限流模式或低频保护模式了。用电流探头看电感电流波形是否满足设计预期如果电流波形出现削顶或者打嗝说明占空比被环路或者保护逻辑重新定义了。5.2 占空比失稳的几种典型场景占空比不是光算出来静态值就没事了动态稳定性更关键。我总结几个调试中遇到的典型失稳场景。第一个是轻载跳频导致的“占空比抖动”。同步BUCK在轻载时如果不进入PFM可能会出现电感电流反向从输出往输入倒灌控制芯片检测到后会跳过一些开关周期这样示波器上看到的SW波形占空比忽大忽小。这不是故障是芯片在自动切换模式。排查时看电感电流是否出现负向尖峰就能确认。第二个是斜坡补偿不足导致的次谐波振荡。峰值电流模式控制在占空比大于50%的时候电感电流扰动会逐周期放大表现为开关频率处占空比来回抖、输出电压纹波变大。解决办法是加大芯片的斜坡补偿量或者降低电感值让电流下降斜率更陡。如果用的是自身没有外部斜坡补偿引脚的芯片那只能调整电感选型来避开这个区域。第三个是BOOST负载突变时的瞬时失控。BOOST的RHPZ决定了负载突然加重时输出电压会先掉一下再回升如果环路带宽太高这个“先掉”会触发环路过度反馈导致占空比震荡好几个周期。我碰到过一辆车载设备升压后接GPRS模块发射瞬间电流从0.1A跳到1.8A输出直接掉了600mV后来把环路带宽降到开关频率的1/15同时在输出端加了22uF的MLCC才彻底解决。5.3 占空比相关的器件选型心得占空比计算直接影响三个器件的选型我给出几点实战心得。电感选型重点看峰值电流和频率。峰值电流决定了电感饱和电流的下限不能只看额定电流。很多电感标称电流是按升温漂移定义的实际饱和电流可能只有标称的60%到70%。我习惯把计算出的峰值电流再乘以1.2作为电感饱和电流的最低要求。另外电感值的选择会反作用到占空比行为在BUCK中电感太大导致瞬态响应慢电感太小导致CCM边界被突破需要结合最小负载电流校准。开关管选型重点看电压应力。BUCK的高边管耐压要按输入电压最大值加开关尖峰来选通常输入16V的电路选30V耐压MOS管在电感寄生振荡比较严重的情况下40V更稳妥。BOOST的开关管耐压等于输出电压加二极管压降再加尖峰5V输出的BOOST选20V就够但如果输出纹波尖峰大25V到30V更安全。这些都在Excel工具里自动算出来了选型时直接对照着查。输出电容选型要回头看纹波计算值。我见过不少工程师算完占空比就不管电容了结果样机出来后纹波比预期大一倍。问题往往出在陶瓷电容的直流偏压特性以及电容ESR被忽略。比如用10uF/25V的陶瓷电容在5V输出下实际只有6uF左右的容量纹波计算必须用有效容量而不是标称容量。Excel工具里可以加一个“电容降额系数”的输入列把这部分影响也摊进去算。二极管和同步管选型也是同理损耗会直接影响占空比修正量。如果你在样机调试中发现占空比比计算值大第一个要检查的就是续流管的实际压降用示波器测SW节点对地的负压值那个值就是续流管导通压降把它代入公式重新算基本都能对上。6. 两个实战习惯分享最后分享两个我在反复调试中总结出来的习惯。第一个是占空比的“最坏工况清单”一定要写全。很多设计只在标称输入电压下算了占空比结果输入电压拉高或者拉低时就出问题。我现在的习惯是任何BUCK和BOOST方案都至少核对三个工况最低输入电压满载、最高输入电压满载、最低输入电压空载。最低输入满载看的是最大占空比是否越界最高输入满载看的是最小导通时间是否满足最低输入空载看的是是否进入DCM或PFM以及输出电压是否被意外拉高。这三个位置只要不出问题整个输入电压范围基本就稳了。第二个是占空比要和电感纹波一起看不要只看一个点。占空比对不代表电感峰值电流合理。我调过一块升压板占空比无论怎么算都在芯片允许范围内但电感就是发热严重最后测了电感电流波形发现峰值电流比预期高了30%因为电感值偏小导致纹波超大峰值电流已经接近饱和边界。从那之后我就把占空比、纹波电流和峰值电流放在同一张Excel表里联动看改任何一个参数都盯着三个结果一起刷新。如果你也想搭一个这样的工具建议把输入参数和自动计算结果分开放在不同颜色区域参数变颜色变一眼就能看出极限工况在哪。这套方法我用了很久至少帮我少走了很多弯路。
返回列表