这一切都要从 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 计数周期。
共2条
1/1 1 跳转至页
如何在数字控制系统中实现LLC的电流型控制?
关键词: 何在 控制系统 电流型 电流
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |