1. 从一个反直觉的现象说起:为什么电感电压平均值为零
很多刚接触开关电源的朋友,第一次看到“伏秒平衡”这四个字的时候,表情都是懵的。伏秒平衡?电压乘以时间?这玩意儿跟占空比有什么关系?我当初也是这么过来的,拿着一本电源设计的教材翻来覆去看了好几遍,公式推导能看懂,但总觉得隔了一层纱,直到后来自己动手搭了一个BUCK电路,用示波器盯着电感两端的波形看了半天,才真正把这件事想明白。
先说一个最核心的结论:稳态下,电感两端的电压在一个开关周期内的积分等于零。这就是伏秒平衡。听起来很简单,但它几乎是所有开关电源拓扑分析的基石。不管你是BUCK、BOOST还是BUCK-BOOST,只要电路工作在稳态(电感电流在每个周期结束时回到起点),这个规律就成立。
为什么?因为电感的电流不能突变。在一个周期结束时,如果电感电流和周期开始时一样,那就意味着这个周期内电流的净变化量为零。而电感电流的变化量等于电感电压对时间的积分除以电感量。积分等于零,就意味着正电压乘以正时间,恰好等于负电压乘以负时间。这就是“伏秒”两个字的由来——电压乘以时间的面积,正负相抵。
理解了这一点,占空比的推导就变成了一个非常自然的数学结果,而不是死记硬背的公式。下面我就按照自己当初学习的路径,把BUCK和BOOST这两个最基础的拓扑,从伏秒平衡一步步推到占空比,再把电路里每个元件的作用、选型时踩过的坑,都掰开揉碎讲一遍。
这篇文章适合谁看?如果你是电子类专业的学生,正在学电力电子技术,课本上的推导觉得太抽象;或者你是嵌入式工程师,平时要选电源芯片但不太清楚背后的原理;又或者你纯粹是对硬件感兴趣,想搞明白手机充电器里到底发生了什么——那这篇内容应该能帮到你。我会尽量少用复杂的数学,多用波形图和直觉来解释,但该有的推导一步都不会少。
2. 伏秒平衡到底在说什么:从电感的脾气讲起
2.1 电感的“惯性”:电流不能突变
要理解伏秒平衡,得先理解电感的脾气。电感这个元件,本质上是一个储能元件,它把能量储存在磁场里。它的核心特性可以用一个公式概括:
V = L × (di/dt)
翻译成人话就是:电感两端的电压,等于电感量乘以电流的变化率。这个公式告诉我们一个非常重要的信息——电感电流的变化是需要时间的。你不能在一瞬间让电感电流从1A跳到2A,因为那需要无穷大的电压。这就像一辆重型卡车,你不能让它瞬间从静止加速到100码,你得给它时间。
正因为电流不能突变,所以在开关电源的稳态中,每个开关周期开始时和结束时,电感电流的值必须是相同的。如果不同,那就说明电路还没有进入稳态,电流在周期之间还在累积或衰减。我们分析开关电源时,默认的前提就是稳态——电感电流在一个周期内先上升后下降,最终回到起点,形成一个稳定的三角波。
这个三角波非常关键。它的上升斜率由电感两端的正电压决定,下降斜率由负电压决定。而上升的时间和下降的时间加起来,正好是一个开关周期。伏秒平衡说的就是:上升阶段电压乘以时间的面积,等于下降阶段电压乘以时间的面积。
2.2 伏秒平衡的数学表达与物理直觉
把上面的直觉写成数学表达式:
V_on × t_on = |V_off| × t_off
其中V_on是电感在开关导通期间承受的电压,t_on是导通时间;V_off是开关关断期间电感承受的电压(取绝对值),t_off是关断时间。这个等式成立的前提是电感电流在周期开始和结束时相等。
你可以把电感想象成一个水池,电流就是水位。开关导通时,水往池子里灌,水位上升;开关关断时,水从池子里放出来,水位下降。稳态下,一个周期内灌进去的水量和放出来的水量必须相等,否则水位就会越来越高或者越来越低。灌水的速度(电压)乘以灌水的时间,就是灌进去的水量;放水的速度乘以放水的时间,就是放出来的水量。两者相等,水位才能回到原点。
这个类比虽然不完全精确(因为电感电流是线性变化的,不是恒速灌水),但对于理解伏秒平衡的物理意义非常有帮助。关键点在于:正伏秒面积等于负伏秒面积,这是稳态的必然要求。
注意:伏秒平衡成立的前提是稳态。在启动瞬间或者负载突变时,电感电流还没有稳定下来,这时候伏秒平衡不成立。分析启动过程需要用别的方法,比如状态空间平均法或者直接做时域仿真。
2.3 开关周期、频率与占空比的定义
在进入具体拓扑之前,先把几个基本定义说清楚,不然后面的推导容易乱。
- 开关周期 T:一个完整的开关动作所需的时间,单位是秒。比如开关频率是500kHz,那么T = 1/500000 = 2微秒。
- 开关频率 f:开关周期分之一,f = 1/T。频率越高,周期越短,电感可以做得越小,但开关损耗会增大。
- 占空比 D:在一个周期内,开关导通时间占总时间的比例。D = t_on / T。占空比是一个0到1之间的数,通常用百分比表示。比如D=0.4,就是说40%的时间开关是导通的。
这三个量之间的关系是:t_on = D × T,t_off = (1-D) × T。伏秒平衡的等式就可以写成:
V_on × D × T = |V_off| × (1-D) × T
两边同时消掉T,得到:
V_on × D = |V_off| × (1-D)
这个式子就是推导占空比的核心工具。接下来我们把它分别用到BUCK和BOOST电路上。
3. BUCK降压电路:从伏秒平衡到D=Vout/Vin
3.1 BUCK电路的拓扑结构与工作过程
BUCK电路是最基础的降压拓扑,它的核心结构很简单:一个开关管(通常是MOSFET)、一个续流二极管(或者同步整流管)、一个电感和一个输出电容。输入电压Vin加在开关管和二极管串联的支路上,电感一端接在开关管和二极管的中间点,另一端接输出电容和负载。
工作过程分两个阶段:
阶段一:开关导通(t_on)
开关管闭合,输入电压Vin通过开关管加到电感左端。此时二极管反向偏置,不导通。电感右端是输出电压Vout。所以电感两端的电压是:
V_on = Vin - Vout
电感电流从这个电压除以电感量得到的斜率线性上升。能量从输入端传递到电感和负载。
阶段二:开关关断(t_off)
开关管断开,电感电流不能突变,它会寻找续流路径。此时二极管正向偏置导通,电感左端的电压被二极管钳位到大约0V(忽略二极管压降)。电感右端仍然是Vout。所以电感两端的电压是:
V_off = -Vout
注意这里的负号表示电压方向与导通时相反。电感电流线性下降,储存在电感中的能量释放给负载。
3.2 代入伏秒平衡推导占空比
把上面两个阶段的电压代入伏秒平衡公式:
V_on × D × T = |V_off| × (1-D) × T
代入V_on = Vin - Vout,|V_off| = Vout:
(Vin - Vout) × D = Vout × (1-D)
展开:
Vin × D - Vout × D = Vout - Vout × D
两边同时加上Vout × D:
Vin × D = Vout
所以:
Vout = Vin × D
或者写成:
D = Vout / Vin
这就是BUCK电路的占空比公式。非常简洁,也非常直观:输出电压等于输入电压乘以占空比。因为D永远小于1,所以Vout永远小于Vin,这就是“降压”的由来。
我当初看到这个结果的时候,第一反应是“这么简单?”确实就这么简单。但简单的前提是你理解了伏秒平衡。如果你死记硬背D=Vout/Vin,遇到BUCK-BOOST或者隔离拓扑就会懵。但如果你掌握了伏秒平衡的方法,任何拓扑的占空比都能自己推出来。
3.3 电感电流纹波与电感量计算
知道了占空比,下一步就是选电感。电感量决定了电流纹波的大小。电流纹波太大,输出电容上的电压纹波就大,而且电感可能进入饱和;电流纹波太小,电感体积大,成本高,动态响应也慢。所以电感量的选择是一个折中。
电感电流纹波的公式可以从V = L × di/dt推导。在导通期间:
ΔI_L = (Vin - Vout) × D × T / L
把D = Vout/Vin代入:
ΔI_L = Vout × (1 - Vout/Vin) × T / L
或者写成:
ΔI_L = Vout × (1 - D) / (L × f)
其中f是开关频率。这个公式告诉我们,要减小电流纹波,可以增大电感量L,或者提高开关频率f。但增大L会让电感体积变大,提高f会增加开关损耗。通常的做法是让电流纹波为额定输出电流的20%到40%。
举个例子:Vin=12V,Vout=5V,Iout=2A,f=500kHz。先算D=5/12≈0.417。假设我们想让电流纹波为输出电流的30%,即ΔI_L=0.6A。代入公式:
L = Vout × (1 - D) / (ΔI_L × f) = 5 × (1 - 0.417) / (0.6 × 500000) ≈ 9.7μH
所以选一个10μH的电感比较合适。实际选型时还要考虑电感的饱和电流必须大于峰值电流,峰值电流等于输出电流加上一半的纹波电流,即2 + 0.3 = 2.3A。所以电感的饱和电流至少要2.5A以上,留一些余量。
实操心得:很多新手选电感只看电感量,忽略了饱和电流和直流电阻。饱和电流不够,电感在大电流下会饱和,电感量急剧下降,电流纹波暴增,甚至烧开关管。直流电阻太大会导致发热和效率下降。我一般会选饱和电流为峰值电流1.5倍以上的电感,直流电阻尽量小。
3.4 输出电容的选择与电压纹波
输出电容的作用是平滑输出电压。电感电流是三角波,输出电容负责吸收这个纹波电流,让负载两端的电压保持稳定。输出电压纹波主要由两部分组成:电容充放电引起的纹波和电容等效串联电阻(ESR)引起的纹波。
电容充放电引起的纹波公式:
ΔV_C = ΔI_L / (8 × f × C)
ESR引起的纹波:
ΔV_ESR = ΔI_L × ESR
总纹波是这两部分之和。对于陶瓷电容,ESR很小,主要是电容充放电纹波;对于电解电容,ESR较大,ESR纹波可能占主导。
继续上面的例子,假设要求输出电压纹波小于50mV,用陶瓷电容,ESR可以忽略。则:
C = ΔI_L / (8 × f × ΔV_C) = 0.6 / (8 × 500000 × 0.05) = 3μF
实际选型时会选大一些,比如22μF或47μF,因为还要考虑负载瞬态响应和电容的直流偏压特性。陶瓷电容在直流偏压下容量会下降,比如一个标称22μF的电容在5V偏压下可能只有10μF左右。这一点在选型时一定要看数据手册的偏压曲线。
4. BOOST升压电路:从伏秒平衡到D=1-Vin/Vout
4.1 BOOST电路的拓扑结构与工作过程
BOOST电路是升压拓扑,结构上跟BUCK有所不同:电感在输入端,开关管在中间,二极管在输出端。输入电压Vin先经过电感,然后分成两路:一路通过开关管到地,另一路通过二极管到输出电容和负载。
工作过程也分两个阶段:
阶段一:开关导通(t_on)
开关管闭合,电感左端接Vin,右端通过开关管接地。所以电感两端的电压是:
V_on = Vin
电感电流线性上升,能量储存在电感中。此时二极管反向偏置,输出电容单独给负载供电。
阶段二:开关关断(t_off)
开关管断开,电感电流不能突变,它通过二极管流向输出端。此时电感左端仍然是Vin,右端被二极管和输出电容钳位到Vout(忽略二极管压降)。所以电感两端的电压是:
V_off = Vin - Vout
注意因为Vout大于Vin,所以V_off是负的,电感电流线性下降,储存在电感中的能量释放给输出电容和负载。
4.2 代入伏秒平衡推导占空比
代入伏秒平衡:
Vin × D × T = (Vout - Vin) × (1-D) × T
消掉T:
Vin × D = (Vout - Vin) × (1-D)
展开右边:
Vin × D = Vout - Vout × D - Vin + Vin × D
两边同时减去Vin × D:
0 = Vout - Vout × D - Vin
整理:
Vout × (1-D) = Vin
所以:
Vout = Vin / (1-D)
或者写成:
D = 1 - Vin / Vout
这就是BOOST电路的占空比公式。因为D在0到1之间,所以1-D也在0到1之间,Vout = Vin/(1-D)永远大于Vin,这就是“升压”的由来。
注意一个有趣的现象:当D趋近于1时,Vout趋近于无穷大。当然实际电路中不可能无穷大,因为寄生电阻、二极管压降、开关管导通电阻等因素会限制最大升压比。但理论上,BOOST的升压比可以很高。
4.3 BOOST电路的电感电流与元件应力
BOOST电路有一个跟BUCK很不一样的地方:电感电流是连续的,而且平均电感电流等于输入电流。因为电感在输入端,输入电流直接流过电感。而输出电流只在开关关断期间通过二极管流向输出端,所以输出电流是脉冲式的。
平均电感电流:
I_L_avg = Iin = Iout / (1-D)
因为输入功率等于输出功率(忽略损耗),Vin × Iin = Vout × Iout,所以Iin = Vout × Iout / Vin = Iout / (1-D)。
这个公式说明,BOOST电路的电感电流比输出电流大,而且升压比越高,电感电流越大。比如Vin=5V,Vout=12V,Iout=1A,则D=1-5/12≈0.583,I_L_avg = 1/(1-0.583) ≈ 2.4A。电感电流是输出电流的2.4倍,所以电感必须能承受这个电流。
开关管的电流应力:导通期间,开关管流过电感电流,峰值电流等于I_L_avg加上一半的纹波。开关管的电压应力等于Vout。
二极管的电流应力:关断期间,二极管流过电感电流,平均电流等于输出电流Iout。二极管的电压应力也等于Vout。
注意:BOOST电路有一个著名的“直通”问题。如果开关管失效短路,输入电压会通过电感直接加到输出端,输出电容会被充电到Vin,如果Vin高于负载能承受的电压,可能会损坏负载。所以BOOST电路通常需要额外的保护措施,比如输出过压保护或者保险丝。
4.4 BOOST电感量计算与选型实例
BOOST电感量的计算公式跟BUCK类似,只是电压和占空比不同。导通期间电感电压是Vin,所以:
ΔI_L = Vin × D × T / L = Vin × D / (L × f)
把D = 1 - Vin/Vout代入:
ΔI_L = Vin × (1 - Vin/Vout) / (L × f)
或者写成:
ΔI_L = (Vout - Vin) × (1-D) / (L × f)
继续用上面的例子:Vin=5V,Vout=12V,Iout=1A,f=500kHz。先算D=0.583。假设想让电感电流纹波为平均电感电流的30%,即ΔI_L = 0.3 × 2.4 = 0.72A。代入:
L = Vin × D / (ΔI_L × f) = 5 × 0.583 / (0.72 × 500000) ≈ 8.1μH
选一个10μH的电感。峰值电流为2.4 + 0.36 = 2.76A,所以饱和电流至少3A以上。
输出电容的选择跟BUCK类似,但BOOST的输出电容纹波电流更大,因为输出电流是脉冲式的。输出电容需要承受的纹波电流有效值大约等于Iout × sqrt(D/(1-D))。这个值可能很大,所以BOOST的输出电容通常需要多个并联,或者用低ESR的电容。
5. BUCK-BOOST与其他拓扑的伏秒平衡分析
5.1 BUCK-BOOST电路:反极性拓扑
BUCK-BOOST电路可以升降压,但输出电压是反极性的。它的结构是:电感一端接输入,另一端接开关管和二极管。开关管接地,二极管接输出。输出电容的负极接地,正极接二极管,所以输出电压是负的。
工作过程:
开关导通:电感接Vin和地,V_on = Vin,电感电流上升。二极管反偏,输出电容给负载供电。
开关关断:电感电流通过二极管流向输出,电感左端接Vin,右端接Vout(负值),所以V_off = Vin - Vout。注意Vout是负的,所以Vin - Vout实际上是Vin + |Vout|,是一个正值?不对,这里需要仔细定义方向。
为了避免符号混乱,我们统一用电感电压的绝对值。导通时电感电压为Vin,关断时电感电压为|Vout|。伏秒平衡:
Vin × D = |Vout| × (1-D)
所以:
|Vout| = Vin × D / (1-D)
占空比:
D = |Vout| / (Vin + |Vout|)
BUCK-BOOST的输出电压可以大于或小于输入电压,取决于D是大于还是小于0.5。当D=0.5时,|Vout|=Vin。
5.2 伏秒平衡方法的通用性
从上面三个拓扑的推导可以看出,伏秒平衡的方法是完全通用的。步骤总结如下:
- 确定开关导通期间电感两端的电压V_on。
- 确定开关关断期间电感两端的电压V_off。
- 写出伏秒平衡方程:V_on × D = |V_off| × (1-D)。
- 解方程得到占空比D与输入输出电压的关系。
这个方法不仅适用于BUCK、BOOST、BUCK-BOOST,还适用于隔离拓扑如反激、正激等。反激变换器本质上就是BUCK-BOOST的隔离版本,伏秒平衡分析完全一样,只是变压器的匝比会引入一个系数。
掌握了这个方法,你就不需要死记硬背各种拓扑的占空比公式了。遇到任何新拓扑,画出电感电压波形,列方程,解出来就行。
5.3 同步整流与二极管整流的区别
前面讨论的都是二极管整流。二极管有一个正向压降Vf,通常在0.3V到0.7V之间。这个压降会带来两个问题:一是效率降低,因为Vf乘以电流就是损耗;二是占空比公式需要修正。
以BUCK为例,考虑二极管压降后,关断期间电感电压是-(Vout + Vf),所以伏秒平衡变成:
(Vin - Vout) × D = (Vout + Vf) × (1-D)
解出来:
Vout = Vin × D - Vf × (1-D)
可以看到,二极管压降会降低输出电压。对于低输出电压的应用(比如3.3V甚至1.8V),Vf的影响很大,效率也很低。
同步整流用MOSFET代替二极管,MOSFET的导通电阻很小,压降远小于二极管。同步BUCK电路在关断期间,下管MOSFET导通,电感电流通过下管的沟道续流,压降是I_L × Rds(on),通常只有几十毫伏。这样效率可以大幅提升,占空比公式也更接近理想情况。
同步整流需要额外的驱动电路和死区时间控制,防止上下管同时导通造成直通短路。死区时间太短会直通,太长会降低效率(体二极管导通)。通常死区时间在几十纳秒左右,需要根据MOSFET的开关速度来调整。
6. 实操中容易踩的坑与排查技巧
6.1 电感选型的常见误区
我在实际项目中遇到过好几次因为电感选型不当导致的问题。最常见的是饱和电流不够。有一次做一个12V转5V、3A的BUCK电路,选了一个标称4.7μH、饱和电流3A的电感。理论上峰值电流是3A加上纹波的一半,大约3.3A,应该勉强够。但实际测试时发现,负载电流一到2.5A以上,电感就开始发出吱吱声,输出电压纹波暴增。用示波器看电感电流波形,发现电流波形顶部变平了,明显是饱和了。
后来换了一个饱和电流5A的电感,问题解决。这件事告诉我,电感的饱和电流一定要留足够的余量,至少是峰值电流的1.5倍。而且要注意,电感的饱和电流是在特定温度下测的,温度升高时饱和电流会下降。所以高温环境下余量还要更大。
另一个误区是忽略电感的直流电阻。直流电阻会导致发热和效率下降。我一般会算一下直流电阻上的损耗:P = I_L_avg² × DCR。如果这个损耗占总输出功率的比例太大,就要换更低直流电阻的电感。
6.2 输出电容的ESR与纹波测量
输出电容的ESR经常被忽略,但它对输出电压纹波的影响很大。有一次用了一个普通的铝电解电容做输出电容,标称100μF,但ESR有0.5Ω。电流纹波是0.5A,那么ESR引起的纹波就是0.5 × 0.5 = 0.25V,远远超过预期的50mV。换成低ESR的固态电容后,纹波降到了30mV以下。
测量输出电压纹波时,要注意示波器的探头接地方式。用普通的长地线探头,会引入很大的环路电感,测出来的纹波会包含开关噪声,看起来比实际大很多。正确的做法是用弹簧地线(短地线),并且把探头直接靠在输出电容的两端。如果实在没有弹簧地线,可以把探头的地线环去掉,用一根短导线绕在探头地环上,尽量减小环路面积。
6.3 开关节点振铃与EMI问题
开关节点(BUCK电路中开关管和电感的连接点)的电压波形通常会有振铃,这是因为开关管的输出电容和电感的寄生电容在开关瞬间发生谐振。振铃的频率通常在几十MHz到几百MHz,是EMI的主要来源。
抑制振铃的方法有几种:一是加RC吸收电路,在开关节点和地之间串联一个电阻和电容,吸收谐振能量;二是优化PCB布局,减小开关回路的面积,降低寄生电感;三是选择输出电容较小的MOSFET,降低谐振频率和幅度。
我在一个项目中遇到过EMI测试不过的情况,后来在开关节点加了一个10Ω电阻和1nF电容的RC吸收电路,振铃幅度降低了大约一半,EMI测试顺利通过。RC吸收电路的参数需要根据振铃频率来选,电阻值大致等于谐振阻抗,电容值要远大于开关管的输出电容。
6.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 输出电压偏低 | 占空比受限、二极管压降大、电感直流电阻大 | 测开关节点波形,看占空比是否达到预期 | 换低Vf二极管或同步整流,换低DCR电感 |
| 输出电压纹波大 | 输出电容ESR大、电感纹波大 | 测电容两端纹波,区分ESR纹波和电容纹波 | 换低ESR电容,增大电感或提高频率 |
| 电感发热严重 | 电感饱和、直流电阻大、电流纹波大 | 测电感电流波形,看是否饱和 | 换大饱和电流电感,减小纹波 |
| 开关管发热严重 | 开关损耗大、导通损耗大、驱动不足 | 测开关管电压电流波形,算损耗 | 换低Rds(on)开关管,优化驱动 |
| 电路不启动 | 占空比限制、软启动不足、保护触发 | 测输入电流和输出电压 | 检查软启动电容,调整保护阈值 |
| EMI测试不过 | 开关振铃、环路面积大 | 近场探头定位辐射源 | 加RC吸收,优化PCB布局 |
实操心得:排查开关电源问题时,示波器是最重要的工具。但要注意,测开关节点波形时,示波器探头的地线要尽量短,否则测出来的振铃会比实际大很多。我一般会用弹簧地线,或者把探头的地环直接焊一根短针。另外,测电感电流最好用电流探头,如果没有,可以在电感回路中串一个小电阻(比如10mΩ),测电阻两端的电压差。
7. 从理论到仿真:用Simulink验证伏秒平衡
7.1 搭建BUCK电路的Simulink模型
如果你不想一开始就动手焊电路,可以用Simulink先做仿真验证。Simulink里有专门的Simscape Electrical工具箱,里面有理想的开关、电感、电容、二极管等元件。
搭建BUCK电路的步骤:
- 从Simscape Electrical库中拖出DC Voltage Source作为输入。
- 拖出Mosfet(或者理想开关)作为开关管。
- 拖出Diode作为续流二极管。
- 拖出Inductor和Capacitor。
- 拖出Resistor作为负载。
- 用Pulse Generator驱动开关管,设置频率和占空比。
- 用Scope观察电感电压、电感电流和输出电压波形。
设置参数:Vin=12V,L=10μH,C=47μF,R=5Ω(对应1A负载),f=500kHz,D=0.417。运行仿真,观察波形。
你会看到电感电压波形是一个方波,正幅值为Vin-Vout≈7V,负幅值为-Vout≈-5V。正幅值乘以D(0.417)等于2.92V,负幅值乘以(1-D)(0.583)等于2.92V。两者相等,伏秒平衡成立。
电感电流波形是一个三角波,平均值等于输出电流1A,纹波大约0.6A。输出电压稳定在5V左右,纹波很小。
7.2 用仿真验证占空比公式
改变输入电压或者负载电阻,观察占空比是否自动调整以维持输出电压稳定。在开环仿真中,占空比是固定的,所以输出电压会随输入电压变化。你可以手动调整占空比,验证Vout = Vin × D是否成立。
比如把Vin改成15V,D保持0.417,输出电压应该变成15 × 0.417 ≈ 6.25V。运行仿真验证一下。然后再把D改成0.333,输出电压应该回到5V左右。
这种开环仿真虽然简单,但对于理解占空比和输入输出电压的关系非常直观。等你熟悉了,可以加入反馈控制环路,让占空比自动调整,实现闭环稳压。
7.3 仿真中的常见设置错误
Simulink仿真开关电源时,有几个设置很容易出错:
求解器步长:开关频率500kHz,周期2μs。如果求解器步长太大(比如自动步长),可能会错过开关瞬间,导致波形失真。建议用固定步长,步长设为周期的1/100到1/1000,即2ns到20ns。步长太小仿真会很慢,步长太大波形不准,需要折中。
开关管模型:理想开关没有导通电阻和开关损耗,仿真速度快但不够真实。如果需要评估效率,要用带导通电阻和开关损耗的MOSFET模型。但模型越复杂,仿真越慢。
初始条件:电感电流和电容电压的初始值会影响启动过程。如果初始值为零,仿真开始时会有一个较大的冲击电流。可以设置电感初始电流为输出电流,电容初始电压为输出电压,这样仿真直接进入稳态,节省时间。
示波器采样:Scope默认可能只显示最后一部分数据。要设置足够的数据点数,或者用To Workspace模块把数据导出到MATLAB工作区,再用plot命令画图。
8. 占空比之外:频率、效率与热设计的权衡
8.1 开关频率对电感和损耗的影响
开关频率的选择是一个多目标优化问题。频率越高,电感和电容可以越小,动态响应越快,但开关损耗越大,驱动电路的要求也越高。
开关损耗大致与频率成正比:P_sw ≈ 0.5 × Vin × Iout × (t_rise + t_fall) × f。其中t_rise和t_fall是开关管的上升和下降时间。频率翻倍,开关损耗翻倍。
电感量大致与频率成反比:L = Vout × (1-D) / (ΔI_L × f)。频率翻倍,电感量减半,电感体积可以减小。
所以选择频率时,要在体积和效率之间折中。对于便携设备,体积重要,频率通常选在1MHz到3MHz;对于工业电源,效率重要,频率通常选在100kHz到500kHz。
8.2 同步整流与效率提升
同步整流是提升效率的有效手段,尤其是在低输出电压的应用中。二极管的正向压降Vf在1A电流下可能是0.5V,损耗就是0.5W。如果输出是5V/1A,输出功率5W,二极管损耗就占了10%。换成同步整流,MOSFET的导通电阻可能是20mΩ,损耗只有20mW,几乎可以忽略。
但同步整流也有代价:需要额外的驱动电路,死区时间控制,而且下管MOSFET的体二极管在死区期间会导通,产生额外的损耗。另外,同步整流在轻载时可能会出现电流倒灌,需要加入轻载模式或者二极管仿真模式。
8.3 热设计与PCB布局要点
开关电源的热设计经常被忽视,但它是可靠性的关键。损耗最终都变成热量,如果散热不好,元件温度过高,寿命会大幅缩短。
主要发热元件是开关管、电感和二极管(如果是非同步整流)。开关管的损耗包括导通损耗和开关损耗,电感的损耗包括铜损和铁损,二极管的损耗是Vf × Iout。
PCB布局对散热和EMI都有很大影响。关键原则:
- 开关回路面积尽量小,减少寄生电感和EMI辐射。
- 电感的焊盘要大,最好铺铜散热。
- 开关管下面铺铜,用过孔连接到背面的大面积铜皮散热。
- 输出电容尽量靠近负载,减少走线电阻和电感。
- 反馈走线要远离开关节点,避免噪声耦合。
实操心得:我一般会在PCB上留几个热敏电阻的位置,用来监测关键元件的温度。如果空间允许,还会在开关管和电感下面放散热过孔。对于大功率应用,可能需要加散热片或者风扇。热设计做得好,电源的寿命和可靠性会大幅提升。
9. 从BUCK到BOOST:一个实际项目的设计记录
9.1 项目需求与方案选择
去年我接手了一个项目,需要从3.7V锂电池升压到12V,给一个传感器模块供电,输出电流最大500mA。输入电压范围是3.0V到4.2V,输出电压要求12V±5%,效率要求大于85%。
选择拓扑:因为需要升压,所以选BOOST。因为输出电流不大,500mA,所以可以用二极管整流,不需要同步整流。开关频率选1MHz,这样可以减小电感体积。
计算占空比:最坏情况是输入电压最低时,Vin=3.0V,Vout=12V,D = 1 - 3/12 = 0.75。占空比比较高,但还在可控范围内。
计算电感电流:Iin = Iout / (1-D) = 0.5 / 0.25 = 2A。平均电感电流2A,峰值电流2A加上纹波的一半。
选择电感:假设纹波为平均电流的30%,即0.6A。L = Vin × D / (ΔI_L × f) = 3 × 0.75 / (0.6 × 1000000) = 3.75μH。选一个4.7μH的电感,饱和电流至少3A。
选择开关管:电压应力12V,电流应力峰值约2.3A。选一个30V、5A的MOSFET,导通电阻尽量小。
选择二极管:电压应力12V,平均电流0.5A。选一个30V、1A的肖特基二极管,压降尽量小。
选择输出电容:输出电流0.5A,纹波电流有效值约0.5 × sqrt(0.75/0.25) = 0.87A。需要选纹波电流承受能力大于1A的电容。用两个22μF的陶瓷电容并联,再加一个100μF的电解电容。
9.2 实测波形与问题排查
板子焊好后,先不接负载,测空载输出电压。结果输出电压只有11.2V,比预期的12V低。检查占空比,发现实际占空比只有0.7左右,没有达到0.75。原因是控制芯片的最大占空比有限制,或者电感直流电阻和二极管压降导致实际占空比需要更大。
调整反馈电阻,让控制芯片输出更大的占空比。但占空比调到0.75后,输出电压还是只有11.5V。用示波器看开关节点波形,发现开关管关断时有一个明显的振铃,导致二极管导通时间缩短,有效占空比降低。
在开关节点加了一个RC吸收电路(10Ω + 1nF),振铃明显减小,输出电压升到了11.8V。再微调反馈电阻,最终输出电压稳定在12V。
接上500mA负载,测效率。输入功率 = 3.7V × 1.8A = 6.66W,输出功率 = 12V × 0.5A = 6W,效率 = 90%。满足要求。
9.3 最终BOM与成本优化
最终BOM如下:
| 元件 | 型号 | 数量 | 单价 |
|---|---|---|---|
| 控制芯片 | XXX | 1 | 2.5元 |
| MOSFET | 30V 5A | 1 | 0.8元 |
| 肖特基二极管 | 30V 1A | 1 | 0.3元 |
| 电感 | 4.7μH 3A | 1 | 1.2元 |
| 陶瓷电容 | 22μF 25V | 2 | 0.5元 |
| 电解电容 | 100μF 25V | 1 | 0.3元 |
| 反馈电阻 | 0805 | 2 | 0.02元 |
| PCB | 双面 | 1 | 1.5元 |
总成本约7.1元。如果要进一步优化成本,可以换更便宜的控制芯片,或者减少输出电容的数量。但要注意,成本优化不能牺牲可靠性。
这个项目让我对BOOST电路有了更深入的理解。伏秒平衡不只是课本上的公式,它是实际设计中计算占空比、选择电感、排查问题的核心工具。每次遇到输出电压不对的情况,我都会先测电感电压波形,看看伏秒平衡是否成立,往往能很快定位问题。
10. 写在最后:一些个人体会
折腾了这么多年的开关电源,我最大的体会是:伏秒平衡这个看似简单的概念,其实是整个电源设计的灵魂。你不需要记住所有拓扑的占空比公式,但你必须理解伏秒平衡的原理。理解了它,你就能自己推导任何拓扑的占空比,就能在调试时快速判断问题出在哪里。
另一个体会是,仿真和实测缺一不可。仿真可以帮你快速验证思路,但仿真模型往往过于理想,实际电路中的寄生参数、元件非线性、PCB布局的影响,只有实测才能发现。我一般会先用仿真确定大致参数,然后焊板子实测,根据实测结果调整。
最后分享一个小技巧:如果你手头没有电流探头,可以用一个很小的电阻(比如10mΩ)串联在电感回路中,用示波器的两个通道分别测电阻两端的电压,然后用数学运算相减,再除以电阻值,就得到了电感电流波形。这个方法虽然麻烦一点,但很实用,尤其是在调试低成本的电源板时。
开关电源设计是一个需要耐心和细心的活,有时候一个小问题可能要花好几天才能找到原因。但当你看到示波器上稳定的输出电压波形,看到效率达到预期,那种成就感是实实在在的。希望这篇内容能帮你少走一些弯路,更快地掌握BUCK和BOOST电路的精髓。