Boost变换器这玩意儿,但凡做过电源的都不陌生。但真要把它放在DCM(断续导通模式)下跑,很多人就开始犯迷糊了——波形看着跟CCM差不多,可一算增益,公式完全对不上,仿真和实测还老打架。我自己第一次调DCM的Boost时,就吃过这个亏:按CCM的公式算出来占空比0.5能升到两倍,结果上电一看,输出只有输入的一倍半,电感电流波形还断断续续的,当时以为是电感饱和了,换了好几个磁芯都没用,后来才反应过来——压根就是模式判断错了,DCM下的增益公式跟CCM完全是两码事。
这篇文章就围绕Boost变换器在DCM模式下的实际工程问题展开,从波形特征怎么识别、伏秒平衡怎么用、增益公式怎么推、到光伏MPPT场景下为什么偏偏要让它跑在DCM,一步步拆开讲。不管你是刚接触开关电源的学生,还是已经在做光伏逆变器、LED驱动、功率因数校正的工程师,只要涉及到Boost在轻载或高升压比下的应用,DCM都是绕不开的一道坎。我会尽量用实测波形和推导过程说话,把那些教科书上跳过的“为什么”补上。
1. 先搞清楚DCM到底“断”在哪里
1.1 从电感电流波形一眼分辨工作模式
Boost变换器有三种工作模式:CCM(连续导通模式)、BCM(临界导通模式)、DCM(断续导通模式)。区分它们的唯一标准就是电感电流在一个开关周期内是否降到零。
CCM下,电感电流在整个周期内都大于零,波形是一个带纹波的梯形波,最小值不为零。BCM是临界状态,电感电流刚好在周期结束时降到零,下一个周期立刻从零开始上升。DCM则是电感电流在周期中间就降到零了,并且保持为零一段时间,直到下一个开关周期到来。
用示波器看电感电流(通常用电流探头或者串联采样电阻加差分探头),DCM的波形特征非常明显:三角波,上升一段、下降一段、然后平躺一段。平躺的那段就是“断”的时间,也叫死区时间(idle time)。这个死区时间的存在,是DCM所有特殊性的根源。
我实测过一组波形,输入5V,输出12V,电感10μH,开关频率500kHz,负载从1A逐渐减小。负载1A时是标准CCM梯形波;减到0.3A左右进入BCM,波形变成完整三角波;再减到0.1A,三角波明显变窄,后面拖了一段平线——这就是DCM。整个过程不需要改任何参数,只是负载变轻,模式就自动切换了。
1.2 为什么轻载和高升压比容易进DCM
这里有个直觉上的理解:电感电流的平均值等于输出电流除以(1-D),负载越轻,输出电流越小,电感电流平均值就越小。而电感电流的纹波峰峰值ΔI_L = (V_in × D) / (L × f_sw),这个值只跟输入电压、占空比、电感和频率有关,跟负载无关。
所以当负载电流小到一定程度,电感电流的平均值小于纹波峰峰值的一半时,电流谷值就碰到零了,自然进入DCM。这就是为什么轻载容易DCM。
另一个容易进DCM的场景是高升压比。升压比越高,占空比D越接近1,但DCM的占空比跟CCM不一样,后面会详细推。直观上说,高升压比意味着能量需要以更高的“压缩比”传递,电感储能时间相对短,释放时间相对长,如果电感值不够大,电流在释放阶段就降到零了。
光伏MPPT场景就是典型的高升压比+宽负载范围。光伏板输出电压可能只有20-40V,母线电压要升到400V,升压比10倍以上。而且光照变化时负载功率大幅波动,轻载时必然进DCM。所以做光伏Boost,DCM不是“可选”,而是“必然要面对”的工况。
1.3 DCM带来的三个实际影响
第一,增益特性变了。CCM下增益只跟占空比有关:V_out/V_in = 1/(1-D)。但DCM下增益还跟负载、电感、频率有关,公式完全不同。如果你用CCM公式去设计DCM的环路,补偿网络会完全跑偏。
第二,右半平面零点位置变了。CCM下Boost有个著名的右半平面零点(RHPZ),频率大约在(1-D)²×R/(2πL)附近。DCM下这个零点会往高频移动,甚至可能移出带宽之外,这对环路补偿来说反而是好事——DCM的Boost比CCM更容易补偿。
第三,开关管和二极管的反向恢复问题减轻。DCM下二极管电流在关断前已经降到零,没有反向恢复电流,EMI会好一些。但代价是峰值电流更高,导通损耗增加。
注意:DCM下电感电流峰值比CCM高得多,选电感时饱和电流要留足余量,否则轻载反而更容易饱和——这听起来反直觉,但确实是我踩过的坑。
2. 伏秒平衡在DCM下的正确用法
2.1 伏秒平衡的本质:电感电压在一个周期内积分为零
伏秒平衡是分析所有开关变换器的基本功。它的物理含义很简单:稳态下,电感在一个开关周期内储存的能量等于释放的能量,反映在电压上就是“正向伏秒等于负向伏秒”。
数学表达:∫V_L dt = 0,在一个周期T内积分。
CCM下,一个周期分两段:开关管导通时段D×T,电感承受V_in;开关管关断时段(1-D)×T,电感承受V_in - V_out(注意是负值)。所以:
V_in × D × T + (V_in - V_out) × (1-D) × T = 0
化简得V_out/V_in = 1/(1-D)。这就是CCM的经典增益公式。
但DCM下,一个周期分三段:导通段D1×T,电感承受V_in;续流段D2×T,电感承受V_in - V_out;死区段D3×T,电感电压为零(因为电流为零,电感两端没有感应电压,实际电压由寄生参数决定,但理想分析中认为V_L=0)。
所以伏秒平衡变成:
V_in × D1 × T + (V_in - V_out) × D2 × T + 0 × D3 × T = 0
注意D1 + D2 + D3 = 1,但D3是“自由”的,由电路参数决定,不是控制量。控制量只有D1(也就是我们常说的占空比D)。
2.2 为什么DCM下多了一个自由度
CCM下,D1 + D2 = 1,两个变量一个方程,所以增益只跟D1有关。DCM下,D1 + D2 + D3 = 1,三个变量两个方程(伏秒平衡+电流关系),所以增益跟D1、D2、D3都有关,而D3又跟负载有关,这就是DCM增益“负载相关”的根源。
具体来说,DCM下电感电流峰值I_pk = V_in × D1 × T / L。这个峰值电流在续流段D2×T内线性下降到零,下降斜率是(V_out - V_in)/L,所以:
I_pk = (V_out - V_in) × D2 × T / L
两式联立:V_in × D1 = (V_out - V_in) × D2
这就是DCM下的伏秒平衡关系,可以写成:
D2 = V_in × D1 / (V_out - V_in)
2.3 输出电流与电感电流的关系
DCM下,电感电流只在D1和D2时段流动,D3时段为零。输出电流I_out等于二极管电流的平均值。二极管电流在D2时段流动,波形是从I_pk降到零的三角波,平均值是I_pk × D2 / 2。
所以:I_out = I_pk × D2 / 2 = (V_in × D1 × T / L) × D2 / 2
又因为I_out = V_out / R(负载电流),所以:
V_out / R = V_in × D1 × D2 × T / (2L)
把D2 = V_in × D1 / (V_out - V_in)代入,整理后得到DCM下的增益公式:
V_out / V_in = (1 + √(1 + 4D1² × K)) / 2
其中K = 2L / (R × T) = 2L × f_sw / R,是一个无量纲参数,反映了电感、频率和负载的相对关系。
这个公式是DCM Boost的核心。它告诉我们:DCM下增益不仅跟D1有关,还跟K有关。K越大(电感越大、频率越高、负载越重),越接近CCM;K越小(电感越小、频率越低、负载越轻),增益越低。
2.4 一个实测验证的例子
我用一个实际电路验证过这个公式。参数:V_in=5V,L=10μH,f_sw=500kHz,R=100Ω(对应I_out=0.12A左右,确实是DCM)。
计算K = 2 × 10e-6 × 500e3 / 100 = 0.1。
取D1=0.5,代入公式:V_out/V_in = (1 + √(1 + 4×0.25×0.1)) / 2 = (1 + √1.1) / 2 = (1 + 1.0488) / 2 = 1.0244。
所以V_out ≈ 5 × 1.0244 = 5.12V。实测输出5.15V,误差在1%以内,非常吻合。
但如果用CCM公式算:V_out/V_in = 1/(1-0.5) = 2,V_out = 10V。跟实测差了将近一倍。这就是为什么模式判断错了,设计会完全跑偏。
3. DCM增益公式的推导与工程简化
3.1 从伏秒平衡到增益公式的完整推导链路
上一节给出了增益公式的结论,这里把推导过程完整走一遍,方便你在遇到不同拓扑时能自己推。
第一步,写电感电流峰值。导通段结束时,电感电流达到峰值:
I_pk = (V_in / L) × D1 × T
第二步,写续流段下降时间。续流段电感电压为V_in - V_out(负值),电流从I_pk降到零:
I_pk = ((V_out - V_in) / L) × D2 × T
第三步,联立得D2与D1的关系:
D2 = (V_in / (V_out - V_in)) × D1
第四步,写输出电流。二极管平均电流等于负载电流:
I_out = V_out / R = (1/2) × I_pk × D2
第五步,代入I_pk和D2:
V_out / R = (1/2) × (V_in × D1 × T / L) × (V_in × D1 / (V_out - V_in))
第六步,整理。令M = V_out / V_in(增益),则:
M × V_in / R = (V_in² × D1² × T) / (2L × (M-1) × V_in)
化简:
M × (M-1) = V_in × D1² × T × R / (2L × V_in) = D1² × T × R / (2L)
注意T × R / (2L) = 1/K,所以:
M² - M - D1²/K = 0
解这个一元二次方程:
M = (1 + √(1 + 4D1²/K)) / 2
这就是完整的推导链路。每一步都只用了最基本的电感伏安关系和电荷平衡,没有任何近似。
3.2 K参数到底代表什么物理意义
K = 2L / (R × T) = 2L × f_sw / R,这个参数在DCM分析中非常关键。它实际上反映了“电感储能能力”与“负载消耗能力”的比值。
换个角度看,K也可以写成K = 2L / (R × T) = (2L / T) / R = (2L × f_sw) / R。其中2L × f_sw的量纲是电阻(Ω),可以理解为电感的“等效阻抗”。所以K就是电感等效阻抗与负载电阻的比值。
K越大,说明电感相对负载“很强”,储能充足,不容易进DCM。K越小,电感相对负载“很弱”,储能不足,容易进DCM。
工程上有个经验判据:当K > K_crit时,电路工作在CCM;当K < K_crit时,进入DCM。K_crit = D1 × (1-D1)²(这个结论可以从CCM和DCM的边界条件推出来,这里不展开)。对于Boost,K_crit的最大值出现在D1=1/3处,约为0.148。
所以如果你设计时K > 0.148,全负载范围内都是CCM;如果K < 0.148,轻载时会进DCM。这个判据在选电感和开关频率时非常有用。
3.3 工程上怎么快速估算DCM增益
实际调试时,你不可能每次都解一元二次方程。我常用一个简化方法:先判断是否DCM,如果是,用下面这个近似公式快速估算:
M ≈ 1 + D1 / √K
这个近似在D1较小(<0.6)且K较小(<0.1)时误差在5%以内。推导很简单:当4D1²/K >> 1时,√(1+4D1²/K) ≈ 2D1/√K,所以M ≈ (1 + 2D1/√K)/2 = 0.5 + D1/√K。再考虑到M必须大于1,修正为1 + D1/√K。
实测对比:D1=0.4,K=0.05,精确公式算M=(1+√(1+4×0.16/0.05))/2=(1+√13.8)/2=(1+3.715)/2=2.357。近似公式算M=1+0.4/√0.05=1+0.4/0.2236=1+1.789=2.789。误差18%,有点大。
换个更准的近似:M ≈ (1 + √(4D1²/K))/2 = 0.5 + D1/√K。D1=0.4,K=0.05时,M=0.5+1.789=2.289,误差2.9%。这个近似更好,推荐用这个。
所以工程近似公式:M ≈ 0.5 + D1/√K,适用于D1²/K >> 0.25的情况。
3.4 从增益公式反推占空比
实际设计中,更常见的是已知输入输出电压,求需要的占空比。CCM下很简单:D = 1 - V_in/V_out。但DCM下需要解方程。
从M² - M - D1²/K = 0反解D1:
D1 = √(K × M × (M-1))
这个公式很实用。比如V_in=20V,V_out=400V,M=20,L=100μH,f_sw=100kHz,R=400Ω(满载400V/1A)。
K = 2 × 100e-6 × 100e3 / 400 = 0.05。
D1 = √(0.05 × 20 × 19) = √19 = 4.36。这显然不对,占空比不可能大于1。
问题出在哪?K=0.05,M=20,D1² = K × M × (M-1) = 0.05 × 20 × 19 = 19,D1 = 4.36 > 1,说明这个工况下DCM根本达不到M=20的增益。实际上DCM下增益有上限,当D1=1时,M_max = (1 + √(1 + 4/K)) / 2。K=0.05时,M_max = (1 + √81)/2 = 5。所以DCM下最大只能升到5倍,达不到20倍。
这就是为什么高升压比应用必须保证CCM或者用其他拓扑。光伏MPPT里如果升压比要10倍以上,电感必须选得足够大,保证在最大负载时K > K_crit,否则根本升不上去。
4. 光伏MPPT场景下的DCM实战考量
4.1 为什么光伏Boost经常“被迫”工作在DCM
光伏MPPT的工况有几个特点:输入电压随光照和温度大幅变化,负载功率随光照变化,而且变化范围很宽。一个设计给满载1kW的Boost,早上光照弱的时候可能只输出50W,负载率5%。这时候电感电流平均值很小,几乎必然进DCM。
更麻烦的是,光伏板的输出特性是软电压源,输出电流受光照控制。当Boost进入DCM时,输入电流会出现断续,导致输入电压纹波增大,MPPT算法如果采样时机不对,会误判工作点。
我在一个200W光伏微逆项目里就遇到过这个问题。满载时Boost在CCM,MPPT跟踪很稳;早上轻载时进DCM,MPPT电压采样纹波从1V跳到5V,扰动观察法直接震荡,效率掉了15%。后来改成在DCM下用固定占空比+间歇工作模式,效率才回来。
4.2 DCM下MPPT控制策略的调整
常规的扰动观察法(P&O)在DCM下容易误判,因为DCM的增益对负载敏感,同样的占空比变化,在不同负载下引起的功率变化方向可能不同。
我的做法是:在DCM下切换到“恒压+间歇”模式。具体来说,检测到电感电流断续后,不再连续调节占空比,而是固定一个接近最大功率点的占空比,然后通过间歇开关(burst mode)来调节平均输出功率。这样输入电流虽然断续,但平均功率可控,MPPT不会震荡。
另一种方法是增大电感,把DCM边界推到更低的负载。但电感增大会导致体积和成本上升,而且DCM下峰值电流高,电感饱和风险大。所以通常是在效率和成本之间折中。
4.3 伏秒平衡在MPPT采样中的实际应用
伏秒平衡不仅用于推导增益,还可以用来校验采样时机。DCM下电感电流在D3时段为零,如果在这个时段采样输入电流,会采到零,导致MPPT误判。
正确的采样时机是在开关管导通的中点(D1/2处),此时电感电流等于平均值(三角波中点等于平均值)。或者用峰值电流采样,然后根据D1和D2计算平均值。
我在实际项目中用的是“导通中点采样+数字滤波”,采样时刻由PWM模块的比较器触发,精度可以做到±2%。这样即使在DCM下,MPPT也能稳定跟踪。
提示:DCM下输入电流纹波很大,采样电阻上的信号需要加RC滤波,截止频率设在开关频率的1/10左右,否则采样值跳动严重。
4.4 一个完整的光伏Boost DCM设计实例
项目参数:V_in=30V(光伏板最大功率点电压),V_out=400V,P_out=200W,f_sw=100kHz。
第一步,判断是否允许DCM。升压比M=400/30=13.3。如果全负载范围CCM,需要K > K_crit。满载R=400²/200=800Ω。K = 2L×f_sw/R > 0.148,所以L > 0.148×800/(2×100e3) = 0.592mH。取L=1mH,K=2×1e-3×100e3/800=0.25 > 0.148,满载CCM。
第二步,轻载10%时,R=8000Ω,K=2×1e-3×100e3/8000=0.025 < 0.148,进DCM。此时用DCM公式算占空比:M=13.3,K=0.025,D1=√(0.025×13.3×12.3)=√4.09=2.02 > 1,说明10%负载下DCM也升不到400V。
这说明1mH电感在10%负载下不够。需要增大电感或者降低升压比。实际项目中我用了2mH电感,10%负载时K=0.05,D1=√(0.05×13.3×12.3)=√8.18=2.86,还是大于1。
问题在于升压比太高,DCM下根本达不到。所以高升压比光伏Boost通常采用“两级结构”:前级Boost升到100V左右(升压比3-4倍),后级用隔离拓扑或者另一级Boost升到400V。这样每级的升压比都在DCM可达范围内。
这个实例说明:DCM不是万能的,高升压比场景下必须仔细核算DCM的增益上限,否则设计会失败。
5. 波形分析中的常见误判与排查技巧
5.1 电感电流波形“看起来像DCM”但其实是CCM
有一种情况很容易误判:电感电流波形在示波器上看是三角波,底部似乎碰到了零,但实际上是CCM,只是纹波很大,谷值接近零但没到零。
区分方法:看开关管关断瞬间的电流。CCM下,关断瞬间电流等于谷值,不为零;DCM下,关断后电流继续下降到零,然后保持为零。用示波器的“单次触发”功能,放大关断时刻的波形,如果看到电流在关断后还有一个下降沿然后平躺,就是DCM;如果关断后直接开始上升,就是CCM。
另一个方法是看开关管开通瞬间的电流。CCM下,开通瞬间电流从谷值开始上升,有一个台阶;DCM下,开通瞬间电流从零开始上升,没有台阶。这个方法更直观。
我早期调试时,因为示波器带宽不够,把CCM的大纹波误判成DCM,结果环路补偿完全不对,输出振荡。后来换了高带宽电流探头才看清楚。
5.2 二极管反向恢复导致的“假DCM”
二极管反向恢复会产生一个反向电流尖峰,在电流波形上表现为一个负向的尖刺。如果示波器采样率不够,这个尖刺可能被平均掉,看起来像电流降到了零然后平躺,误判为DCM。
排查方法:用高采样率(至少10倍开关频率)观察二极管电流波形。如果看到关断瞬间有一个快速的反向尖峰然后回到零,那是反向恢复,不是DCM。真正的DCM是电流平滑地降到零,没有尖峰。
解决反向恢复误判的根本方法是换用SiC二极管或者同步整流,消除反向恢复。如果成本不允许,至少要在波形分析时心里有数,不要被尖峰骗了。
5.3 从波形异常反推电路问题
DCM波形异常通常对应几类问题:
第一类,死区时间D3异常长。正常DCM下D3由负载决定,负载越轻D3越长。但如果D3异常长,可能是电感值偏小或者开关频率偏低,导致储能不足。这时候需要增大电感或提高频率。
第二类,峰值电流异常高。DCM下峰值电流本来就比CCM高,但如果高得离谱,可能是电感饱和了。用示波器看电流波形,如果峰值处出现平顶或者畸变,就是饱和。需要换更大饱和电流的电感。
第三类,D2时段波形振荡。这通常是寄生电容和电感谐振引起的,会在电流波形上叠加高频振荡。可以在二极管两端加RC吸收,或者调整PCB布局减小寄生参数。
5.4 实测波形与仿真对不上的排查顺序
仿真和实测对不上是常态,排查顺序建议如下:
先查仿真模型参数是否准确。电感值、寄生电阻、二极管正向压降、开关管导通电阻,这些参数如果跟实际差太多,波形肯定对不上。我一般会用LCR表实测电感和电容,用万用表测二极管压降,把实测值填进仿真。
再查仿真步长是否足够小。DCM下电流变化快,仿真步长如果大于开关周期的1/100,波形会失真。把步长设到开关周期的1/1000,波形就准了。
最后查实际电路的寄生参数。PCB走线电感、MOSFET输出电容、二极管结电容,这些在仿真里往往被忽略,但在高频下影响很大。如果仿真和实测在DCM死区时间上差很多,多半是寄生电容在作怪。
6. 电感选型与DCM边界的设计权衡
6.1 电感值怎么定:从DCM边界反推
电感值的选择直接决定了DCM边界。如果你希望满载时CCM、轻载时DCM,那么电感值应该满足:满载时K > K_crit,轻载时K < K_crit。
K = 2L×f_sw/R,所以L = K×R/(2×f_sw)。取K=K_crit=0.148,R取满载电阻,算出来的L就是CCM/DCM的边界电感。
比如满载R=100Ω,f_sw=500kHz,L_boundary = 0.148×100/(2×500e3) = 14.8μH。取L=15μH,满载刚好在BCM附近;取L=22μH,满载CCM,50%负载进DCM;取L=10μH,满载就进DCM了。
实际选型时,我一般会让满载时K在0.2-0.3之间,留一定余量,避免参数漂移导致意外进DCM。但也不能太大,否则电感体积和成本上去了,而且DCM下峰值电流高,大电感虽然降低了峰值,但动态响应变慢。
6.2 饱和电流与温升的核算
DCM下电感峰值电流I_pk = V_in×D1×T/L。这个值可能比CCM下大很多。比如同样的平均电流,DCM下峰值可能是CCM的2-3倍。
选电感时,饱和电流I_sat必须大于I_pk的最大值,并留20%余量。同时还要核算温升,因为DCM下电流有效值虽然不一定大,但峰值高,铜损和磁损都会增加。
我吃过一次亏:一个Boost电路,CCM下电感温升只有20°C,改成DCM后温升飙到60°C,原因是峰值电流翻倍,磁芯损耗按峰值电流的平方增加。后来换了更大尺寸的磁芯,温升才降下来。
6.3 DCM下电感损耗的估算方法
电感损耗分铜损和磁损。铜损P_cu = I_rms² × DCR。DCM下电流波形是三角波,有效值I_rms = I_pk × √(D1+D2)/3。注意不是√(D1+D2)/2,三角波的有效值是峰值除以√3,再乘以占空比的平方根。
磁损用Steinmetz公式估算:P_core = k × f^α × B^β × V_core。DCM下磁通密度摆幅ΔB = L×I_pk/(N×A_e),比CCM大,所以磁损也大。
实际估算时,我一般用厂商提供的损耗曲线,输入峰值电流和频率,直接查损耗。如果没有曲线,就用Steinmetz公式粗算,然后留50%余量。
6.4 电感选型的三个实操建议
第一,优先选饱和电流大的磁芯材料。DCM下峰值电流高,铁粉芯或者铁硅铝磁芯的饱和电流比铁氧体高,虽然损耗大一点,但不容易饱和。我一般用铁硅铝环形电感,饱和电流可以做到额定电流的3倍以上。
第二,电感值不要卡在边界上。如果算出来边界是15μH,实际选22μH或者10μH,不要选15μH。因为电感的公差通常±20%,卡在边界上会导致批量生产时一部分CCM一部分DCM,环路补偿很难兼顾。
第三,注意电感的直流电阻DCR。DCM下电流有效值可能比CCM小,但峰值高,DCR大了铜损也大。一般选DCR小于输出电阻的1%的型号。
7. 环路补偿在DCM下的特殊处理
7.1 DCM Boost的小信号模型与CCM的区别
CCM Boost的小信号模型有一个右半平面零点,传递函数是:
Gvd(s) = V_out/(1-D) × (1 - s×L/((1-D)²×R)) / (1 + s×L/((1-D)²×R) + s²×L×C/(1-D)²)
这个模型在DCM下不适用。DCM Boost的小信号模型要简单得多,因为电感电流在每个周期内都归零,电感不再是一个独立的储能状态,而是变成了一个“受控电流源”。
DCM Boost的传递函数近似为:
Gvd(s) = V_out/D × 1 / (1 + s/(ω_p))
其中ω_p = 2/(R×C)(近似),没有右半平面零点,只有一个极点。这意味着DCM Boost的环路补偿比CCM简单得多,用普通的Type II补偿器就能稳定。
7.2 DCM下补偿网络的简化设计
因为DCM Boost只有一个极点,补偿器只需要一个积分器加一个零点就能搞定。我常用的补偿器是:
Gc(s) = ω_i/s × (1 + s/ω_z) / (1 + s/ω_p)
其中ω_i是积分增益,ω_z是零点频率(设在主极点附近),ω_p是高频极点(设在开关频率的一半,用来衰减高频噪声)。
具体参数:主极点ω_p = 2/(R×C)。比如R=100Ω,C=100μF,ω_p = 2/(100×100e-6) = 200 rad/s,对应频率32Hz。零点设在32Hz,积分增益设在1000左右,高频极点设在50kHz。
这样补偿后的穿越频率大约在5-10kHz,相位裕度60°以上,实测阶跃响应无振荡,恢复时间2ms左右。
7.3 模式切换时的环路稳定性问题
如果电路在CCM和DCM之间切换,环路模型会突变,可能导致不稳定。CCM下需要Type III补偿(因为有两个极点和一个RHPZ),DCM下只需要Type II。如果按CCM设计补偿器,在DCM下会过补偿,响应变慢;如果按DCM设计,在CCM下可能不稳定。
我的做法是:按CCM设计补偿器,保证全负载范围稳定,然后在DCM下通过降低带宽来避免过补偿。具体来说,在补偿器里加一个“模式检测”电路,检测到DCM后把积分增益降低一半,带宽降下来,稳定性就有保障了。
另一种更简单的做法:让电路始终工作在DCM。这样补偿器只需要按DCM设计,简单可靠。代价是峰值电流高、效率低,适合小功率应用。
7.4 实测环路调试的步骤
第一步,开环测增益。用频率响应分析仪(或者用示波器+信号注入法)测开环传递函数的幅频和相频特性。注意要在DCM工况下测,负载调到轻载。
第二步,确定穿越频率和相位裕度。目标穿越频率设在开关频率的1/10到1/20,相位裕度大于45°。DCM下因为没有RHPZ,相位裕度通常很容易做到60°以上。
第三步,调补偿器参数。先调积分增益,把穿越频率调到目标值;再调零点,把相位裕度提上去;最后调高频极点,把高频噪声压下去。
第四步,测阶跃响应。负载从10%跳到50%,看输出电压的过冲和恢复时间。过冲小于5%,恢复时间小于5ms,就算合格。
注意:DCM下负载跳变时,占空比需要大幅变化才能维持输出电压,所以动态响应比CCM慢。如果应用对动态响应要求高,DCM可能不是好选择。
8. 从DCM波形到增益计算的完整调试流程
8.1 上电前的静态检查清单
在给Boost上电之前,有几项静态检查必须做:
第一,用电桥测电感值和DCR,确认跟设计值偏差在20%以内。DCM对电感值敏感,偏差大了增益公式就不准了。
第二,用万用表测二极管正向压降,确认没有短路或开路。DCM下二极管在D2时段导通,压降影响增益。
第三,检查MOSFET的驱动电阻和栅极电容,确保开关速度合适。DCM下开关频率高,驱动损耗不能忽略。
第四,确认输出电容的ESR和容值。DCM下输出纹波比CCM大,电容不够会导致输出电压纹波超标。
8.2 上电后的波形捕获顺序
上电后不要急着看增益,先按顺序捕获波形:
先看开关管驱动波形,确认频率和占空比跟设计一致。如果驱动波形有振铃或者上升沿太慢,先解决驱动问题。
再看电感电流波形,确认是CCM还是DCM。如果是DCM,记录D1、D2、D3的时长。
然后看输出电压波形,确认纹波在允许范围内。DCM下输出纹波通常是CCM的2-3倍,如果超标,先加大输出电容。
最后看输入电流波形,确认没有异常振荡。DCM下输入电流断续,纹波大是正常的,但如果有高频振荡,可能是PCB布局问题。
8.3 用伏秒平衡校验实测增益
捕获到D1、D2、D3后,用伏秒平衡校验增益:
先算D2的理论值:D2 = V_in×D1/(V_out-V_in)。用实测的V_in、V_out、D1代入,算出D2理论值。
再跟实测D2对比。如果误差小于10%,说明伏秒平衡成立,增益公式可信。如果误差大,检查电感值是否准确、二极管压降是否忽略、采样是否有延迟。
然后用增益公式算V_out:M = (1+√(1+4D1²/K))/2,V_out = M×V_in。跟实测V_out对比,误差小于5%就算通过。
我一般会做三组不同负载的测试,画一条增益-负载曲线,跟理论曲线对比。如果三条曲线趋势一致,说明设计没问题。
8.4 常见偏差的归因与修正
实测增益比理论值低,常见原因有三个:电感值偏小(实际L小于标称值),二极管压降大(尤其是肖特基二极管在高温下压降增大),开关频率偏高(实际f_sw大于设计值)。修正方法是换电感、换二极管、调频率。
实测增益比理论值高,常见原因是电感值偏大或者负载电阻偏大(实际负载比设计轻)。修正方法是换电感或者调整负载。
如果增益对不上但波形正常,先别急着改电路,用LCR表重新测一遍电感和电容,用示波器测一下实际开关频率。很多时候问题出在测量上,不是电路上。
9. 几个容易忽略的工程细节
9.1 PCB布局对DCM波形的影响
DCM下电流变化率di/dt很大,PCB走线电感会产生尖峰电压。如果电感电流采样走线太长,采样波形会叠加振铃,导致D1、D2判断错误。
我的布局原则:电流采样电阻尽量靠近电感,采样走线用差分对,长度不超过10mm。功率地和信号地分开,单点连接。MOSFET和二极管之间的环路面积尽量小,减小寄生电感。
实测对比:同样的电路,布局优化前电感电流波形有20%的振铃,优化后振铃降到5%以内,D1、D2的读数准确多了。
9.2 温度对DCM边界的影响
电感值随温度变化,铁氧体电感的电感量在高温下可能下降20%-30%。DCR随温度上升而增大,铜损增加。二极管压降随温度上升而减小(肖特基)或增大(PN结)。
这些变化会导致DCM边界漂移。常温下满载CCM,高温下可能变成DCM。所以设计时要留温度余量,K值至少留30%的裕量。
我在一个工业电源项目里,常温调试一切正常,高温老化时发现轻载效率掉了5%,原因是高温下电感量下降,DCM提前到来,峰值电流增大,损耗增加。后来换了高温特性更好的磁芯材料才解决。
9.3 从DCM到CCM的平滑过渡设计
如果应用需要在DCM和CCM之间频繁切换,要保证过渡平滑。关键是补偿器要能适应两种模式。
我的做法是用“增益调度”:检测电感电流是否断续,如果断续,把补偿器的积分增益降低到原来的1/2到1/3。这样在DCM下带宽降低,稳定性有保障;在CCM下带宽恢复,动态响应快。
另一种方法是“频率调制”:DCM下降低开关频率,让K增大,把工作点拉回CCM。但频率变化会影响EMI和效率,需要折中。
9.4 实测中值得记录的三个关键数据
每次调试DCM Boost,我都会记录三个数据:DCM边界负载点(从CCM切换到DCM的负载电流)、DCM下的峰值电流、DCM下的效率。
DCM边界负载点用来验证电感设计是否合理。如果边界点比设计值低很多,说明电感偏小或者频率偏低。
峰值电流用来验证电感饱和余量。如果峰值电流接近电感的饱和电流,需要换电感。
DCM下的效率用来评估损耗。如果DCM效率比CCM低很多(超过5%),说明峰值电流引起的损耗太大,需要优化电感或开关频率。
这三个数据记录下来,下次做类似设计时就有参考了。我自己的笔记本里记了几十个DCM Boost的调试数据,现在做新项目,选电感和频率时直接查表,省了很多时间。
10. 个人实操体会
DCM模式下的Boost变换器,说到底就是一个“电感储能不够用”的工况。理解了这一点,很多现象就顺了:增益上不去,是因为储能不够;峰值电流高,是因为要在短时间内储存同样的能量;环路好补偿,是因为电感不再是一个独立状态,系统阶数降低了。
我刚开始做电源时,总想把电路设计成“永远CCM”,觉得DCM是个麻烦。后来做光伏和LED驱动,发现DCM反而有优势:二极管没有反向恢复,EMI好;环路简单,补偿容易;轻载效率可以通过间歇模式做高。关键是你要知道它在什么时候出现,以及出现后怎么应对。
如果你正在调一个DCM的Boost,我的建议是:先把波形抓准,确认D1、D2、D3的时长;然后用伏秒平衡算一遍增益,跟实测对比;如果对不上,先查电感和频率,再查寄生参数。大部分问题都出在这几个地方,不用想得太复杂。
最后分享一个我常用的快速判断方法:拿示波器看开关管开通瞬间的电流波形,如果有台阶就是CCM,如果从零开始就是DCM。这个方法比看整个周期波形快得多,而且不容易被反向恢复尖峰骗到。