DIY a Current Source Step by Step

一步一步做个电流源

本文最原先发表于amoBBS,作者为shichen717,现在似乎已经不太活动了.原文的地址为:https://www.amobbs.com/thread-3656814-1-1.html. 文章写的很棒,但是由于BBS现在死的死没得没,怕后面没得了在这做下整理和备份.不可否认的是,在现在的这个年代,原文的技术有着一定的局限性,例如随着斩波运放的发展,对于失调电压的问题逐渐的变得不那么显著,而现代线性稳压器的产生,使得电源的供电问题也没有那么的大,但是并不影响他比较详细的介绍了大部分模拟方向的相关知识.全文1w多字的容量,对低频/直流模拟电路各个方向均有所介绍.但是非常可惜的是,在最后没有对PCB的设计进行细致的讲解,但是仍然不妨碍他成为模拟领域不可多的学习材料

如何选择采样电阻

下图是易于实现数控的直流电流源.

image-20220208093541828

易于实现数控的直流电流源

假设运放有理想输出能力,如果输出电流100mA,采样电阻R~sample~的大小取值有何讲究?

如果R~sample~过大,将导致:

  1. 采样功率过高,对R~sample~温度稳定要求高,因而成本呈指数提高.如果R~sample~=1Ω,V~sample~=1V,P~sample~=100mW,对于精密应用而言,电阻耗散100mW通常是难以接受的采样功率.
  2. R~L~上的电压动态范围减小,减小R~L~电阻上限.但对运放和Vin调理电路的要求相应降低.

如果R~sample~过小,将导致运放的种种误差显现:

  1. V~OS~的漂移与Vin可比,造成输出电流误差.
    解释:R~sample~=0.1Ω,V~sample~=10mV,如果使用LM324,V~OSmax~=3mV,潜在直流误差30%;V~OS~/dT~max~=30uV/℃,10℃温度变化引起潜在误差3%.
  2. 电路增益过高,运放噪声放大,R~L~上电压基本不变,造成R~L~上的电压噪声增大,导致R~L~上电流噪声增大.
  3. 对运放要求提高,因而成本呈线性提高.
  4. 对处理Vin的调理电路要求提高,因而提高成本.但对R~sample~的要求相应降低.

电流源需要采样电流进行反馈,虽然也有其他方法采样,但最稳定也是最准确的方法仍然是电阻采样.

普及知识:用于采样的电阻功率至少大于采样功率20倍以上,才不致由于发热造成明显的漂移.

继续上次,100mA级的电流是很常用的电流值,但对于电阻采样而言通常也是比较尴尬的电流值.

A级的电流通常不要求太高准确度,使用分流器采样为主,只要功率足够即可.mA/10mA级的电流相对简单,由于不产生显著的采样功率,因此通常的精密金属膜电阻都可满足要求.100mA级的电流不大不小,用分流器没有这么大的阻值,用精密金属膜电阻没有这么大功率.

解决方法:

  1. 降低采样电压,使用小阻值
  2. 降低采样功率,同功率下,阻值尽量大

看似矛盾,其实很简单,并联多个精密金属膜电阻.

实例:100mA,采样电阻4只12Ω0.1%1/4W25ppmmax金属膜电阻并联,等效电阻3Ω,采样电压300mV,采样总功率30mW,每只电阻功率7.5mW.

采用这种方法需要在PCB上多下功夫,一定牢记铜也有电阻,而且铜本身可做温度传感器.通常0.1%的精度不是必要的,但温度漂移一定要小.然而实际电阻产品的精度和漂移基本是对应的,买电阻时除了功率外一定着重询问.此外,电阻出厂前经过老化最好,无老化的电阻通常便宜一些,但通电后几天内性能多少会有些变化.

注意你的负载之一(阻性范围)

如果R~L~是纯电阻,基本可以分为以下2种情况:

  1. R~L~<<R~sample~:运放看到的增益约为1,如果运放单位增益不甚稳定,例如LF357,电路可能振荡.

  2. 对于某些运放,如LM1875,需要20倍以上增益才可稳定,此时要求R~L~>=10R~sample~.

否则,如下图所示,1/F与A~open~交点斜率差为40dB/dec,电路将振荡.为保证足够的相位裕量,通常要求两者交点斜率差最大为20dB/dec.
image-20220207231222633

然而,源是不能挑选负载的,除非超出源的能力,例如电压源有输出电流限制,而电流源有输出电压限制.对于第一种情况,通过运放的外部补偿即可消除,由于现代运放都具有0dB稳定性,因此不作为讨论重点.对于第二种情况,需要在反馈通路引入适当的频率补偿,由于通常补偿元件并联在R~L~两端,因此称为输出减振器.对于电阻性负载,输出减振器即电容,通过在反馈回路中引入零点z,从而达到稳定,但将限制反馈系统带宽.

image-20220207231325844
补偿后,如下图所示,1/F与A~open~交点斜率差为20dB/dec.

image-20220207231346166

零点频率坛友自己计算,很简单.零点的选择根据运放的A~open~各转折频率点选择.为保证各种负载电阻下均达到稳定,通常零点选在较低频率,将牺牲部分频率响应.虽然第二种情况很少在实际中应用,例如1875做的电流源温度漂移严重,但作为频率补偿的范例可作为后续的准备知识.

