首页 / 资讯中心 / 文章详情

全桥LLC谐振变换器PFM+PSM混合控制Simulink建模与仿真解析

全桥LLC谐振变换器PFM+PSM混合控制Simulink建模与仿真解析 ★ FEATURED ARTICLE
这次要拆解的项目是一套全桥LLC谐振变换器的Simulink模型控制方式是PFM脉冲频率调制PSM移相调制的混合控制。做电源的工程师对LLC这名字一点都不陌生中大功率DC-DC里它的出场率非常高但真到自己去搭模型、调闭环的时候很多人会卡在同一个问题上频率范围压不住、轻载效率难看、输出纹波和开关应力来回打架。这套模型解决的就是这档子事。它把一个全桥LLC的主电路、谐振腔参数、驱动逻辑和混合控制器全部在Simulink里跑通既能看满载PFM状态的软开关波形也能看轻载下PSM介入后频率被“兜住”的效果。这篇内容适合准备拿LLC做课题的学生也适合刚接触谐振变换器的电源工程师。需要的基础是了解基本的Buck/Boost电路原理和Simulink操作再往上就需要一点点LLC增益曲线的直觉我会尽量用大白话把来龙去脉讲清楚。1. 为什么全桥LLC需要“PFMPSM”混合控制1.1 纯PFM的短板频率范围压不住LLC谐振变换器的传统控制方式就是PFM通过改变开关频率让谐振腔的阻抗重新分配从而调节增益。满载时通常让工作频率贴着谐振频率附近走波形正弦、软开关条件好效率也漂亮。但问题出在负载变轻的时候为了维持输出电压不变增益必须降下来于是控制器把频率往高推。轻载10%时开关频率可能从100kHz一路冲到180kHz甚至更高随之而来的是一连串问题。频率高了以后第一个明显变化是驱动损耗和开关损耗上升虽然LLC在轻载下电流很小但门极驱动电荷、死区时间占比、磁芯高频损耗这些都不会跟着电流一起变小。第二个变化是磁性元件的交流电阻在高频下涨得快变压器和电感绕组的趋肤效应会让铜损明显增加。第三个变化更隐蔽同步整流管的死区控制、DSP里PWM模块的分辨率、驱动芯片的传输延迟在高频下都会变得更难处理。换句话说纯PFM的思路简单但它是靠着“让频率漂得很远”来换控制能力这在宽负载范围场景下非常不划算。1.2 PSM插进来以后控制任务被拆成了两半PSM移相控制不改变开关周期只改变全桥两个桥臂之间的相位差。A桥臂和B桥臂各自输出占空比50%的方波但B桥臂相对A桥臂滞后一个角度两个桥臂中点电压叠加以后有效脉宽就被削窄了。等效到谐振腔输入端传递给负载的能量减少输出自然降下来。关键点在于这个过程不推高频率磁性元件始终工作在接近设计点的状态。把PFM和PSM放在一起看相当于把“维持输出电压”这件事拆成两段重载时主要靠频率来调轻载时主要靠移相角来调频率被限制在一个窄带内。用个不太严谨的类比纯PFM就像开车时全靠发动机转速来控制车速重载爬坡转速高一点没问题但轻载巡航还让发动机一直拉到四五千转就很浪费PSM则是把变速箱挂到合适挡位后靠油门深度微调两者配合才不让发动机一直嘶吼。混合控制的价值就在这个“各管一段”的思路上。1.3 混合策略怎么选不踩坑的对照“混合”听起来简单具体落地有好几种做法我见过的主要是三种各有取舍。策略形式控制器实现方式优点缺点分段式重载PFM、轻载PSM电压环PI输出一个控制量按阈值切换另一路保持默认控制变量独立每个环节好调试切换点容易扰动需要加滞回同步混合同一个PI输出同时折算成频率和移相角把控制量按系数分配到两个调制器控制连续无切换跳变两个变量同时作用于功率级耦合强增益标定麻烦双变量联合调制用二维查表按负载和输入电压给出最优f, φ组合效率上限最高适合全范围优化工程量大开环标定工作多我在实际建模时优先推荐分段式加滞回。原因很实在Simulink阶段最重要的是可解释性和可观测性。分段式让每个环节都能单独验证先看PFM通不通再看PSM通不通最后才把切换逻辑加上去。如果一上来就做双变量联合调制出问题的时候根本分不清是频率通道的问题还是移相通道的问题。同步混合看着高级但控制量耦合会让PI参数调试变成一场噩梦我一般不推荐新手碰。2. 建模前的参数设计与边界划定2.1 用一个1kW/48V的工况把谐振参数算出来混控策略不是凭空定的建模前得先有具体的功率级参数。我习惯用一个典型工况做底输入电压400V输出48V/20A功率1kW谐振频率fr取100kHz。这个组合很常见也方便后面把参数换算关系讲明白。先估算变压器匝比aNp/Ns。LLC在谐振频率附近增益接近于1近似有Vo≈Vin/a所以a≈Vin/Vo≈8.3实际取8或8.5都行最后靠增益曲线微调。副边等效电阻Ro48²/1000≈2.3Ω。折算到原边的交流等效电阻Rac用全桥整流公式Rac(8/π²)×a²×Ro把a8代进去Rac≈119Ω。然后选两个关键系数KLm/Lr和Q。K决定励磁电感和谐振电感之比K越大励磁电流越小、空载损耗越低但频率调节范围变窄一般取4到8Q决定谐振腔的品质因数Q越大电流峰值越低、轻载损耗小但增益曲线峰值变矮一般取0.3到0.5。这个示例里K6、Q0.35按我常用的Q定义QZo/Rac其中Zo√(Lr/Cr)。于是有ZoQ×Rac≈41.7Ω再结合fr1/(2π√(LrCr))可以反解出LrZo/(2πfr)≈66μHCr1/(2πfrZo)≈38nFLmK×Lr≈398μH。这一组参数作为初值非常稳后面在Simulink里开环扫增益时再微调。注意这里算出来的Lr是“总谐振电感”包含变压器漏感。如果在Simulink的变压器模型里设置了漏感就不要在外面再串联一个完整的66μH电感否则谐振点会明显偏移。我的习惯是变压器里漏感设为0励磁电感设为Lm谐振电感Lr外置后面调参数更直观。2.2 频率范围与移相角度的边界怎么划参数算出来以后还要把控制边界定下来。纯PFM下满载频率大概在谐振点附近偏左一点约85kHz到110kHz之间10%轻载时频率会冲到180kHz以上。混合控制的目标就是把频率上限压到130kHz以内超过这个点就让PSM介入把频率回落到105kHz附近然后靠移相角从0°到150°来维持输出。这个边界不是拍脑袋定的需要开环扫一遍增益曲线。操作方法是先固定输入电压和负载手动给一个频率值量输出电压折算成归一化增益保持负载不变改频率从低到高扫一遍得到一条“频率-增益”曲线。然后再固定频率把移相角从0°扫到160°得到另一条“移相角-增益”曲线。把两根曲线放到同一张图上就能看到纯PFM在哪个频段增益斜率太陡、PSM在哪个角度范围线性度好切换线就画在这两个控制域的交汇处。移相角上限建议留余量到150°左右别推到接近180°。原因有两个一是角度太大时有效脉宽很窄输出能量靠死区边沿附近的窄脉冲支撑对死区时间特别敏感仿真里看不出问题但实物很容易炸管二是增益曲线在角度过大时变得非常陡PI控制器很难同时兼顾大角度和小角度的增益差异。真要拓宽轻载范围优先考虑加大Lm或者提高K值而不是把移相角往极限推。3. Simulink主电路与驱动逻辑搭建3.1 主电路拓扑和关键模块配置Simulink里的主电路搭建顺序从前往后直流源、全桥逆变、谐振腔、变压器、副边整流、滤波电容和负载。全桥部分我建议用Simscape Electrical里的MOSFET模块或者用理想开关加反并联二极管代替。建模初期用理想开关跑控制策略仿真速度快、不容易发散后期想看ZVS细节和损耗趋势时再换半导体模型。谐振腔放在原边Lr外置Cr放在Lr后面变压器用Linear Transformer双绕组。变压器原边参数设置重点就一个励磁电感设为Lm的折算值漏感设为0。副边整流桥用四个二极管输出侧LC滤波滤波电容按输出电压纹波要求来选仿真里取几百微法就能把纹波控制得很低。仿真步长这里必须提醒最大步长要设到1e-7s量级尤其看ZVS波形时。步长设大了死区状态直接被积分器跨过去波形看起来干干净净但实际换流过程全被吞掉结论就是假的。用powergui的Continuous或Discrete都行Discrete模式下固定步长2e-7s也够用。3.2 四路驱动信号是怎么生成出来的全桥的四路驱动信号是整个模型里最容易出错的地方。我推荐自己搭驱动逻辑而不是用封装好的PWM模块原因很简单自己搭的每一路脉冲都能追溯到比较器输入排查时一目了然。核心思路是用一个由外部频率控制的三角载波再做两组比较。第一组载波值与0.5比较输出A桥臂上管信号取反后加死区得到下管信号。第二组把载波值叠加上一个相位偏移量再和0.5比较得到B桥臂的上管信号同样取反加死区。这个相位偏移量就是PSM的控制输入范围0到0.5对应0°到180°因为B桥臂的开关事件被整体推迟了。死区用“On Delay”模块实现对上升沿延迟一个死区时间。逻辑上必须保证死区时间内互补的两个管子同时关断。我把这四路逻辑封装成一个叫GateDriver的子系统输入u_f和φ输出四路布尔信号模型看起来干净也可以直接复制到别的项目里复用。注意仿真里死区设成0看起来效率奇高、波形完美但实际功率管根本做不到零死区。死区时间要按器件手册给普通Si MOSFET给150ns到300ns碳化硅或者氮化镓可以缩到100ns以内。建模阶段就把死区变量设成可调的后面做灵敏度分析时省事得多。3.3 混合控制环与PI参数调试路径控制环路用输出电压做反馈采样到的Vo和48V参考值做差过PI得到控制量u_c再由分段调度模块把它映射到频率命令f_cmd和移相角命令φ_cmd。调度逻辑可以用几个饱和模块加比较器实现但我更推荐在Matlab Function里写几行代码就能说清楚function [f_cmd, phi_cmd] hybrid_scheduler(u_c, u_th, f_base, k_pfm, k_psm, phi_max) if u_c u_th f_cmd f_base - k_pfm * u_c; phi_cmd 0; else f_cmd f_base; phi_cmd min(phi_max, k_psm * (u_th - u_c)); end end极性要根据实际增益方向标定LLC的频率升高、增益下降所以误差为正时应该降低频率上面的k_pfm符号要按这个方向去定。带宽设计上电压环穿越频率放在谐振频率的1/10到1/20也就是5kHz到10kHz让控制带宽远低于开关频率避免PWM采样混叠。PI参数先给一个小比例系数积分时间按负载时间常数来设然后再微调。还有一个容易忽略的细节切换阈值u_th附近必须加滞回。不然负载轻微波动时控制器会在PFM和PSM之间来回切输出电压看起来就像在喘振。滞回宽度给5%左右的控制量范围就行这个值我在调试中反复确认过太小压不住抖动太大会让响应变迟钝。4. 仿真调试实录与波形验证4.1 满载PFM稳态先确认软开关是真的第一步先把模型切到纯PFM模式移相角固定0°负载电阻按满载2.3Ω设置给一个接近100kHz的初始频率闭合电压环看输出电压能不能稳在48V。稳态以后打开A桥臂上管的Vgs和Vds波形看两件事Vds在Vgs拉高之前是否已经降到零或者被体二极管钳位谐振电流Ir是不是接近正弦。如果Vgs上升时Vds还有很高的电压那说明ZVS没建立当前工作点进入容性区了需要往下降频率或者查死区参数。谐振电流是否正弦也很关键。LLC工作在感性区且接近谐振点时原边电流应该是比较光滑的正弦波形。如果电流畸变明显大概率是开关频率跑到了谐振点的另一侧或者变压器励磁电感设置不对。这时候先开环手动给频率从80kHz往上扫观察Ir从“畸变→光滑→再畸变”的过程就能找到正确的谐振区间。4.2 轻载切PSM看频率有没有被兜住满载跑通以后把负载降到10%约23Ω让混合调度逻辑接手。此时应该能看到两个现象f_cmd不再一路往上冲而是回落到105kHz附近φ_cmd慢慢增长接管输出调节。切换瞬间要盯住输出电压的动态响应。如果Vo下冲超过5%说明切换前后两个控制域的增益不连续PI输出的同一个控制量在两边的效果差了太多。解决办法是把PSM通道的系数k_psm标定到和PFM通道相近的增益值切换点两侧的控制分辨率尽量一致。这个标定工作不能省我做过的模型里大多数切换扰动都出在这里。4.3 效率与电流应力对比混合控制到底换来了什么仿真效率用输入输出功率比值来看输入侧测电压电流乘积的平均值输出侧同样处理。Simulink里半导体模型理想化程度高绝对效率数值没什么参考价值但趋势是可信的。对比纯PFM和混合控制两种模式下的数据能看到两个明确趋势轻载时开关频率降下来后磁芯损耗和驱动损耗明显减小移相角介入后原边电流峰值比纯PFM下同样输出时更低开关管的电流应力降下来。还有一个值得记录的视角以移相角为横轴记录原边电流峰值和输出电压的对应关系。当移相角超过某个值后电流峰值不再明显下降输出电压的增益斜率却开始变陡这个拐点就是移相角上限的实际边界。每调一批参数我都建议把这个数据导出来看一眼。5. 常见问题排查与实操心得5.1 先排查驱动逻辑再怀疑控制参数模型跑起来波形乱第一反应别急着调PI先断开闭环固定f_cmd和φ_cmd用手动触发的方式看四路门极信号。我遇到过的“波形像毛刺堆”的案例多半是死区逻辑写反了上下管在死区结束后同时导通了一小段原边相当于直接短路。判定方法很简单把死区时间临时设为0如果波形立刻变整齐说明死区逻辑有问题如果还是乱再去查控制环。移相调制后电压反而上升这个坑也很经典。原因大多是B桥臂比A桥臂提前导通相位差成了负值等效脉宽反而变宽。检查方式是看逻辑分析仪里B桥臂上管是否晚于A桥臂上管导通如果反了就调φ_offset的符号。5.2 常见故障速查表症状可能原因排查手段频率一直往上飘输出电压稳不住PI极性反了频率增大导致增益下降的方向和误差方向不匹配开环扫频率确认“频率-增益”曲线斜率再对PI输出取反谐振电流明显畸变不是正弦工作点进入容性区或死区过大降频率减小死区观察Ir波形恢复情况移相加入后输出电压反而升高相位方向反了B桥臂超前于A桥臂检查四路驱动时序调整移相角符号切换点处Vo跳变明显两个控制域增益不连续或没有滞回标定k_pfm和k_psm使切换点增益接近加5%滞回满载效率低到离谱变压器漏感重复设置Lr和漏感叠加导致谐振点偏移核对变压器模型漏感是否为0Lr是否外置5.3 混合切换点标定的一个高级技巧切换点选在哪里直接影响整套控制的连贯性。我的做法是先开环扫描得到“输出电压随频率变化”的曲线和“输出电压随移相角变化”的曲线然后把切换点选在这两条曲线斜率绝对值相近的位置。这样切换前后PI输出对功率级的控制力度基本一致闭环不会因为切换而产生增益突变。扫描出来的数据建议导成表格文本画一张以控制量为横轴、输出电压为纵轴的散点图观察整个轨迹是否连续。如果轨迹在某处出现明显折点那个位置往往就是参数没匹配好的地方。这个习惯帮我排掉过很多“看着能跑一细化就出问题”的模型。6. 从仿真到样机的两道坎和一点个人体会6.1 死区和驱动延迟必须当成参数设计仿真模型里的死区是理想的固定延迟但实物驱动芯片的传输延迟、隔离电源的上升下降时间都会让实际移相角和仿真值差出几十到几百纳秒。这个偏差在100kHz下就是几度到十几度的差异足以让轻载PSM段的输出电压偏出允许范围。建模阶段就把死区时间和驱动延迟设成模型顶层变量后面做实物对照时能直接改不用重构模型。6.2 数字控制落地前先把PI离散化模型里用连续PI很方便但要往数字控制器迁移就得多做一步把求解器切到离散模式PI换成离散形式采样频率设置成和实际DSP一致比如20kHz到50kHz。这一步做完模型里的控制行为和真实控制器就很接近了后面生成代码或者手工移植风险都会小很多。整套模型搭下来我自己最深的体会是混合控制的价值不是让两个调制器轮流值班而是让每个调制器都在自己最舒服的区间里干活。PFM在重载区负责精细调压PSM在轻载区把频率兜住最后得到的不仅是效率改善还有频率范围收窄、磁性元件设计余量变大这一连串连锁好处。最后再分享一个小技巧每次改完参数把(f, φ, Vo)三列数据存下来画成轨迹轨迹里每出现一个折点通常就是一个参数没匹配好的信号。模型的价值不只是输出一条漂亮的48V而是帮你在上样机之前把控制策略的边界和每一个参数之间的牵连关系真正想清楚。
阅读完成 · 觉得有帮助?
咨询建站