
UC3842做反激式开关电源低压满载时突然冒出一串间隔冒大冒小的脉冲输出纹波跟着抖动芯片风扇都在哼哼先别怀疑环路补偿八成是次谐波振荡。这个场景我见过不止一次很多工程师第一反应是去调反馈补偿网络调来调去纹波还在最后才发现是电流模式控制在占空比超过50%之后的固有问题——斜坡补偿没做够。这篇文章就把UC3842斜坡补偿这件事从原理到计算再到调试完整讲透适合正在用UC3842/UC3844/UC3845做反激电源的硬件工程师和电源调试人员。看完你能自己算出该补多少斜率也知道为什么不能随手挂个电阻就算完事。1. 先搞清楚振荡源头峰值电流模式的采样放大效应1.1 电流模式控制不是线性系统是离散系统电流模式控制看起来是一个模拟控制环路但实际上核心是离散采样每个开关周期通过比较器判断电感电流是否达到设定值。这种判断方式天然带有振荡隐患只是因为占空比小于50%时系统恰好稳定大家常常忽略底层的采样数学。我们用一个反激电感的电流波形来说明。设电流上升斜率为m1下降斜率为m2。理想情况下电流从某个初始值开始上升到达峰值后关断下降到下一周期起点。如果控制目标恒定那么每个周期的起点电流应该一样。但实际中存在扰动比如开关噪声、负载跳变都会让电流偏离标准轨迹。关键问题是这个偏离在下个周期会被放大还是缩小。推导过程很简单。假设某个周期起点电流比理想值多了一个ΔI导通阶段结束时的电流误差仍然是ΔI因为m1不受起点影响电流波形只是整体平移。关断阶段电流下降终点误差会变成ΔI减去m2乘以关断时间的偏差。结合占空比D和周期T关断时间为(1-D)T导通时间为DT最终可以得到误差的递推关系ΔI(n1) - (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由反射电压决定基本不变。占空比越大意味着导通时间长、关断时间短电流下降斜率自然比上升斜率大于是误差越滚越大。当D0.5时m2/m1恰好等于1误差既不衰减也不发散系统处于临界状态。占空比大于0.5后振荡建立。所以行业内常说“峰值电流模式在占空比大于50%时需要斜坡补偿”这不是经验结论是数学结论。1.3 为什么环路补偿调不快这个问题有个常见误区既然系统不稳定把误差放大器带宽压得很低或者加大相位裕量不就行了吗不行。这是离散采样带来的不稳定性不是连续域的极点问题。无论误差放大器怎么调比较器每个周期都会按照固定的阈值去比较电流和误差电压这个离散过程不受反馈环路带宽控制。打个比方你每天固定时间称体重并按体重决定吃饭量如果算法是“今天超重就多吃、明天超重就少吃”那么一个超重的扰动会被放大成隔天交替的胖瘦波动——不管你调整吃饭口味还是换秤只要决策算法是离散且增益不对波动就消不掉。斜坡补偿改变的是这个“决策算法”本身的增益所以能从根源上压制振荡。2. 斜坡补偿如何扭转局面UC3842为什么非补不可2.1 补偿的本质改变等效上下斜坡斜率斜坡补偿的思路是在电流采样信号上叠加一个固定斜率的斜坡电压。从控制角度看叠加斜坡后电流比较器的翻转点不再是真实电感电流等于设定值的那一刻而是电感电流加上补偿斜坡电压对应的等效电流达到设定值的时刻。写成公式更清晰。设补偿电流等效斜率为ma则原误差递推关系变为ΔI(n1) - (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变压器初级电感量Lp200µH反射电压Vr130V电流采样电阻Rs0.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/µsm2 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倍即ma0.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倍余量即ma0.2A/µs则Vcomp0.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比较器阈值1V0.43V占了43%偏大满载时最大电流会被明显压缩。这就是为什么只用理论最小值的1.5倍还不够需要再往下压。实际调试时可以把目标Vcomp_peak控制在0.2V左右也就是Vcomp_target 0.2V / 8.7µs ≈ 0.023V/µs对应的ma0.023 / 0.33 ≈ 0.07A/µs刚好在理论下限0.075A/µs附近。这样稳定余量不太够。矛盾出现了0.43V偏大0.2V最优但接近理论下限。解决方案是适当调小采样电阻Rs。把采样电阻改到0.25Ω重新计算理论下限ma0.075A/µs取ma0.2A/µs则Vcomp0.05V/µsVcomp_peak0.05×8.7≈0.435V还是偏大。取ma0.1A/µsVcomp0.025V/µsVcomp_peak≈0.217V。可见采样电阻越小越有利。但在满载时采样电阻太小会让比较器检测信噪比下降而且UC3842的ISENSE引脚最小检测电压有限制。所以实际工程常取折中Rs0.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µsRT/CT引脚锯齿波斜率Vrtct 2V / 10.8µs ≈ 0.185V/µs在ISENSE引脚需要的补偿斜率取0.025~0.05V/µs因此分压比大约为k 0.025 / 0.185 ≈ 0.135k 0.05 / 0.185 ≈ 0.27也就是说RT/CT的锯齿波需要衰减到原来的13%~27%再送入ISENSE。用两个电阻实现比如ISENSE对地电阻Rg1kΩ上分压电阻R7.5kΩ分压比大约为1/(17.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表里用一条备注记录该频率下的补偿网络参数这样后续换频率或者做衍生型号时可以快速对应不用重新调试一遍。同类项目做多了就会发现这种文档记录比拍脑袋调板高效得多。