☰
反激电源次谐波振荡解析:占空比0.5红线与斜坡补偿设计
2026/10/6 14:30:13 网站建设 项目流程

写这篇文章的起因,是上个月调一块10~30V宽压输入、12V/3A输出的隔离反激电源时,被一个很典型的现象折腾了两天:低压满载状态下,CS引脚波形出现一高一低交替的“大小波”,变压器发出嘶嘶声,输出纹波也明显变大。起初怀疑是环路不稳,补偿调了好几版都没用。最后把条件一算,才发现当时占空比已经跑到0.6以上,电流内环进入了次谐波振荡区。后来加上斜坡补偿,问题才彻底消停。

这块内容几乎每个做反激的工程师都会遇到,但很多资料要么只给结论不讲推导,要么一上来就是一堆数学公式,看完更晕。这篇文章我尽量用“原理推导+实测现象+参数计算”的方式,把占空比0.5这条线、次谐波振荡的发生机制、斜坡补偿的设计取值一次讲透。

1. 次谐波振荡到底是啥——先看现场波形

1.1 一个会“喘息”的电流波形

正常情况下,峰值电流控制的反激电源,原边MOS管电流波形应该是每个周期幅值一致、间距均匀的三角波或梯形波。而次谐波振荡发生时,示波器上会看到一组非常规律的“一高一矮”脉冲对,矮的那个幅值低、脉宽窄,高的那个幅值高、脉宽宽,两个一组循环往复。

这种振荡的频率是开关频率的一半。比如开关频率100kHz,那振荡频率就是50kHz,正好落在人耳听觉范围内,所以变压器会发出很明显的“吱吱”声。只靠听声音其实很容易误判为机械震动或环路啸叫,真正定位还是要看波形。

我测试时用的是100MHz带宽示波器,探头直接夹在采样电阻两端(或者CS引脚上),触发方式用边沿触发,时基放在2μs/div左右。如果看到两个脉冲一组、交替出现,基本可以锁定是次谐波振荡。抓好波形之后再用FFT算一下频谱,会在50kHz附近看到明显的能量峰值,和理论完全对得上。

1.2 为什么“半频振荡”危害这么大

次谐波振荡不是简单的波形难看,它的危害是实打实的。电流一高一低,说明每个周期传递给副边的能量不一致,输出纹波会叠加一个低频分量,直接影响LED驱动和无闪烁要求的应用。变压器在50kHz附近产生机械共振,噪音让人根本无法接受。

更危险的是,如果不加干预,振荡幅度会持续增长,直到电流峰值被逐周期限流拉回来,形成一种“打嗝式”工作状态。这时候磁芯工作点来回大幅度摆动,要是峰值电流逼近饱和电流,一次偶然的负载跳变就可能把开关管炸掉。所以做反激电源,这条线值得认真对待。

2. 占空比0.5这条线的数学来源

2.1 峰值电流模式的本质

反激电源常用的控制方式是峰值电流控制,核心逻辑是:每个开关周期开始时,开关管导通,原边电流线性上升;当电流检测电阻上的电压达到误差放大器输出给出的参考电平时,比较器翻转,开关管关断。也就是说,每个周期都强制电流峰值等于给定值。

听起来这个控制方式很“闭环”,为什么还会有不稳定问题?关键在于:比较器只知道这个周期电流达到了给定值,它并不关心电感电流在这个周期开始时是什么状态。扰动量一旦存在,就会在周期和周期之间传递,至于扰动被放大还是被衰减,取决于占空比和电流上升下降斜率。这个传递过程才是次谐波振荡的根源。

2.2 一个电流扰动在周期之间怎么传递

我简化一点推导过程,只保留最关键的部分。设电感电流上升斜率为m1,下降斜率为m2。在一个稳定的周期里,导通时间占D,电流从某个初始值I1上升到峰值,然后关断期间再回落到I1,完成一个周期,波形闭合。

