上一篇数字电源环路补偿(1)-CSDN博客介绍了数字电源的环路设计的基本原理,并用了一个一型补偿器作为例子把LLC控得还行。
那么问题来了,一型补偿器好是好,它设计方便,结构简单,高效粗暴,但是就一个问题:它不能提供一个相位补偿啊,这样的系统的截止频率就没法升高了(系统响应天花板定死了),基本只能看天吃饭(指的是看Hfv)。所以这篇博客把二型和三型补偿器介绍一下(虽然我最高也就用过二型),使用二、三型补偿器来提升相位,从而拉高系统的截止频率。
首先就是二型补偿器,这里先给出模拟电路的搭建吧,推出来的传递函数再离散一下就是数字控制了,这样会直观容易理解一些。
![](https://i-blog.csdnimg.cn/blog_migrate/b30644f627fa25f55570ff78d01fee79.png)
这里就直接默认这个运放十分理想了,也就满足以下几个条件:
这里的Aol是运放的开环增益,GBWP是运放的单位带宽积,而wp0是运放自身存在的低频零点,也就理想运放是一个积分器,实际运放其实是个低通器。
有了这些个假设,那么虚短虚断直接出来下面这个式子:
其中wz,wp就是二型补偿的一对零极点,而G0为Hfv在截止频率处的补偿增益。正是这对零极点提供了一个相位补偿的作用,使得我们可以设计更高的截止频率。其具体和电路的关系为下:
为了分析一对零极点能提供多少相位裕度,这对零极点什么频率处能提供这么多相位裕度,把G(s)中的1/s拿去,只分析一对零极点,把jw代入s,那么可以得到下面式子:
假设我们希望取其能提供的最大相位,也就是对w求导
这样很直观得到了二型补偿器的参数:
boost为你希望提升的相位,wc为你设计的截止频率
那么最后二型补偿器的零极点设计和补偿增益设计为下:
有了这个零极点设计,也就传递函数知道了,数字控制就是一个离散化的问题了;代入上面的电路关系,各个电阻电容的取值也就确定了,模拟控制也确定了。
这里给出补偿后的伯德图:
截止频率依旧是5kHz,但相位裕度提高到了71.9°,和数字电源环路补偿(1)-CSDN博客相比,相同的截止频率,但是相位裕度高了40°,所以系统的超调会减小,这边画出阶跃响应
可以说基本无超调了,依旧是搭建Simulink仿真:
实际还是会存在一些超调,应该是模型不太准确带来的,但问题不大。
大部分场合下二型补偿器足够用了,但是如果一些系统的相位裕度确实不够用,90°都救不回来,只能用三型补偿器了,三型补偿器相较于二型补偿器又多了一对零极点,因此三型补偿器最多可以提供180°的相位补偿。还是老规矩,给伯德图和实现电路,再给传递函数进行分析
结合上面电路,依旧是假设满足理想运放,那么有下式:
其中的定义参数与电路参数有如下关系:
依旧为了分析三型补偿器能在什么频率处提供多少的相位补偿,单独研究这两对零极点,将jw代入s后,取相角有下式:
为了简化分析,假设wz1=wz2,wp1=wp2,那么为了取得最大相角,对其求导,有下式:
最后可以反代回去求出提升的相位boost和该提升相位处的频率:
这样一来,我们的三型补偿器的设计就确认了:
这里给出补偿后的伯德图和阶跃响应:
自行对比吧,振荡是明显了点,但是响应确实快了许多。再回到Simulink仿真看看:
实际系统并没有这么高频振荡,只能说明一件事情,Hfv高频段不准确,这个小信号模型只有中低频比较准确,所以就看个乐。
说了这么多补偿器,似乎还没讲到最常见的PID控制,所以这边再顺便讲讲PID,首先PI其实是最常见的,PID中的D环节对高频干扰较大,因此PID实际更加常见为FPID,这也是Simulink中PID模块滤波系数的由来,这里直接给Simulink中pid的传递函数如下:
乍一看似乎很复杂?那换成零极点的形式:
其中各个参数对应关系如下:
具体怎么求各个PID参数其实就是套二型补偿器那套,只不过二型补偿器多一个高频极点,而FPID没有,但是设计原则一样,这里给出FPID的伯德图,和二型补偿器一对比,就知道我在说什么了。
FPID只比2型多了一个高频零点,在低中频段十分相似。因此系统响应也十分接近,相比1型补偿器,提高相位裕度和截止频率后,响应速度提高,超调量减少。相比2型,虽相位、幅值裕度稍微增大,但从nyquist图上看,系统更加不稳定。
还是给出补偿后的伯德图和阶跃响应曲线:
仅仅从原理上来看,其响应大体趋势十分接近二型,只是多了许多小尖刺、振荡。跑个仿真看看:
理论是理论,实际根本不会出现这种高频振荡,所以FPID和二型补偿器在仿真实施中其实是十分相近的,但是我还是推荐二型补偿器,虽然没有FPID那么直观,参数不可以直接调什么Kp、Ki的大小直观理解,但是胜在稳定,毕竟从理论上看就是可以有效抑制高频噪声。
说了这么多,都是仿真trick罢了,所以下一节直接上代码和实物实验,实操一下我这两节博客所说的原理。