编者注:A~open~指的是开环的增益,$$A_{open}=G_mR_O$$

注意你的负载之二(感性负载)

和化学,物理方法产生的电能不同,依赖反馈理论的电源都会有先天的恐惧症.与电压源害怕遇到电容性负载类似,电流源遇到电感性负载时也须谨慎处理.

题外话:似乎所有稳压电源都会在输出有电容,与上面的话冲突.其实稳压电源也做过补偿,况且10uF量级的电容以足够大,普通的电压源能量无法带动10uF在特定频率上以很大的幅度振荡,但并非不振只是幅度很小,很像纹波.这就是为什么坛里坛外有些diy电源会产生莫名其妙的“纹波”和“噪声”的原因.

电流源的负载除了电阻和二极管以外,更多的应用就是电感,变压器,螺线管,电磁铁,空心线圈,亥姆霍兹线圈...,其中很多电感性负载能达到H级.即使是小的电感,如果要求电流源响应速度很高,也有同样的问题.坛里有同惠的朋友,大家可向他请教,同惠某系列的电流源专为电感偏流的,同时又有很宽的频率响应范围.

R~L~是有直流电阻的电感,暂用(L~L~+R~L~)代替,(L~L~+R~L~)会使反馈系数F出现极点p~L~,对应的1/F出现零点,导致振荡.p~L~的频率点各位自己计算.

image-20220208085426169

解决的办法还是补偿,只要在反馈系数F上引入一个零点z~L~,使1/F对应出现一个极点,从而使交点处的1/F曲线斜率为0.

image-20220208085444587

还是在输出减振器上做了文章,但一般不推荐直接用电容,虽然电感内阻已经是一次阻尼,但仍会导致校正后的1/F曲线在LC谐振频率附近莫名其妙.通常的方法要给电容也加一点阻尼,串联一个小电阻R,1-100Ω,视实际应用中的频响曲线和C的取值而定.一般而言,10kHz以下的应用C=0.1uF,R=3Ω/1W.

image-20220208085503385

很奇怪为什么用1W的电阻,R里通常不走电流,做过音响功放的应该有点体会,这里不再详述.

负载的问题已经完成,好像还缺电容没有讨论,给个公式CV=It,考虑考虑看.电流源不太怕电容的.

这两部分关于负载的问题,大家好像都不太感觉兴趣,与烙铁太远了.其实都是学校里很少见到的,工程上优先考虑的事项.模电老师自己没做过东西的,自然不会给讲这个,这就是为什么学校作品通常很难变成产品的原因.

实际的运放

模型说了这么多,还没和实际的沾上边儿,这一部分将考虑实际器件.

通常的运放最高能输出35mA(我见过的,勿疑),而且到达最大输出电流时,运放几乎进入饱和状态,已失去大多数可圈可点的性能.当然,功率运放可输出5A以上的电流,但功率运放的直流特性不大好,集中于V~OS~和dV~OS~/dT,有兴趣的坛友可查看LM1875的datasheet,其余类推.由于功率运放的V~OS~已和V~sample~可比,因此一般不推荐单独使用.

一般而言,依照运放自身的设计原则,运放输出电流应尽量控制在1mA以内,否则:

  1. 加上自身偏置电流,运放可能发热,造成输出漂移.
  2. 由于集电极/发射极串联电阻的作用,大电流输出造成运放输出级状态不佳,主要是VCE过低,IC过大,造成电流增益下降,具体参见任意NPN/PNPdatasheet中的输出特性曲线.
  3. 加重中间级负载,造成运放对高频大信号的响应能力下降.

对于大于1mA的电流,应该扩流.

image-20220208085553150

扩流方法很多,最常见方法如下:

  1. 使用现成的单位增益缓冲器:例如LT1010,最大输出150mA.
  2. 参照运放内部电路:扩流最简单的办法是共集电级乙类推挽输出级,就是NPN和PNP构成的射随器组合,对于20V/100mA而言须选择10W左右的中功率管.实际是第一种方法的简化方法.
  3. 使用具有电压增益的功率运放电路扩流:这是一种豪华的方法,具有相当好的动态性能,很多Agilent高级系统仪器均采用这种方法,当然功率运放是分立的.由于扩流电路具有电压增益,因此对运放的SR要求降低,整体电路的直流性能决定于运放,克服了功率运放的V~OS~问题.但这种电路调试比较麻烦,容易振荡,需要设计者经验丰富.

显见,考虑性价比,如果只考虑将电流源作为稳定驱动,而不考虑动态性能(例如脉冲电流源),第2种方法是相当好的选择.

一定有人推荐,最好使用甲乙类输出以避免交越失真,也可,但对直流源实无必要.

image-20220208085636754

上述电路都可工作于I,II,III,IV象限.针对一般的用途,事实上需要四象限均可工作的电流源的场合非常少,通常只需I象限工作即可(I~o~>0,V~o~>0),如果不考虑动态性能,可将推挽输出级PNP一侧去掉,简化为单臂输出.

这次的简化牺牲了输出电流下降沿性能,但对于直流稳定源无大碍.