假设第n个周期开始时存在一个正的电流扰动Δin(也就是初始电流比理想值高了一点)。因为峰值被比较器钳制在固定值,电流会提前一点到达峰值,导致导通时间缩短,缩短量为Δin除以m1。由于开关周期固定,导通时间缩短的量会等量加到关断时间上。关断期间电流按斜率m2下降,因为关断时间变长了,电流多下降的量就是m2乘以这个时间差,折算成下一周期开始时的扰动Δi(n+1),满足:

Δi(n+1) = - (m2/m1) × Δin

这里的负号表示扰动方向会翻转:如果这周期初始电流偏高,下周期初始电流就偏低,形成交替大小波。再代入反激的稳态关系,m2/m1正好等于Vor/Vin,也等于D/(1-D)。于是传递系数绝对值变成|D/(1-D)|。

当D=0.5时,传递系数恰好等于1,扰动既不增大也不衰减,处于临界状态。实际电路中存在各种寄生参数,临界状态根本无法长期维持,迟早会偏向振荡。当D大于0.5时,传递系数大于1,扰动每个周期被放大,最终形成明显的次谐波振荡。当D小于0.5时,扰动周期衰减,系统天然稳定。这就是占空比0.5这条线的来源。

2.3 用我的实际参数算一遍

我那块反激电源的参数是:输入10~30V,输出12V/3A,变压器匝比Np:Ns=2:1,输出整流管压降0.5V,反射电压Vor=2×(12+0.5)=25V,开关频率100kHz。

输入电压14V时,占空比D=Vor/(Vin+Vor)=25/(14+25)=0.64,已经超过0.5。此时电流上升斜率m1=Vin/Lp=14/20μH=0.7A/μs,折算到采样电阻Rcs=0.1Ω上,电压斜率就是0.07V/μs。电流下降阶段折算到原边的斜率m2=Vor/Lp=25/20μH=1.25A/μs,采样电压斜率0.125V/μs。两者比值m2/m1=1.78,和D/(1-D)=0.64/0.36=1.78完全吻合。这就意味着,如果我的控制环路不加任何斜坡补偿,扰动传递系数就是1.78,必然振荡。

这个案例典型的点在于:只要输入电压低于14V,D就超过0.5,电源就会工作在次谐波不稳定区。所以它不是偶尔碰到的极限工况,而是整个输入范围里相当大的一段区域。

3. 误解澄清:D<0.5不是“磁复位”要求

3.1 反激变压器的“复位”到底指什么

网上很多文章把反激占空比必须小于0.5归因于“变压器磁复位需要时间”,这个说法其实不太准确。反激变压器靠气隙存储能量,开关管导通时原边电流线性上升,磁通增加;关断时副边二极管导通,激磁电感电流通过副边绕组释放,磁通下降。只要关断时间内副边电流能够持续下降,磁通就能复位,和占空比是否小于0.5没有直接关系。

占空比0.7意味着关断时间只有0.3T,只要副边续流电流在这个时间内按斜率下降到正确状态,下一周期照样可以正常工作。真正决定磁复位是否完成的是伏秒积:导通期间施加在激磁电感上的电压Vin乘以导通时间DT,必须等于关断期间反射电压Vor乘以(1-D)T。稳态时这个等式就是反激的占空比公式,D可以取0.5以上也可以取0.5以下,都能成立。

3.2 那为什么教材都写“占空比必须小于0.5”

这里面的原因有两个层面。

第一个层面是历史原因。最早的峰值电流控制芯片(比如经典的UC3842系列)内部没有集成斜坡补偿,或者只做了很弱的补偿,当占空比超过0.5时就会出现次谐波振荡,芯片厂商为了保险,直接把最大占空比钳在50%以内。很多教材和参考设计沿用这个习惯,默认把Dmax设计在0.4到0.45,留出余量。

第二个层面是工程简化。如果Dmax本身就不超过0.5,设计者完全不需要操心斜坡补偿的问题,环路设计、老化测试、批量一致性都省心很多。所以对大多数中小功率反激,把反射电压Vor选低一点、把Dmax压在0.5以下,确实是最稳妥的方案。

