☰
六种经典恒流源电路全解析:原理、选型与实战避坑指南
2026/10/6 5:11:24 网站建设 项目流程

恒流源这个东西,刚入行那会儿我觉得它特别不起眼——不就是让电流稳住不变嘛,能有多难?后来做LED驱动、电池充电、传感器激励、电化学测试这些项目,才发现恒流源电路的花样远比想象中多,选错了方案轻则精度不够,重则烧管子炸电容。这些年我用过至少十几种恒流源拓扑,踩过的坑也够写一本小册子了。这篇文章就把我实际项目中反复用到的六种经典恒流源电路拿出来,从原理、计算、选型到实操注意事项,一次性讲透。不管你是刚学模电的学生,还是正在做硬件方案选型的工程师,看完至少能少走两三年弯路。

1. 恒流源到底在解决什么问题

1.1 从“稳压”到“恒流”的思维切换

大部分人学电源是从稳压开始的,LM317、AMS1117这些三端稳压器用得很顺手,输入电压一变、负载一变,输出电压纹丝不动。但恒流源的逻辑正好反过来:它不管负载两端的电压怎么变,只保证流过负载的电流恒定。这个区别听起来简单,实际用起来思维方式要彻底切换。

举个最直观的例子。LED的正向压降会随温度漂移,一颗白光LED在25°C时Vf大概是3.2V,到了80°C可能降到2.9V。如果你用稳压源供电,电压不变、Vf降了,电流就会猛增,LED很快光衰甚至烧掉。但用恒流源供电,电流锁死在比如350mA,Vf怎么变都不影响亮度一致性,这就是恒流源在LED驱动领域不可替代的原因。

再比如电化学传感器、应变片、铂电阻测温,这些传感器的输出信号都正比于流过它的电流。电流一抖,测量精度直接崩。所以恒流源的精度和温漂指标,往往决定了整个系统的测量上限。

1.2 恒流源的三个核心指标

选恒流源方案之前,先把这三个指标搞清楚,后面选型就不会盲目。

恒流精度:实际电流和设定电流的偏差。注意这个精度要分初始精度和全温区精度,很多方案常温下0.1%,到了-40°C到85°C就变成2%了,原因就是基准源和电阻的温漂。

输出 compliance voltage:恒流源能维持恒流的最大负载电压。比如你用5V供电做一个恒流源,负载电阻太大导致需要的电压超过5V减去管子压降,恒流就失效了。这个指标决定了你的恒流源能带多大的负载。

温度系数:每摄氏度电流变化多少ppm。高精度场合这个指标比初始精度还重要,因为初始误差可以校准,温漂没法校准。

注意:很多人选恒流源只看精度不看compliance voltage,结果负载一接上去电流就不对了。选型时一定要先算清楚负载在最坏情况下需要多少电压。

1.3 六种经典方案的全景对比

先上一张总表,把六种方案的定位说清楚,后面再逐个展开。

方案核心器件典型精度温度系数适用电流范围成本复杂度
三端稳压器恒流LM3171%~5%较差10mA~1.5A极低极简
基准源+运放+MOSTL431+运放0.1%~0.5%好1mA~10A中中等
运放+三极管运放+三极管0.5%~2%中等1mA~500mA低简单
镜像电流源匹配三极管2%~10%差10uA~10mA极低简单
双二极管恒流源双二极管+运放0.5%~1%中等1mA~100mA低中等
开关型恒流Buck芯片1%~3%中等100mA~20A中高复杂

这张表是我自己项目经验的总结,精度和温漂都是实测典型值,不是datasheet上的理想值。下面逐个拆解。

2. 三端稳压器恒流源:最省事的入门方案

2.1 LM317恒流源的工作原理

LM317做恒流源是教科书级的经典电路,原理简单到一句话就能说清:LM317的ADJ引脚和OUT引脚之间固定1.25V基准电压,只要在这两个引脚之间接一个电阻R,电流就是1.25V/R,负载接在ADJ引脚和地之间,这个电流就全部流过负载。

