Author Topic: LM399 based 10 V reference  (Read 536700 times)

0 Members and 2 Guests are viewing this topic.

Offline serg-el

  • Regular Contributor
  • *
  • Posts: 142
  • Country: ru
Re: LM399 based 10 V reference
« Reply #900 on: February 15, 2019, 04:35:50 pm »
Modeled a little  ;)

Many thanks to Kleinstein for invaluable help.  :-+
 

Offline serg-el

  • Regular Contributor
  • *
  • Posts: 142
  • Country: ru
Re: LM399 based 10 V reference
« Reply #901 on: February 15, 2019, 04:37:50 pm »
Part 2
 

Offline serg-el

  • Regular Contributor
  • *
  • Posts: 142
  • Country: ru
Re: LM399 based 10 V reference
« Reply #902 on: February 15, 2019, 04:39:03 pm »
Part 3
 

Offline serg-el

  • Regular Contributor
  • *
  • Posts: 142
  • Country: ru
Re: LM399 based 10 V reference
« Reply #903 on: February 15, 2019, 04:40:08 pm »
Part 4
« Last Edit: February 15, 2019, 05:02:45 pm by serg-el »
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
Re: LM399 based 10 V reference
« Reply #904 on: February 15, 2019, 11:43:42 pm »
I still see 700uVpp ripple (vref10 node) in the pigrew's simulation.
How should your dual PWM work? What is the trick?

FYI - the best PWM equipped STM32 is the STM32F334 series. It includes 217ps resolution timers.

For example you can generate a 100kHz PWM with ~15.5bit resolution:

144Mx32/100k = 46080  (100% duty)
46080*0.7 = 32256  (70% duty)

You are absolutely correct, my simulation increases the ripple. Darn.  :palm:

I've realized that the R4 100 ohm resistor is the problem. The switches are loading the output C4 capacitor, causing extra ripple. So, either that capacitor value needs increase, the series R4 needs a decrease, or the R1 values need to be larger.

I'm running into stability issues with reducing R4. 75 ohm seems OK.

Increasing R1 makes the initial transient longer, but seems OK. It may also help somewhat with charge injection.

Increasing C4 to 15u or 22u, along with increasing R1 to 200k seems to be a winner. The ripple is so small I can't zoom in that far in LTSpice. I think I need to build it and measure it at this point. However, the startup time is now a good 15 seconds for stabilization.

But, there are HF spikes on vx,x1,x2,x3 at the pulse edges. Adding a C5 from the switch drain to ground helps a little bit.

I'm still undecided between using the passive LPF and a Sallen-Key on the output. And now I've found Linear Tech Design note 9... But it also adds to the power requirements (another 6 mA).

Try the attached simulation? I'm sure it's not perfect, but it seems close. I don't know if the 2nd switch is a good idea or not. I can't see much of a difference in simulation. I added a  (commented out) parameter step in the simulation to change the PWM phase. Having the pulses back-to-back seems optimal. However, it seems good enough without the 2nd switch, and there would be fewer of the big spikes to add offset, as I expect the spikes to be temperature/frequency dependent.

Do we have a target spec for the turn-on transient time?



The STM32F334 HR timer does look interesting, but using 10 mA makes it less than ideal. I looked around and I think that the MSP430F51 has a similar type of circuit running on a dedicated high frequency oscillator, but I _think_ has a lower power footprint. I just ordered a few free samples, and I'll see if I can get a HR PWM going (it'll take a good week for them to be delivered, so no results on that sooner. The analog stuff is more interesting, anyway.).
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: de
Re: LM399 based 10 V reference
« Reply #905 on: February 16, 2019, 12:01:08 pm »
For those of you using the ADG419, I'd be interested if you could measure the voltage (versus frequency, constant duty cycle) with the ADG419 vs. the Vishay DG419LE.

which voltage? 10V output voltage?
versus PWM frequency?

for the ADG419 I recorded output voltage over PWM frequency above:
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg2200098/#msg2200098

The DG419 seems to be better in R,On but worse in charge injection and leakage currents.
But I can order some for comparison.

Modeled a little  ;)

And what are your conclusions on this?


I've realized that the R4 100 ohm resistor is the problem.
Not only, also the output impedance of the OP-Amp ... (so reducing the 100R gives no proportional effect)
The real problem is the C4 * R1 product.

I for my part want to set C4 = 10uF which gives around 80uVpp ripple.

The ripple is so small I can't zoom in that far in LTSpice.
Try V(out) - 10 as formula for the output.

But, there are HF spikes on vx,x1,x2,x3 at the pulse edges.
Fortunately they are filtered out easyly by the final low pass filter.
I first thought they are artefacts from the simulation.
But I also have them on my scope. (even larger).
If I limit the bandwidth of the scope to 10 MHz (mainly to reduce the noise) the spikes are similar as in simulation.

Do we have a target spec for the turn-on transient time?

I for my part: should be below 10-20 minutes. As the zener also will need some minutes to warm up.
This cirquit is not intended to be used as calibrator.

with best regards

Andreas

edit: attached screen shots of spikes
« Last Edit: February 16, 2019, 12:04:56 pm by Andreas »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #906 on: February 16, 2019, 12:31:54 pm »
edit: attached screen shots of spikes
That exactly is the 700-800uVpp ripple I've been referring to (with 1uF cap)..
And you have to filter it out with a quality low-pass filter, to a level which is acceptable by the metrology folk, say, 7nVpp :).
The second order low-pass (ie the 10Hz one in my simulation) has 40dB/decade roll-off rate, thus the 10kHz+ will be down by 120dB+ (sure, the chopper adds something to it, so it will be not such great in reality).

PS: the STM32F334 HiRes PWM does not use ~GHz clock, but it works such it has got a 32 taps delay line (temp and voltage compensated) which together with 144MHz PLL clock can increase the PWM resolution as described above.
« Last Edit: February 16, 2019, 01:02:21 pm by imo »
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: de
Re: LM399 based 10 V reference
« Reply #907 on: February 16, 2019, 07:37:03 pm »
And you have to filter it out with a quality low-pass filter, to a level which is acceptable by the metrology folk, say, 7nVpp :).

Hello,

I for my part will be satisfied with a noise level factor 3 below the LTZ1000 so 0.4 uVpp (= 400 nVpp) would be sufficient.
From the last change with 80 uVpp that is a factor of 200 which should be obtainable with a passive low pass filter of 1uF instead of the 10 nF at the moment.

By the way:
by increasing C4 to 10 uF the remaining ripple in simulation on the non R15 tap (VOut2) is lower as on the R15 tap output (VOut3).
And also the ripple on Vout2 has less high frequency parts.
So for me the filter design of the output stage will be as follows:

PWM-Frequency 9600 Hz (because of current consumption and fair T.C. of -0.1 ppm/K which can be compensated in software).
C4 = 10uF
C6 >= 1uF (alternatively a 2nd order passive filter with smaller caps).
no R15 tap (less high frequency parts in output)

I am still looking for a method how to check the influence of C1-C3 and if they can be reduced without too large influence on the low frequency dithering.

with best regards

Andreas

« Last Edit: February 16, 2019, 07:43:15 pm by Andreas »
 

Online RandallMcRee

  • Frequent Contributor
  • **
  • Posts: 540
  • Country: us
Re: LM399 based 10 V reference
« Reply #908 on: February 16, 2019, 11:52:51 pm »
I have been experimenting with low-pass filters to reduce noise. It is not as easy as it might seem. First, chopper amplifiers all fail to give expected results. Empirically it seems that the filter "undoes" the chopper's attempts to lower noise and a significant amount of noise appears at the output, defeating the filter.

A low-bias current precision opamp does work, however. In particular the ADA4625-1 is exemplary--it has the triple threat: low bias current, low input current noise and low flicker noise which are all necessary for best results. (Thanks to chuckb for recommending this part).

Attached is a circuit. The AD filter wizard gives values that are high so I scaled them down and built the circuit on the left (C1=46uF). The settling time is still only 21 seconds to 0.1 ppm according to the simulation. I think C1=25uF would also work but I went for overkill. Probably NPO ceramics are worth a try, although I used very large MKP types.

The results speak for themselves: 0.32uVp-p noise is reduced to ~ .17uVp-p (right at my measurement noise floor).

Attached are 1second/div and 5second/div scope graphs showing filter noise output (last two attachments).
First shows input to filter, its at 10volts dc.

Should be fine for PWM purposes.
Edited to get attachments into post!
« Last Edit: February 16, 2019, 11:58:19 pm by RandallMcRee »
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #909 on: February 17, 2019, 11:02:12 am »
..A low-bias current precision opamp does work, however. In particular the ADA4625-1 is exemplary--it has the triple threat: low bias current, low input current noise and low flicker noise which are all necessary for best results..
The guys here are pretty keen on the low voltage offset tempcos, +/-1.2 μV/degC is on the higher side, however.
 

