Influence of resistors in LM399 reference circuit? - Page 1
Forum section: electronics / general

author: carl_lab
author_rank: Frequent Contributor
timestamp: May 19, 2017, 10:44:37 am
content: I've separated LM399 topic from thread "Resistor Set for LTZ1000 positive standard 7V circuit"because it was off topic:#14Quote from: MK on May 18, 2017, 06:31:32 amQuote from: carl_lab on May 18, 2017, 11:53:01 amQuote from: MK on May 18, 2017, 01:09:04 pmQuote from: carl_lab on May 18, 2017, 02:36:12 pmQuote from: MK on May 18, 2017, 05:18:59 pmQuote from: carl_lab on May 18, 2017, 09:11:38 pm

author: Gyro
author_rank: Super Contributor
timestamp: May 19, 2017, 11:20:59 am
content: Quote from: carl_lab on May 19, 2017, 10:44:37 amYou could use a resistive divider from the supply and a diode rather than a single resistor. That would avoid needing a 5V supply and still take the startup out of circuit for normal operation.EDIT: If you set the divider to output just a little below the zener voltage then you should get very low leakage through the diode.

author: carl_lab
author_rank: Frequent Contributor
timestamp: May 19, 2017, 11:25:07 am
content: Quote from: Gyro on May 19, 2017, 11:20:59 amThat's a good idea, thank you!BTW, that's the 34401A reference circuit:Why did Agilent set Iz = 2mA?

author: MK
author_rank: Regular Contributor
timestamp: May 19, 2017, 11:30:29 am
content: Hi Carl,The reason that a JFET gives you a self starting circuit is to look at the VGS(off) of the BF245 for example:V DS = 15V, I D = 200µABF245A -0.4 -2.2BF245B -1.6 -3.8BF245C -3.2 -7.5 IDSS= 12-25mAthat means that at startup when the output of the opamp is at zero then the bottom of the BF245C fet channel is between +3.2 and +7.5 Volts, more than enough to force the inputs into the common mode range, so it will always self start, and the output is mostly protected against shorts ( the FET may overheat). It also keeps the opamp from drifting due to self heating.

author: carl_lab
author_rank: Frequent Contributor
timestamp: May 19, 2017, 12:26:48 pm
content: Thanks for explanation.So this is what you meant?What about additional noise of the FET?

author: Kleinstein
author_rank: Super Contributor
timestamp: May 19, 2017, 12:42:50 pm
content: The JFET is inside the feedback loop of the OP. So the noise of the JFET is compensated by the OP and thus not relevant. Anyway the LM399 is way more noisy. So one might consider noise filtering (e.g. 5 K and 2 µF) between the reference and the non inverting input of the OP. This could at least attenuate some of the higher frequency noise.A 2 mA reference current is quite high, and does not really help. However the LM399 runs hot anyway, so some additional heating from the reference current does not really matter.

author: MK
author_rank: Regular Contributor
timestamp: May 19, 2017, 01:54:54 pm
content: Hi,As Kleinstein says, the R409 could be 2K5, 2K7, or 3K as any extra current is wasted in the shunt transistor internal to the "Zener".Also thinking about fault conditions you would want a 10K or so between the Op-amp and the Fet to reduce the current through the gate during a sustained short on the output, it could even be a carbon composition resistor.The noise is less than the Zener so can be ignored, if it was a 2DW234 then one might want a quieter FET perhaps.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 19, 2017, 03:16:11 pm
content: Even with a noiseless reference, the noise of the JFET does not matter. It is inside the OPs loops, so it would be attenuated by the OPs open loop gain. So one would only notice noise from the FET at high frequencies like 1 MHz and up. There is more noise from the 12.85 K resistor. In the lower frequency range the noise is mainly from the LM399.A series resistor is a good idea an it would not hurt, if not too large.Keep in mind that the shown circuit can start to oscillate with capacitive load. If driving a capacitive load C441 should be removed and a capacitor from the OPs output to inverting input.

author: tszaboo
author_rank: Super Contributor
timestamp: May 19, 2017, 03:42:14 pm
content: Volt nutting aside: Can someone explain what is the point of the LM399 in the 21 century? You just replace the problem "I need a stable 10V reference" with " I need a precision thermally coupled matched pair of resistors". That is always the big issue for me. I mean, I can just buy a 10V reference, with guaranteed 2ppm/K tempco. Is it easier to buy 1.5 ppm tracking tempco resistors? Unless I'm mistaking, you either need to make your own network from something like a Vishay foil resistors, and then hope for the best, or order custom networks. Both of which are going to cost a lot.And I'm not seeing any projects, where they would use the magic Datron 4910 circuit where you actually dont need high precision dividers.Am I missing something here?

author: Kleinstein
author_rank: Super Contributor
timestamp: May 19, 2017, 05:03:25 pm
content: For getting a stable 10 V, there are better/competing ways than the LM399. Even if modern references specify a low TC, there might be board stress, humidity and hysteresis issues that add, if the reference is not in an hermetic metal case with long legs. Not many modern refs in the old style metal case.However the LM399 us still good if you need a stable 7,xx V reference. There are also alternative ways (e.g. charge pump) to go from 7 V to 10 V or today more likely to go from 7 V to about 5 V, or maybe 3.5 V.

author: carl_lab
author_rank: Frequent Contributor
timestamp: May 19, 2017, 06:13:28 pm
content: Maybe I can get a few dumped K2000 and/or 34401A - probably not repairable.I think about cannibalizing them (LM399 and precision resistors/networks) to make a 10V/7V reference, for calibration of max. 5,5 digits DMMs or for some experimenting. It does not need to have LTZ1000 stability.

author: Mickle T.
author_rank: Frequent Contributor
timestamp: May 19, 2017, 07:10:28 pm
content: Quote from: NANDBlog on May 19, 2017, 03:42:14 pmOver the past few years I've seen a tons of volt-nuts projects with a PWM and charge-pump conveters for the LTZ (but mostly - Chinese projects).

author: David Hess
author_rank: Super Contributor
timestamp: May 20, 2017, 07:11:51 pm
content: Quote from: NANDBlog on May 19, 2017, 03:42:14 pmZener references are lower noise than bandgap references.

author: Echo88
author_rank: Frequent Contributor
timestamp: May 20, 2017, 08:11:22 pm
content: @ Mickle-T: Can you point us to those chinese LTZ-charge-pump-circuits?

author: cellularmitosis
author_rank: Unknown
timestamp: May 21, 2017, 08:05:06 am
content: I was interested in the question of resistor influence on the LM399 circuit presented in the LM399 thread.I wrote a little python script to figure this out:https://github.com/pepaslabs/small-lm399/blob/master/scripts/lm399.pyThe script's "solver" is based on the idea that Vz changes by 1uV for every deviation of 1uA of zener current from the nominal 1mA.(Caveat: I have no idea what I'm doing and have not verified any of this in spice!)Here's an example of running the script. Let's use Rf=36k, Rg=82k, Rz=3k, and assume an LM399 with Vz=6.95V@1mA.Code:$ ./lm399.py rf=36000 rg=82000 rz=3000 vz=6.95 vos=0using rg: 82000.0using rf: 36000.0using rz: 3000.0using vz_nom: 6.95using vos: 0.0solving...delta_vz: 0.0000170731707314delta_vz: 0.0000000024985134delta_vz: 0.0000000000003650delta_vz: 0.0000000000000000irf: 0.084,756 mAvopout: 10.001,244,085 Viz: 1.017,076 mAvz: 6.950,017,076 VHere's what I was able to surmise. (I'm relatively new to ppm calculations, please check my math!)Changing Rf from 36k to 36.036k changes Vz from 6.950,017,076V to 6.950,018,093V.I.e. increasing Rf by 0.1% (1,000ppm) increases Vz by 1.017uV (0.146ppm)Changing Rg from 82k to 82.082k changes Vz from 6.950,017,076V to 6.950,016,059V.I.e. increasing Rg by 0.1% (1,000ppm) decreases Vz by 1.017uV (0.146ppm)Changing Rz from 3k to 3.003k changes Vz from 6.950,017,076V to 6.950,016,059V.I.e. increasing Rz by 0.1% (1,000ppm) decreases Vz by 1.017uV (0.146ppm)So, all three resistors have the same influence on Vz.If you were using 1% metal film resistors with 100ppm/C, as long as your lab stayed within +/- 5C they'd only cause 1uV of Vz drift.(Of course, if Rf and Rg drift in the same direction, there is no change to Vz!)Changing Vos from 0 to 1mV changes Vz from 6.950,017,076V to 6.950,016,929V.I.e. increasing Vos by 1mV decreases Vz by 147nV (0.0212ppm)For reference, an LM358 sees a Vos drift of 7uV per C, so 1mV of Vos drift would require a 143C swing. To get this drift to show up on a 6.5-digit meter (10uV resolution), you'd need to swing 9,724CNow, the above is just the impact on Vz. "Vopout" (the 10V output of the opamp) is considerably more sensitive.Changing Rf from 36k to 36.036k changes Vopout from 10.001,244,085V to 10.004,296,776V.I.e. increasing Rf by 0.1% (1,000ppm) increases Vopout by 3.053mV (305.2ppm)Changing Rg from 82k to 82.082k changes Vopout from 10.001,244,085V to 9.998,194,444 V.I.e. increasing Rg by 0.1% (1,000ppm) decreases Vopout by 3.0496mV (304.9ppm)Changing Rz from 3k to 3.003k changes Vopout from 10.001,244,085V to 10.001,242,622V.I.e. increasing Rz by 0.1% (1,000ppm) decreases Vopout by 1.463uV (0.146ppm)So Rf and Rg are very influential on Vopout, but Rz is not (thus NANDblog's comment about needing a pair of unobtainium resistors?).If you were using Vishay metal foil resistors, the same +/-5C swing would be a 20ppm swing, which means Vopout would swing by ~6ppm (60uV, or 6 counts on a 6.5-digit meter).Changing Vos from 0 to 1mV changes Vopout from 10.001,244,085V to 9.999,804,849V.I.e. increasing Vos by 1mV decreases Vopout by 1.439mV (143.8ppm)Let's examine a more realistic Vos drift of 10uV:Changing Vos from 0 to 10uV changes Vopout from 10.001,244,085V to 10.001,229,692V.I.e. increasing Vos by 10uV decreases Vopout by 14.393uV (1.438ppm)So, creating a 10V reference is much harder than creating a 7V reference!

