LLC谐振变换器,波形漂亮,效率也漂亮,但真到自己上手算参数的时候,那叫一个折磨。谐振电感Lr、谐振电容Cr、励磁电感Lm、变压器匝比n,这四个量互相咬着,你调任何一个,增益曲线、工作频率范围、软开关条件全都跟着变。手算一遍,草稿纸用掉半本,最后还不一定对得上。
我最近整理了一套LLC学习资料,总共三份文件,第一份是全桥/半桥LLC变换器参数设计程序,另外两份分别是原理推导文档和仿真验证案例。这套东西我前前后后改了三个版本,把从手算到仿真再到实测踩过的坑都揉进去了。这篇博文就把参数设计这条线完整拆开讲清楚,从基本逻辑到具体算例,再到怎么用程序配合仿真验证,一次说透。
1. LLC设计难在哪:四个参数怎么咬合的
1.1 为什么LLC能火,又为什么难调
传统PWM变换器靠占空比调压,开关管硬开关,频率上去了开关损耗就压不住。LLC不一样,它靠改变工作频率来调节输出电压,而且原边开关管能实现ZVS(零电压开通),副边二极管能实现ZCS(零电流关断),所以开关损耗极小,效率能做到95%以上,还能把磁性元件做小。服务器电源、充电桩模块、车载OBC这些场景,几乎全是LLC的天下。
但“软开关”三个字背后是复杂的谐振关系。LLC有两个谐振频率:一个是Lr和Cr串联谐振的频率fr,另一个是Lr+Lm与Cr并联谐振的频率fl。工作频率落在这两个频率之间时,原边是ZVS,副边是ZCS,这是最理想的工作区间。麻烦就在这——你要让整个输入电压范围和负载范围内,工作频率都落在这个区间里,同时增益还要够,这本质上是个多变量约束问题。
1.2 用基波近似法把LLC“简化”成一个公式
分析LLC最常用的是FHA(基波近似法),假设能量主要通过方波电压的基波分量传递,把开关网络、谐振腔、整流网络都等效成线性电路。等效之后,原边负载可以折算成一个纯电阻:
Rac = 8n²Ro / π²
n是变压器原副边匝比,Ro是输出负载电阻。这个公式是后面所有计算的地基。
电压增益公式长这样:
M = 1 / sqrt{[1 + K - K/(fn²)]² + [Q·(fn - 1/fn)]²}
其中fn = fsw / fr,是归一化频率;K = Lm / Lr,是电感比;Q是品质因数,Q = sqrt(Lr/Cr) / Rac。
看不懂也没关系,关键是理解它传达的信息:
- K越大,增益曲线越“平”,空载到满载的电压调节范围越窄;
- Q越大,峰值增益越低,满载时越难拉到足够高的增益;
- fn小于1时(工作在fl到fr之间),我们可以得到大于1的增益,这就是LLC能稳压的秘密。
这就像开手动挡车——LLC的频率就是挡位,负载和输入电压变了,挡位要跟着变,但变速箱的齿比(参数)得先设好,否则挡位拉到红区也上不了坡。
1.3 参数耦合关系速查
很多新手上来就算Lr和Cr,算完才发现Lm根本没乘进去。实际上,Lr、Cr决定fr,Lm和Lr一起决定增益曲线的形状和ZVS条件,n决定满载增益的中心点。任何一个参数单独定下来都没有意义,必须整体迭代。
| 参数 | 增大时的效果 | 减小时的后果 |
|---|---|---|
| K(Lm/Lr) | 励磁电流变小、导通损耗降低,但增益范围变窄 | 增益范围宽,但励磁损耗和关断损耗上升 |
| Q(负载轻重) | 满载峰值增益降低,轻载特性变好 | 轻载频率容易跑飞,满载增益不够 |
| Lm | 励磁电流小,损耗低,但ZVS条件变差 | ZVS容易实现,但损耗增大 |
| n | 满载增益中心点抬高 | 原边电流应力变大,次级耐压压力变高 |
这四个参数里,Lm可以说是最关键的,它直接决定ZVS能不能成立。后面程序的设计逻辑,本质上就是围绕“先把fr和增益范围定住,再校验ZVS”这条线展开的。
2. 参数设计程序到底帮你做了什么
2.1 程序的输入项:你得想清楚这些规格才能动手
这套资料里的第一份文件是参数设计程序,界面不复杂,本质是个“规格驱动”的计算表。你往里填的每一个值,背后都是一条设计约束。常用的输入项有这么几组:
- 输入电压范围:Vin_min、Vin_nom、Vin_max。如果前级有PFC,一般就是PFC输出的范围,比如350V~420V;
- 输出电压和电流:Vo、Io,这决定Po和负载电阻Ro;
- 谐振频率fr:通常取80kHz~150kHz之间,功率越大频率越低,因为频率高了磁性元件和驱动都是麻烦;
- 预设的电感比K和品质因数Q:程序允许你给初值,但会自动迭代修正;
- 死区时间和开关管输出电容Coss:这两个是用来校验ZVS的,很多手算文档根本不提,但程序会算。
输入完这些,程序就开始进行正向计算。为什么强调“正向”?因为LLC设计没有唯一的解析解,参数组合是无穷多的,程序其实是在你给的约束条件下,正向算出“一组最合理的参数”,然后回头帮你校验所有边界。
2.2 程序内部的计算流程
程序的核心逻辑分五步,和手工推导的顺序完全一致:
第一步,根据标称输入电压和输出电压确定匝比n。全桥的公式是n = Vin_nom / [2(Vo+Vf)],Vf是副边整流管的导通压降,一般取0.7V~1V。这里有个细节,很多人直接把Vin_nom当成“最高输入”,然后用最高输入去算匝比,结果满载最低输入时增益需求算出来超过2,怎么都满足不了。正确做法是用标称输入算n,然后再验证最低输入和最高输入两个极端的增益需求。
第二步,算满载等效负载Rac。Rac = 8n²Ro / π²,这个公式是FHA的基础,程序里会先把Ro算出来,再乘上匝比平方和8/π²的系数。
第三步,根据预设Q和fr计算Lr和Cr。Cr = 1 / (2π·fr·Q·Rac),Lr = 1 / [(2πfr)²·Cr]。如果程序带优化功能,它会自动扫Q值范围,找出在最低输入电压下峰值增益还有裕量的那组Lr和Cr。
第四步,由K = Lm/Lr算出Lm。到了这一步,四个参数都有了,但工作还没结束,因为Lm还要过ZVS校验这一关。
第五步,ZVS校验。程序会计算励磁电流峰值,再对比死区时间内能否完成开关管结电容的充放电。如果Lm太大,励磁电流不够,ZVS条件不满足,程序会提示你减小K值重新迭代。
2.3 输出项:你应该关注哪些结果
程序输出是一张参数清单,核心项包括:
- Lr、Cr、Lm的推荐值(含标准容值/感值选型建议)
- 变压器匝比n及原副边匝数配比
- 满载最小工作频率fmin和空载/最高输入时最大工作频率fmax
- 增益范围Mmin~Mmax
- 原边谐振电流峰值、开关管电流应力估算值
这些输出不是算完就了事,你在实际设计中最该盯的是三个数:fmin是不是低于fr但又明显高于fl(别让工作频率落到容性区);Mmax在最低输入满载时有没有1.1以上的裕量;Lm有没有通过ZVS校验。
我见过不少人拿到程序算出的参数直接开板,结果满载时开关频率掉到fl以下,管子硬开关发热严重,炸了两轮才发现是Q值给大了。程序只是工具,你得能读懂它每一步在干什么,出了问题才找得到原因。
3. 全桥和半桥:程序里怎么切换,到底差在哪
3.1 拓扑本身差异带来的参数变化
程序之所以把全桥和半桥分开算,是因为两者的等效电路差太远。半桥原边两个开关管,一个电容分压中点接谐振腔,开关节点电压在0到Vin/2之间摆,变压器原边看到的方波幅值只有Vin/2;全桥四个管子,开关节点在Vin和0之间摆,原边方波幅值是Vin。这直接导致匝比计算公式不同。
全桥:n = Vin_nom / [2(Vo+Vf)]
半桥:n = Vin_nom / (Vo+Vf)
注意,半桥算出来的匝比大约是全桥的一半,也就是说同样的输出电压和输入电压,半桥变压器的原边匝数只需要全桥的一半。这不代表半桥“更省”,而是半桥的谐振腔能量比全桥小一半,同样功率下原边电流峰值高、导通损耗大。
功率选择上有比较明确的经验分界:300W以下用半桥,成本低、驱动简单;500W以上基本都走全桥,不然电流应力太难看。车载OBC、大功率适配器、通信电源,用的几乎都是全桥。
3.2 程序里全桥/半桥模式的切换与参数差异
程序里有两个模式选择,切换时自动完成几处调整:
- 匝比计算切换,对应不同的n;
- 等效负载Rac的计算,全桥是8n²Ro/π²,半桥也是这个式子,但n值已经变了,所以实际输出的Rac会小很多;
- 增益基准切换,半桥的输出电压调节能力天然弱于全桥,程序会在增益裕量上更保守,默认K值会更大一点。
我实际用下来的经验是:半桥模式更适合做“设计入门”,因为参数更直观,炸管代价小;全桥模式适合做“实际项目”,但调试时要注意桥臂直通问题。程序输出参数之后,如果换拓扑,别只改个n就完事,Lm和Q的校验条件都要重新看一遍。
4. 跑一遍实例:1440W全桥LLC参数设计全流程
4.1 设计规格和手算过程
纸上谈兵没意思,拿一个典型规格完整算一遍。假设前级PFC输出,输入电压范围350V~420V,标称400V;输出48V/30A,功率1440W;谐振频率fr取100kHz,打算用全桥LLC。
先算输出负载电阻:Ro = 48/30 = 1.6Ω
取副边整流管压降Vf = 0.8V,标称输入时计算匝比:
n = 400 / [2×(48+0.8)] = 4.098,取整变压器匝比n = 4
原边等效负载:
Rac = 8×16×1.6 / 9.87 ≈ 20.7Ω
这里解释一下,取整后n从4.098变成4,匝比偏小,意味着变压器升压能力略弱,低输入时的增益需求会偏高,程序里会提示你关注。算的时候别直接取整就算完,要把取整后的n代回到增益公式里验证一遍。
接下来预设K = 5、Q = 0.35。计算Lr和Cr:
Cr = 1 / (2π×100000×0.35×20.7) ≈ 22nF
Lr = 1 / [(2π×100000)²×22e-9] ≈ 115μH
Lm = K×Lr = 575μH
这一组数据看起来很“标准”,但我们先别急着开板,继续往下校验。
4.2 增益范围校验:最低输入电压时够不够
最低输入350V、满载的时候,增益需求为:
Mmax = 2n(Vo+Vf) / Vin_min = 2×4×48.8 / 350 ≈ 1.115
最高输入420V、满载时:
Mmin = 2×4×48.8 / 420 ≈ 0.929
Mmin小于1没问题,因为LLC工作在fr以上时增益本来就小于1,频率拉高就行。关键是Mmax = 1.115,这个值在Q = 0.35、K = 5的增益曲线上能不能达到?这里不建议手算,因为增益公式是个二次方程,你直接把程序里的增益曲线图调出来看就行。大致判断是,此时最小工作频率fmin大约落在0.78fr附近,即78kHz左右,高于fl(大约45kHz),还有足够裕量。
但是,增益曲线只是静态判断。实际运行还要考虑死区时间带来的增益下降,以及变压器漏感、PCB寄生参数的影响,所以程序里建议增益裕量至少留5%。Mmax=1.115算上损耗之后可能只剩1.06,这就不太够了。这时候有两个选择:把K调小到4,或者把Q降到0.3。K调小的结果是把Lm降低,增益峰值变高,但励磁损耗增加;Q降低的结果是Cr变大、Lr不变,谐振电流峰值略升。
4.3 ZVS校验:Lm到底能不能过关
ZVS校验是手算最容易漏掉的一步。开关管要ZVS开通,死区时间内励磁电流必须能把开关管结电容(含变压器寄生电容)的电放完。近似条件:
Lm < Tdead / (16×Coss_total×fr)
这里的Coss_total是桥臂上两个开关管结电容的和,还要加变压器的寄生电容。假设用的开关管Coss ≈ 500pF,两个管加寄生电容算1.2nF,死区Tdead取300ns:
Lm < 300e-9 / (16×1.2e-9×100000) ≈ 156μH
但是刚才算出来的Lm是575μH,差了将近四倍。这说明K=5在1440W这个功率等级下完全不现实,励磁电流太小,ZVS根本做不了。
这正是LLC设计里最经典的一组矛盾:Lm要大,效率才高、导通损耗才小;Lm要小,ZVS才能成立。实际项目里怎么处理?要么减小K到2.5左右,要么换Coss更小的开关管,要么在死区上做文章。
我们把K改成2.5重新计算:
Lm = 115×2.5 = 287μH
还是大于156μH的限值。再把Q降到0.3试试:
Cr = 1 / (2π×100000×0.3×20.7) ≈ 25.6nF
Lr = 1 / [(2π×100000)²×25.6e-9] ≈ 99μH
Lm = 2.5×99 ≈ 247μH
还是偏大。这个问题怎么解?要么接受轻载时ZVS丢失(很多商用电源满载ZVS、轻载不一定全程ZVS,也OK),要么从变压器设计角度想办法降低寄生电容,要么开关频率降低。实际上,大功率LLC普遍把fr设在70kHz~90kHz而不是100kHz,就是为了让Lm能同时满足增益和ZVS要求。你把fr降到80kHz,Lr和Cr重算,Lm的上限会放宽,这组矛盾就化解了。
这个例子想说明的是:LLC设计不是套公式,而是一个在三四个约束条件之间找平衡点的过程。程序的价值在于快速把矛盾暴露出来,而不是替你做一个“完美”的参数组合。
5. 仿真验证怎么做:参数算完了别急着开板
5.1 仿真模型搭建的关键点
LLC仿真比普通PWM变换器更容易踩坑,因为模型里藏着很多“理想化假设”。我建议新手先用SIMPLIS或PSIM做行为级仿真,验证控制逻辑和参数合理性;等确认没问题了,再回SPICE类工具做细节波形验证。
模型搭建时要注意以下几点:
- 开关管不要用理想开关直接怼,至少给每个管子并联一个等效结电容,不然死区时间的ZVS过程根本看不到;
- 变压器模型不能用理想耦合线圈,要单独把励磁电感Lm并到原边,漏感折到谐振电感Lr里;
- 副边整流管的结电容会参与谐振,如果想精确观察副边波形,这个寄生参数不能省;
- 负载要用电阻加恒流混合模型,模拟实际电子负载的特性,纯电阻负载在动态切换时会失真。
很多人一上来就用理想模型仿真,波形漂亮得不行,一到实测就对不上。原因就是上述这些寄生参数没建模。
5.2 三份资料怎么配合:程序、文档、仿真模型的闭环
这套资料里,三份文件不是孤立的,它们对应的是完整设计链路:
第一份参数设计程序,负责从规格到参数,输出Lr、Cr、Lm、n和频率范围。它解决的是“算”的问题。
第二份原理推导文档,详细讲了FHA的推导过程、增益曲线的来源、ZVS条件的数学依据。它解决的是“为什么”的问题。如果你只是拿程序算结果,不看这份文档,遇到异常情况会完全没思路。
第三份仿真验证案例,是一套可以直接跑的模型,参数和第一份程序联动。你修改程序里的参数,模型里同步更新,跑出来的波形直接告诉你这套参数动态特性和启动行为是否合理。
我自己推荐的学习顺序是:先看原理文档的最后两章,把增益公式和ZVS条件混个脸熟,然后打开程序,对着上一节的算例把参数跑一遍,最后去仿真模型里改参数、看波形。这个顺序走下来,你会对LLC的脾气有非常具体的体感。
5.3 仿真时最值得观察的波形
仿真跑起来后,优先检查三个波形:
第一,原边开关管Vds波形。ZVS的特征是:Vds在死区时间内已经被励磁电流放电到0,然后体二极管自然续流,驱动到来时Vds没有跳变。如果在死区结束时Vds还有几十伏,说明励磁电流不够,ZVS丢失。
第二,谐振电流波形。正常工作区,谐振电流应该是平滑的正弦状,如果波形出现畸变或高频毛刺,说明工作频率落到了容性区或接近fl,这是参数和增益曲线不匹配的信号。
第三,副边整流管电流。ZCS的标志是整流管电流过零自然关断,没有反向恢复尖峰。如果电流在关断时还有很大的斜率,说明副边硬关断,效率会明显下降。
这三个波形检查完,基本可以判断一套参数是否可行。注意,仿真只看稳态还不够,要加一个从满载到轻载的跳变,看频率是否跑到最大限幅,以及输出过冲有多大。LLC的动态响应本来就比PWM慢,如果仿真里频率飞了,实机上大概率也会电压失控。
6. 常见问题与调试避坑实录
6.1 问题排查速查表
调试LLC最怕的不是问题本身,而是不知道问题该往哪个方向查。我把常见的异常现象和排查思路整理成一张表:
| 现象 | 最可能的原因 | 排查方法 |
|---|---|---|
| 满载时频率降到fl附近,波形畸变 | Q值过大或K值过小,峰值增益不足 | 增大K值、降低Q值,重算Lm |
| 轻载时频率飙升到几百kHz,输出电压跳动 | 最小频率限制没设,或Cr偏大 | 程序里锁定最高频率上限,或调小Cr |
| 原边开关管发热严重,Vds波形有硬开关特征 | Lm偏大,励磁电流不足,ZVS丢失 | 减小K值,或减小死区时间 |
| 上电瞬间炸管 | 启动时频率过低,或软启动时间太短 | 检查启动频率是否从1.5倍fr开始下降 |
| 效率正常但输出纹波大 | 副边整流管结电容参与谐振 | 换用反向恢复电荷小的二极管或同步整流 |
| 输出电压在负载跳变时振荡 | LLC环路带宽不够 | 降低环路穿越频率,增大输出电容 |
6.2 实测中几个容易忽略的细节
第一个细节,示波器探头的地线夹子不能乱夹。LLC原边开关节点是高压高速方波,地线夹子一长,寄生电感马上让波形出现振铃,你还以为是电路有问题。用差分探头或光隔离探头测试,地线尽量短,波形才可信。
第二个细节,启动时的软启动设置比你想的重要。LLC的增益曲线在低频端有峰,如果上电时直接让频率靠近fr甚至低于fr,谐振电流瞬间过大,很容易把管子带走。正确做法是启动频率设在1.5~2倍fr,然后按设定的斜率往下扫,直到进入稳压闭环。很多程序会给出软启动时间建议,实测要根据输出电容大小调整,电容大就把时间拉长。
第三个细节,环路补偿别套用PWM变换器的经验。LLC的增益曲线在谐振频率点附近有一个相位跳变,小信号模型和PWM完全不同。直接用Type II补偿加高带宽,很容易振荡。我的习惯是先跑一遍仿真里的环路波特图,确认穿越频率在fr的1/10~1/5以下,再往实机搬参数。
6.3 关于“参数微调”的实用技巧
程序算出来的最终参数不是一成不变的,实际元件值总会有偏差。这里分享一个小技巧:当你需要微调参数时,优先动Lm,其次动Lr,最后动Cr。
原因很简单,Lm是K值的主导者,它直接决定增益曲线形状和ZVS条件,调整Lm的效果最容易从波形上看出来;Lr和Cr一起决定fr,如果你只动其中一个,fr就变了,整个工作区间都跟着跑偏。只有当你能接受fr变化时,才考虑同时动Lr和Cr。
另外,实际变压器绕出来后,Lm的精度受气隙影响很大,最好在样品阶段实测一下Lm和漏感,把实测值代回程序校验一遍。程序给出的参数只是“目标值”,变压器厂做出来的东西往往有±10%的偏差,直接上机大概率出问题。
写在最后:一点实操体会
这套资料从有想法到最终整理完,前后花了很长时间。最深的体会是,LLC设计没有“一锤定音”的参数,所谓设计程序,本质是把多变量耦合问题变成快速迭代的流程。你算出来的第一组参数往往不是最终用的那组,它更多是给你一个可靠的起点。真正让电源“好用”的,往往是后面那一轮轮基于实测波形的微调。
如果你正准备学LLC,我的建议很简单:把原理推导文档里增益公式和ZVS条件两章啃下来,再拿程序把一个具体规格从输入到输出完整跑三遍,最后一定去仿真里亲手把一组好参数改成坏参数看看波形差异。这个过程走完,你对LLC的理解会上一个台阶。后面再遇到炸管、频率失控、波形畸变,你脑子里会立刻浮现出对应的参数嫌疑,而不是对着电路板发愣。这才是这套资料真正想帮你达到的状态。