Online RandallMcRee

  • Frequent Contributor
  • **
  • Posts: 540
  • Country: us
Re: LM399 based 10 V reference
« Reply #910 on: February 17, 2019, 03:47:33 pm »
..A low-bias current precision opamp does work, however. In particular the ADA4625-1 is exemplary--it has the triple threat: low bias current, low input current noise and low flicker noise which are all necessary for best results..
The guys here are pretty keen on the low voltage offset tempcos, +/-1.2 μV/degC is on the higher side, however.

Its true.  Here's a thought: the LM399 has its own heater and the ADA4625 an exposed thermal pad....just need to mechanically couple the two and problem solved. Unless the ADA4625 has too much bias current at the LM399 setpoint? Someone would need to try it. I'll give it a go if someone sends me a 399...

Like I said all of the choppers I have tried were unsuitable.  For example, same circuit with the OPA189 shows 0.6uV (twice the input).
Randall
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14073
  • Country: de
Re: LM399 based 10 V reference
« Reply #911 on: February 17, 2019, 04:22:22 pm »
Relative to the 7 v of the LM399 the 1.2µV/K are something like 0.15 ppm/K this is not that much.

The LM399 runs rather hot - so it's not such a good idea to use it's temperature. The insulating cap around also makes it difficult.

There are a few good non chopper OPs that may be an alternative. Besides the ADA4625, the ADA4077 and OPA140 would be other candidates. There is no real need to be much better than the reference. With BJT based OPs it might still be an option to reduce the resistors a little and use slightly larger caps.  2.2 µF MKS caps are still affordable and not that large.

With a suitable circuit chopper stabilized OPs should still work.
 

Online RandallMcRee

  • Frequent Contributor
  • **
  • Posts: 540
  • Country: us
Re: LM399 based 10 V reference
« Reply #912 on: February 17, 2019, 07:19:27 pm »
Here is the OPA140 and the ADA4522-1 in that same Sallen-Key circuit. C1=47uf, C2=4.7uF, R1=15K, R2=470K. R1 current noise will dominate as you make C1 smaller.

OPA140: 0.22uV
ADA4522-1: 0.384uV

Perhaps the 4522-1 meets your goals.


 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
Re: LM399 based 10 V reference
« Reply #913 on: February 17, 2019, 11:40:18 pm »
I'm getting closer to finalizing a schematic. So, here is my draft 2, with the following features:

  • Footprints for both Sallen-key and passive output filters
  • Ability to use my two-phase PWM, or a single phase, ganging together the two SPDT to get a lower on-resistance.
  • STM32F334-based PWM, for 250 ps (or so) resolution.
  • 3.3V rail can use a switching regulator module, so the high current consumption should be less of an issue. Hopefully there isn't much switching noise on the output. If this ends up being a problem, a 7805 can be used with the same footprint, and I can switch to a lower power MCU for the next rev.
  • All signal-path caps are poly-film type
  • Capacitance multiplier on output of 15-volt LDO.
  • Series-resistance for PWM signals to switch, to lower rise/fall times
  • Thermometer IC, probably will switch to a newer model, though

Thanks in advance for any critiques.

I intend this board to be used from an 17 to 24 V power supply. The board is intended to be more of a experimentation platform than a final product, and I expect a second revision once I get good results with this one. I have the footprints complete for the selected components but have not done any routing/placement yet.

Depending on the complexity (via count), I may mill a board here, or perhaps order a 2-layer board from China. In the first case, I'll get measurements in a week or so. In the second case, it'll be about three weeks.

-Nathan


Planned changes:
  • Replace thermometer (listed as NRND) with TMP411ADGK, plus sense NPN close to LM399.
  • Add footprint for 3.3V SMD LDO
  • Specify 10nF cap as MKP2D021001B00KSSD
  • Move output capacitor C16 to before R9
  • Remove capacitance multiplier (suggested by Andreas), replace LDO with LT3082EST
  • Add decoupling to Vref zener node (suggested by Andreas).
  • Feed digital regulator from VIN, not the analog supply.
« Last Edit: February 18, 2019, 10:48:34 am by pigrew »
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: de
Re: LM399 based 10 V reference
« Reply #914 on: February 18, 2019, 08:02:06 am »
Hello,

I would use 100 nF across the zener of U5. (removing EMI influences eg. from the chopper).
At least the ADG419 showed a large power supply voltage dependancy. I do not know if I would use a capacitance multiplier.
C11 and C25: I would go up to 1uF here (to have the space on the PCB).