坛友可参考Agilent36xx系列用户手册,下降沿和上升沿响应速率的巨大差异.36xx均为单臂电源.

image-20220208085651325

图中运放使用了双电源.运放可单电源也可双电源工作,推荐使用双电源,原因如下:

  1. A~open~(V~in+~-V~in-~)=V~o~是运放的基本公式,通常认为A~open~无穷大,但实际运放最高不过140dB(ICL7650),有的运放甚至只有几千(TL061).
    变换公式得到(V~in+~-V~in-~)=Vo/A~open~,一定记住,其中所有的电压都是以双电源中点为参考地.而(V~in+~-V~in-~)就是运放误差.
    单电源工作时,V~o~=1/2VCC时才能达到误差最小,双电源工作时V~o~=1/2(VCC-VEE)=0时误差最低,相对而言,后者更好把握,此问题在后面有实际应用方法解决.
  2. 即使轨到轨运放也无法达到输入/输出绝对到轨,因此需要输入/输出为0时会出一些令人烦恼的问题,使用双电源可避免这些问题,从而集中精力考虑重点.

似乎还有问题

电路基本成型了,还有什么问题?
一般而言,设计到这个地步,设计工作可到一段落.然而仔细分析,仍有不甚完美之处.

普及知识:电流源和电压源都是互补对应的.首先看看电压源:

  1. 对电容性负载敏感,对电感比较无所谓.
  2. 有最大电流限制,短路时输出电流受电压源的电源的电流能力限制.
  3. 负载并联在输出端和地之间.

对应于电流源:

  1. 对电感性负载敏感,对电容比较无所谓
  2. 有最大电压限制,开路时输出电压受电流源的电源的电压能力限制.
  3. ...

第3点是个问题,已经得到的电流源的负载接在输出端和采样电阻之间,而且参与反馈,因而造成如下问题.

  1. 负载调节率:试想负载的变化范围由0-100Ω,运放输出端电压需要在1到10V之间变化,根据前面运放误差分析,10V与1V对应的(V~in+~-V~in-~)相差10倍.如果运放为TL061(A~open~=6000),输入误差在1V/6000-10V/6000之间变化,即0.16mV-1.6mV,对应V~sample~=300mV的情况,电流误差为0.05%-0.5%,因此0-100Ω范围内的负载调整率为0.45%,很可观.通常的商品电源负载调整率不会超过0.01%.当然换好一点的运放,例如OP07(增益1000000),会好的多,负载调整率为0.003%.基本可以忽略.然而,如果可以用好一些,就尽量用好一些.即使是便宜的OP07,也尽量发挥出它应有的指标.为何要一味追求负载调整率,其实负载调整率对应的就是电流源的并联内阻,负载调整率越小,并联内阻越高,其分流越小,电流源性能越好.对应于电压源,负载调整率对应的是电压源的串联内阻,负载调整率越小,串联内阻越小,其分压越小,电压源性能越好.科学的对称美.

  2. 输出电压无法达到20V,老实话,为什么命题选择20V,就是要在这里说明问题.大多数的运放双电源时推荐最大电源电压为+/-15V,当然也有OP07(极限+/-22V)家族可以到达+/-20V.即使使用OP07,在+/-20V下工作,输出最高电压不过+/-18V,因此NPN的E,即电流源输出端的最高电压为17.4V,算上V~sample~=300mV,电流源能达到的输出电压为17.1V.况且中功率NPN的电流增益不过几十,因此一定会使用达林顿组态,减小运放负载,又会去掉0.6V,最高输出电压压缩到16.5V.

当然,会有建议采用非对称双电源,例如+30V-5V,可使输出电压达到20V以上.如果不得已,这样的配置是可用的.然而基于以下的原因:

  • 如果V~in+~端电压很接近0V,运放输入级晶体管会工作在不太舒服的状态,VCE过小,导致电流增益下降,造成运放A~open~下降和输入偏流增大.

  • A~open~下降也会造成负载调节率指标下降.

一般不推荐相差悬殊的非对称双电源应用.单电源是非对称双电源的极端,因此与双电源相比性能会打很大折扣.这就是为什么早期的运放均不推荐单电源的原因.但手持设备的出现对单电源应用有巨大促进作用,现代单电源运放作过很大改进,例如轨到轨,但价格也高得多,在不损失其他性能的前提下,价格通常是普通运放的几倍.

对于上述问题,这个电流源的架构无法确切的完全的解决,必须改变架构.利用三极管的镜像原理(IB约等于0,IC=IE),可将负载请出反馈回路,移到电源和C之间,也就达到了与电压源的对应:“负载串联在输出端和电源之间”.

image-20220208085746277

此时,运放输出端电压基本控制在0.6-0.9V之间,即使TL061也可达到0.016%,OP07更可达到0.0001%.

如果将运放电源VCC与连接负载的电源VP分开,连接负载的电源VP为24V,电流源的输出电压便可达到20V以上.

可是,三极管的电流增益毕竟是有限的,即使是达林顿组态也不过1000,超beta管(通常用在双极运放输入端)最大也不过10000,I~B~总会出现,而且I~B~通过R~sample~流入地,造成V~sample~里出现误差.误差即1/电流增益.