电路结构是这样的:LM317的OUT脚接电阻R一端,R另一端接ADJ脚,负载接在ADJ脚和GND之间。LM317内部会调整OUT脚电压,使得OUT和ADJ之间始终保持1.25V,于是流过R的电流恒定为1.25/R,这个电流从OUT流出经R到ADJ,再经负载到地。

计算例子:要做一个350mA的LED恒流源,R = 1.25V / 0.35A = 3.57Ω。选3.6Ω标准值,实际电流约347mA,够用。

2.2 为什么LM317方案精度上不去

LM317的1.25V基准电压本身温漂就有几十ppm/°C,加上ADJ引脚的偏置电流(典型50uA,最大100uA)会分流一部分电流,导致小电流时误差特别大。比如你设定10mA,ADJ偏置电流50uA就占了0.5%,而且这个偏置电流本身还随温度变。

另外LM317的最小工作电流要求是10mA左右,低于这个值它就不稳压了,所以LM317做不了太小的恒流。我实测过,设定5mA的时候电流直接飘到8mA,完全不能用。

实操心得:用LM317做恒流源,电流最好设在20mA以上,低于这个值精度和稳定性都没法保证。如果非要小电流,ADJ脚对地加一个1mA左右的预负载电阻,能改善一些。

2.3 LM317恒流源的实操要点

散热是LM317方案最大的坑。LM317的压差乘以电流就是它自身的功耗。比如输入12V,负载LED压降3.2V,那LM317上要承受12-3.2-1.25=7.55V的压差,乘以350mA就是2.64W。TO-220封装不加散热片的热阻大概50°C/W,2.64W直接让结温升130°C,必炸。

所以用LM317做恒流源,输入电压不能太高,或者必须加足够大的散热片。我一般会先算功耗,超过1W就上散热片,超过3W就换方案。

电阻R的功率也要算。350mA流过3.6Ω,功耗是0.35²×3.6=0.44W,得用1W的电阻,用0.25W的会烧。这个细节很多人忽略。

3. TL431加运放加MOS:高精度恒流源的主力方案

3.1 为什么这个组合能做出0.1%精度

TL431是并联型基准源,2.5V基准的初始精度可以做到0.5%,温漂典型50ppm/°C,好的型号能到20ppm/°C。运放负责比较采样电阻上的电压和TL431的基准电压,MOS管作为调整管。这个架构的好处是基准和调整管分离,各自可以选最优的器件。

电路逻辑:采样电阻Rs串联在负载回路里,运放的同相输入端接TL431产生的2.5V基准(通过分压得到你需要的参考电压),反相输入端接采样电阻上端,运放输出驱动MOS管栅极。运放会调整MOS管导通程度,使得采样电阻上的电压等于参考电压,于是负载电流 = Vref / Rs。

这个架构的精度取决于三个因素:TL431基准精度、采样电阻精度、运放失调电压。三个都可以选很好的器件,所以整体精度能做到0.1%甚至更高。

3.2 采样电阻的选型与计算

采样电阻是恒流源的“标尺”,它的精度和温漂直接决定电流精度。我一般选合金电阻或者精密金属膜电阻,温漂25ppm/°C以内,精度0.1%。

阻值的选择要权衡:阻值大,采样电压大,运放失调影响小,但功耗大、compliance voltage损失大;阻值小则相反。经验法则是让采样电压在100mV到500mV之间。

计算例子:要做一个2A的恒流源,采样电压选200mV,则Rs = 0.2V / 2A = 0.1Ω。功耗 = 2²×0.1 = 0.4W,选1W的2512封装合金电阻。参考电压Vref = 200mV,用TL431的2.5V经分压得到,分压电阻选1%精度的金属膜电阻。

运放的选择很关键。失调电压要小,因为失调电压直接叠加在采样电压上。比如运放失调1mV,采样电压200mV,误差就是0.5%。要0.1%精度,运放失调要小于0.2mV,得选OPA333、ADA4522这类零漂移运放。

