BUCK电路模拟补偿器的数字化过程

大家好,我是电源漫谈,很高兴和各位一起分享我的第6篇原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享。

加微信[13764329639]与作者微信及进群沟通交流。

前述文章讨论了电压模式BUCK和峰值电流模式BUCK的模拟环路补偿器设计,针对相同的功率级电路,我们如何去实现一个数字补偿器的设计呢?本文就以此为主题,详细探讨这一设计过程。

一.数字化控制的典型过程分析

众所周知,若要进行数字化控制,首先需要将反馈量从模拟量变到数字量,所以必然需要对反馈量进行ADC的转化过程,如下我们给出了典型的电压模式BUCK电路的数字化控制框图,如图1所示。

图1 典型的BUCK电压模式数字化控制框图

在图1中,除了对模拟反馈信号进行数字化之外,由此和数字参考量相减得到的数字控制误差,也需要一个数字补偿器进行控制,补偿器输出的数字结果,输出给PWM外设,产生控制开关管的占空比信号,由此调整功率级输出电压实现稳定。

图2 典型的数字电源控制流程

进一步的,我们通过一个更为细节的框图来分析电源的数字化,如图2所示。数字参考可以看成对应于输出反馈电压采样信号的离散的数字参考,它和ADC采样的输出电压数字信号进行相减,得到数字误差由数字补偿器去产生控制量,由于dsPIC33是基于定点运算的控制芯片,所以只能通过整数的形式去表示小数,比如通过-3276832767之间的整数去表示-10.999之间的小数,像如图3所示的Q15格式小数,通过图3中的Q15小数格式,我们可以求得其表达的实际小数值,注意在bit14bit15之间有一个隐含的小数点,bit15是一个符号位,0表示正数,1表示负数。

图3 Q15格式的小数表示

为了实现补偿器中任意实数的运算,必须要进行若干移位及反移位及缩放及反缩放操作,实现小数运算的同时能不改变数值的表达的范围,最终得到控制信号,如占空比等。关于补偿器系数的移位缩放等过程,由于篇幅问题,本文暂不进行讨论,会放到后面进行单独讨论。

图4 数字化的补偿器的输入和输出示例

在一个数字化的环路中,首先需要将反馈模拟信号,如输出电压进行ADC采样。假定我们设计2.48V为正常输出电压时的ADC输入电压,那么根据期望的输出电压3.3V,我们可以得到反馈分压系数及电阻,对于一个参考电压为3.3V12bit ADC来说,3.3V代表4095,那么可以得到正常输出时ADC电压2.48V对应于3076这个数字量,而输出电压变为3.31V时,对应的ADC数字反馈为3085,那么此时就具有-9的数字误差,经过数字补偿器调整,输出一个计算的新的控制量为3968,直接赋值给PGDCPWM的占空比数字值),对应于周期为16000250kHz250ps分辨率),则表示新调整的占空比为24.8%

.连续域中模拟补偿器的数字化

前述文章,闭环稳定性判据的探讨,我们详细探讨了开关电源闭环稳定的条件,中间提到通过分析环路开环增益传递函数的特性从而判断闭环稳定性。如图5中,根据信号传输基本关系很容易推导出所示的输入参考电压到输出电压的闭环频域传递函数,由此得到系统开环传递函数为G(s)*H(s).

图5 闭环稳定性分析

在模拟领域,由闭环稳定性的设计要求,对于CCM电压模式BUCK电路这样的二阶系统,我们可以设计出一个模拟的三型补偿器,用于其闭环控制,如图6所示。模拟域的电压模式BUCK控制环路设计,请参考前述文章,BUCK电路电压模式CCM环路补偿设计及仿真

图6 用于电压模式控制的模拟三型补偿器

实际应用中,我们会推荐使用现有的模拟补偿器,然后对它再进行数字化,一般来说我们会选择双线性变换(BLT)的z变换方式,将s域传递函数转化为z域传递函数,如图7所示,换算算子如图中黄色框内所示,其中Ts为我们的数字化采样间隔周期。

图7 双线性变换转换关系

 

这里我们复习一些关于s域到z域变换的背景知识,众所周知,s变换是进行连续系统进行频率响应分析的常用方法,在前述文章中多次使用,而z变换是针对离散系统离散序列进行变换的一种常用方式,它是分析离散系统的重要工具。

图8 s平面和z平面的对应关系

从图8所示来看,如果定义,

,所以我们可知在z平面上,原有量s对应的z的模是

,z的幅角为

。由上述关系我们可以知道,s平面的虚轴对应于z平面的单位圆(此时s的实部为0z的模是1),而当s平面的左半平面对应z平面的单位圆内(z的实部为小于0时,z的模为小于1),而s的右半平面对应z平面的单位圆外(s的实部为大于0z的模大于1.

一个在s域稳定收敛的系统,一般其传递函数的极点都在左半平面时,而在z域中收敛的系统,其z传递函数的极点在单位圆内。而双线性变换正是将复平面s的左半平面一一映射到z平面的单位圆内,所以系统的稳定性特征得以保留,这在低于系统奈奎斯特频率(1/2的采样频率fs,一般采样频率设为电源的开关频率)时,经过映射的系统的增益和相位和原有系统非常一致,所以我们采用双线性变换进行模拟补偿器的数字化。

图9 s平面到z平面的映射

如图9中,等式左侧绿色区域是模拟补偿器在s连续域的拉普拉斯变换传递函数,而右侧绿色区域是经过双线性变换(BLT)后的z传递函数,从图上可知二者的关系。

.离散域线性差分方程的推导

接下来,我们详细讨论一下线性差分方程的推导过程,如下图10所示,将z变换算子带入s域传递函数中,也就是前面说的三型补偿器。

图10 z变换推导过程1

图11 z变换推导过程2

通过数学工具可以对图10中的表达式整理成为图11所示的形式,不过,此时它还不满足我们的标准线性差分方程形式。

图12 z变换推导过程3

将所有z的表达式在时间线上往前移动三拍,这样就把未来的时间的采样,变为过去时间的采样,便于数字控制器处理,如图12所示。

图13 z变换推导过程4

然后,对比标准的线性差分方程的标准表达式知,A0系数必须要是1,所以我们需要对图12中的结果分子和分母同时除以原有A0,即,

之后就得到了图13中的结果,此处非常需要注意的是,提取A1,A2,A3的值时,一定要考虑到标准表达式中A1,A2,A3前面的负号。

图14 z变换推导过程5

图15 线性差分方程推导结果

经过对z变换的结果如图15中的y[z]/x[z]等式进行对角相乘即可以得到下面的yn的线性差分方程沿时间线的表达式,这个表达式非常容易在数字控制芯片dsPIC33中的DSP上执行。

对于数字化的线性差分方程,由于它不像模拟域中需要采用具体的电阻电容去实现,由此带来的零极点频率的相互关联性。在数字域中的差分方程,有非常多的优势,比如,它可以使用更高的阶次去实现更优的性能,并且零极点之间相互独立,且可以精准设置,且零极点不受温度或者器件精度容差及老化等的影响,所以有更广泛的应用。

四.模拟补偿器数字化的实际示例

接下来,我们就通过我们的开发工具MPLAB®PowerSmart™ Development Suite DCLD进行模拟补偿器的数字化,然后通过Mathcad对系数进行计算,来验证工具计算的准确性。

图16 DCLD中零极点设置

在图16中,根据事先计算或者其它方式得到的BUCK电路电压模式CCM时功率级传递函数,来确定补偿器零极点设置,此处由于是电压模式BUCK电路在CCM模式工作下,所以采用数字域的三型补偿器3P3Z来设计环路,同时采用Q15格式计算方式,ADC12bit精度,且我们对其进行归一化处理,如图17设置其输入增益。

图17 DCLD输入增益计算

根据我们DPSK3 demo板的硬件电路,如图18所示,我们设置R1,R2分别为1k,因此反馈信号输入增益为0.5,此处ADC的参考电压为AVDD 3.3V,ADC的精度为12bit,最大值为4095.

图18 BUCK电路输出电压采样硬件电路

我们根据对功率级电路的计算传递函数结果,进补偿器的零极点设置,由于开关频率为500k,这里我们设置零频率极点为600Hz,第一个极点75k,用于抵消ESR零点的作用,而第二个极点200k为了让奈奎斯特频率以上的频率进行衰减,两个零点设为2k,4k用于对BUCK电路功率级LC振荡二阶极点进行抵消,其中将第一个零点设的靠前一些用于适当提高相位减小零频率处极点对相位的衰减。

图19 通过DCLD设计的数字补偿器Bode图

填入零极点及其它参数后,在图19DCLD就自动给出了数字补偿器的Bode图,用户可以和设置的零极点对照确认。

图20 通过DCLD设计的数字补偿器的A和B系数(考虑反馈增益)

由于此处得到的A,B系数是事先考虑了输入给ADC的反馈增益0.5的,若不考虑输入误差增益,则得到的A,B系数如图20.

图21 通过DCLD设计的数字补偿器的A和B系数(未考虑误差增益)

从图21可知,由于误差增益为0.5,则当未考虑反馈误差增益时,由于线性差分方程中仅仅B系数和误差相乘,所以B系数调整为原来的一半,以此保持环路的增益不变。

 

再对这个A,B系数进行适当的数值变换就可以在dsPIC33中执行,由于篇幅关系,本文暂不讨论如何对任意的实数系数进行进一步变换,此内容放到后面去讨论。

五.计算验证模拟补偿器数字化的AB系数

图22 数字补偿器零极点频率定义

在图22中,根据功率级的传递函数的计算或者测量结果,我们给出了典型三型补偿器的零极点频率设计值,此处采样间隔为2u,对应500k的开关频率(采样频率)。

图23 三型数字补偿器A系数的计算

根据我们由双线性变换得到的A系数标准表达式,我们计算得到相应的实际小数值,如图23所示。

图24 三型数字补偿器B系数的计算

同样的,我们根据由双线性变换得到的标准B系数表达式,求得B系数实际的数值,注意此处计算未考虑输出误差增益,即输出分压电阻造成的增益变化,因此计算所得到的B系数和图21一致,在实际电路中,因为输出进行了1/2分压,所以应该将B系数增加为两倍,和图20一致,以确保整体增益不变,由此可以看出我们通过DCLD得到的A,B系数和Mathcad计算完全一致。

总结,本文通过说明模拟环路补偿器数字化的基本过程,进而从理论上探讨了连续域模拟补偿器的数字化方法,最终通过实际的推导得到了用于电压模式BUCK控制的z域传递函数。同时演示了通过我们的dsPIC33环路开发工具Power Smart DCLD 得到所设计的数字补偿器的AB系数,为了验证DCLD的结果,我们进行了Mathcad的计算,从得到的结果来看,二者得到的A,B系数完全一致。

今天的内容就到这里了,感谢观看,记得点赞,分享,收藏。我是电源漫谈,谢谢鼓励和支持!

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 6
收藏 9
关注 25
成为作者 赚取收益
全部留言
0/200
  • dy-fstcICj3 1星期前
    感谢分享
    回复 1条回复