☰
用LTspice仿真看懂LLC谐振变换器三种工作模式与软开关波形的区别
2026/9/29 20:48:26 网站建设 项目流程

说实话,LLC谐振变换器的波形分析,刚入门那会儿真是让我头疼了好一阵。网上资料一搜一大把,但几乎都是“低于谐振频率副边二极管断续、等于谐振频率临界连续、高于谐振频率连续”这种结论式描述,背是背下来了,碰到实际波形还是对不上号。后来我养成一个习惯:遇到拿不准的电力电子拓扑,先开LTspice把电路搭出来,让波形自己说话。LLC的三种工作模式,就是靠一遍遍改开关频率跑仿真,才真正在脑子里建立起画面感的。

这篇文章就把我调试LLC时常用的那套仿真方法完整写出来。你不用死记硬背任何一张波形图,只要跟着我把半桥LLC的仿真电路搭起来,分别把开关频率设置到高于谐振频率、等于谐振频率、低于谐振频率三个点,观察谐振电流、励磁电流、副边二极管电流和开关管Vds的变化,自然就能理解每种模式为什么长这样、对应什么工作状态、开关管到底软没软起来。内容偏实操,适合正在学LLC的电源工程师、研究生,也适合想用LTspice做电力电子仿真但不知道从哪下手的同学。

1. LLC谐振变换器三种工作模式,先搞清楚原理再动手

1.1 LLC的两个谐振频率与三种工作模式

LLC谐振变换器的“LLC”指的就是谐振网络里有两个电感和一个电容:谐振电感Lr、励磁电感Lm、谐振电容Cr。这三个元件构成了两个谐振频率,这是理解三种工作模式的地基。

第一个是Lr和Cr的串联谐振频率fr,这也是大多数资料里说的“谐振频率”:

fr = 1 / (2π√(Lr * Cr))

第二个是Lr+Lm和Cr共同参与的谐振频率fm,因为Lr和Lm串联后电感量更大,所以fm一定低于fr:

fm = 1 / (2π√((Lr + Lm) * Cr))

开关频率fs和这两个频率的关系,决定了LLC到底工作在哪个区域。我们常说的“三种工作模式”,实际就是:

  • 模式一:fs > fr,开关频率高于谐振频率,也叫上谐振区。
  • 模式二:fs = fr,开关频率正好等于谐振频率,临界点。
  • 模式三:fm < fs < fr,开关频率低于谐振频率但高于fm,叫下谐振区或准谐振区。

还有一个区间是fs < fm,这个区域输入阻抗变容性,原边开关管会失去ZVS条件,实际设计里是要尽量避开的。仿真中如果条件允许,也可以故意跑一下看看硬开关波形长什么样,对理解“为什么要避开”很有帮助。

1.2 为什么频率不同,波形就不一样

LLC的调压逻辑和普通PWM变换器完全不同,它靠改变开关频率来改变增益。fs离fr越远,谐振网络阻抗变化越明显,传到副边的能量也随之改变。

fs > fr时,谐振网络整体呈感性,电流滞后于电压,原边开关管可以实现ZVS,但副边二极管在整个开关周期里基本都在导通,电流连续,换流时存在反向恢复问题,所以这一区域的EMI和二极管关断损耗会偏大。

fs = fr时,Lr和Cr的阻抗互相抵消,增益基本等于1。这是个非常理想的工作点,原边ZVS、副边二极管电流临界连续,关断时电流自然过零,二极管没有反向恢复,整体损耗最低。

fs < fr时,一个开关周期里会出现“副边二极管全部截止”的阶段。这个阶段里变压器原边没有被副边电压钳位,Lm可以参与到Lr、Cr的谐振中,于是谐振电流会跟励磁电流重合,形成一段平台。副边二极管电流断续,二极管能自然过零关断,但原边电流的有效值更大,循环能量增加,效率不一定比fr点高。

学LLC最大的坎就是这三个模式在波形上到底怎么区分。别急着背结论,下面我们直接把仿真搭起来,每个模式跑一遍,把关键波形放在一起看,一次就能看懂。

2. LTspice仿真电路搭建与参数计算

2.1 半桥LLC主电路搭建

LLC的拓扑形式很多,全桥、半桥、三电平都有,但半桥最典型也最容易入门。半桥LLC的关键结构是:两个开关管Q1、Q2串联成半桥,中点SW引出,后面依次接Lr、Cr、变压器原边,变压器副边经过整流桥接输出电容和负载。

LTspice里搭建步骤大概是:

  1. 放置元件:按F2打开元件库,选择nmos(用IRFP460)、电感、电容、二极管(MUR460)、电压源、地。
  2. 放置变压器:直接用两个耦合电感K1模拟理想变压器。原边电感L1设置为一个很大的值,比如10mH,副边电感L2设置为10mH除以变比平方。外部再用一个独立电感Lm并联在变压器原边两端,作为励磁电感。
  3. 放置谐振元件:Lr和Cr串联在SW和变压器原边之间。
  4. 连接副边整流:变压器副边接全桥整流二极管,输出端接Co和负载电阻。
  5. 放置驱动源:两个PULSE电压源分别驱动Q1和Q2,注意Q1的驱动源参考点是SW,Q2的参考点是GND。

这个变压器建模方式可能有人会疑惑:为什么L1要取10mH这样一个很大的值?因为理想变压器的原边自感应该趋近无穷大,励磁电流才趋近于零,实际励磁感应由外部并联的Lm来承担。10mH在100kHz下感抗有6.28kΩ,励磁电流只有几十毫安,相比几安的负载折算电流完全可以忽略。这样就能直接把Lm上的电流当作励磁电流来观察,理解波形时会非常直观。

K1耦合系数不建议直接填1,LTspice对完美耦合有时会出现奇异矩阵报错,填0.9999足够接近理想变压器,又能避免仿真不收敛。

2.2 谐振参数计算与驱动配置

仿真参数别乱选,先定一个合理的目标:输入电压Vin=400V,输出电压Vout约24V,输出功率约200W,谐振频率fr设计在100kHz附近。

变压器变比怎么算?半桥LLC在fr点增益约等于1,所以副边电压主要由输入电压和变比决定。半桥加到变压器原边的方波幅度是Vin/2,也就是200V,副边全桥整流输出约等于原边幅值除以变比,再减去二极管压降。取变比nn=8,理论输出约25V,扣除整流二极管压降后正好接近24V,比较合理。

谐振参数我选的是Lr=30μH,Cr=84nF,Lm=200μH。计算一下:

fr = 1 / (2π√(30e-6 * 84e-9)) ≈ 100.3kHz

fm = 1 / (2π√((30e-6 + 200e-6) * 84e-9)) ≈ 36.2kHz

这个Lm取值对应Lr的6倍多,属于LLC设计里比较常见的范围。励磁电流峰值大概在2A上下,死区时间内足够给开关管结电容完成充放电,ZVS条件容易观察。如果Lm取得太大,比如500μH以上,励磁电流太小,死区时间内Vds可能还没来得及跌到零,ZVS就会失败,反而不利于初学者观察软开关过程。

变压器副边电感值L2按变比的平方折算:

L2 = 10mH / (nn * nn) = 10mH / 64 ≈ 156.25μH

驱动信号用两个PULSE源,占空比略小于50%,留出死区时间。假设死区Td=200ns:

.param fs=100k T={1/fs} Td=200n Ton={T/2-Td}

V1 G1 SW PULSE(0 15 0 20n 20n {Ton} {T}) V2 G2 0 PULSE(0 15 {T/2} 20n 20n {Ton} {T})

Q1在0时刻开通,持续Ton后关断,Q2延迟半个周期再开通,两个管子中间自然隔出200ns死区。注意V1的参考端是SW节点,不是GND,因为上管Q1的源极接在SW上,栅源电压必须参考SW。

如果后面想一次跑三个频率,可以用.step指令:

.step param fs list 80k 100k 120k

这样LTspice会连续跑三轮,波形窗口里可以切换不同频率的结果。不过三种模式分开跑更容易把每个稳态波形看仔细,我会建议新手先手动改频率,各跑一遍。

2.3 仿真时长与观察设置

LLC电路的瞬态过程包含启动冲击,一般需要几百微秒到几毫秒才能进入稳态。我的习惯是:

.tran 0 5m 4.9m startup

意思是仿真总时长5ms,从4.9ms开始记录波形,只观察最后一百微秒的稳态。startup关键字让输入电压从零开始爬升,避免瞬态突变导致初始电流过大不好收敛。

如果担心仿真慢,可以把谐振频率整体降一档,比如fr=50kHz,Lr加倍、Cr加倍,仿真时间可以缩短到2ms甚至1ms。这篇文章里仍然用100kHz档位,方便对照公式计算。实际跑下来LTspice的瞬态仿真速度很快,5ms也就几十秒的事。

仿真完成后,把鼠标移到想要观察的节点或器件上,V是节点电位,I(器件名)是器件电流。建议把SW节点电压、V(vout)、I(Lr)、I(Lm)、I(D1)这些波形同时添加到波形窗里,用不同颜色区分。多组波形数量级不同,可以右键右边坐标轴,给每个波形建立独立Y轴,否则小信号波形会被压成一条直线。

3. 三种工作模式仿真过程与波形拆解

3.1 模式一:开关频率高于谐振频率(fs = 120kHz)

把参数里的fs改成120k,仿真后先看SW点方波电压,再看Lr上的电流波形I(Lr)。120kHz时,谐振电流是一条比较规则的正弦波,从头到尾都保持连续,没有跟Lm电流重合的平坦段。这是fs > fr最明显的特征。

为什么电流连续?因为开关频率高于fr,谐振网络来不及在一个半周期内完成完整的Lr-Cr能量交换,电流一直保持流动。副边二极管在整个周期里都有电流流过,对应CCM连续导通模式,所以I(D1)基本是一条近似正弦的脉动波形,不会出现电流归零的平台。

再看开关管Q1的Vds。把波形放大到死区那一段,可以看到Q1关断后,Vds从0往400V方向上升,但Q1再次收到开通信号之前,Vds已经被下拉到接近0V,说明Q1实现了ZVS开启。这个模式虽然原边软开关没问题,但副边二极管是硬关断的,关断瞬间电流不为零,反向恢复损耗和EMI会明显一些。仿真用的二极管是理想模型,反向恢复看不太出来,但电流波形连续性带来的趋势要理解到位。

此时输出电压会略低于24V,因为fs高于fr,谐振网络增益小于1,LLC工作在降压区。用.meas命令测一下:

.meas TRAN Vout_avg AVG V(vout) FROM 4.9m TO 5m

测出来大概在20到22V之间,不同二极管压降略有差异。

3.2 模式二:开关频率等于谐振频率(fs = 100kHz)

把fs改回100k,运行仿真。这次重点看I(Lr)和I(Lm)的交点。理想情况下,在开关周期的中点附近,谐振电流会跟励磁电流自然重合,重合的瞬间副边整流二极管的电流刚好降到零,变压器原边停止向副边传递能量,Lm上的电流在这一刻达到峰值。这个“刚好重合”的状态,就是临界连续模式BCM。

观察副边二极管I(D1)时,电流波形应该是连续到临界断续的过渡状态:一个半周期结束时电流刚好归零,紧接着下一个半周期又开始导通,中间几乎没有明显的死区。这个点就是LLC效率最高的甜蜜点,原边开关管能ZVS,副边二极管能ZCS关断,没有反向恢复问题,开关损耗最小。

有个细节要注意:fs=fr时,理论上整个过程都是Lr单独和Cr谐振,Lm不参与谐振,只在原边被钳位时线性充放电。所以I(Lm)是一条三角波,I(Lr)是正弦波,两者在峰值附近相交。由于Lm取200μH,励磁电流峰值不算小,所以即使理论上“临界连续”,实际波形上副边二极管电流的过零点仍然有一点拖尾。这个现象正常,真实LLC同样如此。

输出电压在这个点大约24V左右,增益约等于1。这也是整个仿真里最接近设计目标的工作点。

3.3 模式三:开关频率低于谐振频率(fm = 36kHz < fs = 80kHz)

把fs改成80k,这是三种模式里最“有故事”的一个。观察I(Lr),波形已经不再是干净的正弦波了,而是在峰值附近出现了一段平坦的“平台”。这段平台出现的原因,就是副边二极管全部截止,变压器原边不再被输出电压钳位,Lm参与进谐振,Lr、Cr、Lm三个元件一起谐振。因为Lr+Lm比Lr大得多,这一段的谐振频率很低,电流变化率明显放缓,看起来就像电流被“吸住”了一样。

如果你同时看I(Lr)和I(Lm),会发现平台期里两条曲线完全重合,说明此时流过变压器原边的负载电流为零,整个谐振腔处于“空转”状态。这段空转时间越长,副边二极管截止时间越长,输出电流越呈断续状,也就是DCM模式。观察I(D1),它会从fs=fr时的临界连续状态变成明显的电流中断,波形是一段一段的脉冲。

这里的ZVS情况比较特别。原边开关管依然可以ZVS,因为死区期间Lm电流足够大,能继续给开关管结电容充放电。副边二极管则做到了真正的零电流自然关断,比模式一的硬关断舒服得多。但代价是谐振电流的有效值变大,循环能量增多,轻载时这个问题会更明显。

输出电压在80kHz下会比24V高,一般能到27V甚至更高一点,因为fs低于fr时LLC有升压能力。这个结果直观反映了PFM调频控制的本质:负载或输入变化时,通过降低频率提高增益,把输出稳住。

如果好奇,可以把fs进一步降到30kHz,进入fs < fm的容性区。这时会看到Vds波形在死区里再也跌不到零,开关管变成硬开通,电流尖峰和振荡明显增大。这个反面教材跑一次,就明白为什么LLC的控制芯片一定要设置最小频率限制。

4. 波形对比速查:再也不需要背图

4.1 三种模式关键时刻的波形差异

跑完三次仿真,我们把三个频率下的关键波形放在同一个表格里对比,基本就能把LLC的脾气摸清。

对比项fs > fr(120kHz)fs = fr(100kHz)fm < fs < fr(80kHz)
谐振电流I(Lr)正弦连续,无平台正弦连续,临界状态正弦加平台,出现电流重合段
励磁电流I(Lm)三角波,峰值偏低三角波,峰值与I(Lr)交界三角波,峰值明显,与I(Lr)重合
副边二极管电流CCM连续,关断电流不为零BCM临界连续DCM断续,有电流零区
原边开关管ZVS可实现可实现可实现
副边二极管ZCS不能,硬关断能,临界关断能,自然过零关断
增益小于1,降压约等于1大于1,升压

这张表不用背,只要记住一个核心判断逻辑:看I(Lr)的形态。有平台就是下谐振区,正弦连续就是上谐振区,处在连续和断续之间就是谐振点附近。

4.2 副边二极管电流:区分DCM、BCM、CCM的钥匙

很多人一开始搞不清三种模式的副边电流状态,其实只要盯住副边任意一个整流二极管的电流波形就够了。

fs > fr时,二极管电流几乎从不归零,这是一个完整的连续电流波形,对应CCM。关断时刻电流值很大,所以二极管是硬关断,会有反向恢复带来的损耗。

fs = fr时,二极管电流在每个半周期结束时恰好归零,下一个半周期紧接着又开始,电流波形没有明显的零平台,这是BCM,也是临界状态。这个点最接近“完美开关”的理想状态。

fm < fs < fr时,二极管电流在每个半周期里有一段明确的零电流区间,波形是一个个断续脉冲,这是DCM。二极管关断时电流为零,所以是零电流关断。但同时要注意,原边谐振腔在平台期产生了大量循环电流,所以有效值并不低。

实际产品里,LLC设计通常让满载工作在fr点附近,轻载时频率升高进入fs > fr区域,重载或输入偏低时频率降低进入fs < fr区域来提升增益。副边二极管的这三种电流状态,正好对应了负载由轻到重的变化过程。

4.3 从波形判断电路是否处于ZVS/ZCS

仿真看得多了,你一眼就能从波形判断开关管是不是软开关。判断原边ZVS最直接的方法是看Vds和Vgs的时序:把Q1的Vds和Vgs放在同一个波形窗里,放大死区时间,如果Vds在Vgs变为高电平之前已经跌到接近0V,说明开关管开通前漏源电压已经为零或为负,这就是ZVS。电路处于感性区时,死区时间足够,励磁电流够大,这个条件一般能满足。

判断副边ZCS也简单:看二极管电流在关断瞬间是不是已经降到零。如果在电流还很大的时候强制关断,那就是硬关断,波形上会有一个突然掉到零的陡峭沿,配合电压波形还能看到振铃。ZCS则表现为电流平滑地减小到零之后再保持一段零平台,没有任何电压电流突变。

如果在仿真里发现原边ZVS失败,别急着怀疑电路,先检查死区时间是不是太短,或者励磁电感Lm是不是太大。死区太小,励磁电流还没来得及把结电容电荷抽走,开关管就开了;Lm太大,励磁电流峰值不够,同样完不成充放电。这也是LLC调试中最常见的两个“软开关杀手”。

5. LTspice仿真常见问题与排查技巧

5.1 仿真不收敛、时间步长太小

LLC电路里变压器耦合、电容谐振、二极管整流凑在一起,LTspice偶尔会报“time step too small”或者直接提示收敛问题。我在搭LLC仿真时遇到过几次,原因基本出在几个地方。

第一个是变压器耦合系数设为1导致奇异矩阵。改成0.9999,或者给副边加一个很小的漏感,问题一般就消失了。

第二个是初始条件太“突变”。使用startup关键字让输入电压慢慢爬升,能有效避免谐振电容在启动瞬间被强行充电导致不收敛。

第三个是某些型号的二极管模型在反向恢复阶段数值刚性太强。可以换用更简单的理想二极管模型,或者给二极管并联一个小电容或者大电阻作为数值阻尼。比如在输出节点加一个1kΩ的泄放电阻,或者用.options语句放宽求解精度:

.options abstol=1e-10 reltol=0.003

如果仿真速度太慢,还可以限制最大步长,防止LTspice花大量时间在无关紧要的高频振铃上:

.tran 0 5m 4.9m 100n

最后的100n是最大步长限制,过小会变慢,过大会漏掉细节。对100kHz的LLC,100ns到1μs都够用。

5.2 保存文件多出来好几个、模型导入与版本兼容

用LTspice时经常会发现原理图目录下除了.asc文件之外,还有.raw、.log、.net之类的文件。这是因为LTspice把仿真原始数据、运行日志和网表分别存储。.asc是原理图,.raw是波形数据,.log是日志,.net是仿真时生成的网表。这些文件都是正常产物,不用去管。想要整洁的话,把.raw和.log删掉也不影响下次仿真,但下次跑完还会重新生成,习惯了就好。

如果需要用厂家的SPICE模型,导入方法也很固定:先下载模型文件,把文件放到原理图同目录,然后在原理图里加一条.include指令,指向模型文件名。放置MOSFET时随便放一个通用模型,把Value改成模型里的型号名,比如IRFP460,再右键确认模型路径。如果报“Unknown schematic syntax”,多半是模型文件里的语法和LTspice不完全兼容,需要手动改一下.lib为.inc或者调整行尾,也可能是用新版本LTspice打开了旧版本画出来的原理图,这种情况直接另存一份新版格式就行。

5.3 波形查看与测量技巧

LTspice查看波形有几个提升效率的小习惯,值得练一下。

波形窗口里,点击某个节点再按Ctrl+左键,会弹出一个窗口显示该节点在一段时间内的平均值、有效值、峰值等信息。测输出电压纹波、测输入电流有效值非常方便。用.meas指令则可以做更精确的量化,比如测一段时间内的电压平均值:

.meas TRAN Vout_avg AVG V(vout) FROM 4.9m TO 5m

仿完在Log窗口按Ctrl+L就能看到结果。如果想对比三个频率下的输出电压,可以把.param fs替换成.step,然后用这段.meas把三种情况下的Vout全部打出来:

.step param fs list 80k 100k 120k

这样一次仿真就能拿到三组稳态数据,分析起来效率高很多。

观察ZVS细节时,建议把波形放大到单个开关周期,然后用鼠标拖出一个矩形放大区域,或者按滚轮缩放。LTspice里把鼠标悬停在波形上,点左键加Ctrl可以直接测量两点的差值,这个功能看死区时间内的Vds跌落过程特别有用。

还有个细节:如果同时观察V(vout)和I(Lr)这种数量级差很多的波形,记得右键波形窗右侧的Y轴坐标,选择“单独Y轴”,否则小信号波形会被大信号压到看不见。这个操作很多人一开始不知道,导致以为自己的仿真波形出了问题,实际上是坐标轴没分开。

最后分享一个我自己用下来的习惯:跑LLC仿真从来不会只跑一个点,而是把开关频率从60kHz到140kHz每隔10kHz跑一遍,然后把输出电压和谐振电流形态全部记下来,做成一条“增益-频率”曲线。这样既能看到三种模式的切换过程,也能对LLC的调频特性形成整体认识。仿真跑多了,波形背后的物理过程就会变成肌肉记忆,比死记硬背任何结论都管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询