这段时间一直在学习PFC的数字实现,由于是初学,又没有人指导,感觉无从下手,特别是那些传递函数是怎么来的我一直没有搞清楚,零零散散在网上找了很多资料,经过反复学习终于有了点柳暗花明又一村的感觉,把这一点点收获记录下来以供日后自己复习,也让有需要的朋友少走些弯路。
1、关于传递函数的疑惑
下面的这篇文章(SPRA902A)是从TI的官网找到的:Average Current Mode Controlled Power Factor Correction Converter..TMS320LF2407A (Rev. A)里面详细介绍了平均电流模式的PFC数字实现,它的电流环功率级的传递函数我还能勉强理解(但也是查看了很多资料),主要是那个电压环功率级传递函数(文章的第8页),如下图所示:
我也查看了Ridley的经典文章(Average Small Signal Analysis of the Boost Power Factor Correction Circuit,链接下载地址:(PDF) Average Small Signal Analysis of the Boost Power Factor Correction Circuit),但还是不明白。一是分母中多了一个2,还有[Vmin*Vmin / Vmax*Vmax]这一项不知道是什么意思,后来在TI的技术支持论坛中找到了两篇跟我有同样疑惑的贴子,终于知道原因了,原作者说分母中的2是因为文稿打字错误,而关于那个[Vmin*Vmin / Vmax*Vmax],因为Km = Vmax / Vmin,那么[Vmin*Vmin / Vmax*Vmax]相当于:1 / (Km*Km),所以原来的传递函数可变为:
或者将原来的传递函数中分母2去掉也是一样的,这样就可以理解了。
贴子的链接如下:
但我看到Microchip官网一篇Application Note电压环功率级传递函数分母中是有2的,这就有些困惑了,我也请教了Microchip的专家,但一直没有找到原作者,文章里没有说明公式的推导过程,只看到在误差放大补偿器中直接使用,文章连接如下(在第14页并附截图):Power Factor Correction in Power Conversion Applications Using the dsPIC® DSC
这个疑惑只能在实践中边学习边验证和解答了。
2、PI补偿器实现
还是以TI的SPRA902A作为参考,理解如何利用PI控制器实现电流环补偿及相关系数计算。在文章的第8页给出电流环的环路增益方程Ti = Gid * Ks * Gca * Fm,如下图所示,刚开始也不明白Gca是如何得到的,后来理解了在穿越频率处环路的总增益是0dB,对应的放大倍数就是1,也就是Ti = 1,这样在知道穿越频率的情况下可以求出Gca了,Gca = 1 / (Gid * Ks * Fm), 其中Fm = 1,化简得到:sL / Vo*Ks,如果知道了穿越频率fci,s = 2*pi*fci,Gca = 2*pi*fci * L / Ks * Vo,根据电路中的相关参数就可以求出Gca了。
PI控制器的形式如下图所示,我们上面求出的Gca实际相当于PI控制中的P值,即Kp。
文章的第10页将具体的常数代入上面的等式(穿越频率 fci = 8K, L = 100uH, Kf = 1/410, Ks = 1/15, Vo = 380)可求出 Gca = (2*3.1415926*8000*100/1000000) / (1/15 * 380) ,约等于0.1984。
文章还说明PI控制器在800Hz频率处补偿一个零点,根据此频率可计算积分时间:Tic = 1/2*pi*fz,从而求出Tic = 0.00019894,经过数学算式变换就得到了如下图底所示的结果:
根据上图中所示的Kii就可以求出PI控制器的另一个系数Ki = Kii / s,这个s表示文章中提到的Digital loop sampling frequency fs = 60kHz,所以Ki = 997.77 / 60000 = 0.0166295,这样PI控制器的两个系数都确定了,经过离散化处理就可以放入到软件代码中去验证了。
电压环路补偿也是一样的计算方法,在此就不多说了。
以上这些只是在理论方面的理解,实际操作预计肯定还有很多问题,但只要愿意学习没有解决不了的问题。