UC3842做反激式开关电源,低压满载时突然冒出一串间隔冒大冒小的脉冲,输出纹波跟着抖动,芯片风扇都在哼哼,先别怀疑环路补偿,八成是次谐波振荡。这个场景我见过不止一次,很多工程师第一反应是去调反馈补偿网络,调来调去纹波还在,最后才发现是电流模式控制在占空比超过50%之后的固有问题——斜坡补偿没做够。这篇文章就把UC3842斜坡补偿这件事从原理到计算再到调试完整讲透,适合正在用UC3842/UC3844/UC3845做反激电源的硬件工程师和电源调试人员。看完你能自己算出该补多少斜率,也知道为什么不能随手挂个电阻就算完事。
1. 先搞清楚振荡源头:峰值电流模式的采样放大效应
1.1 电流模式控制不是线性系统,是离散系统
电流模式控制看起来是一个模拟控制环路,但实际上核心是离散采样:每个开关周期通过比较器判断电感电流是否达到设定值。这种判断方式天然带有振荡隐患,只是因为占空比小于50%时系统恰好稳定,大家常常忽略底层的采样数学。
我们用一个反激电感的电流波形来说明。设电流上升斜率为m1,下降斜率为m2。理想情况下,电流从某个初始值开始上升,到达峰值后关断,下降到下一周期起点。如果控制目标恒定,那么每个周期的起点电流应该一样。但实际中存在扰动,比如开关噪声、负载跳变都会让电流偏离标准轨迹。
关键问题是:这个偏离在下个周期会被放大还是缩小。推导过程很简单。假设某个周期起点电流比理想值多了一个ΔI,导通阶段结束时的电流误差仍然是ΔI,因为m1不受起点影响,电流波形只是整体平移。关断阶段电流下降,终点误差会变成ΔI减去m2乘以关断时间的偏差。结合占空比D和周期T,关断时间为(1-D)T,导通时间为DT,最终可以得到误差的递推关系:
ΔI(n+1) = - (m2/m1) × ΔI(n)
也就是说,每个周期误差都会乘上一个因子(m2/m1)。注意这个负号,它表示误差是交替变号的——上周期电流偏大,下周期偏小,这就是波形上看到“一高一矮”“一宽一窄”的原因。
如果(m2/m1)的绝对值小于1,误差每周期衰减,系统稳定。如果大于1,误差每周期放大,就产生了次谐波振荡。
1.2 为什么临界点恰好是占空比50%
推导到这里,很多读者会问:m2/m1怎么和占空比D扯上关系?这需要通过反激变换器的基本关系来联系。对连续模式反激,变压器原边的励磁电流在导通阶段上升,上升幅度是Vbulk/L乘以导通时间;关断阶段下降,下降幅度是Vr/L乘以关断时间。稳定工作下,上升量等于下降量,因此有:
m1 × D × T = m2 × (1-D) × T
所以:
m2/m1 = D / (1-D)
把m1和m2拆开看:m1随输入母线电压升高而增大,m2由反射电压决定基本不变。占空比越大,意味着导通时间长、关断时间短,电流下降斜率自然比上升斜率大,于是误差越滚越大。
当D=0.5时,m2/m1恰好等于1,误差既不衰减也不发散,系统处于临界状态。占空比大于0.5后,振荡建立。所以行业内常说“峰值电流模式在占空比大于50%时需要斜坡补偿”,这不是经验结论,是数学结论。
1.3 为什么环路补偿调不快这个问题
有个常见误区:既然系统不稳定,把误差放大器带宽压得很低或者加大相位裕量不就行了吗?不行。这是离散采样带来的不稳定性,不是连续域的极点问题。无论误差放大器怎么调,比较器每个周期都会按照固定的阈值去比较电流和误差电压,这个离散过程不受反馈环路带宽控制。
打个比方:你每天固定时间称体重并按体重决定吃饭量,如果算法是“今天超重就多吃、明天超重就少吃”,那么一个超重的扰动会被放大成隔天交替的胖瘦波动——不管你调整吃饭口味还是换秤,只要决策算法是离散且增益不对,波动就消不掉。斜坡补偿改变的是这个“决策算法”本身的增益,所以能从根源上压制振荡。
2. 斜坡补偿如何扭转局面,UC3842为什么非补不可
2.1 补偿的本质:改变等效上下斜坡斜率
斜坡补偿的思路是在电流采样信号上叠加一个固定斜率的斜坡电压。从控制角度看,叠加斜坡后,电流比较器的翻转点不再是真实电感电流等于设定值的那一刻,而是电感电流加上补偿斜坡电压对应的等效电流达到设定值的时刻。
写成公式更清晰。设补偿电流等效斜率为ma,则原误差递推关系变为:
ΔI(n+1) = - (m2 - ma) / (m1 + ma) × ΔI(n)
注意分子和分母都变了。补偿斜坡叠加在检测信号上,等效把电流上升过程“变快”了,把下降过程“变慢”了。只要满足:
(m2 - ma) / (m1 + ma) < 1
就可以稳定。化简后得到经典的斜坡补偿条件:
ma > (m2 - m1) / 2
也就是说,即使占空比大于50%,只要补偿斜率超过上下电流斜率差值的一半,系统就能恢复稳定。这个公式是全篇计算的核心,不论用哪个芯片做斜坡补偿,最终都要回到这个条件上。
2.2 UC3842内部没有斜坡补偿,为什么不内置
UC3842是上世纪八九十年代设计的产品,内部只有一个比较器加一个RS触发器。它的电流采样引脚ISENSE直接比较电流检测信号和误差放大器输出,没有给用户内置斜坡发生器。不是芯片厂商做不了,而是那个年代并没有把它作为标准功能集成,后续的UC3842A/B版本才逐渐改进,但市面上大量还在服役的UC3842并不提供这个功能。
所以用UC3842做宽压输入反激,设计人员必须自己在外围电路加斜坡补偿。常见做法是取RT/CT振荡器上的锯齿波信号,经过电阻电容网络叠加到ISENSE引脚。这个方案的好处是与开关频率严格同步——补偿斜坡来自振荡器本身,天然保证每个周期开始都从同一电平启动,不会出现频率相位漂移。
UC3842内部的电流比较器还有一个特性:ISENSE引脚的电压阈值一般在1V左右(不同厂家略有差异)。也就是说,叠加斜坡后的总电压不能超过这个阈值,否则电流限制会提前触发。这个限制直接决定了补偿量不能无脑取大,后面计算实例时我会专门算这一点。
2.3 补偿量选很大会怎样:提前限流
补偿量小了振荡压不住,补偿量大了又会带来另一个问题:等效电流比较阈值降低。因为ISENSE引脚看到的是采样电阻电压和补偿斜坡电压之和,达到比较器翻转阈值时,实际的电感峰值电流比设定值小。换句话说,补偿斜坡相当于偷偷“吃”掉了一部分电流设定值。
这在重载工况下表现尤其明显:设计满载10A,实际加到8A就限流了,输出电压往下掉,变换器进入过流保护状态。而且占空比越大,导通时间越长,补偿斜坡在这段时间内爬升得越高,对触发点的影响越大。结果是最大输出功率随输入电压降低而严重缩水——输入电压越低占空比越大,功率下降越明显。
所以斜坡补偿量的选取是权衡:既要大于最小补偿斜率保证稳定,又不能让补偿斜坡幅度在最大占空比时吃掉过多电流阈值。实际工程中,我一般把补偿斜坡在ISENSE引脚上的峰值控制在50~250mV范围,对应1V阈值,不超过四分之一。这个经验值兼顾稳定性和带载能力。
3. 斜坡信号从哪来:三种常见取法对比
3.1 从RT/CT分压直接叠加:最简单也最容易出问题
UC3842的RT/CT引脚有一个锯齿波,充电段电压近似线性上升,幅度大约从1V到3V,上升时间是开关周期的主要部分。用两个电阻分压后,通过一个电容耦合到ISENSE引脚,就能把锯齿波斜坡叠加到电流检测信号上。这个做法元件最少,只需要两个电阻一个电容。
但要注意两个坑。第一,RT/CT引脚的驱动能力很弱,如果分压电阻取小了,会明显改变振荡频率,导致开关频率漂移。分压电阻总取值尽量大于10kΩ这个量级。第二,RT/CT在放电段有一个快速下降沿,经过电容耦合到ISENSE会产生一个负尖峰,这个尖峰可能干扰比较器或者引入噪声。有些设计会把耦合电容取小到几百pF,配合ISENSE引脚对地电阻构成高通滤波,但相位关系比较复杂,需要上示波器实测调整。
3.2 射极跟随器隔离方案:稳定且负载影响小
一个更稳的方案是用三极管做射极跟随器,把RT/CT的锯齿波缓冲后输出到低阻抗节点,再通过电阻电容叠加到ISENSE。三极管基极接RT/CT,发射极接一个下拉电阻到地,发射极输出基本跟随基极波形,但输出阻抗低了很多,基本不影响振荡器本身。
这个方案的优点是补偿斜坡的幅度和形状都更可控,发射极电阻分压后再串一个电阻到ISENSE,补偿斜率通过两个电阻比值精确设定。缺点是元件多了一个三极管和一个偏置电阻,PCB面积稍微大一点。对于量产稳定性要求高的电源,我个人更推荐这个方案,因为RT/CT引脚波形本身有平台和放电沿,射极跟随器加RC整形后更干净。
3.3 从变压器辅助绕组取信号:电流波形同步但相位移难控
还有一种思路是从变压器的辅助绕组或者主绕组取电压信号,经过RC网络生成与电流斜率相关的补偿斜坡。理论上,辅助绕组电压正比于输出电压或输入电压,经过积分后可以得到一个斜坡信号。但实际中辅助绕组电压含有振铃和尖峰,而且与ISENSE采样的电感电流之间有一定相位移,控制在批量生产时很难一致。这个方案我只在隔离电源没有其他斜坡信号可用时尝试过,调试成本高,不建议优先考虑。
三种取法各有用武之地,但现阶段最主流的还是前两种。对于绝大多数反激设计,推荐用射极跟随器隔离方案,如果你只想快速验证,直接用RT/CT分压电阻方案也可以,前提是示波器确认没有造成频率漂移。
4. 手把手计算:一份完整反激实例
4.1 计算前需要准备好的已知参数
我以一个典型的宽压输入反激电源为例。设计规格:输入85~265VAC,输出12V/4A,开关频率65kHz,变压器初级电感量Lp=200µH,反射电压Vr=130V,电流采样电阻Rs=0.33Ω。
先算出最低母线电压。85VAC输入经过整流滤波后,母线电压大约为100VDC,这里已经考虑了纹波和二极管压降。最低母线电压时占空比最大,这个工作点是校验斜坡补偿的最恶劣工况。
第一步求最大占空比:
Dmax = Vr / (Vmin + Vr) = 130 / (100 + 130) ≈ 0.565
占空比0.565,已经明显超过0.5,理论上存在次谐波振荡风险,必须加斜坡补偿。
4.2 计算电流斜率,求出最小补偿斜率
初级励磁电感在导通阶段的电压近似为母线电压,关断阶段反射电压作用在原边。电流斜率计算如下:
m1 = Vmin / Lp = 100V / 200µH = 0.5A/µs
m2 = Vr / Lp = 130V / 200µH = 0.65A/µs
用前面推导的稳定条件:
ma > (m2 - m1) / 2 = (0.65 - 0.5) / 2 = 0.075A/µs
也就是说,补偿电流斜率至少要到0.075A/µs,系统才能稳定。这个值是理论下限,实际工程中不能刚压着下限做,因为元件误差、温度变化、母线电压波动都会让工作点偏移。我习惯取最小值的1.5~2倍,即ma=0.15~0.2A/µs,这样即便参数有偏差也不至于重新振荡。
如果你想要更稳,也可以直接按m2的一定比例取,一般取m2的0.5~0.8倍。对这个实例就是0.325~0.52A/µs。这个取值会让带载能力有所下降,但在宽压输入场合可以获得更好的稳定余量。具体怎么权衡,看你的产品是追求带载能力还是追求全温度范围稳定。
4.3 换算成ISENSE引脚的实际电压斜率
电流斜率最终要通过采样电阻变成电压信号进入ISENSE引脚。把ma换算成电压域斜率:
Vcomp = ma × Rs = 0.15A/µs × 0.33Ω = 0.0495V/µs
这个数值的含义是:ISENSE引脚上的补偿斜坡,应当以大约50mV/µs的速度上升。如果取2倍余量,即ma=0.2A/µs,则Vcomp=0.066V/µs。
再校核一下补偿斜坡在最大占空比导通时间内的总幅度。最大导通时间:
Ton_max = Dmax × T = 0.565 × (1/65kHz) ≈ 8.7µs
补偿斜坡峰值:
Vcomp_peak = Vcomp × Ton_max = 0.0495V/µs × 8.7µs ≈ 0.43V
对照UC3842的ISENSE比较器阈值1V,0.43V占了43%,偏大,满载时最大电流会被明显压缩。这就是为什么只用理论最小值的1.5倍还不够,需要再往下压。实际调试时可以把目标Vcomp_peak控制在0.2V左右,也就是:
Vcomp_target = 0.2V / 8.7µs ≈ 0.023V/µs
对应的ma=0.023 / 0.33 ≈ 0.07A/µs,刚好在理论下限0.075A/µs附近。这样稳定余量不太够。矛盾出现了:0.43V偏大,0.2V最优但接近理论下限。解决方案是适当调小采样电阻Rs。
把采样电阻改到0.25Ω,重新计算:
理论下限ma=0.075A/µs,取ma=0.2A/µs,则Vcomp=0.05V/µs,Vcomp_peak=0.05×8.7≈0.435V,还是偏大。取ma=0.1A/µs,Vcomp=0.025V/µs,Vcomp_peak≈0.217V。可见采样电阻越小越有利。但在满载时,采样电阻太小会让比较器检测信噪比下降,而且UC3842的ISENSE引脚最小检测电压有限制。所以实际工程常取折中:Rs=0.22~0.33Ω,补偿峰值控制在0.2~0.3V,稳定性和带载能力都兼顾。
4.4 由RT/CT波形求分压比和耦合参数
UC3842的RT/CT引脚锯齿波在充电阶段约从1V上升到3V,幅度2V,充电时间大约占整个周期的70%左右。以65kHz为例:
T = 15.38µs,充电时间≈10.8µs
RT/CT引脚锯齿波斜率:
Vrtct = 2V / 10.8µs ≈ 0.185V/µs
在ISENSE引脚需要的补偿斜率取0.025~0.05V/µs,因此分压比大约为:
k = 0.025 / 0.185 ≈ 0.135
k = 0.05 / 0.185 ≈ 0.27
也就是说,RT/CT的锯齿波需要衰减到原来的13%~27%再送入ISENSE。用两个电阻实现,比如ISENSE对地电阻Rg=1kΩ,上分压电阻R=7.5kΩ,分压比大约为1/(1+7.5)≈0.118;换用4.7kΩ,分压比约0.175。实际调试时可以在Rg上并联一个小电容,比如1nF,滤掉高频尖峰。
这里要强调一个很多初学者忽略的点:ISENSE引脚本身通常已经有一个RC滤波网络,比如1kΩ电阻串联到采样电阻节点,对地并联1nF电容。这个电容会改变有效分压比和斜坡形状。所以算出来的参数只能作为起始值,最终必须在实物板上用示波器确认ISENSE引脚上的实际波形,再微调电阻值。
5. 示波器验证与现场调试
5.1 看三个波形确认次谐波振荡已消除
加完斜坡补偿后,怎么判断到底有没有效?不太聪明的办法是只看输出纹波,纹波好转不一定说明振荡根除,因为纹波容易被示波器带宽和探头夹法骗到。我一般看三个地方。
第一个是开关管的Vgs波形和漏极波形。正常的固定频率PWM,脉宽应该均匀,没有两个一组一大一小的规律。用示波器余辉模式观察几十个周期,如果看到清晰的间隔分组,说明还有振荡。
第二个是ISENSE引脚或者采样电阻两端的波形。次谐波振荡最典型的表现就是电流波形一高一低交替出现,像叠了两个包络。加斜坡补偿后,每个周期电流波形的峰值和谷值应该整齐对齐。这里提醒一下:测ISENSE引脚电压时,如果直接用普通探头,探头地线夹的环路会引入噪声和寄生振荡,最好用差分探头或者用接地弹簧短接地。
第三个是输出二极管电流波形。反激次级二极管的电流波形如果逐周期大小交替,同样说明原边有次谐波振荡。用电流探头测二极管电流比测原边电流更直接,因为次级电流没有叠加采样噪声,波形更干净。
5.2 补偿过度的典型特征
如果补偿量取太大,最明显的问题出现在重载:输入电压越低,输出电压越往下掉,设计满载电流可能上不去。这是因为补偿峰值过大,在最大占空比时吃掉了大量ISENSE阈值,比较器提前翻转。用电子负载从0加到满载,记录输出电压曲线,如果发现在低压输入下负载稍微加重,输出电压就有明显下降趋势,通常就是补偿过度的信号。
另一个症状是轻载时出现间歇工作。补偿斜坡幅度大,导致CS电压更容易触碰到1V阈值,系统误判断为过流,然后进入打嗝模式。这时观察ISENSE波形,会发现每个周期的补偿斜坡峰值明显高于电流检测信号本身,两者叠加后接近或超过1V。
出现补偿过度,先把分压比调低,比如从4.7kΩ改到7.5kΩ甚至10kΩ,再观察带载曲线是否恢复。
5.3 别把低频振荡误判成次谐波振荡
实际调试中还要区分两种完全不同的不稳定:次谐波振荡和低频环路振荡。次谐波振荡频率是开关频率的一半,一般几十kHz量级,波形特征是逐周期大小交替。低频振荡则是输出LC滤波器与反馈环路相互作用产生,频率几百Hz到几kHz,波形特征是整组脉冲的包络在起伏,而不是单个脉冲交替。
区分方法很简单:把示波器时基拉长,观察输出电压的摆动周期。如果摆动周期是几毫秒量级,处理重点是反馈补偿网络;如果波形在开关频率附近呈现交替规律,处理重点才是斜坡补偿。很多工程师把这两件事混为一谈,连续调了几天环路毫无效果,就是这个原因。
我遇到过一台电源,低压满载时输出电压有约30kHz的纹波包络,以为是环路问题,反复调光耦反馈的RC补偿,纹波纹丝不动。后来测CS引脚,发现电流波形一高一低,确认是次谐波振荡,加斜坡补偿之后,纹波包络立刻消失,输出恢复平直。从那以后我养成了习惯:遇到不稳定先看CS波形,确认是不是电流采样层面的问题,再决定动哪部分电路。
6. 踩坑记录与更稳的设计习惯
6.1 采样电阻和ISENSE引脚的布局直接影响补偿效果
斜坡补偿网络最终要在ISENSE引脚上体现,如果采样电阻的PCB走线过长,寄生电感会在开关切换时产生尖峰,尖峰叠加到ISENSE信号上可能造成误触比较器,让补偿效果功亏一篑。采样电阻最好用低寄生电感的贴片电阻,而且要走开尔文连接——采样电阻两端直接连到芯片的滤波电阻,不要让主功率电流流过滤波网络的地线。
ISENSE引脚上的RC滤波时间常数也要注意。RC截止频率太高,滤不掉开关尖峰;太低,会把补偿斜坡的起始段衰减掉,削弱补偿效果。一般RC产品约为100ns到500ns,即1kΩ配100pF到470pF。具体值要在实板上反复调,优先保证不误触比较器,其次兼顾斜坡完整性。
6.2 斜坡补偿量要在极限工况下复核
斜坡补偿的最小需求不是固定的,它随输入电压、负载、温度变化。输入电压越低,m1越小,D越大,需要补偿越多。反射电压Vr在某些设计中会随输出电压和匝比变化,比如多路输出或者负载调整率差的设计,Vr会有明显波动,这直接影响m2。
所以调好一组参数后,别只在85VAC满载下验证。我通常至少测四个点:85VAC满载、85VAC轻载、265VAC满载、265VAC轻载。其中85VAC满载是最严酷的工况,次谐波振荡风险最大。265VAC下占空比很小,振荡风险低,但要关注补偿斜坡带来的提前限流是否明显。如果四个点都能稳定运行,这颗电源的斜坡补偿基本算靠谱了。
另外温度也要覆盖。UC3842的振荡器阈值随温度有一定漂移,RT/CT锯齿波斜率会变化,补偿量自然跟着变。量产前的温箱测试是必要的,我见过一个设计在常温下稳定,到零下20℃后重新出现轻微振荡,就是因为RT/CT电容低温容值漂移导致锯齿波斜率改变。
6.3 改板前预留调试位是省时省力的关键
斜坡补偿的元件参数,计算只是给一个起点,最终要靠实测试验修正。所以我画PCB时一定会把补偿网络做成可调结构:电阻用两到三个并联位,电容预留一个空位,三极管方案则预留基极和发射极的调试电阻。
这样在调试阶段可以快速更换元件值,不用每次割线飞线。量产时再根据调试结果把固定阻值填上,去除多余的并联位。这个小习惯节省的时间非常多,尤其当项目周期紧张、一次改板要等两三个星期的时候,预留调试位能让你在现有板上把所有参数定死,提升一次改板的成功率。
6.4 一个容易忽略的点:频率变化后补偿量要重新校核
如果你在生产中调整了频率设定电阻RT,使开关频率发生变化,那么RT/CT锯齿波的斜率、ISENSE引脚RC滤波的阻抗特性都会变,原补偿量可能不再合适。频率升高时RT/CT充电时间变短,锯齿波斜率变大,同样分压比下的补偿量会增大;频率降低时则相反。开机前如果你改过频率设定元件,记得重新看一眼CS波形。
我个人的习惯是,频率确定后,在BOM表里用一条备注记录该频率下的补偿网络参数,这样后续换频率或者做衍生型号时可以快速对应,不用重新调试一遍。同类项目做多了就会发现,这种文档记录比拍脑袋调板高效得多。