Electronics > Metrology
7.xV to 10.00000V AutoCAL circuit
e61_phil:
Hi,
I'm afraid there is quite a lot disscusion about 7V to 10.00000V in the LM399 and LTZ1000 Threads, but my "idea" is related to both references.
It seems to be quite hard to get a relieable and stable (long-term and tempco) amplifier to generate 10.00000V out of the ~7V from a LM399 or LTZ1000. VHP100 are quite expensive, hard to get and not adjustable. So even if you get these things you can't adjust the voltage to 10.00000V without extra effort.
I was thinking about something cheaper and much easier to get (in germany most things are available at Reichelt Elektronik).
What if one uses a LTC2400 ADC as "reference divider"? The tempco is quite small (0.02ppm/K) and I could imagine it is also long-term stable. My approach is to create an amplifier which is able to generate about 10V out of the 7V and fine tune this amplifier with a DAC. A rather cheap (or two) DAC is sufficient, because it sits in a closed loop and will only tune the last digits.
I would use a LTC1043 to divide the 10V output down to 5V. This 5V will be the digital/LTC2400 GND. The 10V output of the amplifier will be the reference voltage of the LTC2400 (which seems to be 5V for the LTC2400). Now, I'm able to measure the about 2V (7V-5V Ref) with the LTC2400 while the output voltage is tuned to 10.00000V by the DAC.
After this calibration it is only neccessary to tune the DAC after some drift back to the ADC value measured at the calibration. Therefore, even the INL error of the LTC2400 doesn't matter.
Furthermore, it is possible to start this AutoCAL procedure, tune the DAC and switch off the microcontroller, so there will be no swichting digital circuits until using the reference.
What do you think about it? Is it a old story or doesn't it work?
Philipp
uncle_bob:
--- Quote from: e61_phil on March 10, 2016, 08:56:31 pm ---
What if one uses a LTC2400 ADC as "reference divider"? The tempco is quite small (0.02ppm/K) and I could imagine it is also long-term stable. My approach is to create an amplifier which is able to generate about 10V out of the 7V and fine tune this amplifier with a DAC. A rather cheap (or two) DAC is sufficient, because it sits in a closed loop and will only tune the last digits.
I would use a LTC1043 to divide the 10V output down to 5V. This 5V will be the digital/LTC2400 GND. The 10V output of the amplifier will be the reference voltage of the LTC2400 (which seems to be 5V for the LTC2400). Now, I'm able to measure the about 2V (7V-5V Ref) with the LTC2400 while the output voltage is tuned to 10.00000V by the DAC.
After this calibration it is only neccessary to tune the DAC after some drift back to the ADC value measured at the calibration. Therefore, even the INL error of the LTC2400 doesn't matter.
Furthermore, it is possible to start this AutoCAL procedure, tune the DAC and switch off the microcontroller, so there will be no swichting digital circuits until using the reference.
What do you think about it? Is it a old story or doesn't it work?
Philipp
--- End quote ---
Hi
Floating the 2400 in "mid air" means that all your digital stuff will be sitting on your 5V "2400 ground" rail. You need a pretty good amp to do the buffering on the output of the 1043 and then you are right back "into a mess". Amps don't like to drive cap loads. Rails want to be highly bypassed to be quiet. You now have multiple loops and compensation around the amp.
Since the 2400 is a cap sampler, it pulls bursts of charge off the source. That's worked out in the app notes from the 2400 side of things. It's still a very "spiky" current flow. To keep your ref from seeing these ... more op amps.
The "big guys" decided long ago to simply take whatever the reference put out and use that as a standard. Checking a 8.39205228002894 V calibration reference is not any worse than a 10V ref with modern gear.
Bob
Vgkid:
If you want some old time circuits look at the Systron Donner m106, or the newer m107.
e61_phil:
--- Quote from: uncle_bob on March 11, 2016, 01:16:31 am ---Floating the 2400 in "mid air" means that all your digital stuff will be sitting on your 5V "2400 ground" rail. You need a pretty good amp to do the buffering on the output of the 1043 and then you are right back "into a mess". Amps don't like to drive cap loads. Rails want to be highly bypassed to be quiet. You now have multiple loops and compensation around the amp.
Since the 2400 is a cap sampler, it pulls bursts of charge off the source. That's worked out in the app notes from the 2400 side of things. It's still a very "spiky" current flow. To keep your ref from seeing these ... more op amps.
--- End quote ---
I thought about a buffer with an auto-zero opamp around to stabilize the 5V rail (LT1010 togehther with LTC2057 for example). Perhaps, the LTC2400 isn't the right ADC for this.
I think the nice thing which an approach like this is you can get rid of any switching noise during measurements. This ist not possible with PWM, so you have to put much more effort into this to get it very quiet. I can't believe that this will be less effort than maintaining a rough 5V for the ADC. But, perhaps I am on the wrong track.
montemcguire:
--- Quote from: DiligentMinds.com on March 11, 2016, 12:46:05 am ---The real trick with PWM is getting the minimum 0.1ppm adjustment resolution you need without a many-GHz PWM master clock. I figured out how to do it after some time-- [can't say much more about it though, sorry]...
--- End quote ---
One way to extend PWM resolution is to use a high resolution PWM duration register and add high quality random dither to that 'real' duration value before truncating it to the actual low resolution duration value. Since we're concerned with essentially DC, the small but random variation of the dithered PWM edges is just a HF component that will disappear when lowpassed. But, the edge timing dither will allow a much higher effective resolution of the PWM.
One requirement is to generate some high quality random numbers with an average of zero. I'm doing this in an NXP MCU by using their 12 bit ADC to sample the Johnson noise of some high value resistors, amplified by a few chopper stabilized op amps (OPA333). The combination of NiCr resistors and the noisy chopper amp produces very close to perfectly random noise with no 1/f component. The bottom 8 bits are extracted from the 12 bit ADC and stuffed into a RAM circular buffer, to be clocked out as needed when each new PWM edge timing is generated. While this circuit and ADC generates low bandwidth random numbers (~40KB/s), if the circular RAM buffer is large enough, there should be no problems with periodicity, even though the buffer will be cycled through a few times as the random data is slowly being updated.
There are still some gotchas here - the DC error of the chopper amps (and the ADC) will pollute the random noise signal, slightly altering its average value, but some coupling caps can minimize that for all but the last amp in the noise generator chain. Further, this dither is scaled down somewhat before it is added to the high res register, reducing this DC error. Finally, when the bottom 8 bits are taken from the 12 bit ADC values, this randomizes the random signal's DC error - it is effectively modulated by the value of the 4 bits that are thrown away from each sample. As long as the analog noise is large enough to make those top 4 ADC bits move, but small enough to prevent the ADC from clipping with any regularity, any DC error (causing a non-zero ยต in the random data) should disappear.
Not sure if this scheme is what you came up with (and there's no need to confirm or deny!) but I'm using this method to randomize and extend the resolution of a PWM application and it seems to work reasonably well at low cost with a modern MCU.
Navigation
[0] Message Index
[#] Next page
Go to full version