5V2A反激式开关电源仿真全流程:变压器计算、环路补偿到实板验证
我手里正好有一个需要做小功率电源的活儿要求很简单输入市电输出5V/2A给一片单片机系统供电。这种需求在工控板、家电控制板、传感器模块上遍地都是。经验上10W级别选反激拓扑最省事所以我把方案定在反激开关电源上。但直接画板开做风险太大尤其变压器参数、环路补偿这些环节纸上算一遍心里没底。于是我先把整个方案在仿真软件里完整跑了一遍从变压器计算到环路调试全程记录下来。这篇就是这次“5V2A反激式开关电源仿真之旅”的过程复盘希望对正在做类似电源的同学有帮助。做仿真的目的不是说仿真通了板子就一定没问题而是能在投板之前把原理性错误、参数不合理的地方暴露出来。这次我给自己定了几个必须回答的问题变压器原边电感量和匝比取多少合理开关管的电压应力会不会超标光耦反馈加补偿之后环路稳不稳定满载和负载动态跳变下输出纹波能不能压住下面按实际推进顺序写。1. 为什么选反激拓扑以及这次仿真的目标1.1 5V2A这个需求拓扑选择题5V2A就是10W输出市电输入的小功率电源。可选择拓扑里有线性电源、反激、正激、LLC等。线性电源损耗太大10W输出要散热器而且效率可能连50%都不到。正激变压器需要复位绕组磁芯利用率高但要加电感辅助电路多。LLC在这个功率段简直是杀鸡用牛刀而且轻载特性难做好环路设计复杂。反激拓扑的好处是“一个变压器把储能、隔离、变压三件事全干了”元件少、成本低10W级别非常成熟。当然反激也有短板变压器是断续或临界工作模式原边电流峰峰值大开关应力高输出纹波比正激大EMI处理要上心。但对付5V2A这个规格短板全可控。业内绝大多数10W以内适配器、充电器、辅助电源都是反激说明这条路走起来踏实。1.2 仿真要回答的具体问题纸上计算只能给一个工作点但实际电源要在宽电压输入、负载变化、温度漂移的情况下工作。仿真没法覆盖温度但至少把以下问题定量化最低输入电压、满载时占空比是否在合理区间一般不超过0.5开关管漏极电压尖峰有多高要不要加大RCD吸收变压器设计在DCM还是CCM电流波形对不对输出电容选多大能压住纹波环路从开环到闭环相位裕量够不够负载阶跃有没有振铃。所以这次仿真有一条清晰的路线先算变压器参数在仿真软件里把主电路搭起来开环看波形再闭环调环路最后做动态和纹波验证。2. 变压器设计计算先把纸上功夫做扎实2.1 从输出功率倒推输入侧参数设计输入规格我按宽电压写交流输入90~265V频率50/60Hz输出5V/2A开关频率定在65kHz。定65kHz而不是100kHz是平衡变压器体积和开关损耗同时EMI调试相对友好。整流后直流母线最低电压约为90V×1.2≈108V但考虑电解电容纹波和二极管压降工程上按最低母线电压105~110V算比较稳。我直接取Vinmin110VVinmax375V265V×1.414。输出功率10W预估效率85%那么输入功率约11.8W。二极管整流压降取0.5V输出绕组等效电压Vout5.5V。反激的电压关系在CCM下是Vout Vin × D / (Np/Ns × (1-D))反过来如果最低电压下占空比Dmax取0.45匝比Np/Ns Vinmin × Dmax / (Vout × (1-Dmax)) 110×0.45 / (5.5×0.55) ≈ 16.36。取整16那么反射电压Vor 16×5.588V。这个反射电压很关键它直接决定MOS管关断时的电压应力。2.2 电感量、匝数与磁芯选择反激变压器原边电感量的选取由模式决定。我按DCM断续模式来设计因为10W小功率做DCM可以让原边电感小一些开关管零电流开通体二极管反向恢复问题小。DCM下能量完全传输输入功率表达式是Pin 0.5 × Lp × Ipk² × fIpk Vinmin × Dmax / (Lp × f)两式合并得到Lp Vinmin² × Dmax² / (2 × Pin × f)代入110V、Dmax0.45、Pin11.8W、f65kLp ≈ 1.6mH。峰值电流Ipk 110×0.45 / (1.6m×65k) ≈ 0.476A。磁芯我选EE20规格有效截面积Ae约33mm²最大磁通摆幅取0.25T。原边匝数Np Lp×Ipk / (Bmax×Ae) 1.6m×0.476 / (0.25×33e-6) ≈ 92匝取整100匝同时方便调整。副边匝数NsNp/16≈6.25匝取6匝实际匝比100/6≈16.7反射电压约91V。辅助绕组按输出电压15V来算取(150.7)/(50.5)×6≈17匝。这里有一个细节气隙是反激变压器必须处理的。原边电感1.6mH配100匝磁芯需要磨气隙才能实现。不同磁芯材质和形状气隙长度计算有经验公式仿真阶段不需要具体气隙值但要知道等效模型里得把励磁电感和漏感分开建模否则后面尖峰仿真全是假的。2.3 RCD吸收与反射电压的权衡反激漏感在关断瞬间会产生尖峰需要RCD钳位电路吸收。反射电压Vor91V漏感尖峰通常再浪一点MOS管最低耐压需要满足Vinmax Vor 尖峰 降额后的Vds额定。如果在高压265V输入时375V91V100V≈566V所以MOS管至少选650V档。RCD的钳位电压取1.2~1.5倍反射电压我取120V左右。吸收电阻Rclamp按照漏感能量消耗来选但仿真阶段先用一个RC组合比如10nF电容串联47k电阻之后根据波形微调。这个值不能取得太大否则钳位电压太高也不能太小否则RCD损耗太大了。3. 在仿真软件里搭建反激主电路3.1 功率回路建模MOS、变压器、整流、负载仿真第一步是把功率回路画清楚。我用的仿真环境支持变压器模型和自带MOSTET的简化模型。电路结构是输入直流源模拟整流后的母线电压、原边电感变压器原边、MOS管、RCD吸收网络、变压器副边、整流二极管、输出电容和负载电阻。这里我强烈建议先把输入用“可调直流源”代替整流桥不要一上来就加完整AC输入。加了AC整流后仿真步长被迫缩小收敛难度大而且母线电压纹波会和电源本身的纹波混在一起不利于定位问题。直流母线电压直接设为110V、220V、375V三个档位分别验证低压满载、标称电压、高压轻载。输出电容我选680μF/10V电解电容加1μF陶瓷电容并联。仿真中电解电容需要设置等效串联电阻ESR我设为30毫欧。如果不设ESR纹波算出来会偏小而且环路补偿也会不准确。3.2 控制与反馈环路建模要点反激最流行的控制方式是电流模式PWM控制采原边电流做峰值控制外面加光耦和TL431做输出反馈。仿真里PWM控制器我用一个简单的Verilog-A或宏模型代替核心功能固定65kHz时钟、误差放大器输出阈值、峰值电流比较、RS触发器和驱动输出。光耦用电流传输比CTR模型反馈信号经过光耦后变成集电极电流再灌到补偿网络。很多初学仿真的人直接用一个压控电压源代替整个反馈路径这样虽然能跑但光耦的电流传输特性、延时和高频响应都丢了环路相位裕量可能算不准。我建议至少用“电流控制电流源”模拟光耦并给一个合适的传输延迟。TL431就是一个可调稳压源加误差放大器可以用运放搭等效电路。但更省事的是输出电压经过电阻分压后与2.5V基准比较误差信号转换成电流。这部分模型精度要求不高关键是相位补偿网络要按真实电路给值。3.3 变压器模型怎么设置才算靠谱变压器是反激仿真中最容易做假的地方。如果直接在仿真库里拖一个理想变压器把励磁电感放在外部漏感设为0那原边开关管关断尖峰会非常低和实际电路完全对不上。变压器模型至少要包含三件事原边励磁电感Lp我们设计的1.6mH原副边漏感Llk取励磁电感的2%~5%我设了60μH匝比Np:Ns16.7:1。Llk如果设为0奇迹RCD吸收一点作用都没有MOS管应力会被严重低估。漏感的能量等于0.5×Llk×Ipk²开关频率下这部分能量如果不消耗掉就会在Vds上形成高压尖峰。仿真里宁可把漏感设得偏大一点比如5%这样RCD参数验证会更保守实板出来的尖峰不至于吓一跳。同时变压器耦合系数设为1还是0.995很多仿真库的耦合系数K直接对应漏感。如果设置耦合系数K0.99那么漏感大约是原边电感的1%也就是16μH。我建议单独给一个漏感元件串联在变压器原边上而不是全靠耦合系数隐式表示这样后面看漏感尖峰波形更直观。4. 从开环跑到闭环调环路是重头戏4.1 先开环验证功率级加反馈之前我一定先开环跑。怎么开环把PWM控制器的反馈输入断开固定一个占空比比如45%在110V母线下看输出能不能稳定在5V附近。如果开环输出偏离太多说明变压器匝比、电感量和工作模式不对这时候调补偿是浪费时间的。开环仿真里还能直观看到原边电流波形。DCM下原边电流应该从0慢慢爬升到峰值然后开关关断副边电流开始下降之后有一段完全断续的死区。如果原边电流还没归零就开通说明进入了CCM或者临界状态。我这次设计的目标是满载临界或轻微微进入DCM所以大部分工作点电流是三角波这是正常的。开环跑还有一个价值是摸RCD吸收的参数。我先把吸收电阻设一个比较大值看Vds尖峰到多少再调小吸收电阻看尖峰被压掉多少、吸收回路功耗增加多少。这个过程能让“RCD吸收”不再是黑盒。4.2 加上PWM控制和光耦反馈开环没问题后把控制闭环接上。我用的电流模式控制在峰值电流比较器前端加一个斜坡补偿斜坡斜率大约等于原边电流下降斜率的一半防止占空比大于50%时出现次谐波振荡。反激电流模式控制在DCM下固有的稳定性比CCM好但斜坡补偿还是建议加上。反馈路径里面有三个关键点TL431的工作死区、光耦传输比、PWM控制器COMP脚的电流电平。TL431的供电电流和最小阴极电流必须满足否则输出低压时它直接失控。仿真中我在TL431阴极到光耦二极管之间加了一个上拉电阻典型值1k。闭环跑起来之后第一件事是看稳态输出有没有低频振荡。反激的环路增益较高补偿不当容易在几kHz处出现增益交点偏低或相位裕量不足。我最初用了一个简单的PI补偿结果满载阶跃时输出振铃后来改成Type II补偿加了一个零点和一个极点相位裕量才提上来。4.3 补偿网络的几轮试探Type II补偿的参数我是这样定的先把穿越频率定在开关频率的1/10到1/5也就是6~13kHz。然后根据输出LC极点位置放一个零点去抵消再把ESR零点或高频极点放在高于穿越频率的地方用于滤除开关纹波。第一次参数反馈电阻上并22nF电容串联4.7k电阻再接光耦仿真结果是负载阶跃恢复时间约1.2ms有一点过冲但可以接受。第二次我把电容改成47nF穿越频率降下来了相位裕量增大但是动态响应变慢了。第三次折中用33nF串联2.2k电阻同时加一个100pF的高频电容最终得到大约45度的相位裕量负载阶跃过冲约200mV恢复时间约500μs。这个状态对于给单片机供电已经可用。有时候仿真环路怎么都振别急着调参数先看是不是变压器漏感模型太大、光耦模型太慢或者输出电容ESR太小导致相位裕量计算异常。这些因素都会让稳定性判断失准。5. 仿真结果怎么看不能只看输出电压5.1 关键波形和数值表仿真收敛后我按条件做了一组测试统计了关键数据测试条件占空比原边峰值电流Vds峰值输出纹波(pk-pk)效率估算110V满载0.420.48A385V38mV86.5%220V满载0.290.36A475V34mV84.9%375V满载0.180.30A540V30mV82.7%110V轻载0.080.12A320V28mV78.2%这些数字本身看着还行但要注意几个点Vds峰值在高压满载时已经接近540V而我选的650V MOS还有约17%降额余量这个余量要靠RCD吸收进一步压尖峰才能保持住。如果仿真中吸收电容取得太激进Vds峰值会降低但RCD电阻损耗会明显上升效率也掉下来。原边峰值电流在最恶劣110V满载时约0.48A。这个值用来辅助选型电流采样电阻板子上采样电阻取1Ω那么CS引脚峰值电压约0.48V在0.8V的典型限流阈值附近留了余量。仿真中可以直接看CS脚电压不要只看原边电感电流。5.2 负载动态响应动态响应我用一个受控开关在满载和半载之间切换负载从2A阶跃到1A再跳回去观察输出电压。仿真结果2A切1A时过冲约180mV1A切2A时下冲约220mV恢复时间在500μs出头波形没有连续振铃说明补偿参数基本可用。这个结果对10W反激来说算中规中矩。如果你做的是对纹波敏感的设备比如ADC采样供电可能还要把穿越频率调低、加大输出电容甚至可以加一级LC后级滤波。但要注意LC滤波器会给环路增加一个极点必须配合补偿不然稳定性直接崩。5.3 热和效率估算仿真软件本身不直接算热但可以从平均损耗估算。原边MOS损耗、RCD吸收损耗、副边二极管损耗、变压器铜损/铁损都能通过平均功率探头测出。我这版参数在110V满载下RCD吸收功耗大约0.8W副边二极管功耗约0.5WMOS开关损耗加导通损耗约0.4W变压器损耗估0.3W总损耗约2W对应84%左右效率。这个值对小反激还算正常。要提高效率一个途径是降低RCD吸收损耗用更好的钳位方式另一个途径是减小变压器漏感但工艺上又要取舍。6. 这次仿真里踩过的几个坑6.1 漏感设置不当导致Vds尖峰失真我第一次搭模型时直接用了理想变压器加励磁电感漏感没加。当时仿真出来Vds峰值电容只有445V我觉得挺安全后来随手加了60μH漏感Vds尖峰直接干到580V。这说明如果不把漏感建模清楚RCD吸收的选型完全没有参考价值。正确的做法是先测试RCD参数在极端漏感下能否把Vds钳在目标范围再回头看板上实际漏感有没有这么大。漏感的大小和变压器工艺强相关。三明治绕法、初级夹次级的绕法可以把漏感控制到励磁电感的2%左右而简单顺序绕制可能到5%甚至更高。仿真我建议先按5%去设计给实板留一些余量。等变压器打样回来可以直接用电桥测漏感然后把仿真的漏感改回实测值再看一遍关键波形。6.2 光耦反馈模型太理想导致环路误判我最初图省事用了一个理想电压源代替光耦把误差电压直接送到PWM控制器。这样跑出来的负载阶跃响应非常漂亮我以为闭环已经调好了。后来换成了带电流传输比和延时特性光耦模型同一套补偿参数居然出现了低频振铃。这个现象让我意识到光耦的延时和高频响应在环路带宽附近是绝对不能忽略的因素。慢速光耦的电流传输比在几十kHz之后开始衰减对环路相位影响很大。建议仿真时至少给光耦加一个几百纳秒的传输延迟再在collector端并一个小电容模拟实际分布电容。这样调出来的补偿参数才更接近实板上的最终值。6.3 仿真步长和收敛设置反激电源仿真容易遇到“不收敛”和“波形毛刺”两个问题。开关管导通关断是非常快的瞬态默认最大步长可能漏掉电流尖峰细节。我把最大仿真步长设置为10ns在一个开关周期内能采到6500个点尖峰波形清晰多了但仿真时间成倍增加。还有一点初始电感电流和电容电压如果从零开始第一个周期会出现非常大的浪涌。最好把稳态初始值设成近似值比如电容初始电压设4.5V电感初始电流取0这样仿真能更快进入稳态。否则小步长加上大瞬态会让迭代算法发疯。7. 从仿真到实板之间还有这些事仿真把所有参数验证得差不多了但我在实际项目里还留了一些“仿真给不了”的功课PCB布局的寄生电感和耦合变压器绕组的实际分布电容EMI滤波器的参数还有芯片自身的驱动上升沿。这些东西需要在样机出来后用电桥、示波器去测。我个人习惯是仿真阶段只要把拓扑逻辑、变压器参数、环路稳定性这三个核心问题确认清楚就可以打样。后面板子上调试时再根据实际波形微调RCD、补偿电容和输出电容。仿真里的绝对数值不会和实板完全一致但趋势是可信的。比如RCD电容增大一档Vds尖峰下降多少补偿电阻增大一档恢复时间是变快还是变慢这些趋势才是仿真给的最大价值。最后分享一个小技巧把仿真的关键节点波形截图保存好调实板的时候拿出来对比。许多“实板奇怪故障”回头看其实就是仿真里已经出现过同样波形只是当时没在意。这次5V2A反激电源仿真之旅给我的最大感受就是——变压器参数算得再漂亮也要让仿真波形替你说实话。