我之前带过几个刚转电源方向的同学,他们学LLC时第一反应几乎一样:找一张LLC半桥的波形图,把六个工作阶段背下来。结果要么三天后忘光,要么套到自己电路里发现完全对不上。后来我让他们换了个办法——先在LTspice里把LLC半桥跑起来,盯着仿真波形亲手把六个阶段分出来,再去对照理论。效果立竿见影:不只记住了阶段,还理解了“为什么次级二极管会自然关断”“为什么死区时间能实现ZVS”这些靠死记硬背永远问不出来的问题。
这篇文章就把这套路径完整走一遍。会用LTspice搭一个能正常工作的半桥LLC仿真电路,从参数选型、变压器模型、死区设置这些最基础的环节开始,再逐个拆解六个工作阶段的电流路径、谐振关系和能量流向。适合正在学电源技术、准备做LLC仿真验证、或者看论文里六个阶段图一直对不上的同学。看完之后你再回头翻波形图,会发现那些线根本不是用来背的,是用来“看”的。
1. 先别急着背图:LLC的波形到底在表达什么
1.1 为什么“背波形”一定会失败
LLC半桥的电流波形看起来是正弦状的,开关动作藏在正弦包络里,不像方波Buck那样一眼就能看出“管子开关了,电感充放电了”。很多资料把波形图和六个阶段并排摆在一起,读者以为只要对应上就行,但真正的问题是:波形图是结果,阶段划分是过程,背结果不背过程,等于把因果关系统统扔了。
以最经典的谐振电流iLr和励磁电流iLm两条曲线为例。你在图上看到它们在某一点交叉,这个交叉点在阶段划分里非常关键——次级整流二极管在这个点自然关断。但如果你不亲手跑一遍仿真,不去看交叉前后次级二极管电流的变化,你永远不知道这个点为什么存在。波形图不是让你背的,是让你在真实工作状态中反复对照的。
1.2 LLC工作过程中的两个核心问题
搞清楚LLC半桥,实际上只需要盯住两个问题。
第一个问题:能量怎么从原边传到副边?答案不是靠开关管直通,而是靠次级整流二极管的轮流导通。二极管什么时候导通,取决于原边电流iLr和励磁电流iLm的相对大小。只要iLr不等于iLm,变压器原边就有电流差,这个电流差会耦合到副边,驱动二极管导通,把能量送出去。一旦iLr等于iLm,原边没有可耦合的电流差,次级二极管自然关断,输出就靠电容维持。
第二个问题:开关管怎么实现零电压开通,也就是ZVS?答案是靠死区时间内谐振电流对开关管寄生电容的充放电。这个动作能否成功,取决于死区前那一刻谐振电流的大小,以及死区时间给得够不够。
抓住这两个问题,你会发现所谓的六个工作阶段,其实就是半个开关周期内“二极管导通/关断”加上“开关管切换”这两个事件切出来的六个时间片段。方向反过来的下半周期,过程完全对称。
2. 搭一个能跑的LTspice半桥LLC模型
2.1 参数怎么选:先算好再动手
仿真的第一步不是打开LTspice放置元器件,而是先把参数定下来。我这里用一组经常作为教学案例的参数。
输入直流电压取400V,这是典型PFC母线电压。输出目标24V/10A,功率240W左右。半桥结构下,变压器原边看到的方波幅值大约为±200V,也就是以母线中点为零电位的半桥中点电压。
谐振频率先定一个目标,比如92kHz左右。根据公式:
fr = 1 / (2π√(Lr·Cr))
如果取Lr=90µH,Cr=33nF,计算结果是:
fr = 1 / (2π√(90×10⁻⁶ × 33×10⁻⁹)) ≈ 92.4kHz
这个频率符合主流LLC的开关范围。需要说明,实际开关频率不一定要等于谐振频率,LLC可以在谐振点附近工作,增益特性不同,但初次仿真建议让开关频率接近谐振频率,波形最规整,阶段也最好认。
励磁电感Lm取450µH,这样Lm/Lr=5,是一个兼顾ZVS范围和增益的常见比值。变压器匝比n取3,原边电感450µH,副边两个绕组各50µH,因为匝比n=3时,电感比是n²=9,450µH对50µH刚好是9倍。
输出滤波电容Co取470µF,负载电阻Rload取2.4Ω,对应输出电流约10A。
参数定好之后,整个电路的元器件清单如下表。
| 参数 | 数值 | 说明 |
|---|---|---|
| Vin | 400V | 输入直流母线电压 |
| Q1/Q2 | IRF840 | 内置体二极管的NMOS |
| Lr | 90µH | 谐振电感 |
| Cr | 33nF | 谐振电容 |
| Lm | 450µH | 变压器原边励磁电感 |
| L2/L3 | 50µH | 副边绕组,全波整流用 |
| K | 1 | 耦合系数,理想耦合 |
| D1/D2 | MUR460 | 输出整流二极管 |
| Co | 470µF | 输出滤波电容 |
| Rload | 2.4Ω | 负载电阻 |
| fs | 约94.3kHz | 开关频率 |
| 死区 | 200ns | Q1/Q2之间死区 |
2.2 搭建要点:变压器、死区、启动命令
打开LTspice后,按F2放置元件。需要放的元件包括:两个NMOS管、两个电容、三个电感、两个二极管、两个脉冲电压源、一个直流电压源、一个电阻。
这里最容易出问题的是变压器模型。LLC仿真里变压器不需要复杂模型,用三个电感加一个耦合系数K就能搞定。L1是原边电感450µH,L2和L3是副边两个绕组各50µH。放置三个电感后,通过SPICE指令添加耦合:
K1 L1 L2 L3 1耦合系数设为1,表示理想变压器,没有漏感。实际电路中的漏感往往会并入Lr中,所以这里直接让Lr单独存在即可。
下一步设置栅极驱动。半桥LLC最重要的一组参数就是两个脉冲源的死区。我用两个电压源分别驱动Q1和Q2,周期为10.6µs,对应频率约94.3kHz,每个管子导通约5.2µs,死区200ns,即开关切换时两个管子同时关断200ns。
Vg1 G1 0 PULSE(0 15 0 20n 20n 5.2u 10.6u) Vg2 G2 0 PULSE(0 15 5.3u 20n 20n 5.2u 10.6u)解释一下这两个脉冲源的参数:0到15V是栅极驱动电压,第一个源的延迟为0,脉冲宽度5.2µs,周期10.6µs。第二个源延迟5.3µs,也就是在Q1关断后200ns才开通Q2,这样就形成了死区。
搭建时建议给关键节点命名,比如半桥输出节点叫HB,谐振腔节点叫LC,这样后续看波形时不会迷路。
仿真命令用瞬态分析。考虑到启动瞬间谐振电容需要充电,最好加上startup选项让电源缓慢上升,并且跳过前几毫秒的振荡:
.tran 0 5m 3m startup .options maxstep=50nmaxstep=50n的意思是最大仿真步长50纳秒。步长越小,死区里的细节越清楚,代价是仿真速度慢。如果电脑配置一般,可以先跑大点,等确认电路基本正常后再缩小步长看细节。
2.3 仿真后先认四条曲线
电路跑起来后,先把四条关键波形调出来看:
- 谐振电流iLr,点击Lr元件任意一端就能显示流经它的电流
- 励磁电流iLm,点击L1电感的电流
- Q1的栅极电压V(g1)和漏源电压V(ds1)
- Q2的栅极电压V(g2)和漏源电压V(ds2)
不用急着看懂所有细节,你需要做的第一件事是判断仿真结果“像不像LLC”。最直观的标志是iLr和iLm的波形形状:iLr是正弦状的正负交替波形,iLm则是一段段折线。如果这两个波形符合预期,说明电路基本搭对了,可以进入下一步阶段拆解。
如果你看到的iLr是一条直线,或者iLm完全没有折线形状,大概率是变压器同名端接反了,也可能耦合系数K没设置成功。这个坑后面单独说。
3. 前半周期的三个阶段:从上管导通到死区
3.1 阶段1(t0~t1):上管导通,Lr和Cr正经谐振,能量正向传递
以Q1开通作为起点。t0时刻,Q1的栅极电压从0跳到15V,Q1导通,半桥中点电压从0跳到接近400V(实际是输入电压的母线高电平)。此时Q2处于关断状态,谐振电流从前一个周期的死区结束时已经有了确定的初值。
这个阶段的主电路结构是:输入电源通过Q1给谐振腔供电,Lr和Cr组成串联谐振回路。关键点是变压器原边的励磁电感Lm在这个阶段不参与谐振。原因是次级二极管D1处于导通状态,变压器副边把输出电压反射回原边,Lm两端电压被钳位在n倍的输出电压上。电压被钳住,电感电流只能线性变化,不会参与正弦谐振。
于是谐振频率完全由Lr和Cr决定,也就是约92.4kHz的正弦谐振。次级D1导通,能量从原边传向副边,给输出电容充电并给负载供电。如果你在LTspice里观察D1的电流,会看到这个阶段D1有一个明显的电流脉冲,幅度跟输出功率直接相关。
同时看iLr和iLm两条曲线:iLr在谐振作用下做正弦状变化,iLm则沿着一条直线缓慢上升。两条曲线的距离,就是变压器原边传递到副边的电流大小。这个距离越大,次级二极管的电流越大,传输的能量也越多。
3.2 阶段2(t1~t2):次级二极管自然关断,励磁电感下场
t1时刻发生了一件值得单独标记的事:iLr和iLm相等了。
这一刻原边电流没有差值,变压器原边不再向副边提供电流,D1电流降到零,自然关断。这不是靠驱动信号强制关断的,是电路自己实现的。LLC的一个核心优势就在这——次级二极管是自然关断,没有反向恢复电流问题,而这个自然关断的触发点就是iLr=iLm。
D1关断后,变压器副边与输出回路断开,Lm不再被输出电压钳位。此时Lm终于可以参与谐振了。谐振回路从“Lr+Cr”变成“Lr+Cr+Lm”,等效谐振电感变成540µH(Lr+Lm),新的谐振频率约为:
f = 1 / (2π√((90+450)×10⁻⁶ × 33×10⁻⁹)) ≈ 37.7kHz
这个频率远低于开关频率,所以在Q1剩下的导通时间里,iLr和iLm几乎是同步缓慢变化,不会出现大幅振荡。这也是你在仿真波形里看到iLr和iLm在交叉后“贴着走”的原因。
这个阶段能量不再传向副边,输出完全靠Co撑住。负载越轻,这个阶段越长;负载越重,二极管导通时间越长,这个阶段越短。通过调整负载电阻数值,你能直观看到阶段2在波形上的宽度变化。
3.3 阶段3(t2~t3):上管关断,死区里的电荷搬运
t2时刻,Q1的栅极电压归零,Q1关断。但谐振电流不能突变,此刻iLr仍然维持原来的方向流动。电流没有了Q1这个通路,只能改走开关管的寄生电容。
具体来说,正向谐振电流会同时给Q1的输出电容充电,让Q1的漏源电压Vds1从0开始上升;同时给Q2的输出电容放电,让Q2的Vds2从400V附近开始下降。这个过程就是死区时间内的高频电荷搬运。整个过程中两个开关管都不导通,但电流通过电容路径形成了完整的回路。
只要死区时间内电流足够大,能够把Q2的输出电容放电放干净,Vds2就会降到0,随后Q2的体二极管自然正向导通。体二极管导通的标志是Vds2变成约-0.7V,也就是出现了轻微负压。
这段就是整个LLC最重要的ZVS形成过程。你可以在LTspice里放大t2到t3之间的区域,清晰看到Vds1上升、Vds2下降、直到Vds2钳位在-0.7V的过程。后面的Q2开通就是零电压开通,这也是为什么LLC能在高频下保持高效率的底层原因。
4. 下半周期的三个阶段:换管,方向反过来再来一遍
4.1 阶段4(t3~t4):下管ZVS开通,次级另一只二极管接管
t3时刻,Q2的栅极电压到来。但注意,在t3之前,Q2的体二极管已经因为死区阶段的电荷搬运而导通了,所以Q2的Vds2已经为零甚至为负。这种情况下给Q2加栅压,属于标准的零电压开通,开通损耗几乎为零。
从电路结构看,这个阶段和阶段1镜像对称。Q2导通后,半桥中点被拉到接近0V,谐振腔两端的电压方向反转,谐振电流开始反向流动并逐渐增大。变压器副边原来由D1整流,现在换成了D2导通,能量继续从原边传向副边。
这里有一个容易被初学者忽略的细节:在t3刚到来的一小段时间内,谐振电流方向可能还没有完全反向,电流实际上是从半桥中点的变压器侧流向Q2,然后经过Q2回到输入电源的地。因为Q2已经导通且体二极管在续流,这部分电流既可以走Q2的沟道,也可以走体二极管,总之不会造成损耗尖峰。直到iLr方向完全反向,电路才进入真正的反向传能状态。
在LTspice里观察D2的电流,你会看到D2的电流脉冲和D1的电流脉冲形状类似,但出现在不同的半周期。输出端因为Co的滤波作用,整体电压纹波很小。
4.2 阶段5(t4~t5):又一次“电流追平”,二极管自然关断
时间走到t4,反向的iLr再次追平反向的iLm。这一刻跟阶段1结束时完全相同,原边电流差再次归零,D2电流降到零,自然关断。
D2关断后,变压器副边又一次与输出断开,Lm再次挣脱副边电压的钳位,与Lr、Cr组成三元件谐振回路。谐振频率又是约37.7kHz,远低于开关频率。因此在这个阶段,iLr和iLm几乎重合,线性缓慢变化,中间没有能量传给副边。
这个阶段的开始点t4,就是你在LLC波形图中看到的第二个交叉点。你可以把鼠标悬停在交叉点位置,仔细观察次级二极管D2的电流是否正好归零。如果D2的电流先于交叉点归零,或者晚于交叉点,说明你观察的电路可能工作在偏离谐振点的状态,或者参数设置偏了。
到这里,下半周期的前两个阶段跟上半周期完全对称,只是所有电流方向反了过来,次级整流管从D1换成了D2。LLC的对称性在这里体现得淋漓尽致。
4.3 阶段6(t5~t6):下管关断,死区里为上管的ZVS铺路
t5时刻,Q2的栅极电压归零,Q2关断,第二个死区开始。此时谐振电流方向为负,也就是从变压器原边往半桥中点方向抽取电流。Q2关断后,负向电流强制给Q2的输出电容充电,让Vds2从0上升,同时给Q1的输出电容放电,让Vds1从400V附近下降。
这个过程和阶段3的电荷搬运方向正好相反,但目的相同:让Vds1在Q1开通前降到零,使Q1的体二极管导通。一旦Vds1跌到-0.7V,Q1体二极管进入续流状态,下一个周期开始时的Q1开通就又是ZVS。
t6恰好是下一个周期的t0。到这里,半个开关周期内的六个阶段全部走完,另外半周期只是方向对称的重复。
需要说明的是,很多资料把完整周期内“Q1阶段”加“Q2阶段”一共算作12个阶段,但在教学和工程沟通中,习惯把其中一次开关周期定义成六阶段,下半周期用对称性去理解。真正动手仿真时会发现,只要前半周期的三个阶段看明白了,后半周期基本不用费力气。
5. 在LTspice里验证ZVS:把死区放大来看
5.1 Vds是ZVS最直接的证据
很多人看完前面部分仍会问:怎么确认仿真里Q2真的是零电压开通?答案其实很朴素,就是把死区放大,看Vds的电压是不是在栅极信号来临之前就已经跌到零。
在LTspice中,把时间轴范围缩到大概200ns到500ns宽度,找到t2到t3这段死区。观察Q2的Vds2波形,正常情况下它是从400V左右开始下降,然后在一个很低的值附近停住,出现一个明显的平台。如果电路工作在ZVS状态,这个平台应该在0V附近,甚至因为体二极管导通而出现约-0.7V的负平台。
然后在同一个时间轴上看Q2的Vgs2波形。当Vgs2开始上升时,Vds2必须已经是零,或者非常接近零。如果Vgs2上升的时候Vds2还有几十伏甚至几百伏,那就不是ZVS,管子是在硬开关,效率一定很难看。
同样方法去验证Q1:在另一半周期的死区里看Vds1和Vgs1的关系。两个管子的验证方法完全一致。
5.2 死区时长和电流方向的关系
这里有一个工程经验值得分享:死区时间不是越长越好,也不是越短越好。死区必须大于开关管输出电容充放电所需的时间,但又不能太长,太长会导致体二极管长时间导通,增加损耗。
在仿真里直接验证很简单。把死区从200ns改成80ns,重新跑一次,你会发现如果死区太短,Vds2还没降到零,Q2的栅极信号就来了,ZVS条件不满足。反过来把死区改成500ns,ZVS肯定能保证,但你在波形图上会看到体二极管导通的时间变长,在Vds波形上多出一段明显的-0.7V平台,该平台会导致额外的二极管导通损耗。实际产品设计就是在效率和可靠性之间找一个折中。
还有一个常见误区:认为满载ZVS条件一定比轻载好。实际恰恰相反,LLC工作在轻载时谐振电流小,死区里可能没有足够的电流完成寄生电容的充放电,ZVS会丢失。这就是为什么很多LLC控制器在轻载时会进入间歇工作模式(burst mode),本质上就是靠拉升等效电流来保住ZVS。你可以在LTspice里把负载电阻从2.4Ω改到24Ω,再把死区放大,大概率会看到ZVS丢失的波形。
6. 仿真中容易翻车的地方和排查思路
6.1 变压器同名端反了:表现与对策
LTspice里变压器模型靠电感耦合实现,没有复杂的变压器符号。很多人搭完电路后发现波形不对,比如iLr和iLm根本没有交叉,或者次级二极管电流出现奇怪的毛刺,第一个要查的就是同名端。
LTspice中电感默认在引脚1上标注一个圆点(dot),这就是同名端标记。你需要在放置电感时通过旋转元件,让L1的dot朝向半桥中点侧,L2和L3的dot朝向对应的整流二极管方向。如果L2和L3的dot方向不一致,两个副边绕组输出的极性就反了,全波整流直接变成短路回路,输出波形会异常。
排查方法很简单:仿真结束后看D1和D2的电流波形,正常情况下D1只在Q1导通的半周期内有电流,D2只在Q2导通的半周期内有电流,两者不会重叠。如果看到两个二极管同时有电流,高度怀疑同名端错了。
6.2 波形抖、仿真慢、收敛失败
LTspice偶尔会有收敛问题,尤其LLC这种带谐振电容和变压器耦合的电路。常见的症状是仿真进度卡在某一步反复迭代,或者在某个节点电压跳变异常。
处理办法按优先级排序。第一步,给电路加较大的阻尼电阻,比如在副边整流二极管上串联0.1Ω的小电阻,能有效改善收敛。第二步,把maxstep稍微调大,但不是调小,有时步长过小会引入不必要的数值振荡。第三步,用.options指令降低收敛难度:
.options abstol=1e-10 reltol=0.003如果还不行,检查模型是不是有问题。IRF840是LTspice自带的MOSFET模型,稳定性比较好;如果用了自己下载的第三方Spice模型,先跑一个最简单的半桥逆变电路单独验证模型本身是否正常,再接入LLC主电路。
另外提醒一下,LTspice仿真产生的文件比你手动保存的电路文件多,因为瞬态分析会生成.raw波形文件和.log日志文件,显示在相同的目录下。这是正常现象,不是故障。
6.3 从波形反推参数:Lm、Cr大小怎么看
仿真跑通之后,一个特别有用的练习是改参数观察波形变化。把Lm从450µH改成900µH,谐振电流和励磁电流的交叉点会发生明显移动,阶段2和阶段5的宽度会变大。这是因为Lm变大后,励磁电流的上升斜率变小,iLr要花更长时间才能追上iLm,次级二极管导通的时间相应缩短,输出能力下降。
把Cr从33nF改成47nF,谐振频率会下降,如果在相同开关频率下运行,等效工作点会偏向感性区,波形会变得不那么“对称”,次级二极管电流的峰值也可能上升。
这种“改一个参数,看一次波形”的练习,远比反复背诵阶段定义更有效。当你能够根据波形变化预测“Lm变大会让次级二极管导通时间变短”,才算是真正理解了LLC的工作机理。
7. 用一张表把六个阶段串起来,然后开始调参数
最后把六个阶段整理成一张表,方便你在仿真时随时对照。
| 阶段 | 时间区间 | 导通开关 | 次级导通二极管 | 参与谐振的元件 | 能量流向 |
|---|---|---|---|---|---|
| 阶段1 | t0~t1 | Q1 | D1 | Lr+Cr | 输入→输出 |
| 阶段2 | t1~t2 | Q1 | 无 | Lr+Cr+Lm | 输出由Co维持 |
| 阶段3 | t2~t3 | 无(死区) | 无 | 寄生电容充放电 | 电荷搬运,为ZVS准备 |
| 阶段4 | t3~t4 | Q2 | D2 | Lr+Cr | 输入→输出 |
| 阶段5 | t4~t5 | Q2 | 无 | Lr+Cr+Lm | 输出由Co维持 |
| 阶段6 | t5~t6 | 无(死区) | 无 | 寄生电容充放电 | 电荷搬运,为ZVS准备 |
有了这张表,你再回到LTspice里看波形时,每个阶段的边界都会对应到一个具体的波形特征:t1和t4是iLr与iLm交叉的时刻,t2和t5是栅极信号撤掉的时刻,t3和t6是另一个管子栅极信号到来的时刻。把鼠标放到这些时间点上,对照表中“哪个管子导通”“哪个二极管导通”“哪几个元件参与谐振”,整个工作过程就活了。
我个人在实际仿真中最受益的一个习惯是:每跑完一组波形,就手动改一次负载电阻或者开关频率,看表格里的“次级导通二极管”这一栏会不会变化。如果负载变轻导致进入轻载状态,次级二极管导通的时间会缩短,阶段2和阶段5拉长,甚至ZVS会丢失。这个过程会让你把LLC的“负载相关”和“频率相关”这两个特性刻进脑子里,而不是停留在波形图的表面记忆上。
接下来你可以把这个基本电路往几个方向扩展:把开关管换成更贴近实际器件的模型验证损耗,或者把次级二极管换成同步整流MOS管观察体二极管时长变化,再或者用LTspice的参数扫描功能扫一遍开关频率,自己画出一条增益曲线。LLC的大门打开之后,你会发现每个参数都不是孤立的,改一个数值,整条波形都会讲故事。