3.3 MOS管选型与环路稳定性

MOS管选型看三个参数:Vds耐压、Rds(on)、栅极电荷。Vds要大于最大compliance voltage加裕量。Rds(on)要小,减少压降和功耗。栅极电荷影响环路响应速度。

环路稳定性是这个方案最容易翻车的地方。运放加MOS管构成负反馈环路,如果相位裕度不够就会振荡。振荡的表现是电流纹波大、MOS管发热、甚至啸叫。

我一般会在运放输出和MOS管栅极之间串一个小电阻(10Ω到100Ω),在栅极和源极之间加一个电容(100pF到1nF),构成一个低通,压低高频增益。同时在采样电阻两端并联一个小电容(100nF),滤掉高频噪声。

注意:环路补偿没有万能公式,跟运放带宽、MOS管跨导、PCB布局都有关。我建议先用仿真跑一下环路增益和相位,再实际调试。实测时用示波器看采样电阻上的电压波形,有振荡就加大栅极电容或降低运放带宽。

3.4 一个实际项目的完整参数

我之前做过一个电化学传感器激励用的恒流源,要求100uA精度0.1%,温漂小于50ppm/°C。参数如下:

  • 基准:TL431B(0.5%初始精度,50ppm/°C)
  • 运放:ADA4522-2(失调0.5uV,温漂0.01uV/°C)
  • 采样电阻:100Ω 0.1% 25ppm/°C 金属膜
  • MOS管:2N7002(小电流场合够用)
  • 参考电压:10mV(TL431的2.5V经250:1分压)
  • 供电:12V

这个方案实测精度0.05%,温漂30ppm/°C,完全满足要求。关键点是采样电阻选了100Ω而不是小阻值,因为100uA电流下采样电压10mV,用大阻值能提高信噪比,但要注意运放失调要足够小。

4. 运放加三极管:低成本中等精度方案

4.1 三极管方案和MOS管方案的本质区别

三极管是电流控制器件,基极电流会影响集电极电流,而基极电流本身又是输出电流的一部分(发射极电流 = 集电极电流 + 基极电流),这就引入了误差。MOS管是电压控制器件,栅极几乎不取电流,所以精度更高。

但三极管便宜、驱动简单、低频噪声好,在对成本敏感、精度要求不高的场合还是很常用。比如LED指示灯、小功率充电器、简单的传感器激励。

4.2 三极管恒流源的误差分析

三极管的β值直接影响精度。假设β=100,输出电流100mA,基极电流就是1mA,如果采样电阻接在发射极,那发射极电流是101mA,集电极电流才是100mA。如果你从集电极取输出,误差就是1%。而且β随温度变化,-40°C到85°Cβ可能变化一倍,误差也跟着变。

解决办法是用达林顿管提高β,或者用运放反馈把基极电流也纳入环路。但达林顿管压降大,至少1.2V,compliance voltage损失大。

我一般会在发射极串一个小电阻做负反馈,改善β变化带来的影响。但这样又损失了电压裕量,需要权衡。

4.3 实操中的温度补偿技巧

三极管的Vbe有-2mV/°C的温度系数,如果采样电阻上的电压比较小(比如100mV),Vbe的变化就会显著影响电流。补偿方法是在运放的同相输入端加一个同样温度系数的三极管be结,让两个Vbe变化相互抵消。

具体做法:用一颗和调整管同型号的三极管,基极和集电极短接,接在基准电压和运放同相输入端之间。这样基准电压就叠加了一个Vbe,和调整管的Vbe抵消。这个方法在精密场合很有效,能把温漂从几百ppm降到几十ppm。

实操心得:三极管方案我一般只用在精度2%以内的场合,超过这个要求直接上MOS管方案。省下的调试时间远比省下的几毛钱值钱。

5. 镜像电流源:集成电路内部的经典结构

5.1 镜像电流源的工作原理

