这一切都要从FAN7688控制IC开始说起,我自从了解到这种“谐振电流积分”的控制方法后,我就一直在考虑如何在数字控制系统中实现LLC的电流型控制。电流型控制的好处不必多说,就一个音频抗扰度就比电压模式LLC好了很多。特别是我们做车载OBC的应用,对输出电流的纹波更是特别看中。如果,我这里说如果我把电流型控制方法实施在数字控制环境中,这就是一个非常好的应用技术突破。
先让我们来看看传统VMC(voltage mode control )是怎样实现,下图是典型的VMC的模拟实现,下文中部分图片和文字来源于这篇文献:《Unitrode Design Note : Switching Power Supply Topology Voltage Modevs. Current Mode by: Robert Mammano 1994/10》
在VMC PWM变换中有这么几个鲜明的优点:单电压环工作闭环控制易于设计,PWM载波的幅度较高控制电路稳定性好,输出阻抗低易于优化多电源的交叉调整。但是也存在这么几个不好的地方:首先反馈必须要在输入或输出负载变化后反馈才能响应,明显控制存在时间滞后,导致响应差。输出侧的LC滤波器的转折频率和相位变化带来了不稳定的影响,环路增益随着输入电压范围变动,导致补偿较难设计。
将电压模式推广到LLC变换器的控制中,上述PWM控制中的一些缺点在LLC变换器中同样存在。包括低频双极点的影响以及控制上的滞后问题,这些都导致了目前VMC的LLC变换器很难有比较好的动态响应,这里我发一个由L6599A控制的LLC变换器的频率控制》输出电压的频率响应测试图,更多内容可见《 VMC和CMC的LLC控制器仿真对比 第五节 (完结篇)》。
从BODE图可见在低频1.5KHz处存在双极点和相位减少180deg,无不在向我们揭示和VMC的BUCK变换器存在相似之处么。在VMC话题继续展开前,我先收一波,让我们先看一看在普通拓扑中的PCM(peak current control mode)实现。
上图即是PCM的理论实现,不论是UC3843或LM3478或者更新一些的模拟控制器都是这样的原理。那我们从这里可以看到电压环的输出Ve决定了开关电流三角波的峰值,所以实现了对输入电压变化的快速响应,因为存在Ipk = Vin*Ton/L的关系,PCM天然就包含了输入电压的前馈,另外对电感电流进行精确限流后,使电感变成了受占空比可控电流源,进而简化了控制到输出的传递函数,去掉了LC输出滤波器的影响,使系统变成一阶惯性系统,系统更易于控制和稳定了。
但是PCM存在电流采样效应使得在占空比大于50%会进入大信号不稳定的区域,在工程上通常会增加斜率补偿来解决占空比大于50%后不稳定的问题。电流模式最大的好处就是大幅度提升音频抗扰度,使得输出电压中的AC输入纹波大幅度降低,这一点对LLC变换器来说就非常有吸引力。众多工程经验和理论无不指出普通VMC的LLC变换的输出工频纹波较大,是一个比较麻烦问题。包括我们在OBC应用上的输出纹波电流,所以我不奇怪的把目光投向了电流模式LLC控制器和其背后的电流模式控制的实现方法上来,这里可以看我今年年初的写的五篇电流型LLC控制器的建模和仿真:《VMC和CMC的LLC控制器仿真对比 第五节 (完结篇)》。
从电流型控制的几种实现方法来看,都能随着电压外环的输出实时限制流入谐振腔的电荷(功率),都能把系统降低为单极点系统,可见下图是FAN7688控制的LLC变换器的频率控制到输出电压的频率响应:
可见在同样功率级参数的情况下,仅变换到电流型控制,就降阶了系统的频率到输出的传递函数,这个波形正是我们期待的结果,在低频段的增益和相位曲线都很单调,可以很容易把系统带宽做起来。那么问题来了,电流型LLC控制器的效果这么好,能不能在数字控制系统中实现呢?
这个问题正是本文的起点,我一直都在思考如何在DSP或MCU中实现电流型LLC的控制,考虑实现的难易程度,我选择了FAN7688的充电电荷积分控制方法,这种方法有着我们想象中的PCM的美感以及优雅的实现。下面我们来简单的看看这种控制方法的实现,更多的具体内容请看我之前发的文章:《VMC和CMC的LLC控制器仿真对比 第三节》
下图是充电电荷控制的实现基础,它优雅的把流入谐振腔中的电流做积分,就得到了类似于PWM变换器中电感的斜坡电流,通过控制这个电荷积分的峰值,就能控制流入谐振腔的电流,就能控制每个开关周期流入变压器的功率,进而实现了峰值电流模式的LLC变换器控制。进一步我们也能考虑到,我们仅需控制TON时流入谐振腔的电流即可,在TOFF时完全可以复制TON的时间,这样就简化了控制复杂度,在一个完整的开关周期中,仅做TON的时间控制。
在模拟IC中的具体实现,根据外环输出决定了电荷积分的峰值,然后把TON复制给TOFF,实现对称周期长度。当TOFF计数结束后,开始新的开关周期。可见FAN7688的内部实现:
所以在数字实现上也是这种方法,利用互感器取谐振电流的电荷积分三角波,将其输入到DSP的CMPSS上用于PCM的实现。可见下图所示,这个是我想的电流模式控制在数字系统中的实现,其思路是来源于FAN7688。
首先电压环输出到DAC设置CMPSS中比较器的正向值,然后TON开始,VICS开始斜坡上升,直到高于DAC输出的值后,CMPSS输出数字比较器事件DCxEVTy到PWM模块,PWM模块根据这个事件关闭TON,然后把TON的开通长度给到TOFF,当TOFF结束后,开始新的TON周期。在这种控制方法中,需要考虑到轻负载下充电电流积分的值较低,估计不太好比较,所以可以以VMC的方式工作,当负载电流达到某个设定值后,再切换为电流控制模式。实际上UCC260x40x就是电流和电压控制模式的混合型控制。这样可以利用各自的优点,实现系统性能最优化。
那么其实我们还有一个问题并没有很好的解决,就是CMPSS输出DCxEVTy信号到PWM模块后,我们可以很容易的配置让他CBC的关闭TON,但是如何将TOFF与TON建立相等的关系?这个是实现数字电流型控制LLC变换器的核心问题,我与TI的资深FAE讨论后,我提出了这样一种实现方法:
上图中:
蓝色计数器是设置的最低开关频率,也就是最长的TBPRD长度。
计数器设置为UP-DOWN模式。
TON设为从PRD开始发波到ZRO关闭。
TOFF设置为AHC模式有源死区互补。
我们开始脑补一下这种工作模式:
TON也就是H开始发波,从PRD点开始拉高,PWM计数器开始从PRD点下降。
然后等待谐振电流上升到电压环的设定点,CMPSS动作,可见上图中黑色线条标注点。
然后ePWM中的数字比较器模块(DC)动作,在还未到ZRO点就关闭H输出,也就是结束TON。
然后经过死区时间后驱动L被死区模块拉高,开始TOFF时间。就在此时,配置CMPSS的比较器输出的同时进入CBC的中断服务函数,另外这个ISR要设为最高优先级,允许打断其它的中断和其它任务。在这个ISR中读取COUNT的值,考虑到CMPSS动作到进入ISR的时钟周期间隔,进而可以推算到实际关闭TON的时间点在COUNT的何处,也就获悉了TON的长度。
然后把这个值写入到TBPRD中,最后再执行一次软件强制PWM同步输入,直接把COUNT从还未到ZRO的值,直接拉到ZRO点。这样新的周期就直接载入了TBPRD,当COUNT增大到PRD时TOFF关闭。
然后轮到TON开通,继续等待谐振电流的充电电荷积分大于DAC的设定点。从控制的精度来看,有两段时间需要补偿。第一段是CBC动作到进入ISR的时间,第二段就是进入ISR到软件强迫PWM同步的时间。前者会增大TON后者会增大TOFF,所以需要根据实际情况进行一些测试才能准确。
小结:本文提出了一种在数字控制系统中实现LLC变换器的电流模式控制的方法,主要是利用CBC的ISR读取COUNT的值和强迫刷新PWM计数周期。本方法还未得到实际项目的测试和验证,仅仅是我脑海中的一个点子,今天赶紧把它写出来与大家分享,如果对这种控制实现感兴趣的朋友可以与我继续讨论,谢谢。
参考文档:
1, Unitrode Design Note : Switching Power Supply Topology Voltage Modevs. Current Mode by: Robert Mammano 1994/10
2, FAN7688 数据手册
关于本人:
我是杨帅,有多年电源硬件和软件开发经验,熟悉各种电源仿真软件的使用,包括模拟控制方向的Pspice和Simplis,以及数字控制使用Matlab和Plecs。熟悉PSFB,CLLC,DAB,PFC等功率架构的拓扑,控制算法,环路设计。目前是从事车载电源行业,专注在中等功率变换器领域,数年来一直从事电力电子仿真技术研究与应用推广。
-
dac
+关注
关注
43文章
2268浏览量
190821 -
LLC
+关注
关注
36文章
557浏览量
76677 -
数字控制系统
+关注
关注
0文章
11浏览量
7415
发布评论请先 登录
相关推荐
评论