ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LLC开关电源环路补偿:运放与光耦反馈零极点手动配置指南

LLC开关电源环路补偿:运放与光耦反馈零极点手动配置指南 把一块LLC电源的板子从测试台拿下来之前我一般会先做一件事用电子负载从10%负载慢慢往上拉同时盯着输出电压波形。很多板子就是在这一步露馅的——满载纹波正常半载突然开始“喘”输出以几百赫兹到几kHz的频率来回抖。这种问题十有八九不是谐振腔参数算错了而是环路补偿的零极点没有放对位置。LLC的环路补偿和普通反激、正激不一样它的控制量是开关频率被控对象是谐振腔反馈通道里又是运放加光耦增益、相位都会随工作点变化。这篇文章我会用实际做过的12V/20A半桥LLC项目把运放与光耦反馈的零极点手动配置从头理一遍包括怎么选型、怎么算参数、怎么根据示波器现象反推改哪里。1. LLC环路补偿的“难”到底难在哪——先理解控制对象的脾气1.1 增益曲线三个工作区为什么必须待在感性区LLC的增益曲线不是一条单调的直线。横轴是归一化频率纵轴是谐振腔电压增益M不同负载对应不同Q值。整个增益曲线大致可以分成三段低频段增益很高但工作点容易掉进容性区这时开关管电流相位超前于电压ZVS条件不满足电路还可能把环路方向搞反中间段是实际使用的感性区频率升高增益下降控制方向明确高频段增益逐步衰减但斜率变缓环路增益不足。设计时有一个关键约束最低工作频率必须落在感性区内也就是增益峰值频率的右侧。比如我的12V/20A样机谐振频率fr100kHz变压器匝比n16满载等效负载反射到原边的Rac约125ΩQ值约0.19最低频率取85kHz左右。为什么要强调这个因为LLC在谐振频率附近的控制斜率并不是恒定的越靠近峰值区斜率越陡增益对频率的变化越敏感。轻载时Q值小增益曲线峰值更尖锐同样的频率变化会导致更大的输出电压变化环路增益不自觉变高相位裕度容易被吃掉。很多人在满载时调好的环路一转到轻载就振荡根子就在这里。1.2 从频率变化到输出电压LLC小信号不是Buck那种“平滑”对象普通电压模式Buck从占空比到输出的传递函数里LC滤波器在穿越频率附近贡献一个-40dB/dec的衰减和-180°相位但它的模型相对固定补偿器好设计。LLC不一样控制量是开关频率频率变化先影响谐振腔的阻抗和增益再通过变压器传到次级等效模型像一个阶次更高的带通网络。更麻烦的是它的增益和相位会随负载电流、输入电压变化满载和轻载的Bode图差别很大。所以在工程上我不建议一开始就纠结LLC小信号传递函数的精确表达式。更现实的做法是先用频率响应分析仪测量“控制到输出”的增益曲线把它当作一个黑盒再用补偿网络的零极点去把穿越频率附近的相位掰回来。手动配置零极点本质上就是对被测对象做一次“对症下药”哪里相位亏了用零点补哪里高频增益太高会放大噪声用极点压。1.3 反馈通道的组合定位运放负责算光耦负责传LLC输入侧是高压输出侧是低压安全隔离必须靠光耦。反馈通道里次级误差放大器负责把输出电压偏差放大成误差信号光耦负责把误差信号以电流形式跨过隔离带传到初级初级再通过VCO或控制IC的反馈脚改变开关频率。这里经常有一个误区觉得光耦只是“通断传输”随便选一个能用就行。在环路补偿里光耦是最难处理的元件。它的电流传输比CTR不是一个定值随电流、温度、老化都在变它的输出端还有寄生电容会在高频段额外贡献一个极点。运放或者TL431则负责提供补偿网络的增益和相位。只有把“运放/误差放大器光耦”看成一个整体才能理解后面所有零极点为什么这么放。2. 反馈链路器件选型光耦不是“随便插上”的运放的GBW也要算2.1 光耦选型CTR、线性区与“开关型光耦”的坑最常见的PC817引脚1脚和2脚是LED的正负极3脚是集电极4脚是发射极。它的CTR标称范围很宽比如PC817A是80%~160%PC817B是130%~260%如果选型时不注意批量一致性会很差。我一般会要求器件供应商选CTR分档窄的档位或者直接用PC817B并在设计时把环路增益裕度留足否则同一个电路换一批光耦之后环路特性可能完全变样。还有两类光耦要特别小心。MOC3052是可控硅触发光耦TLP5701是IGBT驱动光耦它们的输出级都是按开关状态设计的要么截止要么饱和几乎没有线性放大区。如果把这种开关型光耦用在LLC反馈环路里环路会变成一种奇怪的间歇振荡因为信号在光耦处被硬生生“削”成了开关波形。真正适合反馈的光耦是晶体管输出型的线性光耦或者HCNR201这样的高性能线性光耦。HCNR201配合运放可以做很精确的隔离放大但成本高、电路复杂一般12V/20A这种电源用PC817级别就够了。工作点也很重要。光耦的CTR在LED电流1~10mA范围内相对平坦低于0.5mA会严重下跌高于20mA趋向饱和。反馈环路的静态工作点最好压在2~5mA这样才能保证小信号变化时光耦输出电流近似跟随LED电流变化。2.2 运放选型GBW为什么必须留余量如果不用TL431而用独立运放做误差放大器第一个要算的就是运放GBW够不够。假设穿越频率取5kHz补偿网络在这个频率点需要提供20dB增益也就是10倍。运放在5kHz处的开环增益至少要高于闭环增益10倍也就是达到100倍对应GBW下限至少是5kHz×10×10500kHz实际我按5~10倍余量来选GBW至少要2.5MHz以上。所以LM358这种GBW只有1.2MHz的运放做这种100kHz开关频率的LLC反馈就很勉强只能把穿越频率压到2kHz以下。NE5532的GBW有10MHz够用但它是双极性输入偏置电流几百nA使用时要考虑输入端电阻平衡。有人问4558增益做到70倍会不会自激。4558的GBW约5.5MHz70倍对应的闭环带宽约78kHz只要外围补偿合理运放本身不会自激。但在LLC反馈里我反而建议不要把运放带宽选得过高否则开关频率处的噪声会被放大反馈脚上全是毛刺。运放GBW“够用留余量”就好不需要追求极致。运放的失调电压也要算。输出误差近似等于Vos×(1R2/R1)再加上Ib×R2。比如R2100k运放失调电压2mV闭环增益10倍输出误差就是22mV还能接受但如果R2大、输入偏置电流又大误差会明显增加。选独立运放时Vos最好小于1mVIb尽量小或者把R2阻值降下来。2.3 TL431本质上是一个内置2.5V基准的运放很多LLC电源的次级反馈不用独立运放而是用TL431。TL431内部就是一个高增益的误差放大器反相端接内部2.5V基准参考端Ref是高阻抗输入阴极K是开漏输出。它的等效跨导gm大概在2~5mS配合外部RC网络可以很方便地实现II型补偿。从这个角度看标题里的“运放与光耦反馈”其实可以落在TL431上TL431承担了运放的职能光耦承担隔离传递职能。TL431驱动光耦LED的典型接法光耦LED串联一个限流电阻从输出正端拉到TL431阴极TL431阴极再接地。稳态时TL431阴极电压一般放在3~5V既保证内部放大管有足够工作区间又给光耦电流留出调节余量。比如输出12V光耦LED压降1.2VTL431阴极取3V光耦静态电流取2mA限流电阻就是(12-1.2-3)/2mA3.9kΩ。这个电阻不是随便选的它决定了光耦的跨导增益也决定了环路中频增益的起点。3. 零极点手动配置的全套流程与算例3.1 先定穿越频率和相位裕度目标手动配置零极点之前必须先定两个目标穿越频率fc和相位裕度。LLC开关频率通常是100kHz左右反馈环路里光耦又自带一个高频极点所以我不建议把穿越频率取得太高一般取开关频率的1/20到1/10也就是5~10kHz。我的样机取5kHz相位裕度按60°设计最低不低于45°。增益裕度最好有10dB以上这样光耦CTR飘一点、温度变一点环路还有余量。为什么穿越频率不能太高因为光耦输出端的寄生电容和初级上拉电阻会构成一个极点比如上拉4.7kΩ、寄生电容1nF时极点频率约33.8kHz在5kHz处只带来8°的相移但如果穿越频率推到20kHz这个极点造成的相移就到了30°以上相位裕度会很紧张。低频也不能太低否则动态响应慢加载时电压跌得深。5kHz是LLC这种带光耦反馈的电源比较折中的点。3.2 为什么RC串联形成的零点能提升增益和相位——零极点对消原理很多人对“RC串联零点”有困惑电容不是滤高频的吗怎么串联电阻反而产生了零点其实这里的零点是指反馈网络传递函数的零点不是滤波概念。一个电阻R和电容C串联阻抗ZR1/(sC)转折频率fz1/(2πRC)。频率远低于fz时容抗占主导阻抗随频率增加而下降频率远高于fz后阻抗趋于电阻值不再下降。结果就是反馈增益在低频段以-20dB/dec下降到了fz之后变成平坦相当于把增益曲线“翘”了一下。同时相位从-90°向0°回升这个相位提升刚好可以用来抵消光耦、输出滤波等环节产生的相位滞后。零点不是越多越好。零点会提升相位但也会提升中频增益放大高频噪声。所以在补偿网络里通常会配一个高频极点把零点带来的额外增益在更高频段压回去。这就是II型补偿的标准形态一个零点负责补相位一个极点负责压高频两者之间夹出穿越频率。3.3 一个12V/20A半桥LLC的TL431反馈算例具体参数如下。输出12V/20A谐振频率100kHzTL431并联型稳压光耦PC817B初级控制IC的反馈脚用外部上拉电阻到5V。输出采样电阻Rupper取38kΩ从输出正端接到TL431的RefRlower取10kΩ从Ref接地。空载输出电压校准后Ref电压约2.48V接近内部2.5V基准。把Rupper从理想值39k改成38k的目的是让基准点的静态电压尽量靠近2.5V降低输出设定误差。零点设计为了抵消次级输出滤波电容和光耦引入的低频极点零点放在500Hz。零点由TL431的Ref到K之间串联的R3和C3形成。取R322kΩC31/(2π×22k×500)14.5nF实际取15nF。这个零点让环路的相位在100Hz到5kHz之间得到提升。高频极点设计极点放在20kHz用来衰减开关频率及其以上的噪声。在Rlower两端并联C2公式是fp1/(2π×Rlower×C2)。Rlower10kΩC21/(2π×10k×20k)796pF实际取820pF或1nF。注意C2不是随便加的它改变了TL431 Ref端到地的高频阻抗高频时相当于把Ref直接短路到地环路增益快速下降。光耦限流电阻取3.9kΩ初级上拉电阻取4.7kΩ。这个组合在5kHz附近的相位影响可控而且光耦集电极电流变化范围足够覆盖初级VCO的输入需求。3.4 独立运放II型补偿的替换算例如果不想用TL431用独立运放做反馈也是常见做法尤其当需要更低输出误差或更灵活的参考电压时。反相II型补偿电路里R1接输出分压点R2跨接在运放输出和反相输入之间C1与R2串联形成零点C2与R2并联形成极点。取R110kΩR2100kΩC13.3nFC2100pF则零点约482Hz极点约15.9kHz中频增益为-R2/R1-10倍。但反相补偿的极性需要注意。输出升高会让运放输出反相变化如果光耦驱动级没有再做一次反相整个环路可能是正反馈。有人问两级运放能不能先同相放大再反相放大当然可以但相位会多绕一圈必须用Bode图验证。相比之下TL431阴极驱动光耦LED的相位关系比较自然所以绝大多数商用LLC电源还是用TL431方案。3.5 光耦和初级VCO之间的增益换算手动配置零极点时最怕的是补了半天方向对、量级错。补偿网络之外光耦CTR、初级上拉电阻和IC的VCO增益都会影响总环路增益。以我的样机为例光耦CTR取1初级上拉电阻4.7kΩ光耦输出电流变化1mA时上拉电阻上电压变化4.7V如果IC的VCO增益是10kHz/V对应的频率变化就是47kHz。再乘以谐振腔在这个频率点的增益斜率就能大致估算“光耦输入电流变化多少输出电压变化多少”。这个链路的增益如果太高补偿网络需要压低中频增益如果太低就要加大CTR或上拉电阻。实际中我会在样机上实测总环路增益再用这个估算判断从哪里调比盲改RC快得多。4. 高频寄生、一致性因素很多“装上去就抖”是这些原因4.1 光耦寄生电容导致的高频极点光耦的集电极和发射极之间存在寄生电容等效到初级反馈节点会和上拉电阻形成一个极点。PC817这类晶体管输出光耦输出电容大概几百pF到1nF。上拉电阻越大这个极点越低。比如上拉20kΩ、电容1nF极点只有8kHz直接压在穿越频率附近环路相位裕度会非常难看。所以初级上拉电阻不能为了追求电压摆幅而选太大我一般控制在2.2k~10kΩ之间。还要检查PCB布局反馈脚走线尽量短避免再叠加寄生电容。4.2 输出电容ESR零点是朋友也是变量输出电解电容的ESR会在高频段产生一个零点这个零点能提升增益和相位对环路稳定是好事。但它的问题是位置不稳定。同样的12V/20A输出用两个1000μF电解并联ESR约15mΩESR零点约10kHz用六个并联ESR降到2~3mΩ零点可能推到50kHz以上。补偿网络是按一个固定ESR零点设计的电容批次一变零点位置变了环路表现就不同。所以设计补偿时不要把所有希望寄托在ESR零点上最好把它当作一个“额外赠品”即使没有它补偿网络本身也能保证相位裕度。这也是我为什么坚持手动把零点放在500Hz而不是依赖ESR零点。4.3 光耦CTR随温度和老化漂移光耦的CTR不是常数。低温时CTR可能只有常温的70%高温时可能到150%老化之后还会进一步下降。这意味着低频和中频的环路增益都会随环境变化。如果设计时增益裕度只有3dB冬天低温满载时可能就振荡了。我的做法是把增益裕度至少做到10dB同时让系统在常温下的相位裕度尽量高。对要求更高的场合可以使用HCNR201线性光耦配合运放它的前向传输特性比PC817可控得多或者用二次侧辅助绕组直接取电压做无光耦反馈但成本高大多数应用不需要。4.4 运放的失调、偏置电流和RFI整流独立运放方案里失调电压和偏置电流误差要仔细算。输出误差近似为Vos×(1R2/R1)Ib×R2。比如用LM358Ib约500nAR2100kΩ光这一项就是50mV对12V输出来说占0.4%有点心疼。把R2降到20kΩR1降到2kΩIb的影响变成10mV同时Vos的影响也变小。次级整流管开关时会产生很强的dv/dt通过PCB寄生电容进入运放输入端可能被运放的输入级非线性整流成直流偏置相当于参考电压被“带偏”。对策是在运放输入端加一级RC低通比如10kΩ串联加1nF对地电容但这个低通的极点不能放在穿越频率附近否则等于给环路增加了一个新的极点反而帮倒忙。5. 实测调试与现场排查看到振荡先分清是哪种5.1 用频率响应分析仪扫环路的正确姿势零极点配好以后必须上频率响应分析仪实测。测量时在反馈分压电阻和TL431 Ref之间串入一个10~50Ω的注入电阻用隔离变压器把扫频信号注入进去。扫频范围从10Hz到50kHz就够因为LLC开关频率100kHz超过1/2开关频率之后环路增益已经衰减得差不多了扫再高意义不大。关键是要在多个工况下扫10%负载、50%负载、满载以及最低输入电压下各扫一遍。只扫一个点的环路不能说明问题。如果发现某个工况相位裕度低于30°就按前面的方法调零点或降穿越频率不要硬着头皮量产。5.2 典型故障一轻载低频间歇振荡现象负载在10%~20%时输出以几百Hz到2kHz的频率“喘”示波器上看到一簇一簇的波形而不是连续开关。这种问题在LLC里非常典型原因是轻载时增益曲线更陡、环路增益偏高加上光耦和输出滤波的相位滞后穿越频率附近相位裕度不够。处理办法有两种一是把补偿零点从500Hz往低频移到300Hz让相位提升区间更早二是把穿越频率从5kHz降到3kHz避开光耦极点的影响。我自己的经验是先降穿越频率因为简单把R2或R3调大即可改完再扫一次Bode确认。5.3 典型故障二加载瞬间电压跌落后恢复慢现象满载加载瞬间输出电压跌了四五百毫伏要几百微秒才慢慢爬回来。这说明环路的中频增益不够穿越频率太低了。解决办法是把零点频率适当提高或者增大中频增益。比如TL431方案里R3从22kΩ降到15kΩ零点从500Hz移到700Hz让相位提升更靠近穿越频率动态响应会明显改善。但注意零点频率越高对光耦高频极点的容忍度越低改完必须重新看相位裕度。5.4 典型故障三重载时开关频率附近噪声耦合进反馈现象满载时输出电压纹波正常但用示波器探头点TL431阴极或光耦LED两端能看到明显的100kHz左右振铃这个噪声会通过光耦耦合到初级反馈脚让环路工作点被干扰。对策有几个一是在光耦LED两端反向并联一个小信号二极管比如1N4148防止反向尖峰击穿LED二是根据实际噪声大小在光耦1脚和2脚之间并联一个100Ω到1kΩ的电阻给高频干扰电流提供泄放通道三是在LED串联支路里加一个几十到100Ω的小电阻限制电流变化率。这套组合能解决大部分反馈噪声耦合问题。注意并联电阻不要太小否则静态工作电流被分流太多光耦工作点会跑偏。这块板子后来量产了几千片反馈部分没再动过。回头看LLC环路补偿不是考公式多深而是把零点的位置、光耦的寄生、不同负载下的增益变化这几个变量理顺。下次遇到LLC输出喘振先别急着调谐振腔把反馈网络的Bode图扫出来问题往往一眼就能定位。
返回列表