镜像电流源是模拟集成电路里最基础的恒流结构,两颗匹配的三极管,基极相连、发射极相连,其中一颗的集电极和基极短接(二极管接法),另一颗的集电极作为输出。因为两颗管子Vbe相同,如果匹配得好,集电极电流就相等。

参考电流由一颗电阻决定:Iref = (Vcc - Vbe) / R。输出电流理论上等于Iref,实际因为基极电流误差和Early效应,会有几个百分点的偏差。

5.2 镜像电流源的精度限制

镜像电流源的精度取决于三极管的匹配度。分立三极管的匹配度很差,Vbe可能差几十mV,导致电流差百分之几十。所以分立器件做镜像电流源基本没法用,它主要是集成电路内部的结构,因为IC上相邻的三极管匹配度可以做到1mV以内。

如果非要用分立器件,得用匹配对管,比如BCM847、MAT02这些,但价格不便宜,还不如直接用运放方案。

镜像电流源的另一个问题是输出阻抗不够高,Early效应导致输出电流随负载电压变化。改进方案是共源共栅镜像(cascode),能提高输出阻抗,但需要更多电压裕量。

5.3 什么时候该用镜像电流源

镜像电流源适合多路相同电流输出的场合,比如给多个传感器提供相同的偏置电流。在IC内部,一个参考电流可以镜像出十几路,每路精度1%左右,非常经济。

分立电路里我基本不用镜像电流源,除非是超低成本、精度要求极低的场合。比如给几颗LED提供大致相同的电流,用匹配对管做镜像,比每路都做一个恒流源省事。

6. 双二极管恒流源:一个被低估的巧妙结构

6.1 双二极管恒流源的原理

双二极管恒流源利用两个二极管的压降差来产生恒流。具体来说,一个二极管的正向压降大约是0.7V,两个二极管串联是1.4V,但如果你让一个二极管流过不同的电流密度,它的压降会变化。利用这个压降差除以一个电阻,就能得到恒流。

更常见的结构是用一颗三极管的be结和一颗二极管串联,利用be结和二极管压降的差异。或者用两颗不同电流密度的二极管。这个结构的温度系数可以通过调整电流密度比来补偿,做到接近零温漂。

6.2 双二极管恒流源的实操计算

假设你用一颗1N4148和一个三极管be结。1N4148在1mA下Vf约0.65V,三极管be结在1mA下Vbe约0.65V,两者差不多,压差接近零,没法用。所以要让两者电流密度不同,比如二极管流过10uA,三极管流过1mA,这样压差可能有100mV左右。

实际电路中,这个压差加在一个电阻上,产生恒流。压差的正温度系数和电阻的负温度系数(如果用普通电阻)可以部分抵消,但很难做到完全补偿。

我实测过这个电路,精度大概1%,温漂200ppm/°C,不算好但也不差。优点是电路极简,两颗管子一个电阻就搞定,适合对成本极度敏感的场合。

6.3 双二极管恒流源的适用场景

这个结构我主要用在两个地方:一是给运放提供偏置电流,精度要求不高但要求简单;二是做电流限制,比如限制某个电路的启动电流。它不适合做精密恒流,但作为“够用就好”的方案,性价比很高。

注意:双二极管恒流源的输出电流对电源电压比较敏感,因为二极管的压降会随电流变化。用的时候最好加一个预稳压,或者用恒流源供电。

7. 开关型恒流源:大电流场合的唯一选择

7.1 为什么大电流必须用开关方案

线性恒流源的调整管始终工作在线性区,压差乘以电流就是功耗。比如做一个5A的恒流源,压差3V,功耗就是15W,得用巨大的散热片,效率只有百分之几十。开关型恒流源用Buck拓扑,调整管工作在开关状态,效率能到90%以上,功耗小、体积小。

Buck型恒流源的原理和Buck稳压一样,只是反馈量从电压变成了电流。采样电阻放在输出回路里,反馈电压正比于输出电流,控制环路调整占空比使电流恒定。

