我不打算写这篇文章,因为我以前写过《手撕》Boost!Boost在我看来,公式推导和实验证,Buck与boost是完全相似的,理解一个,另一个也理解。
但后来有粉丝问我有没有buck,所以今天就来推导一下buck公式。毕竟每个人的基础都不一样,举一反三有时候很难,现成的更好。
假如没见过手撕boost是的,我建议你先看看,因为有很多前提条件有详细的解释。,这篇文章就不赘述了,罗里吧啰嗦也不好。
先简要说明一下。
Buck作为硬件工程师,是直流直流的降压电路,以下是拓扑结构,。
为什么要写下来,自然是因为这个电路太基础了,大家都会用。更重要的是,面试。。。
上图为异步buck,同步buck用二极管代替里面的二极管MOS管。
我用异步buck分析的原因是觉得比较复杂,有二极管导通压降。如果理解异步,自然理解同步。
而且,根据这个拓扑,只需将公式中的二极管压降为0即可。
。
工作原理其实很简单,上图MOS管道是一个开关,只要速度足够快(开关频率足够高),控制导管和关闭时间(电感充放电时间),输出滤波电容器,基本稳定Vo也就是输出电压。
下面来看下,和。
先看
,二极管不导通。我们看电感。电感的左侧是Vi,右边是Vo,因为是降压,左侧大于右侧,所以电感两端的电压是Vi-Vo,为恒定值。如果将电感电流定义为正,则电感电流线性增加,因为L*di/dt=Vi-Vo,那么di/dt=(Vi-Vo)/L=常数。
,如果电感流动,会产生反向电势,使二极管导通,二极管导通电压是Vd。阴极电压是因为二极管阳极接地-Vd,也就是说,电感左侧的电压是-Vd,右侧的电压是Vo所以电感两端的电压是不变的,-Vd-Vo。电感电流线性减小,因为L*di/dt=-Vd-Vo,di/dt=-(Vo Vd)/L=常数为负值,线性减小。
。
那么先把列出来
首先是输入电压Vi,输出电压Vo,输出电流Vo/R,咱总得所以这些在设计之初就已知了。
二是开关频率f,这个在芯片选型之后就是确定的了。
然后是设计目标,输入纹波大小△Vi,输出纹波大小△Vo。
根据这些已知数量,我们可以获得电感,输入滤波电容,输出滤波电容。
因为计算的其实就是。因此,我们首先要求的是开关导通时间和断开时间,或者。
这也很简单,我们。
,电感两端的电压是Vi-Vo。
,输出端电压为Vo,二极管导通,电感右侧为Vo,电感左侧连接-Vd,所以此时电感两端的电压是Vo Vd。
整个电路稳定后,由于负载电流恒定,在一个周期内,电感电流在开关导通过程中增加的量等于开关截止日期时电感电流减少的量,即电感充电时放电,否则负载电流或电压会发生变化。
也就是说,在一个周期内,电感电流的增加等于减少量。
然后又因为U=Ldi/dt,di/dt=U/L,L因此,电感电流的变化速度与电压成正比。
简单地说,就是,。
斜率与电压成正比,电感电流的上升高度与下降高度相同。上升时间不是与电压成反比吗?
因此,自然有:
Ton/Toff=(Vo Vd)/(Vi-Vo)
如果我们改变,我们会得到江湖所传的”
再根据T=Ton Toff=1/f
我们可以分别要求导通时间,关闭时间,占空比。
如果是同步buck,那么Vd=会见到我们的:
电感选型首先需要考虑两个参数和。
电感电流分为两个,和。
先看
显然,输出电压Vo基本不变,即输出滤波电容器两端的电压没有变化,所以,根据输出节点的基尔霍夫电流定律,如果节点电流为0,则电感的平均电流等于负载的平均电流Io。
即。
然后我们再来求
从前面可以看出,电感电流是一种三角波,当开关导通时,电感电流增大,关闭时,电感电流减小。
纹波电流的大小很容易找到,这相当于开关导通时电感电流增大的值,也相当于关闭时电感电流减小的值。
我们计算其中一个,算吧。
这个也非常easy,开关导通,电感两端电压是Vi-Vo,导通时间Ton前面已经求出来了。
根据U=Ldi/dt就可以求出电感电流纹波△IL=di=U/L*Ton
可以看到,。
同时呢,我们也很容易得到电感的峰值电流,就是电感的平均电流加上纹波电流的一半嘛,即ILp=IL+△IL/2=Io+△IL/2。
也就是:
电感选型时,电感的ILp,并且要留一定的裕量。
现在我们已经写出来了电感的平均电流IL,电感的纹波电流△IL,。
即:△IL=(0.2~0.4)*IL
根据这个范围,就能求得我们的电感值范围了。
我们在确定输入滤波电容的时候,是的,这个假设是什么呢?
。
实际应用中,输入电源可能距离很远,有了很长的走线,走线越长,寄生电感就越大,也就是说输入电源不能快速响应这个Buck输入电流的需求。
因此,我们在一个周期时间内,可以将输入电源的电流看作是恒定的,稳定状态下,这个电流也等于电源输入的平均电流Ii,我们先求一下。
很简单,使用就可以了。
,那么用耗电的器件有2个,一个是二极管,一个是负载R。
由工作原理可知,二极管只在MOS开关断开时有电流流过,其电流等于电感电流,并且一个周期内有电流流过的时间为Toff,所以二极管的平均电流也等于电感的平均电流,为IL=Io。
一个周期内二极管流过电流的时间为Toff,电流为IL,导通压降为Vd。
所以为:
Pd=Vd*Io*Toff*f =Vd*Io *(Vi-Vo)/(Vi+Vd)
是Pr=Io*Vo
Pi=Vi*Ii
根据能量守恒,Pi=Pr+Pd,可以得到:
。
了解了这个前提条件,我们
我们先理清下思路,输入电压纹波就是输入电容上面的电压变化。电容上面的纹波变化可以分成。
,这个变化会导致电压变化,可以用公式Q=CUq来表示,即是电压的变化。
,电容充放电时有电流流过,电流流过ESR会产生压降,这个压降用Uesr表示吧。
所以,电压纹波应该是:
我们看输入节点,这个节点的电流有3个,的,前面说了,在一个周期内,它可以看作是恒定的,,另外。
根据基尔霍夫电流定律,节点电流和为0,并且电源输入的电流恒定为Ii,那么输入电容电流的变化量必然等于开关电流的变化量,因为最终3者的和为0。
也就是说,开关断开时,开关电流为0,那么电源输入的电流全都流进输入电容,电容被充电,此时电容的充电电流为Ii。而开关导通时,电感需要续流,这个电流由电源输入和输入滤波电容二者共同提供,电容此时放电。
并且,开关切换的时候,开关电流是突变的。而三者电流和为0,那么电容的电流必然也是突变的。
我们画出三者的电流波形如下:
一个周期内,,我们计算出其中一个就行了。
显然,,因为充电时开关断开,电容的电流就是电源的输入电流,是恒定的,为Ii。
根据Q=I*t,那么充入的电荷量为Q=Ii*Toff,电容充入电荷,会导致电压变大,这个电压的增量这里取个名字叫Uq,那么Q=Uq*C,也就是Uq=Q/C=Ii*Toff/C
最终可以求得Uq
想要知道ESR造成的纹波大小,我们只需要知道流过电容的电流就知道了,因为电压等于电流乘以ESR。
我们把电容的电流波形单独画一下。
这个:
在,电源输入电流Ii全部进入输入滤波电容,因为li恒定,因此输入滤波电容的电流就是恒定为li,此时电容充电,如果我们把充电电流定义为正,那么电流就是+li。
在,电感原本从二极管续流,变成了从MOS管续流,因为之前电感一直在放电,所以切换时电感电流最小,等于IL-△IL/2,在整个Ton时间段内,电感是被充电的,所以电感电流一直在增大,直到达到峰值电流IL+△IL/2。
并且在Ton时间内,电感电流走的是MOS管通路,因此,Mos管电流最大也是IL+△IL/2。根据输入节点电流和为0,这个电流等于输入电源电流Ii和滤波电容的放电电流,所以滤波电容的最大放电电流为IL+△IL/2-Ii。因为前面定义了充电电流为正,那么放电电流就为负,即滤波电容电流是:-(IL+△IL/2-Ii)。
。
在开关断开时,ESR上面产生的压降是恒定的,为:Ii*ESR
在开关导通后,ESR上面产生的最大压降是:-(IL+△IL/2-Ii)*ESR
两者相减,得到的就是一个周期内ESR引起的纹波大小,也就是:
Uesr=(IL+△IL/2)*ESR
计算过程如下:
好,我们已经算出Uesr和Uq。
那么根据△Vi=Uesr+Uq,我们就可以△Vi的表达式了,如果知道△Vi,我们也能得到输入滤波电容Ci的大小或者是ESR了。
:
这个公式看着有点复杂,有两个参数都跟电容本身有关系,和容量。
考虑到我们的
,Uq对纹波起决定作用,所以输入纹波电压可以近似为Uq,如果我们要限定纹波不能大于△Vi,那么Uq≤△Vi。
,Uesr对纹波起决定作用,所以输入纹波电压可以近似Uesr,如果我们要限定纹波不能大于△Vi,那么Uesr≤△Vi
根据上面两点,我们就可以去选择合适的电容了。
好,现在输入电容的理论计算已经搞定了,我们接着看输出滤波电容。
相比输入纹波△Vi大小,我们可能更的大小,毕竟是要带负载的。同样,纹波由电容容量和ESR决定。
我们看输出节点,这个节点的电流有3个,一个是来自负载的,它可以看作是恒定的,为Io=Vo/RL,一个节点是输出滤波电容,另外一个节点是电感。
根据基尔霍夫电流定律,节点电流和为0,并且负载的电流恒定,那么电感电流的变化量必然等于电容电流的变化量,因为最终3者的和为0。
我们画出如下:
根据节点电流和为0,那么输出电容的电流变化就是功率电感的电流变化(你增大时我减小,你减小时我增大)。我们从上图也可以很直观的看出来。
显然,电容电流大于0时,电容在充电,电容电流小于0时,电容在放电。并且图中也可以看到,。
从前面知道,输出电容的电流变化就是功率电感的电流变化,因为电感的纹波电流是△IL,那么电容的纹波电流也是 △IL。又因为电容的平均电流是0,所以电容的充电电流和放电电流都是△IL/2。
需要注意,电容电流是在大于0时充电,电流小于0时放电,也就是图中阴影部分,充电与放电的切换的时刻并不是开关导通与断开的时候,而是在中间时刻。
然后电容放电/充电的,这不就是
三角形底部是时间,充电/放电时间等于T/2
三角形的高为电感纹波电流的一半,△IL/2。
所以总放电量为Q=1/2*底*高
再结合Q=CUq,即可求得Uq了。
具体计算如下图所示:
前面波形图知道,电容的充电电流最大是△IL/2,放电电流最大就是-△IL/2,负号表示电流方向,方向的不同,引起的压降的电压也是相反的。
那么是:
Uesr=△IL/2*ESR-(-△IL/2*ESR)=△IL*ESR
最终,我们求得Uesr的公式如下:
好,我们已经算出Uesr和Uq,那么根据△Vo=Uesr+Uq,就可以求出总的输出纹波大小△Vo。
根据上面两点,我们就可以去选择合适的电容了。
,Uq对纹波起决定作用,所以可以近似为Uq,如果我们要限定纹波不能大于△Vo,那么Uq≤△Vo
公式到这里就基本推完了。
下面把Buck所有的公式汇总下,如下图:
之前写过,不过没汇总公式,现在也汇总如下:
公式现在都已经推出来了,这些公式都是从拓扑结构里面推出来的,我们也会在很多芯片手册中看到这些公式,那么我们设计时,按照
原因在于,实际我们使用的器件都不会是理想的。
就陶瓷电容来说,一个直流偏压特性,可能就使得甚至更低。
还有电容会有ESL等参数,电路本身还有会其它的损耗等等,这些都会使得buck/boost实际输出与理论推导有较大的出入。
虽然这些公式不能直接套用,但是我们根据它们也能大致知道是个什么情况,所以其作用还是有的,我们设计时也需要去算一算的。
这些因素具体有多大的威力,以及实际电路该如何考量。因为我在之前的《手撕Boost!Boost公式推导及实验验证》一文中,进行了大量的实验以及分析,现在就不再说了,有兴趣可以去翻一翻。
</article>