NS有个电路避免了这个问题,使用JFET与NPN构成一个无需电流驱动的达林顿组态.

image-20220208085803165

然而小功率JFET或NMOS并不便宜,而功率NMOSFET并不贵,还可减少一种库存,因此使用NMOSFET代替NPN即可.

image-20220208085834623

MOSFET不需要稳定的电流驱动,因此I~G~造成的V~sample~误差基本可以忽略,I~D~=I~S~,一个近乎完美的镜像.

10W左右的N-MOSFET反而不太便宜,选用100W的IR~F~530也是明智的,而且为扩充输出功率提供了潜力.

选择合适的运放

选择运放依据需求,每一种运放都有适合的用途,而非通用.

电流源的需求:

  1. V~in+~=V~in-~=V~sample~,V~sample~=300mV,任何恒温正常工作状态下,误差源V~in+~-V~in-~应小于V~sample~的0.01%=30uV.
  2. 温度变化引起的V~OS~=V~in+~-V~in-~越小越好.精密仪器都会要求使用环境温度范围=25+/-10℃==15-35℃,因此在+/-10℃范围内V~OS~变化应小于V~sample~的0.01%=30uV.
  3. 稳定电流输出,不考虑脉冲性能,即可适当放宽阶跃响应要求.
  4. 低噪声.
  5. 价格越低越好.

这是工程上考虑问题的思路,范围由宽至窄逐级选择:

  1. 之前的负载调整率的计算表明,A~open~越大,V~in+~-V~in-~越小,很高的A~open~是精密运放的典型特征,通常A~open~>120dB=1Meg,可用的运放为:OP07家族,包括OP07/27/37/177/A277/227.
  2. 精密运放的V~OS~通常很小,小于1mV,V~OS~/dT也很小,小于2uV/℃,以OP07为例,V~OS~/dT~max~=1.6uV/℃,+/-10℃变化+/-16uV,满足需求.一定会问:为什么不用V~OS~/dT典型值计算(即使LM324也很小),而用最大值?
    工程设计原则而言是冗余量,做工程必须留足冗余量,不留冗余量的通常是学校作品和新手作品,做工程不能赌博,要尽量考虑到最坏情况,冗余量恰好就是最大值.
    理论上的解释,V~OS~/dT的测量电路与实际应用电路不同,因此典型值只能作为参考,而非标准.选择运放时一定要看指标的最宽泛范围.实际上最大值也只能作为参考,但由于没有其他电路形式的数据支持(事实上不可操作),只能用最大值做计算依据.OP07家族都没有什么问题,高A~open~和低V~OS~,V~OS~/dT总是一起出现,就像电阻的高准确度和低温漂总是一起出现.OP07家族的单运放还有一个额外的好处,可以调零.
  3. 不考虑阶跃响应上升沿质量时,无需运放在高频率的增益很大,对于稳定源,运放GBW大致1MHz上下即可.运放后面的IR~F~530也非高频率器件,因此选择GBW很大的运放很浪费,而且将来的频率补偿会相当麻烦.当然,如果要求电流源工作在脉冲状态(很多半导体测量系统为避免发热而必须采用的方式),可相应更换运放和MOSFET.OP07家族里的OP27/37都是宽带的,暂不考虑.(指标过高,很好很好的运放,OP37简直是旷世杰作)OP07/177/OPA277都是1MHz左右的运放.
  4. OP07家族噪声足够低.
  5. 这个问题总是很棘手,但OP07很合适,物美价廉嘛.177也很好,不太贵,OPA277比较贵,但V~OS~/dT很低,留作备选.

还有一种精密运放例如icl7650,斩波稳零,原文是chopperamp.有一些噪声,但不大,更好的chopperamp会通过采样把低频噪声量化为高频,很容易滤除.A~open~很高>140dB,电源范围略小,+/-8V,既然电流源架构并不要求运放输出动态,也可.最主要的V~OS~/dT理论上为0,实际上是长期漂移,由开关长期的性能不一致性造成.但这种运放一旦饱和,很难快速恢复,这是个重大缺点.而且很贵.

暂选OP07CP,运放总是有过多的选择,眼花缭乱.所以多数设计者总会用最熟悉的型号,而不求新.
由于电流源里只有1个运放,因此零漂都由运放而来,正好是OP07调零电路最合适应用的场合.
调零电路参见OP07datasheet,需要做适当改进,将20k电位器拆分为9.1k+2k电位器+9.1k,提高调整精度.

image-20220208085922759

振个不停

相信还没有人动手,最好已经搭好了39楼的电路.然而却发现根本不能用,不是上来就振,就是电流一大就开始振.
一头雾水,反馈看似是负反馈,而且用NPN就基本不会振,很奇怪,也很气愤,因为没有办法,也没有思路.

这是负反馈的固有问题,凡负反馈都有机会振荡,只要相位出问题.
然而,还有一句话,凡负反馈的振荡问题都可解决.先吃一颗定心丸.

解决振荡问题就是剪裁频率响应曲线的过程.因此必须首先得到开环增益A~open~和反馈系数F的频率响应.

