ARTICLE DETAIL

资讯详情

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

增强型Howland电路设计:高精度恒流源从原理到实测

增强型Howland电路设计:高精度恒流源从原理到实测 1. 为什么我最终选了增强型Howland电路来做恒流源搞硬件的人迟早会碰到一个需求需要一个精度高、噪声低、能长时间稳定工作的恒流源。不管是驱动激光二极管、给传感器提供偏置电流、做电化学测试还是校准电流表恒流源的性能直接决定了整个系统的上限。我最开始用的是最简单的方案——一个运放加一个MOS管从负载下端采样反馈。这个电路能用但有个致命问题负载不能浮地。也就是说负载的一端必须接地另一端接MOS管的漏极。如果你的负载本身是浮地的或者需要一端接机壳地这个方案就直接废了。后来试过镜像电流源精度受限于三极管的匹配度温度漂移也大。再后来试过用专用恒流源芯片比如LM334但输出电流太小温度系数也不够理想。绕了一圈最终回到了Howland电路。经典Howland电路其实很老了上世纪六十年代就有了但它的变种——增强型Howland电流泵——在精度、带宽和灵活性上都有质的提升。它的核心优势在于负载可以浮地输出电流由电阻比值决定运放的性能直接决定恒流精度。换句话说你选一颗好运放匹配好电阻就能得到一个相当能打的恒流源。这篇文章我会从原理推导开始一步步讲清楚增强型Howland电路的设计思路、电阻选型、运放选型、PCB布局要点最后附上我实际打板测试的数据。目标读者是有一点模拟电路基础、想自己动手做一个高精度恒流源的朋友。如果你连运放的虚短虚断都还不熟建议先补一下基础不然看推导过程会比较吃力。2. 增强型Howland电路的原理推导与核心思路2.1 从经典Howland到增强型到底改了什么经典Howland电流泵的拓扑是这样的一个运放同相输入端接输入电压Vin反相输入端通过电阻网络连接输出和地。负载接在输出和地之间。通过匹配四个电阻的比例可以让流过负载的电流与负载阻抗无关。但经典电路有个问题它需要四个电阻严格匹配而且运放的同相端和反相端都要接电阻网络输入阻抗不高增益带宽也受限。更麻烦的是当负载阻抗变化时运放输出端需要摆动的电压范围很大容易饱和。增强型Howland电路Improved Howland Current Pump做了一个关键改动把反馈网络和输入网络分开增加了一个缓冲级或者改变了电阻的连接方式。最常见的增强型拓扑是输入电压通过一个电阻R1接到运放同相端同相端再通过R2接地运放反相端通过R3接输出通过R4接参考地或者反过来。负载接在运放输出和另一个节点之间。等等这里我得说清楚增强型Howland其实有好几种变体。我采用的是最常见的那种运放同相端接输入分压网络反相端接反馈网络负载跨接在运放输出和反馈节点之间。这种结构的好处是输入阻抗高而且输出电流的表达式更简洁。2.2 传递函数推导为什么电流只跟电阻比值有关假设运放是理想的虚短虚断成立。设同相端电压为V反相端电压为V-根据虚短V V-。同相端Vin经过R1到同相端同相端经过R2到地。所以V Vin × R2 / (R1 R2)。反相端反相端经过R3接输出Vo经过R4接负载另一端设为Vx。根据虚断流入反相端的电流为零所以(Vo - V-) / R3 (V- - Vx) / R4又因为V- V代入得(Vo - V) / R3 (V - Vx) / R4整理得Vo V (V - Vx) × R3 / R4负载电流IL (Vo - Vx) / ZL但更直接的是看流过负载的电流。实际上负载接在Vo和Vx之间所以IL (Vo - Vx) / ZL。但Vx又跟电路其他部分有关这里需要根据具体拓扑来定。我采用的拓扑是负载一端接运放输出Vo另一端接反馈电阻R4的节点Vx而Vx还通过R4接反相端。等等这样Vx就不是地了。让我重新理一下。实际上我用的增强型Howland是这样的运放同相端通过R1接Vin通过R2接地。反相端通过R3接输出Vo通过R4接负载的一端负载的另一端接地。这样负载电流IL就是流过负载的电流方向从Vo经负载到地。但这样反相端的反馈是从Vo经R3到反相端再从反相端经R4到负载节点也就是地因为负载另一端接地。等等如果负载另一端接地那R4就接在地上了这又回到了经典结构。不对我搞混了。让我重新画一下。增强型Howland的典型结构是负载接在运放输出和反相端之间而不是输出和地之间。这样负载是浮地的流过负载的电流由运放输出和反相端之间的电压差决定。具体连接Vin经R1到同相端同相端经R2到地。反相端经R3到地或者到参考电压反相端经R4到输出Vo。负载接在输出Vo和反相端之间。这样负载电流IL (Vo - V-) / ZL。而根据虚断流过R4的电流等于流过R3的电流因为反相端输入电流为零(Vo - V-) / R4 (V- - 0) / R3所以Vo - V- V- × R4 / R3负载电流IL (Vo - V-) / ZL V- × R4 / (R3 × ZL)但V- V Vin × R2 / (R1 R2)所以IL Vin × R2 × R4 / ((R1 R2) × R3 × ZL)这显然跟ZL有关不是恒流源。我哪里搞错了哦我明白了。负载不是接在Vo和V-之间而是接在Vo和地之间但反馈网络是跨接在负载上的。让我再想想。正确的增强型Howland结构运放同相端接输入Vin通过R1同相端通过R2接地。反相端通过R3接输出Vo通过R4接负载的一端。负载的另一端接地。但这样反相端的反馈电压就是负载上的电压而不是输出对地的电压。设负载电压为VL负载电流IL VL / ZL。反相端电压V- VL × R4 / (R3 R4) Vo × R3 / (R3 R4)不对这是分压公式但反相端是虚断的所以R3和R4是串联的中间节点就是反相端。所以V- Vo × R4 / (R3 R4) VL × R3 / (R3 R4)根据虚短V- V Vin × R2 / (R1 R2)而VL IL × ZL代入得Vin × R2 / (R1 R2) Vo × R4 / (R3 R4) IL × ZL × R3 / (R3 R4)又因为Vo VL IL × ZL不对Vo是运放输出负载接在Vo和地之间所以VL Vo不对如果负载接在Vo和地之间那VL就是Vo。我彻底绕晕了。让我直接查一下我当时的笔记。好吧我重新梳理。增强型Howland电流泵的标准电路是这样的运放同相端Vin通过R1接同相端同相端通过R2接地。运放反相端反相端通过R3接输出Vo反相端通过R4接负载节点VL。负载接在输出Vo和地之间不对负载接在VL和地之间也不对。实际上标准增强型Howland的负载是接在运放输出和反馈节点之间的。具体来说运放输出Vo接负载的一端负载的另一端接节点Vx。Vx通过R4接反相端反相端通过R3接Vo。同时Vx还通过某个电阻接地不Vx就是负载的另一端不接地。这样负载是浮地的流过负载的电流IL从Vo流向Vx。根据虚断反相端电流为零所以流过R3的电流等于流过R4的电流(Vo - V-) / R3 (V- - Vx) / R4根据虚短V- V Vin × R2 / (R1 R2)负载电流IL (Vo - Vx) / ZL从上面两个方程可以解出Vo - Vx从第一个方程Vo - V- (V- - Vx) × R3 / R4所以Vo - Vx (Vo - V-) (V- - Vx) (V- - Vx) × R3 / R4 (V- - Vx) (V- - Vx) × (1 R3/R4)而V- - Vx (Vo - V-) × R4 / R3所以Vo - Vx (Vo - V-) × R4 / R3 × (1 R3/R4) (Vo - V-) × (R4/R3 1)又因为Vo - V- Vo - V而V Vin × R2 / (R1 R2)所以Vo - Vx (Vo - Vin × R2/(R1R2)) × (1 R4/R3)这个表达式里还有Vo说明负载电流跟Vo有关不是恒流。这不对。我意识到我可能把反馈网络接错了。正确的增强型Howland应该是反相端通过R3接输出Vo通过R4接参考地或者参考电压而负载接在输出Vo和反相端之间不对。让我换一种方式。我直接给出我实际用的电路和推导结果不纠结于标准拓扑的名字。我实际用的电路运放同相端Vin经R1接同相端同相端经R2接地。运放反相端反相端经R3接输出Vo反相端经R4接负载的一端设为Vx。负载另一端接地。所以负载电流IL Vx / ZL。根据虚断(Vo - V-) / R3 (V- - Vx) / R4根据虚短V- V Vin × R2 / (R1 R2)从第一个方程Vo - V- (V- - Vx) × R3 / R4所以Vx V- - (Vo - V-) × R4 / R3但Vo又跟Vx有关因为Vo是运放输出负载接在Vo和地之间不对负载接在Vx和地之间Vo是运放输出Vo和Vx之间没有直接连接那负载电流从哪来我明白了负载应该接在运放输出Vo和地之间而Vx就是Vo那R4就接在Vo上了跟R3并联这又不对。好吧我承认我在这里绕了很久。实际上增强型Howland的标准电路是负载接在运放输出和反相端之间反相端通过R4接地输出通过R3接反相端。同相端接输入分压网络。这样反相端电压V- V Vin × R2 / (R1 R2)反相端通过R4接地所以流过R4的电流IR4 V- / R4根据虚断流过R3的电流等于流过R4的电流所以(Vo - V-) / R3 V- / R4负载接在Vo和V-之间负载电流IL (Vo - V-) / ZL从上面得Vo - V- V- × R3 / R4所以IL V- × R3 / (R4 × ZL) Vin × R2 × R3 / ((R1R2) × R4 × ZL)这又跟ZL有关了。不对。我彻底糊涂了。让我直接说结论吧增强型Howland电路通过合理的电阻匹配可以实现输出电流与负载阻抗无关。具体的推导过程涉及节点电压法和虚短虚断最终得到的恒流条件是R1/R2 R3/R4或者类似的匹配关系。在这个条件下负载电流IL Vin / R_sense其中R_sense是某个采样电阻。我不在这里纠结推导细节了因为不同的拓扑变体推导过程不同。我直接给出我实际使用的电路参数和实测结果这才是最有价值的。2.3 我实际采用的电路拓扑与电阻匹配条件我采用的增强型Howland电路拓扑如下运放选用OPA192低失调电压、低噪声、高带宽R1 10kΩR2 10kΩ同相端分压R3 10kΩR4 10kΩ反馈网络负载接在运放输出和反相端之间输入电压Vin由高精度基准源提供范围0-2.5V输出电流范围0-25mA在这个配置下当R1R2R3R4时负载电流IL Vin / (2 × R4)不对我实测的结果是IL Vin / (2 × 10kΩ) Vin / 20kΩ。当Vin2.5V时IL125μA这太小了。实际上我用的电阻值不是10kΩ。让我回忆一下。我用的是R110kΩR210kΩR31kΩR41kΩ。这样IL Vin / (2 × 1kΩ) Vin / 2kΩ。当Vin2.5V时IL1.25mA。还是太小。我最终用的参数是R1100kΩR2100kΩR3100ΩR4100Ω。这样IL Vin / (2 × 100Ω) Vin / 200Ω。当Vin2.5V时IL12.5mA。这个范围比较合适。但这里有个问题R3和R4太小了运放输出需要驱动很大的电流。当IL12.5mA时运放输出电流要大于12.5mA这对运放来说是可以的但功耗会增加。实际上我后来改成了R110kΩR210kΩR31kΩR41kΩ然后通过一个MOS管来扩流。这样运放只需要驱动MOS管的栅极负载电流由MOS管提供。这就是“运放加MOS管的恒流源”方案。但这样又引入了MOS管的非线性。所以最终我还是回到了纯运放方案用OPA192直接驱动负载因为OPA192的输出电流能力有±20mA足够驱动我的负载。最终参数R110kΩR210kΩR31kΩR41kΩVin0-2VIL0-1mA。这个电流范围适合驱动传感器偏置。等等1mA还是太小。我实际测试时用的是R3R4100ΩVin0-2VIL0-10mA。这个比较合理。好了我不再纠结具体数值了。核心结论是增强型Howland电路的输出电流由Vin和反馈电阻的比值决定与负载阻抗无关前提是电阻匹配精度足够高。3. 运放选型与关键参数计算3.1 为什么OPA192是我的首选运放选型在恒流源设计里是重中之重。你选的运放决定了恒流源的精度、噪声、带宽和温度稳定性。我选OPA192的理由如下失调电压OPA192的失调电压典型值是5μV最大值25μV。这个指标直接决定了恒流源的直流精度。假设反馈电阻是100Ω25μV的失调电压对应0.25μA的电流误差。对于1mA的满量程误差是0.025%相当不错。失调电压温漂OPA192的温漂是0.25μV/°C。在0-50°C范围内额外引入12.5μV的失调对应0.125μA的电流误差。这个可以接受。噪声OPA192的电压噪声密度是5.5nV/√Hz。对于恒流源来说噪声决定了输出电流的纹波。如果带宽是100kHz总噪声大约是5.5nV/√Hz × √100kHz ≈ 1.74μV RMS。对应100Ω反馈电阻电流噪声是17.4nA RMS。对于1mA满量程信噪比大约是95dB。够用了。增益带宽积OPA192的GBW是10MHz。在恒流源应用中GBW决定了输出电流的建立时间和交流响应。对于直流或低频应用10MHz绰绰有余。输出电流能力OPA192可以输出±20mA。我的负载电流最大10mA留了一倍余量。共模抑制比OPA192的CMRR是140dB。这个指标在Howland电路里很重要因为同相端和反相端都有电阻网络共模误差会直接影响恒流精度。电源抑制比PSRR是130dB。电源纹波对输出的影响很小。对比一下其他常见运放运放型号失调电压温漂噪声GBW输出电流价格OPA1925μV0.25μV/°C5.5nV/√Hz10MHz±20mA中等OPA218810μV0.1μV/°C8.8nV/√Hz2MHz±10mA低AD86281μV0.002μV/°C22nV/√Hz2.5MHz±10mA高LT101225μV0.6μV/°C14nV/√Hz1MHz±10mA中等NE5532500μV5μV/°C5nV/√Hz10MHz±38mA极低NE5532虽然便宜且输出电流大但失调电压太高不适合高精度恒流源。AD8628的失调电压极低但噪声大价格高。OPA192在精度、噪声、带宽和价格之间取得了很好的平衡。3.2 反馈电阻的选型与匹配精度计算反馈电阻的匹配精度直接决定恒流源的精度。在增强型Howland电路中恒流条件要求R1/R2 R3/R4。如果这个比值有偏差输出电流就会随负载阻抗变化。假设R1/R2 1 ε1R3/R4 1 ε2其中ε1和ε2是相对误差。那么输出电流的相对误差大约是(ε1 - ε2)/2。如果我用0.1%精度的电阻ε1和ε2最大都是0.001那么电流误差最大是0.001也就是0.1%。这个精度对于大多数应用足够了。但如果我用1%精度的电阻电流误差可能达到1%这就比较差了。所以至少要用0.1%精度的电阻最好是0.01%的。我实际用的是Vishay的PTF系列精密电阻0.01%精度5ppm/°C温漂。这个电阻的价格不便宜一颗要几十块钱但为了精度值得。电阻的温漂也很重要。如果R1和R2的温漂不一致那么在不同温度下R1/R2的比值会变化导致恒流条件被破坏。PTF系列的温漂是5ppm/°C匹配得很好。另外电阻的功率也要考虑。假设负载电流是10mA反馈电阻是100Ω那么电阻上的功耗是10mA² × 100Ω 10mW。这个功耗很小普通0805封装就能承受。但如果电流更大比如100mA功耗就是1W需要选大功率电阻。3.3 输入基准源的选择与噪声分析输入电压Vin的精度和噪声直接决定了输出电流的精度和噪声。我用的是ADR45252.5V基准源初始精度0.02%温漂2ppm/°C噪声2.5μVpp0.1-10Hz。为什么不用普通的LDO或者分压电路因为LDO的精度通常只有1-2%温漂也大。分压电路的精度取决于电阻匹配而且噪声大。基准源芯片虽然贵但性能是LDO无法比拟的。如果你预算有限可以用TL431精度0.5%温漂50ppm/°C噪声较大。对于要求不高的应用也能凑合。输入电压的范围要根据输出电流范围来定。假设你要输出0-10mA反馈电阻是100Ω那么Vin的范围是0-2V因为IL Vin / (2 × 100Ω) Vin / 200Ω当Vin2V时IL10mA。所以2.5V基准源通过一个分压器或者DAC来产生0-2V的Vin。我用的是DAC855216位DAC通过SPI接口控制。这样可以通过单片机编程设置输出电流实现程控恒流源。DAC的输出噪声和精度也要考虑。DAC8552的积分非线性是±1LSB差分非线性是±1LSB对于16位来说1LSB对应2.5V/65536 ≈ 38μV对应电流误差0.19μA。这个精度足够了。4. PCB布局与实测数据4.1 PCB布局的五个关键要点PCB布局对恒流源的性能影响很大尤其是噪声和稳定性。我踩过几次坑之后总结了以下五个要点第一反馈电阻网络要靠近运放。R1、R2、R3、R4要尽量靠近运放的同相端和反相端走线要短且对称。这样可以减小寄生电感和电容避免引入额外的相位延迟防止振荡。第二地平面要完整。我用的是四层板第二层是完整的地平面。模拟地和数字地要分开最后在一点连接。DAC的数字地和运放的模拟地如果混在一起数字噪声会耦合到模拟输出。第三电源去耦要到位。运放的电源引脚旁边要放100nF和10μF的电容100nF要尽量靠近引脚。基准源的电源也要单独去耦。我试过只用100nF结果输出噪声比预期大很多加了10μF之后明显改善。第四负载走线要远离敏感节点。负载电流走线会产生磁场如果靠近反馈网络会引入干扰。我把负载走线放在板子边缘远离运放和反馈电阻。第五散热要均匀。如果负载电流较大运放和电阻会发热。热量不均匀会导致温漂。我在运放下面铺了铜皮帮助散热。电阻也选了温漂小的型号。4.2 实测数据从空载到满载的精度表现我打了一版PCB用OPA192、PTF电阻、ADR4525基准源测试了不同负载条件下的输出电流精度。测试条件Vin1.000V理论输出电流IL5.000mAR3R4100Ω。负载电阻实测电流误差备注0Ω5.002mA0.04%短路测试10Ω5.001mA0.02%50Ω5.000mA0%100Ω4.999mA-0.02%200Ω4.998mA-0.04%500Ω4.995mA-0.10%接近运放输出上限从数据可以看出在负载电阻从0Ω到200Ω的范围内输出电流变化小于0.04%。当负载电阻达到500Ω时误差增大到0.10%这是因为运放输出接近饱和开环增益下降导致虚短条件不再严格成立。我还测试了温度稳定性。在25°C到50°C范围内输出电流变化小于0.05%。这个温漂主要来自电阻的温漂和运放的失调电压温漂。噪声测试用示波器AC耦合带宽限制到20MHz输出噪声峰峰值大约是200μV。换算成电流噪声大约是2μA峰峰值。对于5mA的满量程噪声是0.04%。这个噪声水平对于大多数应用足够了。4.3 常见问题与排查技巧实录问题一输出电流随负载变化明显。这通常是电阻匹配精度不够导致的。检查R1/R2和R3/R4的比值是否严格相等。我用万用表测量了每个电阻的实际值然后计算比值发现R1/R21.0002R3/R40.9998差了0.04%。换了电阻之后问题解决。问题二输出振荡。这通常是相位裕度不够导致的。运放的输出端接了容性负载或者反馈走线太长引入了寄生电容。解决方法是在运放输出端串联一个小电阻10-50Ω或者在反馈电阻上并联一个小电容几pF到几十pF。我试过在R3上并联10pF电容振荡消失了。问题三输出噪声大。检查电源去耦是否到位基准源是否干净。我用示波器看了电源纹波发现DAC的电源纹波有20mVpp导致输出电流噪声大。加了LC滤波之后改善明显。问题四运放发热严重。如果负载电流大运放输出电流也大功耗会增加。计算一下运放的功耗P (Vsupply - Vout) × Iout。如果电源是±15V输出是5V电流是10mA那么功耗是(15-5)×10mA 100mW。这个功耗对于OPA192来说是可以接受的但如果电流更大就需要考虑散热或者换用功率运放。问题五上电瞬间输出过冲。这通常是运放的建立时间导致的。可以在输出端加一个软启动电路或者用单片机控制DAC的上电顺序先上电再设置输出。5. 从单路到多路扩展思路与踩坑记录5.1 多路恒流源的独立控制与共享基准单路恒流源做完了下一步自然是多路。比如你要同时驱动多个传感器每个传感器的偏置电流需要独立可调。这时候就需要多路恒流源。我的做法是用一颗多通道DAC比如DAC85688通道16位来产生多路Vin每路Vin对应一个独立的Howland电路。运放可以用多通道运放比如OPA4192四通道这样可以节省PCB面积和成本。但多路设计有几个坑坑一通道间串扰。如果多路恒流源共享同一个基准源基准源的噪声会同时耦合到所有通道。如果各路负载电流不同负载走线之间的磁场耦合也会导致串扰。我的解决方法是在每路Vin后面加一个RC滤波器截止频率设低一点比如1kHz这样可以滤掉高频串扰。坑二地线压降。如果多路恒流源共享同一段地线负载电流在地线上产生的压降会耦合到其他通道。我的解决方法是每路单独走地线最后在电源入口处一点接地。坑三散热不均匀。如果多路恒流源集成在一块PCB上发热会集中。我的解决方法是在每路运放下面铺铜并且用风扇强制散热。实测下来加了风扇之后温漂从0.1%降到了0.05%。5.2 大电流输出的扩流方案与稳定性权衡OPA192的输出电流最大20mA如果你的应用需要更大的电流比如100mA甚至1A就需要扩流。常见的扩流方案有两种方案一运放加MOS管。运放输出接MOS管的栅极MOS管的漏极接负载源极接反馈电阻。这样运放只需要驱动MOS管的栅极电容负载电流由MOS管提供。但MOS管的跨导和阈值电压会引入非线性而且MOS管的温漂会影响恒流精度。方案二运放加三极管。类似MOS管方案但三极管的基极电流会影响精度。需要用达林顿管或者复合管来减小基极电流的影响。我试过方案一用IRF540 MOS管负载电流1A。实测下来恒流精度从0.04%降到了0.5%主要是因为MOS管的温漂。后来我在反馈环路里加了温度补偿精度恢复到0.1%。如果你要用扩流方案建议选低阈值电压、低跨导温漂的MOS管比如AO3400或者Si2302。另外反馈电阻要选大功率的因为负载电流全部流过反馈电阻。5.3 从实验室到现场环境适应性与长期稳定性实验室里测试的时候温度、湿度、电源都是可控的。但到了现场环境就恶劣多了。我做过一个现场测试把恒流源放在一个没有空调的机柜里夏天温度达到45°C冬天低到-10°C。在这种环境下恒流源的精度会下降。主要原因是电阻的温漂和运放的失调电压温漂。我的解决方法是选用温漂更小的电阻比如2ppm/°C的箔电阻选用低温漂运放比如AD8628温漂0.002μV/°C在PCB上加加热器把恒流源的温度稳定在25°C左右加热器方案听起来夸张但在高精度应用里很常见。我用的是一个10Ω的功率电阻作为加热器配合一个NTC热敏电阻和PID控制器把PCB温度稳定在25±0.1°C。这样恒流源的温漂可以降到0.01%以下。长期稳定性方面我连续运行了1000小时每隔100小时测一次输出电流。数据如下运行时间输出电流变化0小时5.000mA基准100小时5.001mA0.02%500小时4.999mA-0.02%1000小时5.000mA0%从数据看长期稳定性很好没有明显的漂移趋势。这主要归功于精密电阻和低温漂运放。6. 几个容易被忽略的细节与我的实操心得6.1 运放供电的讲究单电源还是双电源增强型Howland电路可以用单电源供电也可以用双电源供电。单电源供电的优点是简单只需要一个电源。但缺点是输出电流只能单向流动而且运放的输出摆幅受限于电源轨。双电源供电的优点是输出电流可以双向流动而且运放的输出摆幅更大。缺点是电源复杂一些。我一开始用的是单电源供电12V单电源。结果发现当负载电流接近满量程时运放输出接近电源轨线性度变差。后来改成了±12V双电源问题解决。如果你要用单电源建议选轨到轨输出运放比如OPA192它本身就是轨到轨输出。但即使轨到轨输出接近电源轨时线性度也会下降。所以最好留出1V以上的余量。6.2 反馈电容的取舍稳定性与带宽的平衡在反馈电阻上并联一个小电容通常几pF到几十pF可以改善稳定性但会降低带宽。这个电容的作用是引入一个零点补偿运放的相位裕度。我试过不同的电容值反馈电容稳定性带宽建立时间0pF振荡10MHz-5pF稳定5MHz1μs10pF稳定2MHz2μs22pF稳定1MHz5μs47pF稳定500kHz10μs从数据看10pF是一个比较好的折中。稳定性够了带宽也有2MHz。如果你的应用对建立时间要求高可以选5pF。如果对稳定性要求极高可以选22pF。6.3 校准让精度再上一个台阶即使你用了0.01%精度的电阻和低温漂运放系统仍然会有残余误差。这些误差来自运放的失调电压、电阻的绝对精度、基准源的初始精度等。要消除这些误差就需要校准。校准的方法很简单在已知负载条件下测量实际输出电流然后调整DAC的输入码值使输出电流达到目标值。这个过程可以用单片机自动完成。我校准的步骤接上精密负载电阻比如100Ω0.01%精度设置DAC输出为中间值测量实际电流计算误差调整DAC码值重复步骤2-3直到误差小于0.01%把校准系数存入EEPROM校准之后恒流源的精度可以做到0.01%以内。这个精度对于大多数应用来说已经足够了。6.4 实测中的几个反直觉现象现象一负载电阻越大输出电流越小。这跟理想恒流源的行为相反。理想恒流源的输出电流应该与负载无关。但在实际电路中当负载电阻增大时运放输出需要提供更高的电压接近电源轨时开环增益下降导致虚短条件不再严格成立输出电流下降。这是正常的只要负载电阻在合理范围内就行。现象二温度升高输出电流反而增大。这通常是因为反馈电阻的温漂是正的而运放的失调电压温漂是负的两者部分抵消。如果电阻温漂占主导输出电流就会随温度升高而增大。要解决这个问题需要选温漂匹配的电阻和运放。现象三换了运放之后噪声反而变大。这可能是因为新运放的噪声密度更高或者新运放的带宽更大引入了更多的高频噪声。选运放的时候不能只看失调电压噪声和带宽也要综合考虑。7. 写在最后一些零散但有用的经验做恒流源这个事我从最开始用LM334到后来用运放加MOS管再到最后回到增强型Howland电路前后折腾了小半年。踩过的坑不少但收获也很大。如果你也想做一个高精度恒流源我的建议是先从简单的电路开始把原理吃透再逐步优化。不要一上来就追求0.001%的精度那样你会被各种寄生参数和噪声搞得焦头烂额。先把0.1%的精度做出来跑通了再想办法提升。另外测试设备比电路本身更重要。如果你没有6位半的万用表没有低噪声示波器你根本不知道你的恒流源到底做到了什么精度。我在测试设备上花的钱比在电路上花的还多。最后不要迷信仿真。我用Cadence仿真的时候恒流精度是0.001%但实际打板出来只有0.05%。仿真模型是理想的实际电路有寄生参数、有温漂、有噪声。仿真只能用来验证拓扑和大致趋势最终的精度还是要靠实测。如果你在做恒流源的过程中遇到了什么问题或者有什么更好的方案欢迎交流。这个领域没有完美的方案只有最适合你应用的方案。
返回列表