但要注意,这是工程习惯,不是物理铁律。理解了这一点,才知道什么时候可以打破,什么时候必须遵守。

4. 斜坡补偿:打破0.5限制的关键技术

4.1 补偿斜坡是怎么“纠正”误差的

斜坡补偿的原理说起来很直观:既然无补偿时扰动传递系数是m2/m1,那我们人为在采样信号上叠一个斜坡,让比较器看到的电流波形变陡,等效于增大了“表观”的电流上升斜率。

我在电流采样信号上叠加一个斜率为ma的补偿斜坡后,等效上升斜率变成m1+ma,等效下降斜率变成m2-ma(因为补偿斜坡在关断期间也会存在,相当于抵消了一部分下降的净变化)。新的扰动传递系数变成:

Δi(n+1) = - (m2 - ma)/(m1 + ma) × Δin

从形式上看,只要ma足够大,分子减小、分母增大,增益就能压到1以下。当ma取0.5倍m2时,即使m1很小甚至趋近于零,增益也接近0.5m2/(1.5m2)=0.33? 仔细算的话,当ma=0.5m2,增益=0.5m2/(m1+0.5m2),任何m1>0都小于1,所以大占空比下依然稳定。工程上一般取ma=(0.5~1)×m2,能覆盖绝大多数应用场景。

直观理解还可以这样:补偿斜坡相当于给电流比较器设了一个“动态门限”,开关管导通得越久,门限降得越多,从而在扰动出现时提前或者推迟关断,抵消误差的逐周期积累。这个描述和公式是等价的。

4.2 设计取值:0.5倍m2是最低线

关于补偿系数,我给出一个工程建议表格,按补偿比例分为几个档位:

补偿比例ma/m2稳定性表现动态响应影响适用场景
小于0.5大占空比下仍会振荡影响小不推荐,理论上不充分
0.5占空比接近1也能稳定动态衰减有限最低可用线,适合Dmax不高的设计
0.7~1.0余量大,不同批次器件差异影响小中等程度变慢通用设计推荐
大于1.0稳定性极好电流环明显变慢,限流精度下降仅当控制IC强制或特殊场合使用

我自己的习惯是取0.75倍左右。原因很简单:电感量有误差,采样电阻有误差,IC内部比较器也有延迟,如果刚好卡在0.5倍,批量生产时可能有一小部分机器在极限工况下压不住振荡。取0.75倍之后,低压满载的稳定性余量足够,动态响应又不会退化太多。

4.3 一个实用补偿网络的参数计算

以UC3842这类经典控制IC为例,四脚(RT/CT)是锯齿波振荡引脚,锯齿波幅度大约在1.7V到2.8V之间,一个开关周期内斜坡幅度约1.1V。100kHz对应周期10μs,锯齿波上升段大约占整个周期的70%左右(不同芯片略有差异),估算斜率0.2V/μs量级。

我之前算过,CS采样电阻上的等效下降斜率m2_v=0.125V/μs,所以需要补偿的斜坡电压斜率至少是0.5×0.125=0.0625V/μs。如果从4脚锯齿波直接分压注入,衰减系数应该取0.0625/0.2≈0.31。

分压用两个电阻比较直接:4脚串一个电阻R1到CS引脚,CS引脚对地再接一个电阻R2。衰减比约等于R2/(R1+R2)。要让衰减0.3左右,取R1=2.2kΩ、R2=1kΩ即可。但4脚的锯齿波含有约2V的直流成分,直接分压会抬高CS引脚的直流电平,改变逐周期限流比较点,这在实际电路中很难接受。

所以我更推荐用电容耦合的方式:4脚通过一个几百pF的电容Cb接到CS引脚,CS引脚对地保留一个电阻Rc。电容隔掉直流,只传递锯齿波的跳变沿,Rc和Cb共同决定实际注入到CS引脚的斜坡幅度。取Cb=470pF,Rc=1kΩ,时间常数0.47μs,远小于开关周期10μs,所以CS引脚上的电压基本跟随4脚锯齿波的上升段,并且幅度被分压,实际衰减由Cb和CS引脚对地总阻抗共同决定。