反馈系数F就是1,在波特图上是0dB线.
开环增益A~open~麻烦一点,根据39楼电路,首先画出小信号等效电路.
开环分为三部分:

  1. 运放
  2. MOSFET输入
  3. MOSFET输出

image-20220208090041116

这个电路的传递函数由于C~gs~不接地并且与压控电流源g~m~V~gs~耦合而不太好算,在学校带毕设的时候曾经让一个学生推过一次,就是不知道二极管符号几个三角的学生.他很严谨而且敬业,不仅推出来还检查了三遍,交给学校培养真是浪费了.传递函数算出来是一个一寸高两寸宽的拉普拉斯变换,实在没有时间再推一遍,不过如果忽略某些不太重要的量,由于R~sample~很小,而与C~gs~接地时差不太多.

image-20220208090059315

运放之后的R~o~是运放的输出电阻,即运放输出级的限流电阻,大致在200Ω左右.可以由以下方法大致推出:

非规到轨运放临界饱和输出电压为VCC-4V,最大输出电流20mA左右,限流电阻约200Ω左右.

C~gs~比较复杂,按datasheet上的说明,C~iss~=760pF@V~gs~=0/V~DS~=25V,但V~DS~减小和V~gs~增大会使C~iss~增大到约1000pF.

image-20220208091115392

同时图中省略了跨导电容C~Rss~,C~Rss~可通过密勒定理等效在输入和输出端的小电容,很小而忽略.

g~m~是个问题,虽然可以查到直流g~m~,大致为7@I~d~=8A/V~DS~=50V,但实际用在I~d~=100mA/V~DS~<20V,根据datasheet中的输出特性曲线可以看到在饱和区g~m~随I~d~减小而减小,与V~DS~关系不大,在可变电阻区,g~m~随I~d~和V~DS~减小而明显减小.g~m~在I~d~很小时大致在1-3左右.暂取2.

image-20220208091131756

g~m~也有转折频率,最终产生f~T~,但这个参数很难得到,因为大多数功率MOSFET都是用在开关状态,而且g~mDC~随偏置变化很大,因此datasheet里通常不给出,但由导通时间,C~iss~,C~oss~和C~Rss~可大致推出g~m~的f~T~很高,除以g~mDC~即为转折频率,很高,大致在10MHz左右.已远远超出OP07的可操作范围,因此忽略,认为g~m~是不随频率变化的水平直线.

也可看出为什么之前不用OP37的原因,因为g~m~的转折频率恰好在OP37的操作频率范围内,从而造成频率补偿复杂度增加.

分析A~open~

运放主极点

诚如xynn所言,运放是多零极点系统,但一般都具有2个主极点,低频主极点,靠近DC,高频主极点,靠近GBW.图为OP07的开环增益频响曲线.

image-20220208091236499

2个主极点中,高频主极点通常不受重视,因为大多数运放的高频主极点都在0dB线以下,即单位增益稳定.反馈环路中只有1只运放时很少遇到增益小于1的情况.因此很多运放datasheet中高频主极点都不标出.

考虑运放与10倍理想增益级级联(有时是必须的),这个高频主极点就会浮出水面,如果闭环增益为1,便会产生振荡.

image-20220208091253171

image-20220208091301399

MOSFET和R~sample~

如前所述,MOSFET分为输入和输出两部分,通过合理简化,输入的C~gs~接地.
应该感谢输入输出功率隔离的设计方法,不知是谁先造出了电子管,否则这部分分析会相当复杂.

  1. 输入部分
    输入部分由R~o~=200Ω和C~gs~=1000pF构成低通滤波器,并产生一个极点p~o~.低频增益为0dB,产生转折频率的极点p~o~位于约800kHz.正好落在OP07 0dB以上的频带范围内,因此推测与振荡有关.

image-20220208091357766

  1. 输出部分
    MOSFET的电流I~d~=g~m~V~gs~流经R~sample~产生电压g~m~V~gs~R~sample~,因此增益为g~m~R~sample~.由于g~m~的转折频率很高,R~sample~在低频下为理想电阻,因此g~m~R~sample~的频率响应为平行于0dB线的直线.
    电流源输出电流很小时,g~m~接近于0,因此g~m~R~sample~位于0dB线以下很低的位置.输出电流增大造成g~m~增大,g~m~R~sample~不断上移,直至最大电流时,g~m~=2S,R~sample~=3Ω,g~m~R~sample~=6,移至0dB线以上.

image-20220208091413323

两部分级联后,增益相乘,波特图上增益相加,如下图:

image-20220208091428840

此时如果g~m~R~sample~>1,极点p~o~在0dB线之上,反之则在0dB线之下.
一旦p~o~高于0dB线,而1/F=1(0dB)且运放自身A~open~在此频率附近有-20dB/dec的斜率,则p~o~之后斜率将达到-40dB/dec,可能产生振荡.

因此推论振荡的产生应与R~o~,C~gs~,g~m~和R~sample~均相关

为何振荡

将运放,MOSFET和R~sample~构成的传递函数级联,得到下图的完整开环增益A~open~:

image-20220208091500523

A~open~具有3个主极点,分别为:

  1. 运放低频主极点pL
  2. MOSFET输入电容造成的极点p~o~
  3. 运放高频主极点p~H~

g~m~R~sample~<1时,p~o~在0dB线之下,系统稳定.