7.2 Buck恒流源的电感选型

电感是Buck恒流源的核心器件,选型要看三个参数:电感量、饱和电流、直流电阻。

电感量决定了电流纹波。纹波电流ΔI = (Vin - Vout) × D / (L × fsw),其中D是占空比,fsw是开关频率。一般让纹波电流为输出电流的20%到40%。比如输出2A,纹波取0.6A,根据公式反推电感量。

饱和电流要大于输出电流加纹波电流的一半,即Iout + ΔI/2。比如2A输出、0.6A纹波,饱和电流要大于2.3A,留20%裕量选2.8A以上。

直流电阻影响效率,越小越好,但太小体积大。一般选DCR在50mΩ以内的。

7.3 开关恒流源的EMI和纹波问题

开关恒流源最大的问题是EMI和输出纹波。开关节点的高dv/dt和di/dt会辐射干扰,输出电流上叠加开关纹波。对于LED驱动,纹波会导致光闪烁;对于电池充电,纹波影响充电质量。

解决办法:输入加π型滤波,开关节点的铜皮面积尽量小,电感选屏蔽型,输出加LC滤波。如果纹波要求高,可以在输出再加一级线性恒流源做后级,构成开关加线性的混合方案,兼顾效率和精度。

我做过一个10A的LED驱动,用Buck恒流加线性后级,效率88%,电流纹波小于1%,效果很好。但成本比纯线性方案高不少,得看项目预算。

8. 六种方案选型决策树与实战建议

8.1 按精度和电流快速定位方案

选型其实就两个维度:精度要求和电流大小。我整理了一个决策流程,照着走基本不会错。

电流范围精度要求推荐方案理由
<10mA一般镜像电流源简单,IC内部常用
<10mA高运放+MOS精度高,失调小
10mA~500mA一般LM317或运放+三极管成本低,够用
10mA~500mA高TL431+运放+MOS精度0.1%可达
500mA~5A一般LM317加散热或Buck看压差和效率
500mA~5A高TL431+运放+MOS线性方案精度高
>5A任意Buck恒流线性方案功耗不可接受

8.2 我踩过的选型坑

第一个坑:用LM317做1A恒流源,没算功耗,结果LM317烫到能煎鸡蛋,加了散热片还是热,最后换成Buck方案才解决。教训是线性方案超过2W功耗就要慎重。

第二个坑:运放+MOS方案,采样电阻选了0.01Ω,采样电压只有10mV,运放失调1mV导致10%误差。后来改成0.1Ω,采样电压100mV,误差降到1%。教训是采样电压不能太小,至少100mV。

第三个坑:Buck恒流源电感选小了,纹波电流达到输出电流的80%,LED闪烁明显。后来电感量加倍,纹波降到30%,问题解决。教训是电感量要按纹波要求算,不能随便选。

第四个坑:TL431方案里TL431的阴极电流没留够,低于1mA导致基准不稳。TL431需要至少1mA的阴极电流才能正常工作,分压电阻要算好。

8.3 元器件选型的几个硬指标

采样电阻:精度0.1%起步,温漂25ppm/°C以内,功率留2倍裕量。合金电阻优于金属膜,但贵。

运放:失调电压小于采样电压的0.1%,温漂小于5uV/°C。零漂移运放(如ADA4522、OPA333)是首选。

基准源:初始精度0.5%以内,温漂50ppm/°C以内。TL431B、LM4040、REF3025都是常用型号。

MOS管:Vds耐压留2倍裕量,Rds(on)在目标电流下压降小于100mV,栅极电荷适中。

电感:饱和电流留20%裕量,DCR尽量小,屏蔽型优先。

实操心得:选型时不要只看datasheet的典型值,要看全温区的最坏值。很多器件的参数在温度极限时会恶化好几倍,常温调好的电路到了高温就飘了。

9. 常见问题排查与调试技巧

9.1 恒流源不恒流的排查思路

