半桥LLC做并联并机,最怕的不是环路调不好,而是两个模块的参数天生就不一样。同一型号、同一批次的谐振电感和谐振电容,容差叠加起来谐振频率能差好几个千赫兹。这个时候你把两个模块直接并联,不加任何均流措施,电流就往增益高的那个模块跑,轻则发热不均,重则一个模块扛下全部负载后触发过流保护。我最近在做一款48V输出的通信电源模块,单模块600W,两模块并联到1.2kW,项目里把硬件均流、PI控制和PFM变频调制组合在一起用,实测下来均流精度到了2%以内,这篇把方案思路、参数计算和调试踩坑完整记录一遍,给正在做LLC并联的工程师一个参考。
1. 为什么半桥LLC并联会“神仙打架”——参数不匹配的物理本质
1.1 半桥LLC的调压逻辑和增益曲线
半桥LLC的基本结构大家都熟:两个开关管Q1、Q2组成半桥,中间串谐振电感Lr、谐振电容Cr,再并一个励磁电感Lm,通过变压器隔离后整流输出。它和普通PWM变换器最大的区别在于——LLC不是靠占空比调节输出电压,而是靠改变开关频率f_sw来改变谐振腔的电压增益。
LLC的增益曲线有一个陡峭的“山峰”,峰顶在谐振频率fr附近,峰的高度由品质因数Qe决定。满载时Qe大,峰值增益低;轻载时Qe小,峰值增益高。我们实际工作时永远让开关频率工作在感性区,也就是峰右侧那段下降的斜线上:频率升高,增益下降;频率降低,增益上升。这也正是PFM变频调制的基础——想要输出电压升高,就把开关频率往下压,想要电压降下来,就往上升频。
这个增益曲线的斜率非常关键。在我调试的这台48V/600W模块上,额定负载时增益曲线在100kHz附近的斜率大约是每千赫兹0.008左右的增益变化,折算成输出电压就是0.4V/kHz。之前我总觉得这个斜率不算大,直到并联测试时才发现,几kHZ的谐振点偏差就能造成好几安的电流差异。
1.2 参数“不匹配”是怎么让电流失衡的
谐振频率公式很简单:fr = 1/(2π√(Lr·Cr))。谐振电感和谐振电容都参与计算,任何一项偏差都会导致fr偏移。工厂里Lr电容的精度通常±5%~±10%,Cr电容一般是±5%,那么两个偏差叠加起来,两个模块的fr相差5%以上太常见了。
举个具体的数字例子:模块A的Lr=30uH,Cr=66nF,fr≈113.2kHz;模块B的Lr=32.5uH,Cr=66nF,fr≈108.7kHz,谐振点差了4.5kHz。如果两个模块并在一起,输出电压被负载钳位到同一个值,假设稳态开关频率都是100kHz,那么模块A的工作点离它的fr更近,折算到增益曲线上,模块A的增益明显高于模块B。电压被钳住,增益高的模块只能往外“挤”更多的电流,直到输出阻抗上的压降把增益差异抵消。
这还没算变压器匝比偏差和Lm的离散性。实际项目里我还遇到过两个模块励磁电感差了12%的情况,轻载时励磁电流明显不一致,发热都集中在其中一个模块。很多工程师以为并联不均流只是控制问题,其实根源在硬件参数上,增益曲线错开了,后面怎么调都费劲。
1.3 循环电流和热失衡,比想象中更危险
参数不匹配带来的最直接问题就是模块间循环电流。两个模块虽然并联,但各自的谐振电流幅值、相位都不同,输出端形成的环形电流不从负载走,而是在模块之间来回窜。这个电流不会体现在输出电压上,但实实在在消耗着模块的功耗。
实测中最直观的反映是温度。我在两个模块底部贴了热电偶,不均衡状态下模块A的谐振电感表面温度比模块B高了约20℃,散热片温度差了12℃。如果环境温度再高一点,模块A的热保护就会先触发,整个系统提前降额。还有一次测试里,一个模块的输出电流波形已经出现了半个周期的反向,那意味着它短时间内处于“吸收能量”的状态,这对同步整流管的体二极管应力非常大,严重的会直接炸管。
所以做并联设计不能只看均流精度,循环电流和温度分布是更底层的指标。这也是我坚持要在控制上做均流,而不是简单把两个模块凑在一起的直接原因。
2. 并联均流方案的整体架构:硬件作骨架,软件作细腻调节
2.1 三种均流方案的对比和选型
LLC并联均流在工程上有几种常见做法,先列个表把各自特点说清楚:
| 方案 | 原理 | 均流精度 | 复杂度 | 存在的问题 |
|---|---|---|---|---|
| 输出下垂法 | 增大输出阻抗或压降,利用负载特性自然分配电流 | 10%~20% | 低 | 负载调整率差,轻载几乎无效 |
| 模拟均流母线 | 每个模块输出电流转换为电压信号,连接到公共母线,模块比较自身电流与母线差值后调节频率 | 2%~5% | 中 | 母线抗干扰要处理好,母线断线要检测 |
| 数字均流(CAN/PMBus) | 模块间通过通信交互电流信息,主模块分配基准 | 1%~2% | 高 | 依赖通信,N+1冗余时通信可靠性要求高 |
从可靠性角度讲,纯下垂法最简单,但精度撑不住1.2kW这种级别的并联。纯数字均流虽然精度高,但通信一断就全乱套,在电源模块这种强电磁干扰环境里我还是不太放心。最后选的是中间路线:模拟均流母线做主通道,各模块内部再用PI控制做细微调节,这也正是标题里“硬件均流+PI控制”的组合逻辑。
2.2 硬件均流母线的实现方式和细节
模拟均流母线的工作原理不复杂。每个模块把输出电流通过采样电阻或者霍尔传感器转成电压,经过运放调理后,通过一个二极管接向公共母线。母线电压代表所有模块中电流最大的那一个(如果采用二极管“或”门结构),或者代表平均值(如果采用电阻网络平均结构)。
关键设计点有几个。第一,母线电压的动态范围要和你ADC的输入范围匹配。我用3.3V基准,母线满量程对应2.5V左右,留出20%的余量避免输出饱和。第二,用于连接母线的二极管要选压降低、一致性好的肖特基管,我第一版用了普通整流管,三个模块的压降差了60mV,直接把轻载均流精度干到10%以上,后来换成BAT54S并联结构才好。第三,母线上一定要加一个小电容和高阻放电电阻,我一开始没加,母线电压在开关频率附近有十几毫伏的纹波,PI输出被纹波扰动,示波器上看开关频率在轻微摆动。
2.3 为什么PFM变频调制必须有PI参与
有人会问:已经有硬件均流母线了,直接把母线电压和模块电流的差值放大后叠加到频率指令上不就行了?理论上可以,但工程上做不到高精度。原因在于,模拟比较器的稳态精度受运放失调电压、采样电阻误差、二极管压降一致性限制,要做到1%以内非常困难。还有一个更实际的问题——硬件的比例控制本质上是P调节,系统会存在稳态误差,而且容易在轻载或动态变化时产生振荡。
PI控制在这里的角色是做“残差修正”。母线给的是当前系统电流分配的大方向,PI环负责把细小的偏差逐渐积分修正掉,让每个模块的电流最终精确对齐到母线上。这里有个重要的带宽原则:均流环的带宽必须低于电压环,否则两个环路会打架。我实际整定时,电压环带宽做在600Hz左右,均流环带宽压到200Hz,这样输出电压环响应更快,均流环只去修正慢变化的不均衡,系统稳定很多。
3. 核心控制实现:PI均流环与PFM变频调制的配合细节
3.1 两环一调制的整体环路架构
并联模块的控制核心就三件事:稳住输出电压、分配好输出电流、生成正确的开关频率。用数字化控制把它们串起来,信号流程是这样的:
输出电压采样后和48V基准比较,电压误差经过电压环PI,得到基础频率指令f_base。这个f_base是系统为了维持输出电压所需要的开关频率。与此同时,本模块的输出电流采样值i_local,和均流母线电压所代表的基准电流i_share比较,得到的电流误差经过均流环PI,输出一个频率修正量Δf。最终开关频率指令f_sw = f_base + Δf,再送到PFM调制器去生成半桥驱动信号。
为什么要让均流环直接去改频率,而不是去改基准电压或者占空比?因为LLC的增益就是频率的函数,频率是它唯一的控制自由度。频率加高,增益下降,这个模块的输出电压“倾向”降低,但由于并联总线钳位,它实际表现为输出电流减小;频率降低,增益上升,输出电流增大。所以均流环的本质,就是给每个模块“个性化”地微调工作频率,让参数不同的模块在统一的输出电压下贡献相同的电流。
代码实现上,我在DSP里用定时器中断跑一个5kHz的控制周期,两路PI在这个周期内计算完毕,最后更新PFM频率寄存器。简化后的逻辑大概是:
// 5kHz控制中断内执行 float f_base = voltage_pi.calc(48.0 - vout_sample); float i_share = read_share_bus(); // 读取均流母线电压 float i_local = read_output_current(); // 读取本模块输出电流 float err_i = i_share - i_local; float df = current_pi.calc(err_i); df = clamp(df, -FREQ_TRIM_MAX, FREQ_TRIM_MAX); float f_sw = clamp(f_base + df, F_MIN, F_MAX); update_pfm_timer(f_sw);3.2 电流采样和母线信号处理的关键细节
硬件均流的前提是电流采样准确。LLC输出电流采样我用的是闭环霍尔传感器,隔离和安全都到位,虽然成本比采样电阻高一些,但在并联系统里值得投入。采样信号经过一阶低通滤波后进入ADC,滤波截止频率放在10kHz左右,既能滤掉开关频率的纹波,又不会拖慢均流环的动态响应。
均流母线信号处理有一个很容易被忽略的点:母线电压引用的是模拟域的地,而PI运算在数字域,ADC采样时一定要做好单点接地。我把所有采样信号的地线汇总到功率地的一个星点,采样线用双绞屏蔽线,屏蔽层单端接到功率地。第一版布线的时候没有注意,把采样地连到了控制地,结果轻载时母线上拾取了2mV的开关噪声,均流环输出频率有±300Hz的抖动,后来重新拉地线才搞定。
还有一个必须做的边界检测:母线电压开路和短路。母线如果悬空,电压会被Raise电阻拉到基准值,如果对地短路,母线电压恒为0。这两种情况都会让均流环误判。我在软件里加了母线电压合理性判断,超出正常范围就切到单模块独立运行模式,并报故障码,避免系统带病运行。
3.3 PI参数整定:先是电压环,再是均流环,顺序不能乱
PI整定最忌讳一上来就同时调两个环,我总结出的顺序是:先断开均流环,只调电压环;电压环稳了,再接入均流环,从小Kp开始慢慢加。
电压环的带宽我取开关频率的1/10到1/5。这台模块的谐振频率110kHz左右,实际工作频率在90~120kHz区间,电压环穿越频率定在1kHz以下。用扫频仪测环路增益,相位裕量做到45°以上预留了温度变化带来的漂移。
均流环的带宽要低于电压环,我取200Hz。调整时先设Ki=0,把Kp从0.1开始加,直到电流波形出现轻微振铃,然后回退30%;再固定Kp加Ki,同样加到出现振荡再回退。我最后定下来的参数是Kp=0.8,Ki=150。这里有一个具体的经验值:当Kp超过1.2以后,母线电压上开始能看到200Hz附近的等幅振荡,说明均流环带宽已经接近甚至超过电压环了,这时候电流分配虽然在平均值上是对的,但波形在周期性地“甩来甩去”。
PI输出还要做限幅。均流环输出的频率修正量Δf我限到±2kHz,这样即使某个模块的电流采样挂了,最多把频率偏移到窗口边界,不会造成灾难性的频率跳变。电压环输出f_base也要限幅到f_min和f_max之间,这个窗口的大小取决于增益曲线需要的最大调节范围。
3.4 PFM变频调制的频率窗口、软启动和轻载策略
PFM变频调制不是简单地改频率,要设定严格的工作窗口。下限f_min必须保证LLC的ZVS条件。频率太低会进入容性区,开关管硬开关,轻则效率暴降,重则炸管。我的方法是用满载最低输入电压工况计算所需的峰值增益,反查增益曲线得到f_min,再留出5%的余量。这台模块f_min最终定在85kHz,f_max定在130kHz。
软启动时从f_max开始,以每毫秒500Hz的速度向工作点降落。为什么从高频开始?因为f_max处增益最低,输出电压从0开始缓慢建立,谐振电容不会出现启动冲击电流。并联系统里软启动还有一个坑:两个模块如果启动时刻不同,先启动的模块会瞬间承担后启动模块的输出电压建立过程中的全部电流。我做了启动同步,模块间通过一个硬件信号线握手,两个模块同时开始软启动,电流误差在启动过程中控制在10%以内。
轻载的时候均流特别难做。输出电流小了,采样信噪比下降,母线电压也低,PI的输出容易在正负之间来回跳。我的做法是轻载时给均流环外加一个最小电流偏置,让每个模块至少维持2A的输出,超出负载需求的部分通过提高频率来降低输出——这本质上是在做“伪负载”均衡,实际效果比硬扛轻载不均流要好很多。
3.5 一个具体参数不匹配场景下的计算示例
设计阶段我把参数不匹配的极端情况算过一次,这里把过程分享出来。
模块A:Lr=30uH,Cr=66nF,变压器变比n=4,Lm=180uH 模块B:Lr=32.5uH(+8.3%),Cr=66nF,变比n=4,Lm=180uH
谐振频率: 模块A的frA=1/(2π×√(30uH×66nF))≈113.2kHz 模块B的frB=1/(2π×√(32.5uH×66nF))≈108.7kHz
两模块谐振点相差4.5kHz。假设48V输出,额定满载增益需求为1.05,用增益曲线反查,模块A需要工作频率约99kHz,模块B需要约95.5kHz才能输出同样的电压。也就是说,如果没有均流环,两个模块各自的空载输出电压曲线在同一个频率指令下会错开大约1.7V。这1.7V的电压差,在并联总线钳位下,就会变成很大的电流分配偏差。
我用均流环后,两模块实际工作频率分别是:模块A的f_sw=101.2kHz,模块B的f_sw=97.8kHz,均流环分别给出了+2.2kHz和-1.7kHz的修正量,刚好把增益差补回来。从数据看,两模块的频率偏移量基本等于谐振频率的差值,这也验证了“均流修正的本质是频率补偿”这个判断。
4. 参数不匹配下的实验验证与调试实录
4.1 实验平台和刻意制造的“坏参数”
为了验证方案在极端条件下的有效性,我没有用两支参数匹配的模块做实验,而是从生产批次里专门挑出参数偏差比较大的两个模块:
- 模块A:Lr实际测量30.2uH,Cr实测65.8nF,fr=112.9kHz
- 模块B:Lr实际测量33.1uH,Cr实测64.9nF,fr=108.5kHz
这个偏差量级比正常批次严酷得多,相当于把最坏情况提前暴露在实验台上。测试设备:示波器配差分探头测输出电压纹波,两个电流探头分别卡两路输出线,功率分析仪记录输入输出效率,电子负载设置为恒流模式模拟系统负载。
4.2 不加入均流时的“惨状”对照
先把均流功能完全关掉,两个模块只靠PFM电压环各自调压后并联,观察50%负载(600W)下的表现。电子负载设定12A,实际电流分布是模块A输出7.3A,模块B输出4.7A,偏差比例35%。模块A的谐振电感表面温度在半小时内升到了86℃,模块B才61℃,温差25℃。输出电压纹波上还能看到明显的低频振荡——这是两个模块在互相“争抢”输出电压控制权。
负载加到满载40A时更严重,模块A电流到23.5A,模块B只有16.5A,模块A的输入功率占了总功率的58%。如果短路保护或者过温保护的阈值设得很接近上限,这种状态下系统随时会触发保护而宕机。这个对照实验说明了为什么均流方案在LLC并联中是不可选项,而是必选项。
4.3 加入硬件均流+PI控制后的实测数据
开启硬件均流母线和PI均流环,重新跑同样的负载点,数据如下:
| 总负载电流 | 模块A电流 | 模块B电流 | 电流偏差比例 | 备注 |
|---|---|---|---|---|
| 10A | 5.1A | 4.9A | 2.0% | 轻载,偏差稍大 |
| 20A | 10.2A | 9.8A | 2.0% | 正常 |
| 30A | 15.2A | 14.8A | 1.3% | 随负载增大精度改善 |
| 40A | 20.3A | 19.7A | 1.5% | 满载,完全满足要求 |
温度分布也跟着好了很多,满载运行1小时后两个模块的散热器温差只有2.8℃,谐振电感温差4℃。最直观的变化是输出电流波形:两个模块的电流几乎重合,没有明显的低频摆动,纹波叠加后总输出纹波和单模块时基本一致。
动态响应测试中,电子负载从25%负载阶跃到100%,均流环的调整时间大约5ms,期间最大电流偏差到3.5A,然后在两个毫秒内收敛到2%以内。这个动态指标用在通信电源场景完全可以接受。
4.4 调试中遇到的几个实际问题
整个调试过程不是一帆风顺,有几个问题值得单独记录。
一个是启动瞬态的均流饱和问题。最开始把均流环在软启动一开始就使能,由于启动时母线电压建立需要时间,模块B的均流PI积分器在启动头几个毫秒疯狂积分到限幅,等母线电压正常后出现了频率跳变。解决方法是把均流环延迟到软启动结束后再切入,同时给PI积分器做了一个清零逻辑。
另一个是均流母线对地电容引起的振荡。我为滤除母线噪声加了一个10uF的电容,结果均流环带宽被电容引入的相位滞后拉低,系统在150Hz左右出现了持续振荡。把电容改成100nF并串一个10Ω电阻做阻尼后问题消失。这个教训是:母线滤波电容不是越大越好,要做环路稳定性评估。
还有一个是两模块开关频率不严格同步引发的拍频问题。两路PFM的开关频率相差几百赫兹,输出纹波上出现差频分量。虽然不影响均流,但EMI测试的时候这个拍频分量会带来不确定的干扰峰值。我在PFM调制里做了时钟同步,让从模块锁相到主模块的开关频率,拍频分量才消失。
5. 常见问题与排查速查表:并联均流实操避坑
调试并联系统踩坑无数,把典型的故障现象、原因和排查手段整理成速查表,方便大家对照定位:
| 故障现象 | 可能原因 | 排查手段 |
|---|---|---|
| 启动时一个模块过流保护 | 软启动频率斜坡太陡,或均流环过早切入 | 检查启动波形,把软启动开始频率抬高,均流环延后切入 |
| 稳态下两模块电流周期波动 | 均流环Ki过大,带宽接近电压环 | 降低Ki,必要时重新扫环路增益确认带宽 |
| 轻载时均流精度突然恶化 | 电流采样信噪比不足,母线电压太低 | 轻载加最小电流偏置,或提高采样放大倍数 |
| 均流母线电压跳动不稳 | 母线滤波电容过大或布线引起环路振荡 | 减小滤波电容,串阻尼电阻,检查采样地线 |
| 模块间输出纹波出现拍频 | 两模块开关频率不同步 | 做PFM时钟同步,主从锁相 |
| 某模块随温度升高电流持续增大 | 电流采样温漂或谐振参数温漂 | 用温度系数低的采样器件,或增加温度补偿系数 |
| 母线开路后系统失去均流能力 | 缺少母线状态检测 | 软件监控母线电压范围,超出正常区报故障并切单机模式 |
几个经验层面的深层教训:
第一,均流母线协议和检测一定是“故障安全”的。母线一旦失效,宁可切到单模块独立运行,也不能让系统带病并联。我在现场遇到过母线插头松脱的情况,由于有检测逻辑,系统自动降级为两台独立模块运行,虽然均流失效但没有造成损坏。
第二,模块之间地线要单点接地。并联系统的地环路会造成极其隐蔽的电流测量误差,采样线上感应出的噪声往往不是固定偏置,而是随负载变化的动态误差,这种问题用万用表很难查,要用示波器在采样点看波形。
第三,PI参数的鲁棒性比“完美”更重要。我宁可把均流环带宽做到150Hz、均流精度在2%,也不愿意为了追求1%的精度把环路整定得在边界徘徊。因为批量生产的模块参数有离散性,温度变化后参数也会漂,一个在实验室里精心调出来的高带宽系统,很可能在另一台设备上就振荡了。稳,比准更重要。
这台设备最终通过了两台并联满载老化测试,48小时连续运行,两模块电流偏差始终保持在2%以内,整机效率在满载时90.5%。后来我把同样的控制方案移植到另一款300W模块上,只改了频率窗口和PI参数,基本一次调通。回头想想,半桥LLC并联这件事,最费时间的不是方案设计,而是把“参数不匹配”这个现实彻底想透彻。很多工程师上来就写代码调PI,忽略了硬件均流母线的设计和频率窗口的约束,最后陷入无尽调试。我个人的体会是:先算清楚增益差异,再定频率窗口,然后靠硬件母线给出可靠电流基准,最后用PI修残差,这个顺序不能乱,每一步都能帮你省下几个通宵。