做电源设计或者电力电子方向的研究,很多人第一次接触LLC谐振变换器时,都会经历一种“好像懂了,又说不出波形具体长什么样”的状态。网上的公式推导、效率曲线和结构图很多,但真正落实到Matlab/Simulink里搭一个能跑的模型,搞清楚谐振电流长什么样、怎么看ZVS是否实现,反而要花不少时间。
这篇文章不讲高深数学,直接用Simulink搭一个全桥LLC谐振变换器的开环仿真模型,从拓扑结构、参数设置到关键波形分析一次讲清楚。仿真环境使用Simulink中的Simscape Electrical模块,这是电源工程师做电路级仿真最常用的工具,可能你会更熟悉它以前的叫法:SimPowerSystems。
读完这篇文章,你可以做到三件事。第一,按照文中的模块路径和参数,完整复现一个全桥LLC开环仿真模型;第二,正确辨认驱动波形、MOSFET漏源电压、谐振电流、谐振电容电压、变压器原边电压和输出电压这些核心波形;第三,模型跑不通或者波形不对时,能根据排查清单快速定位问题。开环仿真看起来比闭环简单,但它恰恰是理解LLC工作原理、调试闭环参数的基础,值得先把这一步走扎实。
1. 为什么先从开环仿真开始?
LLC谐振变换器的闭环控制并不复杂,常用的就是PFM(脉冲频率调制)方式,输出电压反馈去调节开关频率。很多初学者可能急着直接把闭环搭出来,结果遇到一堆问题:环路参数不会调、启动波形有振荡、不知道功率级本身工作是否正常。
这里真正容易踩坑的地方是:如果功率级本身没搭对,闭环再花心思也没有意义。开环仿真的价值就在这里。
开环仿真指开关频率和驱动占空比固定,不加入输出电压反馈。它不会自动稳住输出电压,负载变化时输出电压会变化,这是正常现象。既然没有反馈环路,那模型跑起来就不容易出现环路振荡、参数不收敛的问题,更适合用来验证硬件拓扑是否合理、驱动逻辑是否正确、谐振参数选取是否合适。
开环仿真在工程实践中还有一个很务实的作用:判断开关管到底工作在ZVS还是ZCS状态。LLC变换器强调软开关,但软开关不是天然存在的,它取决于开关频率和谐振频率的关系,也取决于死区时间是否给够。看Vgs和Vds的相对时序就能直接判断,这个在仿真中一目了然,在硬件板上反而要探头、示波器同时抓两路信号,麻烦得多。
所以本文的设计思路是:先跑通开环模型,把波形看懂,再向闭环或者参数优化推进。仿真中发现的波形规律,和硬件调试时的现象是一致的。
2. 全桥LLC的电路结构与工作原理
2.1 全桥LLC拓扑结构
LLC谐振变换器由四部分组成:逆变网络、谐振网络、变压器与整流网络、输出滤波。全桥与半桥的区别主要集中在逆变网络。全桥LLC使用四个开关管Q1、Q2、Q3、Q4,组成两个桥臂,对角开关管同时导通,在桥臂中点A和B之间产生正负交替的方波电压。半桥LLC只用两个开关管,桥臂中点输出的是0到Vin之间变化的方波。全桥结构输入电压利用率高,原边开关管电压应力为输入电压,适用于中大功率场景,比如车载充电机、服务器电源、通信电源。
谐振网络是LLC名字的由来,它由三个元件组成:谐振电感Lr、谐振电容Cr、励磁电感Lm。Lr通常由独立的谐振电感承担,也可以把变压器漏感算进去;Cr是串联谐振电容;Lm是变压器励磁电感,也参与谐振过程。谐振网络位于逆变桥和变压器之间,作用是滤除谐波,让流入变压器的电流接近正弦。
变压器负责电气隔离和电压匹配,副边采用整流二极管或同步整流管。本文模型副边使用四个二极管组成全桥整流,搭配输出电容和负载电阻。
2.2 三个谐振元件的分工
可以把LLC谐振网络理解成一个“变频电压分配器”。不同的开关频率下,Lr、Cr、Lm的等效阻抗不同,最终反射到副边的电压增益也不同。这是LLC能通过调节频率实现稳压的根本原因。
这里需要理解两个谐振频率。第一个谐振频率fr1由Lr和Cr决定:
fr1 = 1 / (2π√(Lr × Cr))
在fr1附近,Lr和Cr发生串联谐振,阻抗最低,谐振电流最大,功率传输能力最强。第二个谐振频率fr2由Lr、Cr、Lm共同决定:
fr2 = 1 / (2π√((Lr + Lm) × Cr))
fr2远低于fr1,此时Lm也参与谐振,通常会伴随副边电流断续。
按照开关频率位置,LLC存在两种典型工作状态。当开关频率在fr2和fr1之间时,原边开关管能实现ZVS,这是最常见的正常工作区间。当开关频率低于fr2时,副边整流二极管电流断续,原边开关管可能失去ZVS条件,进入ZCS区域。当开关频率高于fr1时,Lm不再被副边反射电压钳位,几乎不参与谐振,此时电路接近于普通的串联谐振变换器,轻载时调压能力下降。
本文仿真模型中,选取开关频率100kHz,fr1约100.66kHz,fr2约33.56kHz。也就是说,开关频率略低于fr1但远高于fr2,正好落在正常的感性ZVS工作区,能看到标准的LLC波形。
2.3 开环仿真应关注的几类波形
开环仿真要观察的波形,其实对应的是LLC变换器的五组核心信号:
- 驱动波形:Q1Q4、Q2Q3两组互补PWM,决定开关时序。
- MOSFET漏源电压Vds:用于判断开关管是否实现ZVS。
- 谐振电流iLr:流过谐振电感的电流,正常时接近正弦。
- 谐振电容电压vCr:反映谐振电容的电压应力,全桥拓扑中没有直流偏置。
- 变压器原边电压vp和输出电压Vout:用于确认变压器变比和整流滤波是否正常。
这些波形在Scope中同时观察,基本就能判断模型是否工作在正确状态。
3. 搭建环境与模型总体规划
3.1 软件环境说明
本文模型基于Matlab/Simulink,需要安装Simulink和Simscape Electrical工具箱。不同Matlab版本中模块位置可能略有差异,但大体路径相似。建议使用R2022b及以上版本,本文重点是通用建模思路,不绑定具体版本。
需要说明的是,Matlab中电力电子仿真主要有两条路线:一条是Simscape Electrical中的Specialized Power Systems(原SimPowerSystems),另一条是Simscape新框架下的元件模型。本文采用Specialized Power Systems,因为它的模块库对电源类仿真更直观,支持开关管、二极管、变压器等原理级模型,且必须放置powergui模块才能运行。
3.2 模型参数表
搭建之前先把参数定下来。以下是一组典型的全桥LLC开环仿真参数,输入电压400V,输出目标约12V,功率约480W。参数值兼顾了教学演示的清晰度和常用设计范围。
| 参数 | 符号 | 数值 | 说明 |
|---|---|---|---|
| 输入电压 | Vin | 400V | 模拟PFC母线电压 |
| 开关频率 | fsw | 100kHz | 工作频率 |
| 谐振电感 | Lr | 25uH | 包含漏感 |
| 谐振电容 | Cr | 100nF | 与Lr配合 |
| 励磁电感 | Lm | 200uH | 变压器磁化电感 |
| 变压器匝比 | Np:Ns | 16:1 | 原边16,副边1 |
| 输出电容 | Cout | 470uF | 滤波电容 |
| 负载电阻 | RL | 0.3Ω | 满载约12V/40A |
| 门极电压 | Vgate | 15V | 驱动幅值 |
| 死区时间 | Tdead | 约200ns | 两路驱动间隔 |
谐振频率可以由Lr、Cr直接算出,约100.66kHz,开关频率100kHz落在感性区,这是LLC最典型的工况。
3.3 模型结构规划
整个模型按信号流分成四个模块:驱动信号生成、主功率电路、变压器与整流滤波、测量显示。驱动信号生成负责产生两组带死区的PWM;主功率电路包括直流源、四个MOSFET、谐振电感和谐振电容;变压器与整流滤波负责电压变换和输出;测量显示用多个Scope观察关键波形。
这种分层思路有助于排错,哪个模块波形不对,就单独检查哪一部分,不用在一个大模型里来回翻。模型文件可以命名为LLC_fullbridge_openloop.slx。
4. 基于Simulink搭建全桥LLC开环模型
4.1 驱动信号模块
驱动信号是模型能跑起来的前提。全桥LLC需要两组互补的PWM信号,Q1和Q4同时导通,Q2和Q3同时导通,两组之间必须留死区,否则直通短路。这里用两个Pulse Generator模块产生基础驱动信号,再加上死区延迟。
Pulse Generator可以从Simulink库中的Simulink > Sources找到。第一个Pulse Generator用于Q1和Q4,参数设置如下。
脉冲类型选择Time based,仿真时间和Pulse Generator的时基选择Use simulation time,这样信号源直接按时间轴产生波形。
- Period: 10e-6
- Pulse Width: 48
- Phase delay: 0
- Amplitude: 15
第二个Pulse Generator用于Q2和Q3,参数只需修改Phase delay为5e-6,其他相同。
这里的48表示占空比48%,周期10us,半个开关周期5us,因此高电平持续4.8us,留出0.2us死区。Q2Q3的相位延迟5us,刚好错开半个周期,于是两组驱动是互补关系,且中间有200ns的间隙。这就模拟了最简单的带死区的全桥驱动逻辑。
实际硬件中,上管需要隔离或自举驱动,但仿真中Pulse Generator作为逻辑信号直接接MOSFET的g端即可,不需要搭建完整驱动电路。
4.2 主功率电路
主功率电路使用Simscape Electrical模块库。先放一个DC Voltage Source,电压设为400V。
四个MOSFET从Simscape > Electrical > Specialized Power Systems > Power Electronics中选取。MOSFET参数可以先保留默认,重点确认“Internal diode”选项存在,因为实际MOSFET内部有体二极管,死区期间谐振电流要靠体二极管续流,这是形成ZVS的重要条件。
连接顺序按全桥拓扑进行。以直流源正端为起点,Q1连接正端和桥臂中点A,Q3连接桥臂中点A和直流源负端;Q2连接正端和桥臂中点B,Q4连接桥臂中点B和直流源负端。也就是说,Q1与Q3组成一个桥臂,Q2与Q4组成另一个桥臂,两个桥臂中点的电压差就是全桥逆变输出。
桥臂中点A与B之间串入谐振支路:从A点出发,经过谐振电感Lr,再经过谐振电容Cr,到达变压器原边的上端。变压器原边下端连接桥臂中点B。励磁电感Lm跨接在变压器原边两端,这个接法很关键,因为LLC原理图中Lm与变压器原边并联。
谐振电感直接使用一个Series RLC Branch模块,设置R为0,L为25e-6,C不启用。谐振电容同理,使用另一个Series RLC Branch,R为0,L不启用,C为100e-9。励磁电感可以再放一个Series RLC Branch,R为0,L为200e-6,并联在变压器原边两端。
需要注意Series RLC Branch中不用的元件要设置成inf或0。实际操作中,把Series RLC Branch的Branch type设为L,它就只有电感参数有效。
4.3 变压器与整流滤波
变压器使用Ideal Transformer模块,路径在Simscape > Electrical > Specialized Power Systems > Fundamentals Blocks > Elements。参数中需要设置原边和副边绕组匝数比。本文模型设置为16:1,即原边绕组16,副边绕组1。
Ideal Transformer只有变比关系,不含漏感和磁化电感。前面已经在外部并联了Lm,所以这种简化方式既能保留主要特性,又不涉及复杂的变压器标幺参数计算,很适合教学演示。
变压器副边接四个二极管全桥整流。四个二极管从Power Electronics库中选取,连接成标准单相全桥整流电路。整流桥正输出端接输出电容正端和负载电阻上端,整流桥负输出端接输出电容负端和负载电阻下端。输出电容使用一个Parallel RLC Branch,Branch type设为C,电容值470uF。负载电阻使用另一个Parallel RLC Branch,Branch type设为R,电阻值0.3Ω。
如果整流后输出电压为负数,把变压器副边两个端子交换即可,这是同名端方向问题。
4.4 测量与示波器配置
为了观察关键波形,需要放置多个测量模块。Voltage Measurement和Current Measurement都位于Measurements库中。
需要测量的信号包括:
- 输入直流电压Vin,并联在直流源两端。
- Q1的漏源电压Vds_Q1,并联在Q1的D和S之间。
- 谐振电流iLr,串联在Lr支路中。
- 谐振电容电压vCr,并联在Cr两端。
- 变压器原边电压vp,并联在变压器原边绕组两端。
- 输出电压Vout,并联在负载两端。
- 副边整流二极管D1的电流,串联在对应二极管支路中。
每个测量模块的输出接到Scope。建议分成三个Scope:第一个Scope看驱动和Vds,第二个Scope看谐振电流、谐振电容电压、变压器原边电压,第三个Scope看输出电压和二极管电流。分开观察比全部塞进一个Scope更容易定位问题。
5. 模型参数设置与求解器配置
5.1 关键模块参数
模块放置完成后,需要逐项确认参数。下面把容易出错的几个模块列出来。
DC Voltage Source的Amplitude设为400V,它可以看作理想电压源,内阻为0。
MOSFET的参数可以保留默认,但需要确认开关管逻辑为高电平导通。Pulse Generator输出的15V信号接g端口,当驱动为15V时开关管导通,为0时关断。仿真中所有开关管共用一个地,但在实际硬件电路中,上管的栅极驱动必须隔离或自举。
Ideal Transformer的变比设置方法不同版本略有不同,一般直接在Winding ratio中输入primary/secondary。如果参数是Primary winding 16,Secondary winding 1,那就是16:1。副边绕组中心抽头在本模型中不涉及,副边使用两个端子即可。
5.2 求解器设置
Simulink中的求解器设置对电力电子仿真影响非常大。开关管动作时电路拓扑发生切换,如果求解器不合适,很容易出现不收敛或者波形毛刺。
打开模型配置参数,在Solver选项卡中,Solver选择Variable-step,Solver选择ode23tb。ode23tb适用于刚性电路问题,开关电源仿真中使用较多。相对容差设为1e-4,最大步长设为1e-7,这样在100kHz开关频率下,每个开关周期内约有100个采样点,波形足够平滑。
最大步长不能设置得太大。如果设为默认的auto,开关瞬间可能被跨过去,波形看起来就会有明显的高频振荡或者时间轴上的跳变。电源仿真中最大步长一般控制在开关周期的百分之一左右。
同时,模型中必须有powergui模块。powergui位于Simscape > Electrical > Specialized Power Systems中,直接拖入模型任意位置保持默认参数即可。如果遗漏powergui,模型运行时会出现明显的报错提示。
6. 开环仿真运行与关键波形分析
6.1 运行步骤
所有模块连接完成后,保存模型,在仿真选项卡中设置Stop Time为0.002s,即2ms。以100kHz开关频率计算,2ms内包含200个开关周期,输出电容充电和启动暂态已经可以稳定,足够观察完整波形。
点击Run按钮运行仿真。仿真过程可能需要几十秒到几分钟,具体取决于电脑性能和求解器设置。运行完成后,打开三个Scope查看波形。
如果仿真报错,首先检查powergui是否缺失,其次检查是否有模块未连接。模型中的每个测量模块必须连接有效信号,未连接的Scope输入会导致仿真报错。
6.2 波形一:驱动信号与MOSFET漏源电压
第一个Scope中,可以看到两路驱动波形。Q1Q4的驱动为高电平时,Q2Q3驱动为低电平,两组信号之间有明显的时间间隔,这就是死区。死区时间约0.2us,比开关周期10us小很多,从波形上能看到一组下降沿和另一组上升沿之间存在间隙。
判断ZVS的关键在于同时看Q1的Vds和Q1的驱动信号。Q1关断后,Vds会先从0上升,然后在死区时间内,谐振电流给Q1输出电容充电、给Q2输出电容放电,Vds达到母线电压附近。等到下一周期Q1的驱动信号变为高电平时,如果Vds已经降到接近0V,说明电流已经通过Q1的体二极管续流,此时开通就是ZVS。如果驱动变高时Vds仍然很高,就说明硬开通了,损耗会明显增大。
在本文参数下,开关频率100kHz与谐振频率接近,原边应工作于感性ZVS区。Scope中会看到Vds的下降沿出现在驱动上升沿之前,这是ZVS已经建立了。
6.3 波形二:谐振电流与谐振电容电压
第二个Scope中的谐振电流iLr是LLC辨识度最高的波形。在正常工作状态下,iLr呈良好正弦形状,正负对称。电流峰值大约