g~m~R~sample~>1时,p~o~在0dB线之上,系统振荡.

g~m~R~sample~=1时,p~o~=0dB,系统处于临界状态.

加速补偿:矫正A~open~

校正A~open~是补偿的最佳方法,简单的A~open~补偿会起到1/F补偿难以达到的效果,但并非解决一切问题.

如果振荡由于p~o~位于0dB线之上造成,可想到的第一办法是去掉p~o~.
去掉极点作用的基本方法是引入零点.

引入零点的最佳位置为R~o~,R~o~上并联电容C~s~可为MOSFET输入端引入一个零点z~o~.
但R~o~是运放内部电阻,无法操作,因此在R~o~后添加一只电阻R~s~,并将C~s~与R~s~并联.

image-20220208091614235

如果R~s~>>R~o~,则可基本忽略R~o~的作用.

增加R~s~和C~s~后,会使MOSFET输入端的极点p~o~和零点z~o~频率分别为:p~o~=1/2$\pi$(C~s~+C~gs~)R~s~,z~o~=1/2$\pi$C~s~R~s~.

如果C~s~>>C~gs~,则原有的极点p~o~=1/2$\pi$R~o~C~s~由高频段移至低频段,频率由C~s~,C~gs~和R~s~决定,而非C~gs~和R~o~决定,新引入的零点z~o~也在低频段并与p~o~基本重合,两者频率差由C~gs~与C~s~的比例决定,因而很小.

通常R~s~=2k-5kΩ,C~s~=0.01-0.1uF.

image-20220208091637952

R~s~和C~s~将原有极点p~o~移至低频段并通过z~o~去除.像极了chopper运放里通过采样将1/f噪声量化到高频段后滤除.很多不沾边的方法思路都是相通的.

由瞬态方法分析,C~s~两端电压不可突变,因此运放输出电压的变化会迅速反应到栅极,即C~s~使为C~gs~充电的电流相位超前pi/2.因此C~s~起到加速电容作用,其补偿称为加速补偿或超前补偿.

很多类似电路里在R~s~//C~s~之后会串联一只小电阻,约100Ω,再稍适调整零点和极点位置,此处不必再加,那个忽略的R~o~很合适.

看个范例,Agilent36xx系列的MOSFET输入级处理,由于PNP内阻很小,至少比运放低得多,因此后面有一只R42=100Ω.

image-20220208091824890

在此之前,如果看到C49和R39,恐怕很多坛友会很难理解其作用,然而这也正是体现模拟电路设计水平之处.有人感叹36xx系列电路的复杂,然而内行看门道,其实真正吃功夫的地方恰在几只便宜的0805电阻和电容上,而非那些一眼即可看出的LM399,AD712之类的昂贵元件.

潜在的振荡:运放的高频主极点p~H~

通过加速补偿,由C~gs~造成的极点作用基本消除.然而,0dB线附近还有一个极点--运放的高频主极点p~H~.事实上,就纯粹的运放而言,p~H~只在0dB线之下不远的位置.与p~o~类似,由于g~m~R~sample~的增益作用,p~H~也有可能浮出0dB线,从而使A~open~与1/F的交点斜率差为40dB/dec,引起振荡.p~H~的位置比p~o~低,因此g~m~R~sample~的增益必须更高才能使电路由于p~H~而产生振荡,然而g~m~R~sample~由于datasheet中没有完整参数,实际上只能大致预测而无法精确计算.因此必须采取一定措施避免p~H~的作用.

如前所述,零点可以矫正极点的作用,但有一个条件,除非将零点/极点频率降得很低或升得很高,使其位于远离1/F的位置.

p~H~距离0dB线过于近,而且是运放的固有极点,想通过前面类似的方法转移极点位置很不容易.

如果1/F的位置改变,远离p~H~,就能轻易解决p~H~的烦恼.然而1/F决定了电路的输出电流,不能随意更改.

但如果1/F的DC值不变而高频有所提升,应该可以,这就是噪声增益补偿.

噪声增益补偿方法来自反向放大器,使用R~c~串联网络连接在V~in+~和V~in-~之间.这种方法不建议用在同向放大器,但也不是绝对不可以,只需将R~c~串联网络的V~in+~端接地,并在R~sample~上的电压反馈到V~in-~之前串联电阻R~F~即可.

image-20220208092216270

这个电路在功放里很常见,目的是降低DC误差,但不影响高频响应.此处的作用在于为反馈系数F提供一对极点/零点,从而使F的高频响应降低,即1/F的高频响应增强,实质上使F成为一个低通滤波器,对应1/F为高通滤波器.

image-20220208092230269

F中的极点和零点在1/F中相对应为零点z~c~和极点p~c~,z~c~=1/2pi(R~F~+R~c~)C~c~,p~c~=1/2$\pi$R~c~C~c~,两者之间的增益差为1+R~F~/R~c~,从而使p~c~之后的1/F提升了1+R~F~/R~c~,使1/F远离p~H~.

显然,1+R~F~/R~c~越大,z~c~和p~c~频率越低,1/F越远离p~H~,系统越稳定,但也会出现致命的问题--瞬态性能下降.如果电流源输入端施加阶跃激励,电流源系统输出端会产生明显的过冲振荡,而后在几个振荡周期后进入稳态.