author: cellularmitosis
author_rank: Unknown
timestamp: May 21, 2017, 08:23:06 am
content: (for reference, here's the "portable calibrator" circuit rearranged in the same style. The only difference is the addition of a 200k resistor, which I assume ensures startup).

author: cellularmitosis
author_rank: Unknown
timestamp: May 21, 2017, 08:56:06 am
content: Here's all of that summarized in a table, with very heavily rounded figures for ease of digestion.Basically, the 10V output is 2,000x driftier than the 7V output.

author: RandallMcRee
author_rank: Frequent Contributor
timestamp: May 21, 2017, 04:46:54 pm
content: Hey cellular--Have you seen this analysis?http://satcom.tonnarelli.com/files/LM299/Walter_G_Jung.pdfAccording to Jung the gain resistors only affect the scaled output, so of course resistor drift there does affect the scaled output, only. It would be wrong, of course, to conclude that the 7V output is less drifty because you have not taken into account the zener itself. Also that url is just a snippet of a chapter which I do not have access to but I believe Jung is then going to shoot holes in your theory that opamp Vos is negligible!There *is* most likely a reason that a precision opamp is recommended there.Thanks,Randy

author: cellularmitosis
author_rank: Unknown
timestamp: May 21, 2017, 05:59:13 pm
content: Oh, thanks I'll definitely take a look!You're right though -- I wasn't including the drift of the LM399 -- I should have said "the resistor influence is 2000x driftier on the 10V output"

author: Andreas
author_rank: Super Contributor
timestamp: May 21, 2017, 06:41:50 pm
content: Hello,I would not worry about the T.C. of the LM399 near room temperature.On my references it is usually well below 20uV change over a 30 deg C range.https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg1119139/#msg1119139with best regardsAndreas

author: cellularmitosis
author_rank: Unknown
timestamp: May 22, 2017, 02:32:19 am
content: Andreas, thanks for the data, I always look forward to seeing your plots! Your thorough empirical approach is very inspiring to budding volt nuts

author: carl_lab
author_rank: Frequent Contributor
timestamp: May 22, 2017, 06:20:20 am
content: Thanks, CM for elaboration.That's about the same, I roughly calculated.BTW: Differential resistance of LM399 zener is about 0.7mV/mA (=Ohm):

author: cellularmitosis
author_rank: Unknown
timestamp: May 23, 2017, 04:39:48 am
content: Thanks for posting your calculation results!

author: tszaboo
author_rank: Super Contributor
timestamp: May 24, 2017, 08:51:02 am
content: Quote from: RandallMcRee on May 21, 2017, 04:46:54 pmOf course it is negligible. Even an oldstyle opamp, like an OP07 has max 1.3 uV/K offset drift, which is amplified, A<1.5, so lets calculate with 3uV/K. That is 0.2ppm worst case. There are much better opamps, and the typical characteristics will be better.All these calculations of ppm change/ppm output hurts my head. You are describing dimensionless parameters. The correct way of saying it, is simple. You are calculating thesensitivityof the circuit for several parameter change. Since errors are small (ppm level) you can ignore the error of the error. Meaning, that I did not calculate, that the change in opamps voltage will change the zener current which will change the output voltage. Because it will be in the 0.001 ppm level, irrelevant.So the only parameter you need is 0.3 (or 30%) for the gain resistors 0.0001 = 0 for the current resistor.Quote from: David Hess on May 20, 2017, 07:11:51 pmThat is certainly true. And les drifty. And with top shelf components, it is possible to make a better reference than from a IC.

author: cellularmitosis
author_rank: Unknown
timestamp: June 08, 2017, 01:12:43 am
content: Thanks for pointing that out NANDBlog, that's a simpler way to think about it.I've written a script which spits out a bunch of combinations of resistors, along with what Vz they are suited for, how much current would run through Rf and Rg, etc.This script will allow you to find a set of resistors tailored for each individual LM399.This github gist has the script along with the generated output tables for the Stackpole RNMF series of resistors ($0.10, 50ppm/C) and Yageo MFP ($0.46, 25ppm/C):https://gist.github.com/cellularmitosis/eef3564c692acc4b590869112042e0f6(I can't control the order of the files, so you'll have to scroll past the python script to see the data tables).I've also attached the script to this post.An example of using the tables:I have run 1mA through an LM399 and measured a Vz of 6.965V. I go with the next highest value available in the table (6.9677V, which will yield an Iz of just over 1mA) and look at my options. If I wanted to have the option of running from a single 9V battery, I'd go with the 12R, 62R, 36K combo, which only requires the opamp to swing up to 6.9797V. If instead I wanted to minimize the current through Rf+Rg, I might go with the 27R, 620R, 160K combo (44uA), etc.

author: cellularmitosis
author_rank: Unknown
timestamp: June 08, 2017, 01:29:05 am
content: This script can also be used with zeners other than the LM399 (e.g. the 1N829A or 2DW232 zeners).For example let's say I have a 6.2V 1N829A, I'm willing to consider Vz values up to 2% away from 6.2V, I want an Iz of 7.5mA, I don't want Rf+Rg to exceed 500k, I don't want the current through Rf+Rg to exceed 1mA, and I'd like to use values from the Vishay Dale PTF series of resistors:Code:$ ./bootstrapped-zener-resistors.py vz=6.2 vzerr=0.02 iz=0.0075 maxrfg=500k maxif=0.001 vishay-dale-ptf.txt | column -t -s,using rfile: vishay-dale-ptf.txtusing vz: 6.2using vzerr: 0.02using iz: 0.0075using maxrfg: 500000.0using maxif: 0.001using maxvop: 12.0biggest vz jump: 0.111Vz: 6.1290 Vzerr: 1.15% Vop: 7.0290 Iz(mA): 7.5 If(mA): 0.900 Rz: 120R Rf: 1K Rg: 6K81Vz: 6.2400 Vzerr: 0.65% Vop: 7.7400 Iz(mA): 7.5 If(mA): 0.020 Rz: 200R Rf: 75K Rg: 312KVz: 6.3000 Vzerr: 1.61% Vop: 7.2000 Iz(mA): 7.5 If(mA): 0.600 Rz: 120R Rf: 1K5 Rg: 10K5Only three choices available under those criteria!

author: cellularmitosis
author_rank: Unknown
timestamp: April 10, 2018, 09:42:35 pm
content: I don't know why it took me this long to realize this, but I just realized that the zener resistor value plays a large role in determining the error "attenuation" factor of this circuit."Rz" in the above circuit was given as 1k. This is what turns 1mV of op amp voltage error into 1uA of zener current error.If you instead used 2k for Rz (and for Rf), 1mV of op amp voltage error becomes 0.5uA of zener current error.So, if you have some additional voltage headroom on your op amp, you can increase this value a bit to get some additional error attenuation.This isn't so important with the LM399, because it already has a low output impedance (of about 1R). However, for other zeners (like the 2DW232) which have higher output impedance, they won't have as good attenuation in this circuit. Here, using higher value resistors for Rz and Rf would help improve their attenuation.For example, if you had a 15V Vcc for your op amp, and it can safely swing the output up to 12V, you could use 5k for Rz and Rf for additional error attenuation.

author: Cerebus
author_rank: Super Contributor
timestamp: April 10, 2018, 11:17:41 pm
content: Quote from: cellularmitosis on April 10, 2018, 09:42:35 pmThe values of Rz and Rf are only coupled by the voltage across them, you could have completely different currents going down the divider and zener arms, and hence completely different values for Rf and Rz. I'd opt for putting as much current as I dared down the divider arm to minimize the values of Rf and Rg, thereby reducing their Johnson noise contribution and contribution from the OPA's input current noise. What's acceptable in noise terms from that combination is obviously going to be determined by the OPA noise and zener noise. I suspect that most zeners would be noisy enough that you wouldn't have to be too fussy, but it's worth a quick calculation to get the best performance one can. Obviously too high a current draw from the OPA would be a "bad thingTM".

author: cellularmitosis
author_rank: Unknown
timestamp: April 10, 2018, 11:25:18 pm
content: Quote from: Cerebus on April 10, 2018, 11:17:41 pmGood point, and I was recently thinking about this when trying to decide what resistors to use for Rf and Rg. 1mA seems high for that branch, but 10k/68k might be a bit on the high side (as you say, johnson noise could become a factor, but also, the circuit becomes more affected by leakage currents, and I would imagine EMI-induced currents have a larger effect). Interesting that the LT app note "portable calibrator" circuit is somewhere in the middle, in terms of total resistance in that branch (8.8k + 19k + 3k trim).

author: MiDi
author_rank: Frequent Contributor
timestamp: May 21, 2018, 09:52:52 pm
content: Quote from: cellularmitosis on April 10, 2018, 09:42:35 pmIn addition to that:The error attenuation is maximized near a gain of 1 and loses significance as gain increases.This is due to the "1 +" term in the gain equation for non-inverting opamp: gain = 1 + Rf/Rg.The key parameters of opamps - that have an effect here - are input referred, that means this parameters have to be multiplied by the gain.Comparison for different Rz @ Iz = 1mA, Vz = 6.95V with gain(Rz) = 1 + (Rz x Iz) / Vz and dIz = (gain x dVin) / Rz, with given dVin = 1mV (opamp tempco, drift, noise ...)1k => gain = 1.14 => dIz = 1.1µA2k => gain = 1.29 (+12% to 1k) => dIz = 0.64µA (-78% to 1k)4k => gain = 1.58 (+22% to 2k) => dIz = 0.39µA (-63% to 2k)8k => gain = 2.15 (+37% to 4k) => dIz = 0.27µA (-46% to 4k)The conclusion remains:Rz should be setas high as possible(for given max output voltage of opamp)to have theleast significant influenceon Iz from errors in Voutfrom opampover temperature/time.Errors in Vout are resulting from opamp due to tempco, drift, noise, ...The next question arises:How do errors fromfeedback network Rf/Rgdue to tempco-match, drift-match, noise (gain-error) contribute to the choice for Rz?It is easy recognizeable that there is a trade-off/target conflict for this...And the final question:Where is theoptimum for Rzin therms of influence for all changes in Vout over temperature/time?

author: Andreas
author_rank: Super Contributor
timestamp: May 22, 2018, 06:57:39 am
content: Quote from: MiDi on May 21, 2018, 09:52:52 pmHello,That is a easy answer: 3K for a 10V output.For a 7V output the chance of tracking for the divider resistors RF/RGwill be somewhat higher if they are of the same value.So with 2 equal resistors (RF/RG) you will have 6K8 for the Rz.With 3 equal resistors (10.4V output) Rz will be around 3K3.My experiences with LM399 near room temperature is that the resistors play nearly no role.Even a pull up 6K8 to a 14V voltage regulator (LT1763) will do the job.So you can just use good 0.1% resistors (PTF56 or better) for Rz.Of course RF/RG is more critical if you want to use a 10V output.with best regardsAndreas

author: GigaJoe
author_rank: Frequent Contributor
timestamp: May 23, 2018, 08:45:27 pm
content: Rz as definer of current for zener - related to dynamic impedance of zener, delta V (output), delta I ( defined by resistor). for Lm around 0.5 - 1 ohm. roughly , 1Ohm * 1 mA = 1mV. Changing current to 1mA == 1 mV in output change. you may calculate deviance of resistor value, current, and change in output zener voltage .... Then see how it important ...