恒流源不恒流,先查三个地方:供电电压够不够、采样电阻对不对、环路有没有振荡。

供电电压不够是最常见的。用示波器看调整管两端的电压,如果接近零,说明调整管已经饱和,没有调节余量了。这时候要么提高供电电压,要么减小负载。

采样电阻虚焊或阻值不对也会导致电流不对。用万用表量采样电阻的实际阻值,和标称值对比。

环路振荡表现为电流波动、管子发热、有啸叫。用示波器看采样电阻上的电压波形,有高频振荡就是环路问题,加补偿电容或降低运放带宽。

9.2 温漂问题的定位与解决

温漂大,先分清是基准漂、采样电阻漂还是运放漂。用热风枪或恒温箱给各部分分别加热,看电流变化。

基准漂:换低温漂基准,或者用恒温槽。采样电阻漂:换合金电阻或精密金属膜。运放漂:换零漂移运放。

还有一个容易被忽略的:PCB布局导致的温漂。采样电阻靠近发热器件,局部温度高,阻值变化。解决办法是把采样电阻远离热源,或者用四线制接法消除引线电阻影响。

9.3 常见问题速查表

现象可能原因排查方法解决措施
电流偏大采样电阻偏小万用表量阻值换电阻
电流偏小基准偏低量基准电压换基准或调分压
电流波动环路振荡示波器看波形加补偿
高温电流漂温漂大加热测试换低温漂器件
带载能力差compliance不够量调整管压差提高供电
开机冲击软启动缺失看开机波形加软启动
纹波大滤波不足看纹波波形加LC滤波

9.4 调试时的几个实用技巧

调试恒流源,我习惯先不接负载,用电子负载或者大功率电阻做假负载,从低电流开始调,逐步加到目标电流。这样安全,不会一上来就烧管子。

测电流不要用万用表串联,万用表的内阻会影响恒流源工作。用采样电阻上的电压除以阻值来算电流,或者用电流探头。

调环路时,先用一个大的补偿电容(比如1uF)让环路变慢,确认能稳定工作,再逐步减小电容提高响应速度。这样比一上来就调快更安全。

注意:调试大电流恒流源时,一定要戴护目镜。我见过采样电阻过功率炸开的,碎片飞出来很危险。安全第一。

10. 从恒流源延伸出去的几个设计思路

10.1 恒流源加恒压源做电池充电

锂电池充电需要先恒流后恒压,用一颗运放加MOS管就能实现。恒流阶段运放控制电流,恒压阶段运放控制电压,两个环路通过二极管或逻辑切换。这个结构在充电器里非常常见,理解了恒流源,充电器设计就通了一半。

10.2 恒流源做传感器激励

铂电阻测温、应变片测力、电化学传感器,都需要恒流激励。恒流源的精度直接决定测量精度。我做过一个PT100测温,用TL431加运放加MOS做1mA恒流,测温精度0.1°C,比用恒压分压方案好很多。

10.3 恒流源做LED驱动

LED驱动是恒流源最大的应用市场。从几毫安的指示灯到几十安的舞台灯,恒流源方案从LM317到Buck加线性后级,覆盖了全功率段。做LED驱动,核心就是选对恒流源拓扑和散热方案。

10.4 程控恒流源的设计思路

程控恒流源用DAC代替基准电压,MCU控制DAC输出,就能编程设定电流。关键是DAC的精度和温漂要匹配恒流源的要求。我用过DAC8552加OPA333加MOS管做程控恒流源,0到1A可调,精度0.1%,用于自动化测试设备。

最后分享一个我个人的习惯:每次做恒流源,我都会在采样电阻旁边放一个测试点,方便随时量电压算电流。这个小小的测试点,在调试和排查问题时能省大量时间。还有,恒流源的PCB布局,采样电阻的地线一定要单独走,接到运放的地,不要和功率地混在一起,否则地线上的压降会串进采样回路,精度直接崩。这些都是文档里不会写、但实际项目中决定成败的细节。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询