具体阻容值不要照抄,因为不同IC内部电路差异很大,CS引脚内部还有几百欧姆的电阻和箝位二极管。我的做法是先按估算值焊上去,然后看实测CS波形上的斜坡斜率,不够就加大Cb或者减小Rc,太大了就反向调。有功率级时不好看清,可以先只给IC上电,让PWM工作但不加母线电压,用示波器量CS引脚就能看到叠加的斜坡波形,调好了再接功率级验证。

4.4 用IC内部斜坡补偿时的注意点

现在很多反激控制器芯片内部已经把斜坡补偿做好了,有些是固定值,有些通过引脚外接电阻调节。用这类芯片时,不要以为“有内部补偿就万事大吉”,还是要核对一下补偿量是否覆盖了最恶劣工况。

固定补偿型芯片的补偿量一般按某个典型电感量和采样电阻标定。如果你的变压器电感量比数据手册的参考设计大很多,或者采样电阻用得很小,实际需要的补偿斜率会成比例变化,内部固定的那一点补偿可能不够。可调补偿型芯片(比如某些芯片有专门的斜坡补偿调节引脚)就灵活得多,按数据手册的计算公式取值,再实测确认。

还有一类芯片为了同时兼容CCM和QR/DCM工作模式,内部斜坡补偿可能是分段的:轻载时补偿小,重载满载时补偿大。这种设计本身没问题,但在半载附近切换时,如果补偿量跳跃过大,可能会引起占空比抖动,调试时需要留意。

5. 从现象到方案:一次次谐波振荡的完整调试记录

5.1 调试环境和示波器观察方法

我调试用的设备如下:60V/5A可调直流电源、电子负载、100MHz双通道示波器、带屏蔽的电流探头(如果没有电流探头,直接量CS引脚电压也行)、差分探头(量MOS管Vds用,普通探头接地夹会引入噪声)。

测量点选择上,CS引脚对地电压是最直接能反映电流环路状态的信号。探头地线要尽量短,建议用探头自带的接地弹簧,不要用长的鳄鱼夹地线,否则100ns级别的前沿尖峰根本看不准。

触发方式建议选上升沿触发,触发电平放在正常波形幅度的一半左右。如果存在次谐波振荡,波形会明显出现“一高一矮”的交替脉冲。为了排除偶发干扰,可以把示波器设置为余晖模式,观察几十秒,看波形包络是否稳定。

5.2 补偿前后的波形对比

没加斜坡补偿时,我的电源在14V输入、满载3A条件下,CS引脚波形是这样的:一个周期电流峰值约0.42V,下一周期约0.38V,宽度也对应变化,形成2个周期为一个循环的包络。输出纹波从正常的30mV左右一下子涨到80mV以上,变压器发出明显的“吱吱”声。

我第一次加补偿时比较保守,Rc取680Ω,Cb取330pF,算下来补偿斜率只有0.032V/μs,明显不够。实测大小波只是幅度差变小了,并没有完全消失。后来把Cb加到1nF,补偿斜率差不多到0.1V/μs,大小波才完全收敛成等幅脉冲,变压器声音消失,输出纹波回落到35mV以内。

这里有个细节值得说明:从“大小波完全消失”到“占空比波形完全等宽”,中间还差一步。有时候电源处在CCM和DCM临界附近,电流波形本身就有很小的逐周期差异,只要包络不增长,都不算次谐波振荡。判断标准不要只看波形是不是“绝对整齐”,而是看扰动包络是否收敛。

5.3 谨慎为之:斜坡补偿不是越大越好

斜坡补偿给多了,同样会出问题。我把Cb加到3.3nF之后,补偿斜率接近0.3V/μs,大约是m2的2.4倍,此时大小波当然完全消失,但出现了新的现象:负载从1A跳变到3A时,输出电压恢复时间从原来的200μs左右拉长到将近500μs,动态响应明显变迟钝。

原因不复杂:过深的斜坡补偿实际上把峰值电流控制推向了电压控制模式,电流内环的快速响应被削弱,负载阶跃时电感电流不能迅速跟上新的给定值。更麻烦的是,过大的补偿斜坡会导致逐周期限流点偏移,短路保护时峰值电流可能比设计值低不少,影响保护阈值的一致性。

经过几轮调整,我最终定在Cb=1nF、Rc=1kΩ,补偿斜率约0.1V/μs,也就是0.8倍m2。这个配置下,低压满载、高压轻载、满载动态跳变都测了一遍,波形干净,没有振荡,效率也没有明显变化。这就是我前面说取0.75倍左右比较合适的实际依据。

6. 反激设计中的占空比规划建议

6.1 常规设计:把Dmax压在0.45附近

对于大多数常规应用,尤其是适配器、充电器、辅助电源这类产品,我的建议仍然是先把Dmax压在0.45以下,而不是上来就依赖斜坡补偿解决一切问题。

Dmax由反射电压Vor和最低输入电压Vin_min共同决定:Dmax=Vor/(Vin_min+Vor)。要让Dmax小于0.45,反推出来Vor要小于0.82倍的Vin_min。比如85V~265V交流输入适配器,整流后最低直流电压按100V算,Vor取70V左右比较合适,此时Dmax=70/(100+70)=0.41,余量充足。

Vor取得低,MOS管的电压应力也低。关断瞬间的漏极电压等于Vin_max加上Vor再加上漏感尖峰,Vor越低,MOS管的耐压要求越宽松,RCD钳位损耗也越小。这是整个反激设计里最基础也是最重要的折中:提高Vor可以降低原边峰值电流、改善效率,但同时抬高电压应力、逼近0.5占空比线。

6.2 不得不超过0.5时怎么办

有些应用确实没办法把Dmax压在0.5以下。最典型的就是宽范围输入的低压DC-DC,比如车载电源,输入9V到36V,输出12V,为了在9V输入时还能正常输出,匝比一旦确定,低压满载时占空比很容易跑到0.6以上。还有保持时间要求严格的工业电源,母线电压在掉电保持阶段会一路跌到很低,占空比被迫往上走。

这种情况下,斜坡补偿就不是可选项而是必选项。我的建议是:第一步把最低输入电压下的Dmax先算出来,如果超过0.55,按0.75倍m2设计补偿斜坡;第二步把补偿网络加上,实测最低压满载和最高压轻载两个极限点;第三步做负载阶跃和启停测试,确认动态和过流保护正常。

有些工程师在这个场景下会考虑改用电流连续模式之外的方案,比如把反激改为准谐振或谷底导通模式,让电流在每个周期从零开始,彻底绕开次谐波稳定性问题。但QR反激在宽压输入下的变频特性和EMI设计更复杂,对变压器工艺要求也更高,不是一个“免费的午餐”。如果CCM反激加斜坡补偿能把问题解决,结构上还是更简单可靠。

6.3 新手自查表

最后整理一份适合自查的清单,新手做反激设计时对着过一遍,能少走不少弯路:

检查项判断标准不满足时建议
工作模式满载是否处于CCM纯DCM设计不需要斜坡补偿
最大占空比Dmax是否小于0.45小于0.45则默认稳定,可跳过补偿设计
反射电压Vor是否在合理范围Vor过高,Dmax逼近0.5,需重算并加补偿
补偿斜率ma是否大于0.5倍m2按0.75倍m2重新设计补偿网络
实测波形低压满载CS波形是否等幅有大小波则继续加大补偿
动态响应补偿加大后负载阶跃是否变慢补偿斜率取0.5~0.75倍再平衡
保护阈值逐周期限流点是否偏移补偿过大时需修正采样电阻或阈值分压

我个人在实际操作中的体会是:反激电源的占空比规划,优先靠变压器变比把Dmax控制在0.5以下,这比事后加斜坡补偿更省事、更可靠。但如果产品确实需要工作在D大于0.5的区域,也不用害怕,把补偿斜率按0.7倍m2的量级设计到位,再做好极限工况的波形确认,长跑稳定性完全没问题。

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

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

立即咨询