原因在于阶跃激励使运放迅速动作,MOSFET栅极电压迅速增大,输出电流I~o~增大,但体现在R~sample~上的采样电压I~o~R~sample~受到噪声增益补偿网络F的低通作用,向运放隐瞒了I~o~R~sample~迅速上升的事实,即反馈到V~in-~的电压无法体现运放的输出动作,从而造成超调振荡.

虽然超调振荡不是致命的,由于足够的阻尼作用,它总会进入稳态,但超调造成的输出电流冲击却很容易摧毁脆弱的负载,因此仍然不能容忍.

适可而止,如果1+R~F~/R~c~=2,就给g~m~的增大提供2倍空间,考虑稍适过补偿原则,1+R~F~/R~c~取3是合理的,对应产生3倍g~m~变化的电流增量至少需要10倍,足矣.

即使如此,阶跃响应仍有一些很小的过冲,将在后面解决.

直流性能是不受影响的.

实际R~F~=1kΩ,R~c~=470Ω,C~c~=0.1uF,z~c~=1kHz/0dB,p~c~=3kHz/9.5dB.

(补充:上一节中的R~s~=3.9kΩ,C~s~=0.1uF,p~o~=400Hz,z~o~=400Hz,由于无法编辑,补充于此)

第二个输入端

image-20220208092306456

看似只有一个输入端Vin,但有前提条件,理想电源.

此电路共有5个输入端,Vin,VCC,VEE,Vp和GND.

  1. Vin为设定输入端,自然希望所有系统输出都只与其相关.
  2. VCC和VEE为运放电源.通常运放只需要5mA以内的偏流,因此只需滤波电容大于100uF既可限制纹波在可容忍的范围内,况且VCC和VEE一般会有78xx稳压,78xx的纹波抑制能力不低于100倍即40dB,运放本身的电源抑制比至少80dB,因此VCC和VEE的小幅变化对系统的影响基本可以忽略,即VCc和VEE可视为理想电源.
  3. GND也是输入端?不错,除非铜的电阻率为0,否则地阻抗会起作用.如果PCB严格一点接地,由于地阻抗造成的问题基本不用考虑.否则,PCB设计不合格.

还剩下一个Vp,虽然Vp也可由78xx得到,稳压前还可用大电容滤波,但MOSFET是没有电源抑制能力的,因此Vp的波动会通过影响输出电流(一定频率下,系统调整能力是有限的)直接作用在R~sample~上,并反应在运放输入端V~in-~.

100mA的电源的纹波问题是容易处理的,如果电流达到A级别以上,很少有便宜的稳压IC可以处理,虽然LT108x能达到5A,但是在V~drop~不大的情况下,如果V~drop~=3V,一般的小散热器就会力不从心,5A只是瞬间电流储备能力,不推荐连续使用.因此A级别以上的电源大多直接整流滤波得到,纹波不可小视.虽然理论上2000uF/A的滤波电容已足够抑制纹波,但那是在变压器内阻极低的前提下.更大电流的电源很多由可控硅调压得到,那个纹波就更厉害,即使滤波电容很大,纹波仍可由示波器清晰看到.

如果Vp由开关电源提供,开关电源工作频率附近的噪声将作为输入信号进入电路.

如果纹波频率很低,例如100Hz,系统在此频率完全可以应对,但Vp引入的信号(纹波和噪声)通常不是正弦波,而是非对称三角波,上升沿和下降沿分别为电容充电和放电曲线的一部分,富含谐波,而且谐波频率很高,但幅度逐次衰减.开关电源更是如此,由于其工作频率很高,纹波基波幅度已经很大,因此可能造成更显著的问题.

纹波或其某个谐波通过Vp进入电路后,如果系统在此频率上调整能力有限,将造成输出电流波动(系统无法以足够的速率相应反向调整),并反应在R~sample~上,进入V~in-~.运放随即调整输出端,但能力有限,输出端尚未调整好,纹波的幅度和相位就可能发生变化,再次通过R~sample~反馈到V~in-~就可能出现相位裕量不足的情况,从而诱发振荡.

由电路理论出发,如果系统在某个频率上控制能力(带宽)不足,则无法抑制此频率上的电源波动影响.因此要么提高系统带宽,要么改善电源质量.

然而,对于恒流电子负载而言,原则上要面对各种电压源Vp,而且大多数是作为中间产品的实验源,性能参差,纹波水平各异.改善电源质量基本是句空话.提高系统带宽对于稳恒用途又实在意义不大,而且造成成本陡增.

还有一种消极但便宜而且适应性强的处理办法,使运放无法看到高频率的纹波,即积分补偿.

在运放V~in-~和输出端之间添加R~m~,C~m~串联网络,使R~sample~上的电压进入V~in-~之前由R~F~,R~m~和C~m~进行积分滤波,使输出电流中高次谐波成分无法(或大部分无法)进入运放.对于电子负载,积分补偿更为重要.

image-20220208092448966

由于R~F~,R~m~和C~m~构成积分器,因而称为积分补偿.积分补偿的0dB频率fi~0dB~由R~F~和C~m~决定fi~0dB~=1/2piR~F~C~m~.

