ARTICLE DETAIL

资讯详情

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

运放加MOS管恒流源:原理、选型与调试实战指南

运放加MOS管恒流源:原理、选型与调试实战指南 运放加MOS管的恒流源算是我这些年接触过最“经典又不省心”的电路之一了。LED驱动、电池恒流充电、激光管供电、传感器激励、电化学检测池几乎哪里都能看到它的影子。很多朋友一开始觉得这个电路特别简单无非就是一个运放、一个MOS管、一颗采样电阻但真正调起来才发现自激、电流漂移、MOS发热、上电冲击坑一个接一个。这篇文章我打算把这个电路从原理到选型、从搭建到排查完整地过一遍把我实际调试过程中踩过的问题和验证过的方法都写出来尽量让没做过的人能一次搭明白让正在被它折磨的人也找到方向。1. 电路原理与整体设计思路1.1 恒流源为什么非要用负反馈闭环先说一个最基础的问题为什么恒流源要用运放搭闭环而不是直接用一只MOS管固定栅极电压原因很简单MOS管本质是压控电流源但它的跨导受温度、工艺和漏源电压影响很大。假设你调好一个栅极电压让电流刚好是1A管子温度上来之后同样的Vgs下电流可能就飘了10%甚至更多这在LED照明或充电场景里根本没法接受。用运放做闭环之后电路的控制目标就不再是Vgs而是采样电阻两端的电压。无论MOS管参数怎么变、温度怎么变只要运放有足够的增益和响应速度它都会自动调节栅极电压让采样电阻上的电压死死地咬住参考电压。这个思路的核心公式就一条[ I_{out} \frac{V_{ref}}{R_{sense}} ]是的输出电流只跟参考电压和采样电阻有关跟MOS管参数基本无关这就是闭环恒流的意义所在。你只需要保证Vref稳定、Rsense精准电流精度就不会差。1.2 从虚短虚断看懂整个环路很多讲运放电路的文章喜欢直接甩出“虚短虚断”四个字但新手往往不知道虚短虚断是怎么发生的。放到这个电路里我来一步步拆。先把电路说清楚N沟道MOS管的漏极接负载和电源正源极接采样电阻到地负载电流从漏极到源极穿过采样电阻所以采样电阻上的电压正比于输出电流。运放的同相输入端接参考电压Vref反相输入端接采样电阻的源极端点运放输出接MOS管的栅极。这就是一个标准的负反馈结构。假设某种扰动让电流变大采样电压随之升高反相端电压升高运放输出电压会下降MOS管的Vgs变小电流被拉回来。这就是负反馈的自动修正过程。而运放的增益极大在稳态时两个输入端的电压差会被压缩到接近零也就是V约等于V-所以Vref约等于Rsense上的电压。这里有个容易误解的地方“虚短”不是真的短路而是运放通过负反馈把两个输入端压到几乎等电位。正因为如此输出电流由Vref和Rsense决定计算时非常干净。调电流的方式也就变成了两种改Vref或者改Rsense。实际工程里改Vref更常见因为可以用电位器或者DAC平滑调节。1.3 为什么用MOS管而不是三极管用一个P型或者N型三极管理论上也能搭恒流源但实际用下来差距很明显。首先是基极电流问题。三极管是电流驱动器件基极电流会直接叠加到采样回路或者参考回路里带来一个不可忽视的系统误差。MOS管栅极输入阻抗极高只要运放输出能力足够栅极几乎不取电流所以驱动功耗几乎为零。其次是压降和调整范围。三极管在饱和导通时CE结还会有0.1V到0.3V的压降而MOS管的导通电阻Rdson可以做到几毫欧在线性区工作时漏源电压很小也能保持较好的恒流效果。特别是低压差应用里MOS管能把电源利用率提高好几个百分点。不过MOS管也有麻烦它是个压控电容负载。栅源之间有明显的寄生电容Cgs栅漏之间还有Miller电容Cgd这会让运放的输出端看到一个容性负载。运放去驱动一个大电容相位滞后加剧容易出现自激振荡。这也是整个电路调试中最容易踩的坑之一后面我会专门讲。2. 核心元件选型与参数计算2.1 运放选型失调电压、偏置电流与GBW怎么算运放是整台恒流源的“大脑”选型直接影响精度和稳定性。很多人拿手边的LM358就上能跑但性能一般原因是LM358的输入失调电压典型值2mV左右最大值可以达到7mV。按照基本的误差公式[ \Delta I \frac{V_{os}}{R_{sense}} ]以0.5欧姆采样电阻为例1mV失调电压就会带来2mA的电流误差。如果你的目标是1A满量程2mA是0.2%看起来还行但若失调电压到5mV误差就变成1%了。所以做高精度恒流源第一件事就是选低失调运放。偏置电流同样不能忽略。虽然MOS栅极不取电流但采样电阻的一端在反相输入端上如果运放输入端有较大的偏置电流这部分电流会流过采样电阻或参考电阻产生附加压降。好在现代CMOS和JFET输入运放的偏置电流都在皮安或纳安级别对常规的毫安级恒流源可以忽略。如果是老的BJT输入运放比如LM358的几十纳安偏置只要Rsense不太大误差也不明显但若你用100kΩ级别的高边采样问题就会被放大。GBW的选择更关键。运放加MOS管形成的环路本质上是一个带容性负载的反馈放大器。栅极的寄生电容和运放输出电阻会形成一个极点如果运放GBW太高、相位裕度不足电路很容易在几兆赫兹到几十兆赫兹处产生振荡。但GBW太低也不行动态响应慢PWM调流时会跟不上变化。我的经验是对于通用恒流源GBW在1MHz到10MHz之间比较舒服像LM358的1MHz偏低但好在相位裕度尚可OP07这类仪表级运放GBW只有0.6MHz精度高但响应慢如果要兼顾速度和精度可以考虑OPA2333或者MCP6002这类轨到轨运放。型号失调电压输入偏置电流GBW适合场景LM3582-7mV20nA1MHz低成本、一般恒流OP0760uV1nA0.6MHz高精度、慢速恒流MCP6002150uV1pA1MHz低压便携设备OPA233310uV70pA350kHz高精度、极低功耗OPA2365100uV2pA50MHz快速动态、但需注意稳定性2.2 MOS管选型Vgs、SOA、寄生电容一个都不能少MOS管选型牵扯到三个维度电压电流余量、功耗散热、寄生电容。先看基本参数。假设电路输入电压12V目标恒流2A负载LED压降约3V采样电阻0.5欧姆那MOS管漏源电压大约为[ V_{ds} V_{in} - V_{load} - I_{out} \times R_{sense} \approx 12 - 3 - 1 8V ]管子上的功耗[ P V_{ds} \times I_{out} 8V \times 2A 16W ]16W对一颗不带散热片的TO-220封装来说是致命的表面温度会迅速破百。所以选MOS管的时候必须认真看SOA曲线也就是安全工作区。SOA曲线描述的是不同Vds和Id组合下管子能承受多久不损坏。线性工作区连续工作必须在SOA的直流DC区域内不能用脉冲区的余量来计算。我见过很多工程师拿60V/50A的管子当万能管用结果在20V压差、3A电流下就烧了就是没看SOA。再就是栅极驱动电压。Vgs(th)阈值电压决定了运放需要输出多高电压才能让管子进入可调区域。IRFZ44N的Vgs(th)在2V到4V之间IRLZ44N则在1V到2V之间后者更适合低压单电源供电的系统因为5V运放输出也能把管子驱动到足够导通。普通5V供电的运放驱动IRFZ44N可能输出不够导致压差很大、线性区不能正常工作。最后是寄生电容。MOS管的Ciss、Coss、Crss共同影响了它作为容性负载对运放的拖累。以IRFZ44N为例Ciss约1470pF这个值不算小运放输出端如果直接接这么大电容大概率会振荡。解决方式是在运放输出和MOS栅极之间串一个10到100欧姆的电阻把容性负载极点推远一些同时也能抑制振铃。这个电阻的取值需要权衡太小抑制不了振荡太大则大幅降低环路响应速度。我的经验是从47欧姆起调观察栅极波形再决定。2.3 采样电阻和基准电压精度都耗在这两处很多新手把功夫花在运放和MOS管选型上却忽略了采样电阻和参考电压这两处恰恰决定了整个系统的最终精度。先算采样电阻的功耗。还是用0.5欧姆、2A的例子PI²R4*0.52W。这可不是个小数字普通0805贴片电阻额定功率只有0.125W很快就烧了。正确的选择是使用2512封装的合金采样电阻额定功率至少2W预留1.5到2倍余量最好。实在没有大功率贴片电阻也可以用两到三颗同阻值电阻并联既增大功率又能降低寄生电感。但并联后阻值变化要注意重新计算恒流值。采样电阻的温度系数也会直接变成电流漂移。普通金属膜电阻温漂50ppm/°C高品质合金电阻可以做到15ppm/°C以下。以50ppm计算环境温度变化20°C阻值变化0.1%对应电流偏差0.1%。在实验室环境可能无所谓但在工业设备里很可能就是致命误差。采样电阻的接法也有讲究必须用“开尔文四线接法”。可能有人第一次听到这个词简单说就是把大电流回路和电压采样回路分开。采样电阻两端各有两个焊点一对是功率电流进出的焊盘另一对是专门用来采电压的细走线直接连到运放输入端。这样做的目的是避免大电流走线上的铜箔压降被误算进采样电压导致恒流值偏大。特别是在PCB走线很长或者使用跳线连接采样电阻时这个误差会非常明显。基准电压方面分压电阻和稳压管方案虽然便宜但温漂和精度都很差。更可靠的选择是TL431、REF3025或者高精度基准芯片。TL431的典型温漂在5mV/°C级别做一般的LED恒流完全够用但如果要做测量级恒流源还是建议用专门的反射基准源。基准芯片附近的退耦电容也别省否则高频干扰会直接调制到电流上。2.4 环路稳定性设计芯片参数表里看不到的坑都在这里恒流源自激振荡是绝大多数第一次做这个电路的人都会遇到的问题。现象很典型电流表读数乱跳用示波器看采样电阻波形全是高频毛刺MOS管明显发热但输出测量不到稳定电流。为什么容易振荡因为整个环路有好几级增益和相位延迟。运放本身有增益-带宽限制MOS管栅极电容会造成输出级极点采样电阻的寄生电感在高频时又会产生额外相移。几项叠加环路相位裕度可能只剩下十几度甚至更低一个小小的扰动就让系统停不下来。解决思路有三个方向。第一是减小运放带宽给运放加一个反馈电容或者在输入端加低通滤波把高频增益降下来。这个办法立竿见影但也会牺牲动态响应。第二是在运放输出端串接栅极电阻把容性极点推远这是首选方案阻值从10到100欧姆基本不会明显影响低频精度。第三是检查PCB布局栅极驱动走线太长或者采样走线太长都容易耦合噪声诱发振荡。经验上栅极走线尽量短粗采样走线远离功率回路。一个参考做法在反相输入和输出之间并联一个几十皮法的小电容形成一阶低通把运放的高频增益压下来。这个电容也会限制闭环带宽但对大多数LED恒流和电池充电场景完全够用。若需要快速响应这个电容就尽量不用而是通过选低输入电容的MOS管和优化布局来解决。3. 完整实操搭建与调试步骤3.1 原理图与元件清单可直接抄作业下面给出一份我实际搭过的通用恒流源方案目标参数0到2A可调输入12V适用于LED、电池充电或者小型加热器。主要元件清单如下运放OP07或LM358。要求不高用LM358即可要求精度则用OP07MOS管IRLZ44N逻辑电平型Vgs(th)低5V运放供电也能驱动采样电阻0.5欧姆2512封装合金电阻2W两颗1欧姆并联也行注意总阻值按0.5算基准电压TL431搭2.5V基准再用10K电位器分压得到可调的Vref栅极电阻47欧姆1/4W反相端到地电容100pF到1nF抑制高频噪声主滤波电容输入侧至少100uF电解电容并联0.1uF陶瓷电容参考电压调节范围TL431输出2.5V如果电位器抽头直接接运放同相端Vref在0到2.5V之间可调。对应电流范围0到5A但受采样电阻功耗限制实际建议不要超过2A。若只需要固定电流比如1A恒流那直接把Vref设为0.5V也就是用两个10K电阻对2.5V分压得到1.25V用0.5欧姆采样电阻得到2.5A再根据实际功耗调整电阻阻值即可。有一点需要特别注意TL431工作电流需要至少1mA才能正常稳压。分压电阻的取值不能太大。例如10K电位器在2.5V下只消耗0.25mA低于TL431最低工作电流会导致基准电压不稳定。解决办法是并联一个1K电阻或者降低分压电阻阻值确保TL431阴极电流在1mA以上。3.2 PCB布局与布线要点采样走线的坑我第一版恒流源的PCB就栽在了布局上。当时的采样电阻离MOS管源极很远中间还经过了几个过孔结果实测电流比理论值高了将近1%百思不得其解。后来才意识到采样电阻两端的铜箔走线本身也有电阻功率电流流过这些走线时产生了附加压降运放反相端采到的电压被抬高了于是运放以为电流已经达标就提前关小了MOS管。正确的做法是让采样电阻尽量靠近MOS管源极并且用独立的细走线从采样电阻两端直接连到运放输入端不在功率通路的铜箔上取信号。这就是开尔文采样或者叫四线制。具体操作时哪怕采样电阻只有两个焊盘也要在靠近焊盘的位置引出两根细走线分别代表电压检测正和电压检测负中间不要经过任何大电流节点。功率回路的走线要宽至少按照每安培1毫米到1.5毫米的宽度设计保证铜箔压降尽量小。同时大电流回路要形成一个最小的环路面积减少对周边电路的磁场干扰。栅极驱动线要离开漏极和源极的功率走线避免开关噪声耦合到栅极造成误触发。地线布局上要采用“星形接地”思路。采样电阻的接地端、运放供电的接地端、MOS管源极的功率接地端要在同一个点附近汇合不要让采样电阻的地电流流过运放的地。很多看似玄学的精度问题和振荡问题追根溯源都是地线布线不合理导致的。3.3 上电调试流程从假负载到满电流焊接完成后不要着急直接上真实负载。我会先用一个大功率电阻或者电子负载做假负载同时把输入电压先降到一个比较低的值比如5V然后把参考电压Vref调到接近零的位置让初始电流为0。上电后先测量静态参数。用万用表测运放同相端电压确认基准电压和电位器调节是否正常再测反相端电压正常情况下它应该和同相端几乎相等。这两个电压接近说明反馈环路基本工作正常只是电流大小为0或者很小。然后逐步增大Vref同时观察输出电流。每增加0.1V记录一次电流值算出实际的Vref与Iout关系检查它是否接近于理论值1/Rsense。如果偏差太大先用开尔文表测量采样电阻的实际阻值往往能解释不少误差。在增大电流过程中用示波器监测采样电阻两端的波形。正常应该是一条干净的直流线顶多叠加很小的纹波。如果看到明显的高频振荡立刻减小Vref回到安全状态然后按前面说的稳定性措施处理。同时注意MOS管散热片温度用热像仪或点温计持续观察如果温度爬升过快就要停机。完成空载和假负载测试后再接真实负载。真实负载的响应特性跟电阻不同比如LED正向压降几乎不随电流线性变化但这不影响恒流源的闭环工作原理。上电后再次确认电流值只要参考电压和采样电阻不变带不同负载时电流应该基本一致这才是恒流源该有的样子。3.4 先用仿真验证再动手CircuitJS里的几个实用操作现在画板子之前我习惯先用一个叫CircuitJS的在线仿真工具把电路跑一遍。它不需要安装打开网页就能用非常适合快速验证想法。经常有朋友问CircuitJS里运放增益怎么设置无穷大。它默认的运放模型是增益为100000倍这已经足够接近理想运放了。关键不是把增益改到更大而是要理解虚短是由负反馈建立的只要增益足够高两个输入端就会趋于相等。在做恒流源仿真时把运放的两个输入端电压分别做标记观察它们是否相等就能判断反馈环路是否正常工作。仿真的另一个价值是提前暴露稳定性问题。在CircuitJS里搭建好运放加MOS管和采样电阻的电路后给输入参考电压加一个阶跃跳变看输出电流的响应波形。如果电流波形出现长时间的振铃说明环路稳定裕度不足可以在栅极串联电阻或反相端并电容后重新仿真对比波形改善情况。不过仿真结果只能作为参考。真实MOS管的寄生参数、PCB走线的寄生电感、运放模型的非线性都可能导致仿真和实际有出入。我遇到过仿真完全稳定、实物却振荡的情况原因就是实际栅极电容和驱动电阻的组合更复杂。所以仿真的价值在于验证思路和排除低级错误不能完全替代实测。4. 常见故障与排查技巧实录4.1 自激振荡最常遇到的“看不见”的故障前面多次提到自激这里集中整理一下排查思路。先看看怎么判断电路是否在振荡用示波器探头夹在采样电阻两端如果看到的不是平直线而是高频正弦波或者毛刺那基本可以断定在振荡。还有一个间接判断电流表读数会随机漂移MOS管发热异常但平均电流远低于设定值。振荡的本质是环路相位裕度不足。常见对策有四种按优先级排序栅极串联电阻、反相端并联小电容、降低运放带宽、优化PCB布局。具体的取值我一般从栅极电阻47欧姆、反相端电容100pF开始调用示波器观察振荡是否消失。如果仍然存在可以逐步加大电阻到100欧姆或者电容到1nF。还有一个容易被忽略的点运放供电电源的退耦。运放的电源脚如果只用一个0.1uF陶瓷电容高频情况下电源阻抗还是偏高输出级会把电源纹波反馈到负载上。正确的做法是每个电源引脚都用0.1uF陶瓷电容并联一个10uF左右的电解电容而且电容要尽量靠近运放引脚放置。另一个高频自激的隐蔽来源是采样电阻的电感。绕线电阻的电感可达微亨级别在高频下会破坏反馈相位导致振荡。如果出现这种问题换成无感合金采样电阻会立刻改善。这也是我在电路板上优先用贴片合金电阻而不用绕线功率电阻的原因。故障现象可能原因排查方法解决措施输出电流高频振荡相位裕度不足示波器看采样电阻波形栅极串47-100Ω反相端并电容电流读数乱跳地线噪声叠加检查采样电阻走线开尔文接线星形接地上电瞬间电流尖峰基准建立速度过快示波器触发观察Vref基准加RC缓启动MOS管异常发热线性区功耗过大计算Vds×Iout降供电电压加大散热电流低于设定值采样电压被走线压降抬高测采样电阻两端实际电压缩短采样走线开尔文接法调整电位器不线性TL431负载电流不足测TL431控制脚电压并联电阻增加负载电流4.2 MOS管发热严重不是功率算错就是SOA没看MOS管发热是恒流源最常见的现象毕竟它就是那个承受多余电压的“大电阻”。以12V输入、2A恒流、LED负载3V压降的情况为例前面算过MOS管上要消耗16W。这么大的功率哪怕是一颗很好的TO-220封装MOS管也必须加足够大的散热片否则管芯温度会直接飙升到结温上限以上。但如果采用了正确散热设计还是发热严重那就要检查是不是工作状态不对。一个典型错误是Vgs不够高MOS管没有进入完全导通状态等效电阻很大功耗比理论值高出许多。解决办法是确认运放供电电压足够并且选用Vgs(th)较低的逻辑电平MOS管。另一个情况是MOS管频率很高比如PWM调流应用里开关损耗叠加在线性功耗上也会让管子急速升温此时要重新设计驱动电路和开关频率。还要特别关注SOA曲线。很多MOS管的数据手册都会标注安全工作区里面不同斜率的线段分别对应不同的限制因素阻性区、最大电流线、最大功耗线、热不稳定线。对于线性恒流源应用工作点必须落在“直流”区域内而且尽量留出30%以上的余量。以前实验室有位同事用一颗标注50A电流的功率管做恒流源结果在3A的时候就烧了就是因为在高压差下工作点已经超出SOA直流限制数据手册上的大电流值只适用于完全导通状态。4.3 电流精度差与漂移失调电压、基准温漂、采样焊点温差如果你做的是高精度恒流源电流漂移问题就绕不开。最大的漂移来源有三个运放失调电压温漂、基准电压温漂、采样电阻温漂。运放失调电压温漂的典型值在1uV/°C到10uV/°C之间。看起来很小但乘以系统增益后就会放大。在0.5欧姆采样电阻上5uV/°C漂移对应10uA/°C电流漂移看似不大但在长时间测量中累积起来就不可忽略了。基准电压的温漂影响更显著。TL431在25°C附近有30ppm/°C左右的温漂如果环境从25°C升到60°C35°C温差对应约0.1%的基准漂移直接变成0.1%的电流漂移。而REF3025这类专用基准可以把温漂压到50ppm/°C以下甚至更低。做精密恒流源基准芯片的钱不能省。还有一个容易被忽略的“元凶”采样电阻的焊点和铜箔温度梯度。当大电流流过采样电阻时电阻本身会发热热量通过焊盘传导到铜箔导致采样电阻两端存在温度差而这个温度差会造成塞贝克效应产生微伏级的附加电压。对精密应用来说这个电压会直接叠加在采样信号上。缓解办法是采样电阻远离热源并且在采样走线上做好热隔离比如引线不能太宽避免把热量直接导到运放输入端。4.4 PWM调光/调流怎么改可编程恒流源扩展很多应用需要在运行时动态调节电流比如LED调光、电池充电曲线调整。最简单的办法是用一个PWM信号经过RC低通滤波后作为Vref把占空比转成模拟电压。这个方案成本低、改动小。但要注意RC滤波的截止频率。如果PWM频率是1kHzRC滤波器截止频率必须远低于1kHz才能把纹波滤到可以接受的水平。比如用10K电阻加1uF电容截止频率约16Hz对应调节带宽大约只有几赫兹适合缓慢调光但响应太慢。如果需要在几十赫兹范围内调节就要提高PWM频率和滤波器设计不能简单套用。更精确的方案是直接用DAC输出作为Vref通过MCU的I2C或SPI接口控制。这个方式响应快、精度高、无纹波但对电路板和软件要求都更高适合对电流精度和调节速度都有要求的场景。无论用哪种方案都要在Vref输入端加一个RC低通和一个小的去耦电容滤除高频干扰。如果想把恒流源改成数字控制的精密电流源还可以加入采样电阻电压的ADC采集形成一个闭环数字控制。由MCU读取采样电压用软件PID控制DAC输出这种方式灵活性最大但调试工作量也最大。我的建议是先把模拟恒流源的底子打好再往上面叠数字控制不然问题定位会非常困难。这个电路后续还能加限流保护、折返式过流保护、远端电压补偿等功能每一次改动其实都在加深你对“反馈环路”的理解。我个人的感受是调好一个运放加MOS管的恒流源远比背下一堆电路公式有用。它的调试过程逼你去理解相位裕度、理解寄生参数、理解地线回路这些东西在模电书里只是一句话但真到了示波器面前每一个细节都会变成实打实的波形和图线。最后再分享一个经验做这类电路时把采样电阻的开尔文接法和栅极串联电阻当成固定动作而不是想起来才加。我在后来的项目里几乎都是默认加上的省掉了大量试错时间。元器件不在乎贵不贵关键是选对位置。
返回列表