After my experiences the LM399 has much less temperature dependancy than the 1 ppm/K of the data sheet near room temperature.
So I would place the thermometer sensor near the analog switch.

with best regards

Andreas
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #915 on: February 18, 2019, 10:06:39 am »
Where your values for the low-pass come from? I did 10Hz and 1Hz low pass with flat pass-band with 16k+16k and 1u+1u (10u+10u for 1Hz).
Your values (0.1Hz lowpass) seem to have "overshoots" and "oscillation" (?) - at least the tool reports it.
The simulation shows no ripple in the pass band, though.
« Last Edit: February 18, 2019, 11:52:23 am by imo »
 

Online RandallMcRee

  • Frequent Contributor
  • **
  • Posts: 540
  • Country: us
Re: LM399 based 10 V reference
« Reply #916 on: February 18, 2019, 05:38:47 pm »
Hey imo,
The original filter came from Analog's filter designer, 2nd order bessel, fc=0.1Hz with scaling to the noise min (slider all the way to the left).
I then scaled it a bit more, another factor of 4.7.

The http://sim.okawa-denshi.jp tool always seems to show an oscillation frequency for many of these low-pass filters, but Filter Wizard does not. The overshoots are pretty clear: if you ask for step response text data and click on the file you will see that these so-called overshoots are at the 1ppm level, so not a concern in reality. Any transition from 0.9999... to 1.0000... is labeled an overshoot in that tool, I guess.
 
The following users thanked this post: iMo

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14073
  • Country: de
Re: LM399 based 10 V reference
« Reply #917 on: February 18, 2019, 06:07:55 pm »
The filter resistors are kind of a compromise between needing large caps and problems from large resistors like noise and sensitivity to bias / leakage. For OPs like TLC2057 the resistors should ideally not go much above above 50 K. So the 3 x 100 K in the initial filter circuit is already quite high, especially for the originally proposed BJT based OP.  The first resistor additionally is important for the effect of the switch resistance. So going much below 100 K is not a good option.

I personally would keep about 100 K for the 1 st resistor behind the DG419 and more tend towards less (e.g. 47 K) for the next 2 resistors. As a compensation the capacitors would need to be a little larger - usually something like 2.2 µF is still reasonable as MKS type.  In my simulations in AC mode there is a slight improvement when the first cap goes towards GND instead of the OPs output - this keeps away most of the AC current load to the OP.

The final filter could use similar caps - possibly as a 3 rd order to filter out the fastest spikes before the active filter with a small cap first.
It could be that just a 1st order filter is good enough, especially with the STM32 based solution with less low frequency component.

I don't think one would need PP-caps as I don't see a need for fast settling in this circuit. For the capacitor at the switch one might even consider an electrolytic cap if one has time for settling of DA. With only 100 Ohms (and possibly a little less) leakage is not that critical.

The choice of OPs is not that critical, as the LM399 still limits the performance: it has quite some low frequency noise and still often more drift than conventional precision OPs. So neither a 0.4 µV_pp .1-10 Hz noise from the chopper or 1 µV/K from a normal precision OP would be that bad.
 
The following users thanked this post: pigrew

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #918 on: February 22, 2019, 10:27:36 am »
I'm getting closer to finalizing a schematic. So, here is my draft 2, with the following features:
  • Ability to use my two-phase PWM, or a single phase, ganging together the two SPDT to get a lower on-resistance.
  • STM32F334-based PWM, for 250 ps (or so) resolution.
Would the switches work fine at say 70-100kHz PWM?
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 14073
  • Country: de
Re: LM399 based 10 V reference
« Reply #919 on: February 22, 2019, 10:46:53 am »
The PWM frequency is a compromise: at high frequency there is more effect from switching transients like charge injection or nonlinearity during transients. This extra part can depend parameters like temperature, supply voltage and similar - so a tendency to get more drift. There is also more higher frequency background creeping around the filter.

A lower frequency gives more ripple or requires a better filter.

Even when using just simple PWM, one may not need 2 switches in parallel. The R_on effects the linearity, but with little direct effect on the stability. 2 switches add extra charge injection and more load - so it may get worse with 2 switches in parallel.

