做硬件都会接触到开关电源,或多或少会接触到环路补偿。很多兄弟们也提出来让我说说这个,说明大家也都很关心,也说明这个好像有点难。
就我个人而言,我也想搞明白环路这一块,也查了一些资料,视频,不过说实话,一直都还是懵的,感觉很困难。
具体感觉就是,看资料或视频的时候,感觉好像是那么回事。但是撇开之后,就又云里雾里的感觉,总有一些想法没有找到答案。
问题
比如下面我想过的问题:
1、开关电源有开关,根本就不是一个线性系统,传递函数是咋弄出来的?2、系统环路框图的输入量为什么不是Vin,而是参考电压Vref?参考电压不是固定的吗?
3、穿越频率为什么要低于开关频率?并且是它的几分之一?
当然,问题有很多,以上只是随便列几个。
我看的很多资料,大都是这样的:上来就列出传递函数,包括功率级和补偿级,然后一型,二型补偿,画出对应的波特图,相位等,然后给出一些结论,再举一些实际计算的例子。
总之,看完总不觉得不那么清晰,你要说不会吧,我照着套公式自然好像还行。但是你要说会吧,我觉得我是不会的。
为什么看不懂
那为什么有这种感觉呢?
我想了一下,我觉得是讲课的人和听课的人没有先达成一个共识。
就是当我们说明某一件事情时,大家先有一个共识,有一个共同的基础,然后在这个基础共识上面进一步扩展,得到一个新的结论。但是如果没有共同的基础,那很容易就成了鸡同鸭讲了。
举个简单的例子,比如一个直角三角形,如果说两直角边分别长3和4,那么斜边长度就是5,大家对这个应该都没有什么疑问。没有疑问的原因就是因为我们有一个基本的共识,那就是勾股定理。如果一个不知道勾股定理的人,可能就会问,你凭啥说斜边是5,他就是不懂的。
环路之所以难懂,我觉得应该是基础共识太高了,一般人都不知道,而讲的人又不管你知不知道这个基础共识,所以就出现了似懂非懂,看不明白的情况。
我的目标
我目前的想法是,尽量从一个比较低的起点,大家都知道的共识,一步一步搞明白环路,这样大多数人就都能明白了,我自己也能理解得更加透彻。
不过这也就会造成要写很多内容,因为要构建基本的共识,所以我可能要写很多内容。
传递函数
我们分析开关电源环路,自然就需要知道整个电路的传递函数。
为啥说要自然要知道传递函数呢?为了照顾下没啥基础的兄弟,我还是先来说一说传递函数是什么,有什么用(建立比较低的共识基础)。
首先,传递函数是怎么定义的呢?
百科是这么定义的:
通俗理解就是,在电路应用中,如果我们把一个电路看作黑匣子,它有输入端,有输出端,传递函数就是输出与输入的比值。需要注意,这个电路得是一个线性电路。
这个比值通常是频率的函数,同时还包含相位信息。s=jw,w就是频率,j包含了相位信息。
定义我们已经知道了,那它有什么用呢?
用处可大了。
如果我们知道了一个系统的传递函数为H(s),那么,根据H(s)=Vout(s)/Vin(s),就可以得到输出表达式:
Vout(s)=H(s)*Vin(s)
这个式子的意义在哪里呢?
可以看到,这个式子的自变量是频率,也就是说任意一个频率的正弦信号输入到这个系统,我们都可以通过这个式子计算出输出信号。
另外一方面,无论我们的电信号有多复杂,多不规律,都可以通过傅里叶变换来分解成为各种正弦波信号的叠加。
从前面传递函数的定义知道,这个传递函数只适用于线性系统,而线性系统满足叠加原理。也就说我们可以把输入信号通过傅里叶变换分解为各种正弦波,分别通过这个系统,然后把各个输出信号加起来(叠加),就是输出信号了。
所以,这个式子的意义就是:任何一个信号通过这个系统,都可以通过这个公式算出来输出长什么样子。计算过程有点复杂,不过对于计算机来说,那都不是事儿。
需要说明一点的是,我们并不经常分析一个具体的信号通过系统,而是直接分析传递函数,画出对应的波特图,还有相位曲线。通过看图我们就能很直观的明白这个系统的特性了。
举例
下面举一个例子吧。
这是一个简单的电路,它的传递函数是怎么样的呢?
很简单,运用欧姆定律。如果电路中只有电阻,我们应该都会使用欧姆定律求得输出的电压值。
但是这个电路中还有电感和电容,怎么办呢?
其实我们用复阻抗的欧姆定律就可以了。电感的阻抗是sL,电容的阻抗是1/sC,电阻的阻抗是R。输出为电容C上面获得的分压,所以输出与输入的比值(即传递函数)为:
我们知道,s=jw,所以这个函数是个复数,有实部和虚部。我们求这个
我们通过这个传递函数,可以借助一些仿真软件,很容易就能画出幅频和相频曲线。
下图是R=1K,L=1uH,C=1uF时的曲线
上图是直接代入的公式画出的图,并不是画了一个电路图。当然,画一个电路图去仿真,结果也是一样的。
实线是幅频曲线,虚线是相频曲线。
很容易看出这是一个低通滤波器了,不过这个例子太简单,不画曲线也知道。下面再举一个稍微复杂一点的例子。
再举一个例子
比如下面这个有放大器的电路,你能一眼看出干什么用的吗?
如果没用过,很难看出来,不过这没关系,只要我们了解放大器的“虚短”和“虚断“,求出传递函数并不复杂。
过程如下,过程并不是重点,可以跳过。
当Z1为R1=15.8K电阻,Z2为R2=806Ω电阻,Z3为C3=10nF电容,Z4也为C4=10nF电容,Z5为R5=316K电阻(这么取值是因为这个电路其实是我抄别处的,原来就是这些值)。
电阻的阻抗是电阻的阻值,电容的容抗是1/sC,分别代入上面的式子,就可以得到具体传递函数了,也就能画出曲线了,曲线如下图:
可以看出来,这是个带通滤波器。
可能有人说这样求解函数画图太麻烦了,直接构建一个仿真电路图不就行了,还不用计算。
对于我举的例子来说确实如此,下面就是我用放大器构建的电路图,也能画出来,如下图。可以看到,幅频曲线与上面的基本一样。
既然电路仿真就可以画出曲线,那我们为什么还要求传递函数呢?
其实我觉得这是因为我上面举的例子都是经典电路,滤波器嘛,截止频率啥的都是有现成的公式。而这些公式,其实都是前人分析传递函数总结出来的,所以我觉得掌握了传递函数,才是掌握了根本。
另外,遇到一个陌生的电路,我们如果有传递函数,也就可以用数学的方法进行分析,求出零极点,也能分析下它的特性,进而知道改变某个参数会带来什么影响。而如果直接上电路仿真,当结果不是你想要的的时候,如何知道改哪个参数呢?很容易瞎改一通。
小结
本节的内容就到这里了,其实主要说明一个问题,就是我们需要知道传递函数是什么,有什么用。而且也举例如何求解一般电路的传递函数。
不过,从前面的定义我们知道,传递函数的前提是线性系统。开关电源有开关,是线性系统吗?
开关电源还真不是线性系统,所以我们求传递函数的时候,需要将其线性化,当然,肯定是指有条件的线性化,需要有一些假设,构建模型,这个过程也是相当的复杂。
至于具体如何求解传递函数,敬请期待下回分解。至于开篇的几个问题,也留待后面,咱慢慢来。