资讯动态

基于DSP的移相全桥开关电源设计:ZVS调试与参数计算

发布时间:2026/10/22 6:30:10 来源:尧图企业网站定制
最近做了一台基于DSP的移相全桥开关电源目标是恒压限流输出、50kHz开关频率、宽范围输入电压整体效率跑到90%以上。这类方案在通信电源、电池充电、电机驱动供电里非常常见但真正把它从方案落到能稳定运行的样机中间有不少细节是教科书上不会写的。这篇内容我按自己的设计过程整理出来从拓扑选型、参数计算、控制逻辑到调试踩坑尽量把每一步背后的理由讲清楚适合正在做移相全桥或者准备从模拟控制切到DSP方案的朋友参考。1. 为什么这套电源选了ZVS移相全桥加DSP的组合1.1 功率与效率目标决定了拓扑选型先看规格。这台电源的输入是直流250V到420V对应交流整流后的宽范围母线输出24V/20A额定功率480W。这个功率等级放在拓扑选择里反激基本排除正激勉强但占空比和管子应力都不划算半桥能做但开关损耗在50kHz下明显全桥硬开关在高压输入时开通损耗又很难压下去。移相全桥最大的价值在于利用漏感和谐振电感实现原边开关管的ZVS零电压开通把开关损耗砍掉一大截效率自然上来了。实际测试下来硬开关全桥在250V输入满载时四个管子温升普遍比移相全桥高15到20摄氏度这个差距在密闭机箱里就是能不能长期稳定工作的分界线。1.2 ZVS移相全桥的工作本质移相全桥和普通全桥的区别在于四个开关管不是两两对角同时导通而是同一桥臂的两个管子各自保持50%占空比互补导通通过左右两个桥臂之间的相位差来调节能量传递。这个相位差就是“移相角”角度越大副边有效占空比越大输出能量越多。超前桥臂的ZVS靠输出滤波电感的反射电流实现比较容易滞后桥臂的ZVS靠原边串联的谐振电感储能实现这才是设计的重点和难点。谐振电感太小滞后桥臂在轻载时无法完成谐振换流管子就会硬开通谐振电感太大副边占空比丢失严重输出带载能力变差。这个矛盾贯穿整个设计过程后面我会详细算。1.3 DSP替代模拟控制芯片的真实原因模拟移相控制芯片也能做比如市面上经典的UC3875系列外围电路成熟很多老工程师习惯用它。但我选择DSP方案核心是三个原因第一恒压限流的切换逻辑在模拟电路里要做滞环、要处理积分饱和电路复杂度和成本都不低放到DSP里就是几行状态判断。第二环路参数可以软件调节调试效率高不用反复换电阻电容。第三后续要扩展通信协议、故障记录、参数批量配置DSP天然有优势。控制芯片我用的是一款常见C2000系列MCU主频150MHz内置ePWM、ADC、比较器。这套组合做开关电源控制很成熟资料也多遇到问题容易找到参考。下面是三类方案的核心对比对比项模拟UC3875方案DSP数字方案我的结论恒压限流切换需要额外比较器和模拟开关软件状态切换灵活DSP胜环路整定换阻容反复焊接改软件参数秒级完成DSP胜故障记录基本没有可记录波形和事件DSP胜开发门槛低模拟电路功底需要懂外设和中断各有取舍2. 主电路参数计算宽范围输入下变压器与谐振参数的配平2.1 总体架构和关键参数系统架构很简单输入母线经过全桥逆变变压器隔离降压副边全波整流后LC滤波输出。原边回路里串了谐振电感和隔直电容防止变压器偏磁。具体参数如下表参数数值输入电压DC 250V-420V输出电压DC 24V输出电流20A额定限流点可调开关频率50kHz变压器原边匝数40T变压器副边匝数5T中心抽头结构谐振电感30uH隔直电容4.7uF/450V输出滤波电感15uH输出滤波电容2200uF多个并联2.2 变压器匝比计算的思路匝比不是简单按“输入除以输出”来算的移相全桥有个你需要提前还掉的债——占空比丢失。原边电流从正换向到负需要时间这段时间内虽然原边有电压但副边整流管都处于续流状态能量没有传递到负载等效副边占空比小于原边占空比。所以计算匝比时必须留出占空比裕量。具体步骤副边整流后需要的最低电压是输出电压加上整流管压降24V加0.7V约24.7V。移相全桥副边占空比最高能做到0.85但我不建议按极限设计按0.8算留出动态响应余量。最低输入电压250V下副边需要的电压峰值为24.7除以0.8约31V。变压器匝比250除以31约8所以原边40匝、副边5匝。取整后再校验最低输入下实际占空比24.7除以31.25约0.79符合预期。2.3 磁芯和匝数的验算磁芯选择的依据是功率容量。480W在50kHz下EE55规格的磁芯完全够用有效截面积约354平方毫米。用法拉第定律反推匝数Bmax按0.15T设计因为宽输入范围下最高电压420V对应的磁摆幅也要留裕量Np Vin_min × D / (2 × f × Bmax × Ae)代入250×0.79除以2×50000×0.15×0.000354算出约37匝取整40匝。反过来验证最高输入420V时的Bmax约为0.12T安全。这里有个经验值Bmax不要顶到0.16T以上。变压器的温升和铜损、铁损是耦合的Bmax太高铁损急剧上升案例里曾因Bmax取0.18T导致满载半小时磁芯温度超过110摄氏度。2.4 谐振电感的取值逻辑谐振电感的核心作用是给滞后桥臂的ZVS提供能量。粗略的计算公式Lr Coss × Vin² / I²Coss是MOSFET输出电容两只并联等效约600pFVin取最高输入420VI取临界ZVS电流。如果希望在满载20%以上都实现ZVS满载原边峰值电流约3A20%负载对应电流约0.6A。代入后Lr约等于0.106焦耳除以0.36约0.294mH也就是294uH。但这个值在满载时会导致副边占空比丢失太严重满载效率掉得厉害。实际工程中必须在“轻载ZVS范围”和“满载占空比丢失”之间妥协。我最终取30uH实测满载原边占空比丢失约6%满载效率仍有91%左右而ZVS有效范围大约在40%负载以上。这个取舍我能接受因为恒压限流电源大部分时间工作在较高负载轻载下效率差一些换来的是满载性能的稳定。注意谐振电感的取值不能孤立算。你先定死占空比丢失上限再反推允许的最大电感值然后在这个上限内尽量取大才能兼顾ZVS范围和带载能力。设计时用铁硅铝磁环绕制30uH在满载3A电流下不会饱和温升实测45摄氏度正常。2.5 隔直电容和输出滤波隔直电容的作用是防止变压器因两半周伏秒不平衡而产生单向偏磁。电容取值要让其上的电压纹波尽量小经验是纹波电压控制在母线电压的2%以内。按满载原边平均电流2A、导通时间约12us计算C Idt/dV约等于2×12us除以8V约3uF取4.7uF容抗在50kHz下约0.68欧姆远小于折算到原边的负载阻抗对功率传输影响可忽略。输出滤波电感按副边两倍开关频率100kHz纹波来算电流纹波目标4A峰峰值电感15uH。输出电容按电压纹波50mV目标选纹波电流4A在电容ESR上产生的压降主导ESR要小于12.5毫欧所以用多个1000uF电解并联配合聚合物电容实测纹波约40mV。3. 恒压限流双环策略DSP里移相控制与环路补偿的落地细节3.1 恒压限流的本质是一套优先级切换恒压限流听起来像两个环同时工作实际不是。输出电压没到设定值时电压环输出一个较大的移相角指令电源以最大能力往负载供电输出电流一旦到限流点电流环接管并强制减小移相角把电流钳住。这两个环的输出经过一个取小值逻辑任何时候只有一方在起作用。这样设计的优势是切换平滑、不会出现两个环互相打架抢输出。代码里就是一句min(a,b)的事但环路参数和抗饱和处理决定切换瞬间的过冲大小后面调试部分会细讲。3.2 PWM移相的具体实现方式DSP产生移相控制关键在ePWM模块的相位同步。我用的方案是PWM1作为主桥臂PWM2作为从桥臂PWM2的时基相位寄存器受PWM1的同步信号触发加载。以150MHz系统时钟、增减计数模式为例要得到50kHz对称三角载波时基周期寄存器取1500。PWM1A和PWM1B在增减计数模式下各占50%占空比互补输出控制超前桥臂PWM2A和PWM2B同样各占50%互补控制滞后桥臂区别是PWM2整体相对PWM1有一个相位偏移。移相范围0到1500计数对应0到180度也就是满载时滞后桥臂延迟接近半周期轻载时延迟很小。核心配置逻辑如下// 150MHz SYSCLK50kHz对称载波 EPwm1Regs.TBPRD 1500; // 周期寄存器 EPwm1Regs.TBCTL.bit.PRDLD TB_IMMEDIATE; EPwm1Regs.TBCTL.bit.CTRMODE TB_UPDOWN; // 增减计数对称PWM EPwm1Regs.TBCTL.bit.SYNCOSEL TB_CTR_ZERO; // 时基归零时发同步信号 // PWM2从模式由PWM1同步 EPwm2Regs.TBCTL.bit.SYNCOSEL TB_SYNC_IN; EPwm2Regs.TBCTL.bit.PHSEN TB_ENABLE; EPwm2Regs.TBPHS.half.TBPHS phaseShift; // 移相角由环路计算所得实际调试中发现相位寄存器更新时机很关键。必须等当前PWM周期结束再加载新值否则会出现半个周期内移相角突变原边电流毛刺明显。我用的是TBCTL里的立即加载模式配合中断里的影子寄存器机制确保每个开关周期开始时刻相位一次性更新。3.3 电压环的PI参数整定思路数字控制下环路采样频率我设在20kHz也就是每两个开关周期控制一次。功率级的输出滤波极点由输出电容和负载电阻决定满载1.2欧姆负载下极点频率约60Hz很低的单极点。设计目标是电压环穿越频率5kHz相位裕度45度以上。功率级在5kHz处增益已经衰减一个零点加在60Hz附近的PI补偿可以让穿越频率处保持足够的相位裕度。按这个思路整定后的初始参数比例系数Kp取0.8积分系数Ki取0.05积分限幅在百分之二十移相角以内防止启动瞬间积分饱和导致超调。实际在负载突变测试中又做了微调。20%到100%负载阶跃电压跌落约300mV恢复时间约2ms这个表现对恒压限流应用足够。3.4 限流环的实现细节限流环用输出电流采样经过电流检测放大器调理进ADC。硬件上我用采样电阻加专用电流放大器共模抑制比高电流信号精度比单纯运放好。电流环的控制带宽不需要像电压环那样高因为限流主要发生在过载或充电场景对动态速度要求不高太激进反而会在切换瞬间引起电流尖峰。限流环的PI参数比较保守Kp取0.15Ki取0.005限幅同样要处理。切换逻辑简单说就是电流超过设定值时电流环输出作为移相角给定未超过时电压环输出作为给定。两者通过最小值选择完成交接。这里有一个关键细节电压环和电流环的积分器都必须做抗饱和否则切换时积分器里积了一堆“湿水泥”恢复速度慢半拍输出过冲就出来了。4. 50kHz下高频变压器的绕制与验证4.1 磁芯选型和气隙设计磁芯用PC40材质EE55。PC40的初始磁导率约2300适合50kHz功率传输饱和磁通密度在100摄氏度下约390mT我设计Bmax控制在150mT只有饱和极限的三分之一到四成留足了安全裕量也控制了铁损。开关电源变压器要不要开气隙取决于工作模式。我的变压器工作在连续电流模式磁芯本身不需要储能理论上可以不开气隙但实际绕制中因为原副边绕组的磁动势无法完全抵消总会有微量直流偏磁存在所以开一个很小的气隙更稳妥。我开了0.1mm让磁导率降一点也降低了对偏磁的敏感度。4.2 绕组结构和漏感控制的博弈原边40匝副边中心抽头两段各5匝。这里最大的问题是漏感。漏感越大能量在开关瞬间不能被有效传递不但产生电压尖峰还会加剧占空比丢失。我用“三明治绕法”把原边分成两段副边夹在中间这样原边和副边的耦合最紧漏感最低。实测漏感折算到原边约3.8uH相比30uH的谐振电感占比可控。如果采用简单的先绕原边再绕副边的顺序绕法漏感轻松超过8uH占空比丢失直接翻倍满载输出根本达不到24V。铜损方面50kHz下铜线的趋肤深度约0.33mm直径大于0.5mm的圆铜线就会有明显的趋肤效应损耗。原边我用0.3mm的铜线多股并绕副边电流20A则直接用0.1mm*30mm的铜箔既解决损耗又方便散热。4.3 变压器温升实测绕制完成后装上样机测试满载持续运行两小时用热成像仪看磁芯中心温度92摄氏度绕组热点约105摄氏度环境30摄氏度。这个温度对一个自然冷却的开放式电源来说偏高但电机外壳散热后能控制在安全工作区以内。如果你在类似项目里碰到变压器过热优先排查三个方向Bmax是否太高、绕组是否用粗线但忽略了趋肤效应、气隙是否过大导致漏磁发热。这三个原因占了变压器异常发热案例的八成。4.4 谐振电感的绕制和感量验证谐振电感用铁硅铝磁环规格选外径33mm的环绕25匝实测电感30uH。铁硅铝粉芯有个好处是软饱和特性过流时电感量渐变下降而不是突变不会像铁氧体那样直接失效导致电流失控。绕好后记得在满电流下验证电感量衰减情况用功率电桥测或直接波形法看。这个电感工作在断续储能状态磁芯温度对感量也有影响铁硅铝的温升特性是感量随温度缓慢下降实测100摄氏度感量降约12%要把这个因素留进ZVS边界设计的余量里。5. 调试实录管子过热、轻载啸叫与切换过冲的处理过程5.1 滞后桥臂温度异常ZVS失效的完整排查第一版样机上电后满载运行十分钟滞后桥臂两个MOSFET的散热器烫得不能碰超前桥臂温升反而正常。示波器看滞后管Vds波形发现问题很明显开通瞬间Vds还没降到零属于典型的硬开通。排查过程我分了三步第一步查谐振电感量。怀疑感量偏小导致储能不足测量是29.8uH符合设计排除。第二步查死区时间。滞后桥臂ZVS需要死区内完成谐振换流死区太短管子还没等到Vds谐振到零就硬开通了。当前死区设置是150ns按电感30uH、电流3A、电容600pF算谐振周期的一半约3.7us150ns确实太短。把死区调到500nsVds波形有明显改善但满载重载下温升还是高。第三步发现问题在布局。滞后桥臂的驱动回路走线太长驱动电阻和MOSFET栅极之间串联寄生电感过大栅极电压波形有台阶和振铃管子没有完全进入导通就进入了大电流阶段。重新调整驱动走线、缩短回路面、把驱动电阻从10欧降到4.7欧栅极波形干净了滞后桥臂温升终于正常。这个案例说明ZVS不只是磁性器件的事布局对换流过程的影响同样致命。5.2 轻载时的吱吱声爆发式间歇振荡电源在带轻载时发出高频吱吱声声音频率在2kHz到5kHz之间跳动不是50kHz的开关噪声。用电流探头看原边电流发现电流波形呈“隔几个周期才工作一次”的状态占空比波形在启动和不启动之间反复跳变。这是典型的轻载间歇振荡本质是环路在极轻负载下进入了“打嗝”模式。输出电压略微跌落电压环立刻给一个较大的移相角指令但输出电容很快充满环路又迅速减小指令往复循环音频段正好落在人耳敏感区。解决方案有两层第一是给电压环的移相角设一个最小限制让最小功率输出能连续平衡轻载漏电流破坏打嗝的条件第二是把轻载下输出电压采样做数字滤波避免纹波噪声干扰环路判断。两层做完后吱吱声消除。5.3 恒压切限流瞬间的过冲电池充电场景下电源先恒流充电再转恒压切换瞬间输出电压冲高到26.5V超出设定值1V以上。这个过冲的来源是电压环和电流环的动态交接过程没有处理好。两个环都有积分器恒流阶段电压环误差很大积分器里面积累了大量“积压值”。电流环接管后电压积分器还在用这个巨大的错误值往输出方向顶等到负载变化才慢慢回退。解决方法是给两个环的积分器都加条件钳位当另一个环接管时立刻把当前环的积分输出清零或钳位到当前移相角实际值。改动后切换过冲被压到0.3V以内。5.4 原边电流尖峰的处理调试中期还碰到过一次副边整流二极管反向恢复引发的原边电流尖峰。移相全桥副边整流管在换流瞬间二极管反向恢复电流折算到原边会叠加一个尖锐电流脉冲严重时引起MOSFET电流应力超标。解决手段是副边整流管换用反向恢复时间更短的肖特基二极管同时在副边加一个RC吸收电路电容100pF、电阻10欧姆把尖峰从8A压到了4.5A。吸收电阻的损耗在1W左右对比电流尖峰带来的器件可靠性风险这个代价很值得。5.5 上电防浪涌的软启动逻辑还有一个必须提的是DSP的软启动。DSP上电瞬间GPIO默认高阻此时PWM输出如果没有使能MOSFET的驱动芯片上电时序不对可能导致四个管子全部导通母线直接短路。我把驱动芯片的使能脚接到DSP的一个GPIO上并配置了这个引脚在上电时为低电平输出确保DSP程序初始化完成前驱动器处于关断状态。PWM初始化完成后先输出零移相角让各管按50%占空比互补动作但不传递能量延时50ms后软启动斜坡慢慢增加移相角。这个顺序做好后上电再没出现过炸管。实际测试数据汇总如下表测试项目测试条件实测结果满载效率220V整流输入24V/20A91.2%输出电压纹波满载40mV恒压切限流过冲20A限流点切换0.3VZVS有效范围滞后桥臂满载的40%以上满载变压器温升2小时自然冷却105摄氏度6. 写在最后整套设计做下来我最深的体会是移相全桥这部分内容纸上算得再精细最后还是要回到一个电压波形和两个电流波形上去验证ZVS是否真的实现了。谐振电感、死区时间、PCB布局这三者是一体的任何一个环节有问题滞后桥臂都会用温度告诉你哪里不对问题只是你有没有足够的耐心顺着波形一路查下去。尺寸和成本允许的话建议把谐振电感改成可调感量的结构或者在调试阶段并一小段可切换的电感方便实测不同感量下ZVS范围和占空比丢失的真实数据。我这次就是靠这个办法快速找到了30uH这个平衡点。另外环路参数我建议留一组后台可切换的备参实际运行中一旦出现工况变化不用重新烧录程序直接远程切参数就能排查问题这在现场调试中能省下大量时间。如果后续要给这台电源加上数字通信或者自适应环路这套DSP方案已经预留了足够的算力余量直接在现有架构上扩展就行。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