With the higher PWM resolution, there would be less low frequency part anyway. So I don't think it would need such a high PWM frequency - I would more like expect the best frequency to be lower.
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #920 on: February 22, 2019, 11:24:31 am »
Another point to consider - the HiRes PWM mode of the F334 requires the PLL to be involved. The 217ps and alike resolutions work with 144MHz timer clock only, afaik (doublecheck). With some stm32s (ie the BluePill's F103) the PLL slowly drifts, something like 60Hz @72MHz in a sawtooth manner (not related to sawtooth with GPS). No idea whether that is the case with F334, however. Also the jitter with PLL has to be considered somehow. May be it is not too relevant with 399, but do consider when moving to LTZ1000 :)

..With the higher PWM resolution, there would be less low frequency part anyway. So I don't think it would need such a high PWM frequency - I would more like expect the best frequency to be lower.
Considering the F334's HiRes options the useful PWM freqs are the 8.8kHz, 17.6kHz or 35.1kHz, all w/ 16bits resolution.. 8)
« Last Edit: February 22, 2019, 12:15:32 pm by imo »
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 680
  • Country: us
Re: LM399 based 10 V reference
« Reply #921 on: February 22, 2019, 03:43:14 pm »
Another point to consider - the HiRes PWM mode of the F334 requires the PLL to be involved. The 217ps and alike resolutions work with 144MHz timer clock only, afaik (doublecheck). With some stm32s (ie the BluePill's F103) the PLL slowly drifts, something like 60Hz @72MHz in a sawtooth manner (not related to sawtooth with GPS). No idea whether that is the case with F334, however. Also the jitter with PLL has to be considered somehow. May be it is not too relevant with 399, but do consider when moving to LTZ1000 :)

..With the higher PWM resolution, there would be less low frequency part anyway. So I don't think it would need such a high PWM frequency - I would more like expect the best frequency to be lower.
Considering the F334's HiRes options the useful PWM freqs are the 8.8kHz, 17.6kHz or 35.1kHz, all w/ 16bits resolution.. 8)

I just ordered some F334s, but have not gotten them yet. I can do some measurements to see how stable the frequency is.


 I hope that the output voltage's dependence is more reduced with the switch I'm using, so even if the frequency drifts, it won't have a big impact on the output. With the ADG419, there were large spikes at the switching time, along with somewhat slow switching, which I believe make the output much more dependent on the frequency (the number of spikes per second adds an offset to the output since the negative spikes have different area than the positive spikes).

Because of the transients, lower frequency should be more linear. But, the lower the frequency, the larger the filter has to be.

The F334 does uses some sort of PLL or FLL, but I don't know how it'll behave:

Quote
HRTIM1 timer is made of a digital kernel clocked at 144 MHz followed by delay lines. Delay
lines with closed loop control guarantee a 217 ps resolution whatever the voltage,
temperature or chip-to-chip manufacturing process deviation. (from the datasheet).

I've ordered components to put together my boards. I split the design into a digital board and an analog board so that different microcontrollers can be compared using a single digital board. I'll make the board on a PCB mill. It uses the back as a ground plane with nearly all the routing on the top. It incorporates most of the feedback I've received. The SMD components are on the PCB's bottom while the THT components are on the other side. The LM399 routing is a bit funky, to be fixed in rev2.

I'm attaching an updated schematic and 3D rendition of the analog board.
 
The following users thanked this post: Andreas, iMo

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: de
Re: LM399 based 10 V reference
« Reply #922 on: February 22, 2019, 05:37:25 pm »
Would the switches work fine at say 70-100kHz PWM?

My ADG419: no
see T.C. over PWM frequency:
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg2200098/#msg2200098

with best regards

Andreas
 

Offline iMo

  • Super Contributor
  • ***
  • Posts: 4675
  • Country: nr
  • It's important to try new things..
Re: LM399 based 10 V reference
« Reply #923 on: February 22, 2019, 06:25:15 pm »
Would the switches work fine at say 70-100kHz PWM?
My ADG419: no
see T.C. over PWM frequency:
How did you measure that? Did you set the PWM duty to 68% and changed the PWM frequency from 2kHz to 100kHz?
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: de
Re: LM399 based 10 V reference
« Reply #924 on: February 22, 2019, 08:34:17 pm »
Hello,

I did 5 T.C. measurements (each lasting one complete day)
every measurement with a different XTAL for the ATTINY85.
(2.45 MHz, 4.91 MHz, 10 MHz, 20 MHz and one with 8:1 prescaler)

The voltage for the overview is measured at 25 deg C.
The T.C. is the linear approximation (slope of the green curves) over ~15 to 40 deg C.
PWM is kept constant. at the precalculated value which should give exactly 10V at the output for the given LM399#3.

with best regards

Andreas

 
The following users thanked this post: TiN, alm


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf