前天我根据ST的Timeshiftcontrol思想,完成了在模拟环境中的控制建模,并分析了时域和频域的性能,并且还思考了一种数字系统中实现TSC的思路,虽然没有进行实验测试。如果有兴趣可以看下面两篇文章:

 

AnovelcurrentmodeLLCcontrolmethod:TimeShiftControl

 

基于TimeShiftControl思想的电流模式LLC在数字控制系统中实现的思考

 

VMC和CMC的LLC控制器仿真对比第五节(完结篇)

 

但是经过我一段时间的思考,我还是觉得基于ON的FAN7688的谐振电流积分的控制方法可能更容易在数字系统中来实现。我们先来看这种控制方法的实现原理,图片来源参考文献1。

 

(谐振电流积分波形)

 

当高端开关开通时,会有电流从电压源流入谐振腔,谐振电流积分控制就是通过采集在高端开关开通时流入谐振腔的电流积分信号的峰值对LLC系统进行控制。可见上图所示,谐振电流经过CT在积分器电容Cisc上得到类似于三角波的谐振电流积分波形。当这个代表流入进谐振腔的电流的信号达到FB所设定的值后,就会关闭高端开关。然后把高端开关的开通时间复制给低端开关管,并使用低端开关的驱动信号关闭谐振电流的积分器,把它强迫拉低。等待低端开关关闭后,高端开关再次开启才开始重新对谐振电流进行积分,所以是控制了高端开关开通时流入谐振腔的电流。

 

(谐振电流积分控制的关键时序波形)

 

从上图来看,我们可以看到谐振电流积分顶到VCOMP后高端开关关闭,并且最关键的实现是数字计数器的方向从向上开始往向下计数。因为计数器的时钟频率是固定的,所以从计数器的从最高点进行递减到零肯定与从零递增到最高点所需的时间是相同的,这样就实现了高端开关和低端开关的开通时间相等。对于这种实现方法,只需用电压环的输出电压控制谐振电流积分信号的峰值即可,这种控制方法可以很容易的联想到传统PWM控制中的峰值电流模式的实现。

 

因此从上面的分析我可以提取到一些信息:

 

硬件上需要使用CT和电容来得到谐振电流积分信号,并且用LG信号复位。

 

VCT信号的加入,在轻负载工作时能顶替谐振电流峰值信号,提升了系统的稳定性,有那么点斜率补偿的作用。

 

电压外环的输出直接控制电流内环信号的峰值,实现逐个周期限制流入谐振腔的电流。

 

电压环与谐振电流积分器峰值决定了HG的OFF点,同时还设置由最低开关频率用来关闭HG。通过改变内部数字计数器的方向来得到相等的TOFF时间。

 

那么把这些东西转移到数字控制系统中实现,如TI的C2000系列会遇到这些问题:

 

VCT如何叠加在Vics上,数字系统只能采样比较谐振电流积分信号的峰值,如果外置一个电流源那就太复杂了。

 

可以使用DSP内部的模拟比较器来实现这种控制方法,在DSP中峰值电流模式的控制方法已经比较成熟了。

 

目前DSP中EPWM模块不能实现直接改变计数器的方向来实现TON=TOFF。

 

对于这些问题我提出的可能的实现方法是:

 

1,在DSP中设置最低的开关频率FMIN,来让PWM能正常发波,让系统工作起来。由于Vics信号在HG信号开通的前期是负向值,此时让EPWM模块设置的最低开关频率来维持PWM波。当Vics信号电压上升到较高点,并能与电压环设置的DAC进行比较了,就让它来决定HG的关闭时间。

 

简单的来说就是先设置一个谐振变换器的最低开关频率FMIN,并设置EPWM模块为上下计数模式,设置在ZRO置高,PRD拉低HG。在HG开通后,当Vics等于电压环所设置的DAC值后,就关闭HG,可见下图,实现了电流型控制。

 

(使用FMIN来配置EPWM)

 

2.DSP中实现TON=TOFF:在前面我提出了使用DSP内部的CMPSS来实现逐个周期对谐振电流积分与电压环输出的DAC设定值进行比较来得到HG的关闭信号。但是这样只决定了HG的TON的时间,无法同步把TON=TOFF作用到LG上。

 

3,所以我提出想到的一个点子:通过启用第二个PWM模块EWPM2来辅助实现TON=TOFF功能,EPWM2的计数器也配置为UP-DOWN模式,同样把TBPRD配置为最低开关频率FMIN,设置HG在ZRO开,PRD关,LG通过死区互补模块产生对称PWM。

 

同时把Vics和DAC-FB的比较器的输出用来做逐个周期电流限制,用这个信号来关闭第二PWM模块的HG。最关键操作的是第二PWM模块的输出不直接作用到开关管上,而是把EPWM引脚的输出,直接连接到另外一个GPIO上。这个GPIO在DSP内部通过XBAR配置为ECAP功能,启用ECAP来捕获第二PWM模块的输出PWM信号的脉冲宽度。捕获完成后再加上死区时间TDB,在ECAP的中断里面把计算的周期长度写入到EPWM1模块的TBPRD里面。

 

再设置EPWM1在ZRO点发出EPWMSYNCOUT来同步EPWM2模块的TBPRD,由于都是设置为UP-DOWN模式,所以仅写入半个周期长度即可。这样就可以把EPWM2模块通过峰值电流模式产生的TON时间宽度捕获后,再写入到EPWM1模块。实现了TON=TOFF在DSP里面的实现,这里的实现确实是非常复杂,我也想了非常非常久,因为DSP里面确实有非常多的限制,也许我后面研究FPGA在那里面会非常容易来做。

 

EPWM1模块仅滞后于谐振电流积分与电压环输出比较值一个开关周期,这种延迟在数字系统中可以接受,并且峰值电流内环没有直接作用到当前的PWM,更有利于当前直接驱动功率系统的PWM稳定性。

 

(谐振电流控制和关键时序)

 

如上图所见,我描述了谐振电流积分信号的峰值在减少和增大时EPWM模块的调节方法。当谐振电流积分信号峰值减少时,在EPWM2上输出的TON时间长度会减少,被ECAP捕获到在中断里面写入到EPWM1的TBPRD里面,同时设置EPWM1模块自动载入新的周期长度TBPRD实现频率变化,EPWM1的PWM设置为死区互补的方式,自动产生TON=TOFF。

 

当EPWM1的下降沿计数器到零后,开始新的PWM周期。在EPWM1新周期开始时,ZRO点发出对外的EPWMSYNCOUT信号,来刷新EPWM2的TBPRD,可见EPWM2的下降沿计数还未到零就被EPWMSYNC强制刷新到从零,开始重新开始新的计数。当谐振电流积分信号增大时,其PWM逻辑同样能实现变化,同时EPWM2的TBPRD是设置在FMIN的周期长度,所以只要最低频率不低于FMIN,这个PWM逻辑都能运行。

 

(软件控制架构)

 

由于EPWM2和CMPSS共同实现和逐个周期限制谐振电流积分的控制方法,所以电压环的控制带宽就无需非常高了,只需保持在一个正常控制频率即可,有了实时闭环的峰值电流内环,可以说系统的稳定性会非常高。在轻负载时,可以自动切换到直接频率控制。当负载较高时,切换到电流模式控制即可,即可解决在轻负载谐振电流积分信号较弱不易控制的问题。

 

小结:

根据FAN7688的谐振电流积分峰值控制方法,提出了一种在数字控制系统中实现电流型LLC控制的方法,并提供了PWM时序和软件控制图。本人一直在思考如何在数字系统中实现LLC的电流型控制,这样对数字控制的LLC来说将会有非常大的性能提升。

 

如果各位朋友也有在这个方向研究不妨我们多交流交流,说不定能碰撞出一些花火。就目前2021年1月这个时间节点,我好像还没有看到在数字控制中的实现了对谐振腔电流进行控制的LLC控制,所以这还是一个热门未被突破的新方向,我会持续保持努力。谢谢观看,如果有错误恳请帮忙指正,谢谢。

 

参考文献:

FAN7688数据手册