2KW交错并联+同步整流BUCK电路的数字DC-DC电源实践

对于大功率的DC-DC来说,效率和体积是工程师重点关注的方面。

提高开关频率能有效的减小体积。通过交错并联的方式,减少输出电容的数量,并降低输出电流的纹波。

输出大电流的Buck电路拓普中,一般用同步整流MOS管替代硅整流二极管,可以提高电源的整体效率。

数字dsp芯片ePWM输出配置的灵活性,特别适合交错+同步整流Buck电路。

附件中有完整的程序代码。

DC-DC电源参数(非隔离Buck):

输入:   48V±10VDC

输出电压:   26V±0.5VDC   

输出电流:   77A   

输出电流纹波:   <1%

输出电压峰峰值:<100mV

整机效率:   >95%

控制方式:   峰值电流型BUCK电路

从上面的参数可知,采用非隔离BUCK电路拓普时,额定条件下工作时,主开关管的占空比接近50%,所以选择两路交错并联的方式能有效的减小输出电流的纹波。

由于输出电流较大,采用同步整流的方式提高效率。

主电路框图如下:

如果用模拟芯片来实现对上面主电路的控制,会非常复杂。而用TI的F28035来实现就会非常简单。28035芯片资源分配如下:

PWM输出:按照上面框图驱动四个MOS管。

ADC采样:输出电压采样Vout_FB——ADCINA1

                  输出电流采样Iout_FB——ADCINA6

                  输入电压采样Vin_SEN——ADCINA3

模拟比较器:输入电流互感器信号CS1+——COMP1A

                     输入电流互感器信号CS2+——COMP2A

由28035构成的数字控制环路框图如下:

主功率电路中的MOS管的驱动芯片,用的是IR2181s,驱动电路(部分原理图)如下:

因为IR2181s的Ho驱动输出,需要通过47uF/50V泵升电容进行供电,而泵升电容每个开关周期都需要在同步整流MOS导通时进行充电,否则同步MOS管不导通,泵升电容就无法充电,Ho也就无法正常输出。所以同步MOS要有一个最小的占空比限制,即占空比不能为0%。本例中设定的最小占空比为8%。

同步降压电路中,要重点关注电感不连续时,如何控制同步MOS管的驱动。主开关管与同步管是互补输出的,在主开关管关断时,经过一定的死区时间后,同步管要处于导通状态。但在电感电流不连续时,如果同步MOS管处于导通状态,会引起同步MOS管D-S端短路。所以在电感电流非连续时,要关闭同步MOS管的驱动,在ePWM输出模块中要有相关的保护机制。

软件的代码是以TI的模板为基础编写的,模板文件如下,可以通过导入工程的方式获得:

笔者为了在没有安装controlSUITE的电脑上编译,就将所有TI的数字电源库(DPL)文件导入到工程文件夹中,并重新修改了工程的搜索目录和相关的配置参数。

下面来详细介绍程序代码:

      首先是ePWM的配置:

      PWM1A和PWM1B是互补的关系,且要有一定的死区时间,防止发生直通。

      PWM2A和PWM2B也是互补的关系,但PWM1x与PWM2x是交错180°导通。在TI的数字电源库中并没有合适的配置文件,所以要拿现有的配置文件进行一些修改。

将上面的配置文件导入到工程文件夹中,因为笔者的工程中已经包含该配置文件了,所以直接修改。

经过这样的修改,就可以得到PWMxA和PWMxB互补的PWM,但这时的死区时间为0。

在数字电源库(DPL)初始化的时候设置PWM1的频率(100KHz)和死区时间(200ns)。因为模板中的PWM2是在中断里进行环路运算的,要改为在CLA中运算,然后配置PWM2。

完成上面的代码后,可以看到PWM1x和PWM2x已经有互补的PWM输出了,但PWM2x还没有移相。PWM1设为主,PWM2设为从,与PWM1同步,PWM2的相移设为开关周期的一半,即相移180°。

因为同步MOS管的最小占空比为8%,也就是说主降压MOS管的最大占空比为92%。

此时四路驱动波形

然后是ADC和模拟比较器的设定。这些内容在笔者前面的文章中介绍过,就不再具体说明了。这里提一下,在ePWM模块中也有一个比较器子模块,称为数字比较器子模块。要将它与用于电感电流峰值比较的模拟比较器区分开。因为主功率电路开关管的占空比存在大于50%的可能,所以要在模拟比较器的电流参考端加一定的斜率补偿,防止次谐波振荡。

因为PWM1A和PWM2A导通的起点相差180°的,要产生的两个斜率补偿的起点也是不一样的,所以可以看到在模拟比较器的配置函数要如下图方式配置:

斜率补偿为16,如果实际工作中出现次谐波振荡的情况,适当增加这个值,就会改善。

接下来,详细说明电感电流不连续时,同步MOS管的保护机制。

应当知道,当负载电流小于电感纹波电流的1/2时,主功率电路的电感就会进入非连续工作模式。

一般会有两种检测方法来判断电感是否进入非连续工作模式:

1)在主MOS管PWMxA处于关断状态时,检测A点和B点的电压,如果为负值(一般会在-1.2V至-0.5V之间)则电感有持续的电流通过,电感两端有压降(等于输出电压值),同步MOS管可以导通,以减小导通损耗。如果出现大于0的值,则电感电流消失,电感不再有压降,此时要关断同步MOS管,防止短路。

该方法涉及到负值的采样和采样时机的把控,比较麻烦。

2)根据DC电源的工作范围和功率电感的电感量,可以得到电感电流纹波的最大值,然后采样输出电流,即负载电流,将负载电流采样值与电流纹波的1/2做比较,如果负载电流采样值超过电流纹波的1/2则可以驱动同步MOS管导通。否则要关断同步MOS管。

第二种方法比较好实现,因此用来做为同步MOS管的保护机制。

笔者是通过ePWM模块的TZ子模块来完成同步MOS管的关断保护的。这里有必要介绍一下TZ子模块的结构。如下图:

从上面的框图可以看出ePWM模块的TZ子模块是如何实现的峰值电流控制,电感电流与参考值在模拟比较器中进行比较,当电感电流大于参考值时,会触发PWM数字比较器的DCAEVT2.force或DCBEVT2.force事件,使主MOS管的驱动PWMxA的关断,其占空比由参考值来决定。

当负载电流小于电感电流的1/2时,将寄存器TZCTL[TZB]的值写为0,就能关断PWMxB,即关断同步MOS管。

在没有出现电感峰值限流时,即没有触发PWM数字比较器的DCAEVT2.force或DCBEVT2.force事件时,寄存器TZCTL[TZB]的值写0是没有作用的,所以也就不会出现关断同步MOS管的情况,这时的同步MOS管与主MOS管是互补输出。

只要主MOS管的最大占空比不是100%(设定最大占空比为92%),则同步MOS管的最小占空比就不是0%(最小占空比为8%),这样同步管一定会导通一小段时间,这确保了电源在上电启动的阶段,负载电流较小时,不会始终关闭同步MOS管的驱动,使IR2181s的泵升电容能够正常充电来驱动主MOS管,不会出现上电后,电源无法启动的问题。

另外要说的一点是,寄存器TZCTL[TZB]只能在中断或主循环中进行写入操作,在CLA中是不能写入的。因此只能构建一个外设的中断服务函数来实现。在本例中,在ePWM3的CTR_ZERO中断服务函数中改写TZCTL[TZB]。

先配置ePWM3的寄存器:

还要正确配置ePWM3工作频率(100KHz)和工作模式(单路输出)

在main.c文件的最后,插入epwm3的中断函数代码:

在中断服务中判断是否应该开启同步整流。

到此,同步MOS管的保护机制已经搭建完成了。

下面是环路控制算法。

环路控制的运算是在CLA空间中进行的,CLA空间支持浮点运算,并且进入PWM中断的时间开销小,运算速度也比较快。下面是控制环路的算法:

这样就能实现DC电源的恒压恒流输出的工作状态。

还有一个问题要注意:CLA的Task1是由ePWM1来触发的,应当此处同时更新Comp1和Comp2的电感电流参考值,即两个交错并联功率电路的控制环路要做到“同时采样,同时运算,同时写入,分时更新”。因为ePWM1和ePWM2交错180°,所以就只能分时更新电感电流的参考值。

如果不能“同时采样,同时运算”就可能出现两个功率电路不均流的情况,这时某一路的电感就可能处于非连续状态,导致同步MOS管错误的驱动,引起炸机。这点,笔者是有深刻教训的。为了避免交错并联功率电路出现不均流问题,在PCB画板时,要尽量对称布局,同时两个电感的参数要一致,最好磁芯都要用一个批次的。总之,尽量做到一致性。

在输入48V,输出26V/77A时,测到最高效率95.8%。当强制关闭同步整流功能时,效率只能做到94%。同步MOS管在导通时的压降只有不到0.2V,远远低于大电流肖特基二极管的正向导通压降0.64V。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:2KW_InterLeave_DC_V4.0_DPLib_noTI_Template.rar
觉得内容不错的朋友,别忘了一键三连哦!
赞 32
收藏 60
关注 509
成为作者 赚取收益
全部留言
0/200
  • jyw_jhf 4天前
    老师,能不能发我一下资料,谢谢!jyw_jhf@63.com
    回复
  • qfw88 1星期前
    29071311@qq.com 麻烦发一下程序,谢谢老师
    回复
  • dy-gQBJ22PV 1星期前
    老师,能不能发我一下资料,谢谢! 12****@****.com
    回复 1条回复
  • visualter2 10-25 19:51
    老师,能不能发我一下资料,谢谢! 29****@****.com
    回复 1条回复
  • abc97 10-24 09:01
    老师,能不能发我一下资料,谢谢! sj****@****.com
    回复 1条回复
  • 逆变傻子 10-10 17:10
    老师,能不能发我一下资料,谢谢! 18****@****.com
    回复 1条回复
  • dy-D7SuF2AX 09-25 09:48
    老师,能不能发我一下资料,谢谢! 27****@****.com
    回复 1条回复
  • wangbibi810 09-13 17:01
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • dy-GqUNdifb 09-12 10:26
    老师能不能给我发一下资料,谢谢! 15112685090@163.com
    回复
  • dy-DeUXiVjl 09-05 16:32
    老师能不能给我发一下资料,谢谢! 28****@****.com
    回复 1条回复
  • tom_ynhe 08-28 22:43
    老师,能不能发我一下资料,谢谢! 13****@****.com
    回复 1条回复
  • zhangming98 08-26 08:35
    老师,能不能发我一下资料,谢谢! 87****@****.com
    回复 1条回复
  • EchoDue 08-24 14:19
    请教一下,多相交错BUCK电感计算可以直接用一半的负载电流电流计算?
    回复
  • EchoDue 08-24 14:18
    老师,能不能发我一下资料,谢谢! ke****@****.com
    回复 1条回复
  • hhh10032 08-12 09:35
    老师,能不能发我一下资料,谢谢! hh****@****.com
    回复 1条回复
  • cocolistem 07-24 23:02
    老师,能不能发我一下资料,谢谢! wo****@****.com
    回复 1条回复
  • dy-4W95WWCL 06-22 17:41
    老师,能不能发我一下资料,谢谢! 91****@****.com
    回复 1条回复
  • dy-PRXIJ8Wi 06-19 21:43
    老师您好!可以分享一下资料吗1810188531@qq.com。谢谢了。
    回复
  • dy-i9ks3ISQ 06-18 10:27
    谢谢,老师
    回复
  • dy-i9ks3ISQ 06-18 10:27
    老师,能不能发我一下资料,谢谢! am****@****.com
    回复 1条回复