大于0dB频率的纹波成分受到衰减,直至达到R~m~和C~m~确定的回转(零点)频率fiz=1/2piR~m~C~m~.回转的作用在于不过分降低系统对高频的反应能力.

0dB频率至少应低于诱发振荡的纹波频率10倍,已达有效衰减.

image-20220208092505561

很多电路不使用R~m~,即没有回转频率.那一定有C~m~很小(100pF左右)的前提,否则如果C~m~很大,积分频响曲线在高频段衰减过于严重,将造成系统高频控制力下降.对于Vp性能不太好的情况,C~m~可能取值很大,因此R~m~是必要的.

显然,积分器0dB频率越低,系统越稳定,但也会由于R~m~,C~m~和R~c~,C~c~构成的局部反馈使系统瞬态性能降低,因此适可而止.

积分补偿没有固定的经验值,如果Vp质量较好,C~m~甚至可以降至22pF,反之,如果Vp质量很差(例如电子负载通常见到的情况),C~m~可增大至1uF.

此外C~m~的选择还与运放GBW有关,GBW越高(当然要有频率足够高的MOSFET配合),系统对于高频的控制能力越强,C~m~可越小.

R~m~决定回转频率,通常回转频率高于0dB频率10倍以上,因此R~m~大致为1/10R~F~=100Ω

因此,如果可能,一定首先改善Vp质量.

好在本次只做100mA的电流源,一个7824或LM317就搞定了.在此情况下C~m~=1000pF足矣.

fi~0dB~=160kHz,fi~z~=1.6MHz,160kHz频率以上由Vp造成的电流纹波/噪声可由输出减振器网络消除.

避免轻微的超调过冲和常规电压接口

由于噪声增益补偿的问题,电流源在阶跃激励下会有轻微的超调过冲,稍严重一点儿在示波器上能看到逐渐衰减的超调振荡.

虽然不严重,但追求完美即完善细节,尽量做得比对手好一点.

如果电流源看不到陡峭的上升沿,也就不存在这个问题了.
蒙蔽它.只需一个低通滤波器.

恰好正需要一个常规电压接口,0-0.3V估计不是标准的电压,标准电压一般都是2.5V/5V(DAC,基准)或7V(更好的基准).
电阻分压降压即可,以2.5V为例.

(2.5/0.3)-1=7.33,如果对地电阻R4为3.3kΩ,水平电阻为24.2kΩ,其中设置微调R2=5kΩ+R3=500Ω电位器,固定电阻R1取值22kΩ.
对地电阻并电容C1,获得低通滤波器,转折频率
$$
\begin{aligned}f&=\frac{1}{2\pi C_1(R_4\parallel(R_1+R_2+R_3))}\&<\rm Z_c=1kHz\end{aligned}\tag{1}
$$
C1>0.054uF,实际取0.1uF.

R1和R4影响电流源的温度性能,因此必须使用低温漂电阻.此时I~in~的影响就应降至最低.

image-20220208092904941

完整的电路

经过这么长时间的煎熬,终于见到完整的电路.

image-20220208093120824

电流源的电源

这个勿需多言.但考虑中国电网质量,请尽量选择正规厂家的E型变压器.基于同样的原因,建议使用电源滤波器.
保险和开关按需使用.

image-20220208093211151

真的完成了么?

还差得远,这只是一个原理图.在原理图中,至少有几个经验值得记住,对于我来说是很多年的摸索和很多银子的教训.

  1. 模拟放大器的设计中,原理图阶段要注意频率补偿的必要性.
    任何放大器都需要补偿,由于不会总有合适的A~open~,因此总会有修修改改.
    基本运放电路里似乎从不考虑这个问题,但这只是最近20年的事,20年前即使基本运放电路也要补偿.
    知识封装得越严重,越应了解原理.中国缺乏电子科技文化,都被封装的知识替代了.

  2. 既然如此,原理图阶段就应预测所有可能的补偿方法及其位置,并保留补偿元件位置.这是几千块钱带来的经验,说教训也行.

  3. 所有的元件及其取值都必须有根据,即都是算出来的.这一点在之前17节中反复强调.图中所有元件都是按要求选择或计算得到.下一次再对人家说,我用的OP07,我用的LT1028,一定要记得说出选择的依据.国内的模拟电路设计出来,很多元件的取值都是经验,缺乏根据.一旦电路并不如设计者所愿工作时,便无从下手.因此再看到Agilent电路里那些奇怪的电阻电容(直流分析里似乎多余),千万不要忽略,尽量把它算出来,会有巨大成长.必须记住,仅能分析直流是否负反馈对于模拟电路是远远不够的.

这些的确很难马上做到,良心话,几千块钱和几年时间是必须的.但如果之前就有这根弦,会少走点弯路.浅以为,就这三点,应可达到这次特殊开源的目的.

原理图下面似乎就是PCB了?

不,还早.

PCB只是一个结果,电磁/热耦合管理的结论.

(完)

编者注:原文作者在这里戛然而止,完成了原理图的设计,已经是相当丰富的内容了,全文近1w2的字数内容相当的丰富.

最后修改日期:2022年2月10日