ARTICLE DETAIL

资讯详情

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

运放+MOS管压控恒流源:原理、计算与实战设计全解析

运放+MOS管压控恒流源:原理、计算与实战设计全解析 1. 为什么运放加MOS管能构成压控恒流源而不是一个普通开关很多刚接触模拟电路的朋友都有过这样的困惑MOS管不是用来做开关的吗PWM控制、电平转换、电机驱动到处都在用它做开关管。那为什么把运放和MOS管放在一起就能变成一个高精度的恒流源这两个东西凑在一起到底发生了什么化学反应先给结论MOS管在运放的反馈环里工作状态从开关变成了线性区也就是放大区。运放的虚短虚断特性会把负载电流死死锁定在一个由输入电压决定的数值上无论负载怎么变电流都不变。这个拓扑结构在业内有个名字叫运放MOS管压控恒流源本质上是一个带串联调整管的负反馈系统。我最早接触这个电路是在做一个LED老化测试板要求每路LED电流恒定在350mA但LED的正向压降从2.8V到3.6V不等如果用电阻限流热量和电流偏差都很难接受。当时第一反应是找专用的LED驱动IC但后来发现用一颗LM358加一颗N沟道MOS管就能解决问题成本极低而且电流精度远超预期。这个电路的核心思路其实一句话就能说透把采样电阻上的电压作为反馈信号运放不断调整MOS管的栅极电压让采样电阻上的电压始终等于输入参考电压。因为采样电阻阻值固定所以流过它的电流就是参考电压除以电阻值这就实现了恒定电流。后半篇文章我会完整推导一遍公式这里先建立一个整体认识。2. 核心工作原理拆解虚短、反馈和线性区三者的配合2.1 从虚短虚断说起反馈环是怎么闭合的运放最常用的两个特性是虚短和虚断。虚短是指运放两个输入端之间的电压差几乎为零前提是运放工作在负反馈状态且开环增益足够大虚断是指运放输入端几乎不吸取电流输入阻抗极高。恒流源电路正是利用了这两个特性。看一下典型电路结构同相输入端接参考电压Vref反相输入端接到采样电阻R_sense的上端。MOS管的源极通过R_sense接地漏极接负载负载另一端接正电源。运放的输出直接驱动MOS管的栅极。闭合反馈的路径是这样走的如果负载电阻增大流过负载的电流会暂时减小采样电阻上的压降跟着下降反相输入端电压低于同相输入端运放输出升高MOS管栅极电压升高MOS管导通程度加大电流回升采样电阻压降回升直到反相输入端电压重新等于Vref。反之亦然。整个过程在微秒级别内完成最终稳定在一个平衡点。2.2 MOS管在这里扮演的角色从开关到可变电阻MOS管在这个电路里不是开关而是相当于一个由栅极电压控制的可变电阻。当运放输出的栅极电压在一个合适范围内时MOS管工作在饱和区对MOS管来说也叫恒流区或者放大区此时漏极电流主要由栅源电压Vgs决定漏源电压Vds的变化对电流影响很小。这个特性非常关键。因为负载变化会导致MOS管的Vds发生改变但工作在饱和区的MOS管能通过自身Vgs的微小调整来吸收这个变化从而维持电流恒定。换句话说MOS管承担了多余电压的消耗多余的能量以热量形式耗散在MOS管上。用一张通俗的类比来解释把MOS管想象成一个自动调节的水龙头采样电阻是水表运放是一个盯着水表读数的人。水流量低于目标值时运放就把水龙头拧大一点水流量高于目标值时就把水龙头拧小一点。最终水流稳定在设定值上而进水压力的波动全部由水龙头本身的压降来吸收。2.3 采样电阻的选型思维精度、温漂和功耗三角平衡采样电阻是决定恒流精度的关键元件。整个环路都在保证采样电阻两端的电压等于Vref所以采样电阻的精度直接就是电流的精度。1%精度的电阻电流精度就是1%再想往上走就得用0.1%甚至0.01%的精密电阻。采样电阻的阻值选取需要平衡三个因素功耗P I² × R电流越大采样电阻功耗越高发热越严重反馈电压幅度采样电压太小运放的失调电压和噪声影响会变大最低工作电压采样压降会吃掉系统的电压余量以一个350mA的LED恒流源为例如果选择1欧姆采样电阻压降是0.35V功耗约0.12W用2512封装的贴片电阻额定功耗1W很轻松。如果想进一步降低功耗用0.5欧姆压降降为0.175V但此时运放失调电压的影响会放大。普通LM358的失调电压典型值是2mV在Vref为175mV时已经带来1%以上的误差这时候就要考虑用精密运放或者做软件校准。推荐一个工程经验值采样电阻压降设计在100mV到500mV之间。压降太低运放失调、噪声和PCB漏电流的影响都会显著增加压降太高系统功耗浪费太多特别是在低电压供电场景下可能连MOS管的工作电压余量都不够。3. 完整参数计算从参考电压到MOS管功耗的推导过程3.1 电流恒定关系式推导根据运放的虚短特性稳定状态下同相输入端和反相输入端电压相等V_ref I_load × R_sense由此得到恒流关系式I_load V_ref / R_sense就这么简单。整个恒流源的所有设计都围绕这个式子展开。Vref决定了电流设定值R_sense决定了设定电流的标度。举例来说如果要设计一个0到1A可调的恒流源R_sense取1欧姆那么Vref在0到1V之间变化时输出电流就线性地从0变到1A。这里用的是最简单的方式——用可调电阻分压产生Vref配合精密基准源就能得到一个实用的可调恒流源。3.2 MOS管功耗和散热计算这是很多人容易忽略的关键点。MOS管在这个电路里承担了很大的功耗尤其是在输入电压高、负载电压低的场景下。功耗计算公式很简单P_MOS (V_in - V_load - V_sense) × I_load其中V_sense是采样电阻压降。整个压差都落在MOS管上转化为热量。举一个实际例子输入12V负载是一个3V/LED灯珠串联假设总压降3V电流设定1A采样电阻1欧姆。此时MOS管承受的压降是12 - 3 - 1 8V功耗就有8W。8W的功耗在自由空气中需要一个相当大的散热器才能压住温度。我做过一个12V输入、负载电压5V、电流2A的恒流源MOS管功耗14W最后用了TO-220封装的IRFZ44N加一个5cm见方的铝散热器配合强制风冷才把壳温控制在85度以下。这个教训很直接设计恒流源的时候一定要先把功耗账算清楚不能只看电流压差才是决定散热需求的核心变量。3.3 输入电压裕量检查运放和MOS管都需要足够的工作电压。MOS管能够完全导通需要的栅极电压取决于其阈值电压Vgs(th)和导通特性但在这个电路里MOS管工作在饱和区Vgs一般需要高于阈值电压一定幅度。如果运放供电电压不够高或者输出摆幅受限可能导致MOS管无法达到所需的导通程度电流就会低于设定值。这里有一个隐藏坑普通运放如LM358在供电电压接近正轨时输出摆幅会有损失典型值是比电源电压低1.5V左右。如果运放供电是5V最大输出约3.5V这个电压加在IRFZ44N这种阈值电压1V到2V的MOS管上通常够用但如果用的是逻辑电平MOS管或者阈值电压偏高的管子可能就推不动。所以在选择运放供电电压时至少要保证运放输出电压最大值减去MOS管Vgs后仍有足够电压让电路工作在设定的电流点上。另一个容易被忽视的点是MOS管的Vgs绝对最大值。运放输出如果接近电源轨而MOS管栅极耐压只有20V运放供电超过20V就会击穿栅氧化层。所以运放供电电压要低于MOS管的Vgs额定值。如果运放供电必须高于这个值就要在运放输出和MOS管栅极之间加限压保护或者分压电路。4. 实际设计中的环路稳定性问题震荡从哪来怎么治4.1 MOS管的栅极电容和相位裕度很多人在面包板上搭这个电路时都会遇到一个诡异现象电路能工作但示波器上看到电流在某个频率上震荡LED亮度肉眼可见地闪烁采样电阻上的波形乱七八糟。这就是环路稳定性问题。运放加MOS管构成的反馈环本质上是一个多极点系统。运放本身有一个主极点MOS管的栅极电容和运放输出阻抗或者栅极串联电阻会形成一个额外的极点负载电容和采样电阻又会引入另一个极点。多个极点叠加之后相位裕度不足反馈环就会自激振荡。栅极寄生电容是罪魁祸首之一。MOS管的栅源电容Cgs通常有几百皮法到几纳法对于大功率MOS管输入电容达到几十纳法也不稀奇。这个电容和运放的输出电阻RC组合构成一个低通滤波器引入一个极点。运放带宽越高这个极点越容易出现在环路增益的穿越频率附近导致相位裕度急剧下降。4.2 相位补偿的实用手段解决振荡问题有几个成熟的手段按优先级排列运放输出到MOS管栅极之间串联一个几十到几百欧姆的电阻在运放反馈电阻或者分压网络上并联一个几皮法到几十皮法的电容在采样电阻两端并联一个RC串联支路构成零点补偿第一种方法的原理是降低MOS管栅极电容带来的极点影响把额外极点推向更高频率。电阻值从10欧姆到100欧姆之间调试太小没效果太大影响带宽和响应速度。第二种方法在我这个电路里通常不是加在反馈电阻上因为这里反馈量是采样电阻电压直接反馈到反相输入端没有分压电阻网络。实际操作时可以在反相输入端到地加一个小电容或者更常用的是在MOS管栅极和运放输出之间串电阻后再从栅极引一个几十皮法的电容到地形成一个低通滤波。第三种方法是在采样电阻上并联一个电阻串联电容的支路。电容和电阻组成的零点可以抵消负载电容带来的极点大幅提升相位裕度。电容取值通常在1nF到100nF之间需要通过试验确定。4.3 负载电容的影响和实测波形分析恒流源的负载如果是纯电阻问题不大。但实际应用中负载往往是LED、电池或者接有滤波电容的电路这些负载本身带有电容性质。负载电容和输出电流源的内阻在这里主要是MOS管的输出阻抗构成一个新的极点进一步恶化相位裕度。我在做电池充电电路时遇到过这个问题。电池的等效模型包含一个很大的电容接入恒流源后电路直接开始振荡电流表读数来回跳。把MOS管栅极串联电阻从33欧姆加大到100欧姆同时在采样电阻上并联了一个100nF电容串联10欧姆的RC支路问题立刻解决示波器上的电流波形变得非常干净。一个实用建议设计完成后一定要用电子负载或者不同容性的负载实测观察恒流精度和稳定性。只在电阻负载下调试通过的电路不能保证在真实负载下稳定工作。5. 从仿真到打样我自己踩过的关键坑和排查方法5.1 仿真阶段的注意事项仿真软件里搭这个电路非常顺利但仿真通过了不代表实物就能跑起来。原因在于仿真模型里运放的供电轨、输出摆幅、失调电压都是理想化的MOS管的寄生参数也没有完整表达。建议在仿真阶段就把以下因素加进去运放的失调电压数据手册给的典型值放大两到三倍运放输出摆幅限制与电源电压的距离MOS管的输入电容和输出电容PCB引线电感在铜箔上模拟寄生电感做layout前评估我习惯在仿真里故意把负载改成阶跃变化观察电流恢复时间和过冲量。如果过冲超过预设电流的20%说明环路阻尼不够需要在补偿元件上做调整。5.2 实物调试的坑从万用表到示波器的排查链路实物调试时最容易出现的几个异常现象按照排查难度从低到高排列第一输出电流完全不对远小于设定值。先测运放两个输入端的电压差如果差值很大说明反馈环没闭合可能是虚焊、采样电阻没接好、MOS管损坏。再用示波器看栅极波形如果栅极电压已经顶到运放输出上限但电流还是不够说明MOS管没有被充分驱动可能是运放供电不足或者MOS管选型不当。第二电流精度差实际值和理论值偏差超过5%。优先怀疑运放失调电压和采样电阻精度。把采样电阻换成精密电阻后如果精度明显改善问题就在电阻上。如果仍然偏差就要查运放输入端的漏电流和PCB表面的漏电路径。第三电流不稳小范围波动。这种一般是噪声问题或者环路接近于振荡边界。先看参考电压是否稳定Vref上的纹波会直接调制到电流上。可以用低噪声基准源给Vref供电来排除这个因素。如果Vref没问题重点查地线布局采样电阻的地和参考电压的地要单点汇聚。第四输出电流低频振荡幅度大。优先级最高的怀疑对象是环路稳定性问题参考上一节的补偿方案。其次是MOS管栅极走线过长引入了寄生电感和栅极电容形成了LC振荡。5.3 布局布线的实际经验采样电阻和运放前端的走线PCB布局对这个电路的影响极其明显。采样电阻的走线必须采用开尔文接法采样电压的检测线要从电阻的两个端点直接引到运放输入端而不是从大电流路径上分叉出来。如果采样走线经过大电流铜箔附近铜箔自身电阻产生的压降会被叠加到采样电压上导致电流精度变差。另外运放反相输入端的走线要远离MOS管的栅极走线和漏极走线避免高频开关噪声通过寄生电容耦合进来。在LED PWM调光场景里如果前面有一级PWM电路地线的隔离要做干净否则恒流源会跟着一起闪。我个人习惯的做法是把采样电阻放在MOS管源极和地之间以采样电阻为中心一边是大电流的功率地一边是运放的信号地两者在采样电阻的接地端单点连接。这种扇形地线布局在几乎所有电流反馈电路里都适用能大幅减少地弹和串扰问题。6. 运放和MOS管的选型策略不同场景下的搭配建议6.1 运放选型不是越贵越好合适才是关键运放在这个电路里的核心性能指标按优先级排列是失调电压、偏置电流、输出摆幅、带宽、供电电压。普通应用LED恒流、简易电子负载LM358、TL072、OP07这类标品足够。失调电压几百微伏到几毫伏对5%以内的精度要求完全够用。追求更高精度时再考虑OPA2277、AD8628这类精密运放失调电压在10微伏级别但价格也贵了一个量级。带宽是个双刃剑。运放带宽越高环路响应越快但也越容易振荡。对于绝大多数直流恒流应用带宽其实不是越多越好GBW在1MHz到10MHz之间就够了。很多人在这个电路上选用几十M带宽的高速运放结果不自激才怪。6.2 MOS管选型重点关注Vgs(th)和SOAMOS管在这个电路中核心参数有三个阈值电压Vgs(th)、安全工作区SOA、热阻。阈值电压决定了运放推不推得动这个管子。运放输出最高电压减去Vgs(th)后还要留出足够余量让MOS管工作在饱和区。对于3.3V或者5V供电的系统建议选逻辑电平MOS管Vgs(th)在1V以下对于12V以上供电系统普通标准电平MOS管就能工作。SOA是很多人忽略的参数。恒流源的MOS管可能长时间工作在大的Vds和大的Id同时存在的状态下这是开关应用里不会出现的工作点但在线性恒流里是常态。选管时一定要看数据手册里的SOA曲线确认你设计的工作点Vds和Id在直流区DC区曲线之内而且留出至少20%的余量。传统的IRF540、IRFZ44N这类开关优化型MOS管在直流SOA区域的电流能力其实远低于脉冲区域这是导致MOS管莫名其妙烧掉的常见原因。我做12V/1A恒流源时最初用的是IRF540N工作点Vds约7V、Id 1A理论上在SOA内。但散热不足时温度升高后SOA还会下降最终管子烧了两次。换了更大封装的管子、加了散热器和温控保护后彻底解决了。线性应用场景散热设计永远不嫌多。6.3 高端电流检测方案和低端电流检测的区别上面整个电路讨论的是低端电流检测结构采样电阻放在负载和地之间。这个方案的优点是电路简单、参考电压和采样电压都以地为基准缺点是负载不接地而是接在MOS管漏极和电源之间对于某些负载类型比如需要接入地的传感器或仪器不方便。高端电流检测则把采样电阻放在电源正端和负载之间需要高边电流检测放大器或者运放配合电平移位电路。因为采样电阻上的电压不是以地为参考的需要额外的差分放大器来处理。这个方案复杂度高一些但负载可以直接接地很多工业设备就是这么做的。选哪种方案取决于应用场景。如果负载一端必须接地必须用高端检测否则低端检测是更好的选择成本、精度和调试难度都占优势。我在电池放电测试仪里用的是低端检测因为负载是电子负载本身就悬浮的不存在接地问题。7. 实用变体电路从低端恒流到可编程恒流的演进7.1 用DAC实现可编程恒流源在Vref输入端接一个DAC数模转换器就能变成一个数字可控的恒流源。DAC的输出范围要匹配采样电阻的压降范围DAC的精度决定了电流的分辨率。如果DAC输出范围是0到2.5V采样电阻1欧姆那么电流范围就是0到2.5A。DAC是12位的话最小步进约0.6mV对应0.6mA的电流分辨率。这个方案非常适合做自动化测试设备可以通过单片机I2C或者SPI接口直接设定电流值。需要注意DAC输出的噪声和纹波会直接影响电流的稳定性。DAC输出端需要加一个RC低通滤波比如100欧姆串联10uF电容截止频率约159Hz能把高频噪声滤掉大半。步进响应速度也会变慢但恒流源应用本来就不追求快速动态响应。7.2 用PWM加RC实现低成本电流设定如果不想用DAC可以用单片机PWM输出加RC滤波后作为Vref。PWM频率至少要在10kHz以上RC滤波截止频率要远低于PWM频率但也不能太低否则调节响应太慢。RC滤波的纹波是主要问题。以20kHz的PWM、5V幅值、占空比50%为例如果用10K电阻加10uF电容截止频率约1.6Hz理论上能以很小的纹波输出约2.5V直流。但这个电路动态响应很慢从改变占空比到电流稳定可能要几十毫秒。在静态电流设定的应用里完全够用但在需要快速变化电流的场景就不合适了。一个折中方案是用二阶有源滤波器代替一阶RC可以在保持低纹波的同时提升响应速度。不过电路复杂度上去了是否划算要看实际需求。7.3 镜像恒流源的比较还有一种放镜像恒流源方案利用两个完全匹配的MOS管构成电流镜一个管子接参考电流另一个管子输出镜像电流。优点是没有运放结构简单缺点是对MOS管的匹配度要求极高集成度高但对离散元件来说匹配度不好保证精度远不如运放反馈方案。我在实际项目中用过集成电流镜和分立的镜像恒流结论是分立器件做电流镜的精度很难做到3%以内温度漂移更是无法控制。而运放加采样电阻的方案哪怕用普通元件精度也能轻松做到1%以内而且温度特性取决于采样电阻的温漂可控性强得多。所以在绝大多数场景下运放反馈方案都是更优选择。7.4 多路恒流输出的同步方案如果一个系统需要多路独立的恒流输出比如多路LED背光可以每路一个运放加MOS管共享同一个Vref基准源。Vref用高精度基准源驱动配合缓冲运放避免各路之间的相互影响。但要注意地线问题。多路恒流共地时各路的地电流会产生地电位差影响精度。最好是每路都用开尔文接法将各自的采样电阻接地端单独引回电源负极避免在公共地线上形成压差。多路并联时我也常用一个运放驱动多个MOS管的方式但这样做的前提是各路MOS管特性接近不然电流分配不均匀。另一个方案是各路独立闭环虽然用器件多但精度和一致性更好。8. 实测结果参考和常见问题速查8.1 一组实测数据下面是我做的一个恒流源模块的实测数据用LM358IRFZ44N采样电阻1欧姆1%精密电阻输入12V负载用可变功率电阻模拟。设定电流负载电压实测电流偏差备注0.250A5.0V0.252A0.8%万用表读数波动±1mA0.500A5.0V0.503A0.6%稳定1.000A5.0V0.997A0.3%接近满量程MOS管微热1.000A2.0V0.994A0.6%压差大MOS管功耗约9W1.000A8.0V0.998A0.2%压差小MOS管功耗约3W从数据可以看出当负载电压变化时输出电流的波动范围基本在1%以内符合常规恒流源的应用要求。如果要做更高精度的恒流需要选用低温漂采样电阻如锰铜电阻以及低失调电压精密运放。8.2 常见故障速查表故障现象可能原因排查手段输出电流为零运放供电缺失、MOS管损坏、反馈断线测运放供电、测栅极电压、查反馈回路输出电流远小于设定MOS管未充分导通、Vref偏低用示波器看栅极波形、复核Vref输出电流有高频纹波环路振荡、采样走线干扰加栅极串联电阻、优化layout输出电流低频漂移温漂、Vref不稳测温度、测Vref长期稳定性MOS管过热甚至烧毁压差过大、散热不足、SOA超限计算功耗、加散热器、查SOA曲线更换负载后电流突变环路增益不足增大运放带宽、调整补偿电容8.3 一个防止MOS管烧毁的软保护技巧我在实际项目里加过一种简单的软保护在MOS管源极加一个比较器监测Vds当Vds超过某个阈值时通过逻辑电路拉低运放输出或者降低Vref把电流降下来。这相当于做了个简易的功率限制在负载突然断开或者短路时可以保护MOS管。更简单的方案是给MOS管加温度开关贴在散热器上温度到85度时通过三极管或光耦切断运放的参考电压。成本只有几块钱但能避免大部分热失控烧管的情况。9. 从理论到实战关于这个电路的几点个人体会运放加MOS管的恒流源电路看起来简单但真正做好需要处理的细节非常多。这个电路的魅力恰恰在于它的简单中透着复杂——理论基础只有虚短虚断加欧姆定律但工程实现要面对散热、稳定性、精度、噪声和Layout等一大堆实际问题。从我做过的大大小小的恒流项目来看有几点经验想特别强调一下。第一不要把仿真结果当作最终结果仿真只能验证原理真正决定成败的是实物调试中的稳定性处理和散热设计。第二MOS管的安全工作区SOA是选管时最容易被忽视但最致命的参数线性应用永远要看SOA曲线。第三采样电阻的布局和开尔文接法直接决定了你辛辛苦苦设计的电路精度能不能真正实现布局不合理再好的运放和电阻都白搭。我最早调这个电路调了一个星期后来把经验总结成一套检查清单以后再遇到恒流源相关的问题按清单逐项排查基本半小时内能定位到问题。做模拟电路就是这样没有捷径多踩坑、多记录、多总结水平自然就上去了。希望这篇文章的思路和细节能让你少走一些弯路。
返回列表