Products > Test Equipment
Doing it RAW: Tapping Keithley 2001 ADC
Kleinstein:
Thanks for the effort of finding out about the averaging method used. :clap:
Averaging over about 1 minute makes sense. Normally, if everything is done right this should give relatively low noise values for the gain. I would not expect much faster drift for the gain, though with noisy resistors (e.g. like the NOMCA arrays or worse thick film resistors), there can be multiplicative 1/f noise too. Normal thermal drift would be rather slow, so that 1 minute steps sound like OK for this.
However for the offset averaging over 1 minute is kind of a disaster as it would add lots of 1/f noise from the amplifier and ADC. It would set the relevant frequency for the 1/f noise to some 0.01 Hz instead of the possible 1.5 or 15 Hz for 10 or 1 PLC. The added 1/f noise would be especially bad when using the BS-amplifier (AD548), that has lots of 1/f noise.
The natural way would be to use directly the zero readings 1:1. This way one can also avoid the delay from the zero and signal readings. Good averaging would be the zero reading before and after the signal, no more. Later digital filtering for the result (signal - zero) would also filter the zero reading - so no need to do extra zero filtering. Filtering is reducing the white noise a little, but adds 1/f noise, so there is an optimum time window, that may well be in the 10-50 ms range, so maybe a thing for faster readings < 1 PLC.
For some reason the early plot shows quite some drift for the voltage readings, possibly the ADC gain. So there may also be some source for gain drift, like a high TC resistors in the hope that the real time gain measurement can correct it. With so much drift one may have to shorten the interval and use more like running average instead of just fixed blocks.
With the captured data one could in theory use a more sensible calculation to get a lower noise result.
saturnin:
--- Quote from: openloop on August 05, 2020, 01:20:47 am ---
Thus here's what's happening: for one minute they collect acal readings, about 35 of each (6.9V, 0V etc.). Then they average them and derive new Gain and Offset coefficients.
These new gain and offset then immediately put into service and they'll remain active for the next minute, while the instrument collects the next batch of acal data. Rinse repeat.
As a consequence of keeping gain and offset constant for entire minute, while ADC drifts every each way, readings start to fall into a characteristic ramp-like pattern (because used gain and offset coeffs no longer correspond to the reality of the drifted off ADC). The longer it goes, the further off base readings become. At the end of the minute, there's another jump (snapping back to a somewhat correct value) and a new ramp begins...
--- End quote ---
This is in agreement with output data I measured during the warmup phase (when drifts are strongest). The input signal was stable 10V reference. See attachments for details.
MegaVolt:
The DMM7510 has something similar when warming up.
openloop:
--- Quote ---I would not expect much faster drift for the gain
--- End quote ---
Actually, there are much more drift in gain than offset. You can even see it in the graph - I marked "blue" zeros on the right - they've stabilized fairly well. Zero does not depend on the drift of LM399, it does not depend on the drift in the divider. Moreover, the zero reading does not depend on drift of ADC board +Vref. Simply because it's mirrored by -Vref and when they drift apart the middle stays the same.
But the gain does depend on +-Vref, and LM399, and the divider...
--- Quote ---However for the offset averaging over 1 minute is kind of a disaster as it would add lots of 1/f noise from the amplifier and ADC. It would set the relevant frequency for the 1/f noise to some 0.01 Hz instead of the possible 1.5 or 15 Hz for 10 or 1 PLC. The added 1/f noise would be especially bad when using the BS-amplifier (AD548), that has lots of 1/f noise.
--- End quote ---
Yes, it adds some low frequency noise. Although when I looked at the numbers I had hard time (more like "wasn't able") to separate noise contributions from gain and offset. Little bastards are like yin and yang.
--- Quote ---With the captured data one could in theory use a more sensible calculation to get a lower noise result.
--- End quote ---
Sure - there's no need to deal with firmware's extra noise BS. Looking at the data, one can see that the instrument's drift is very smooth. In such a situation, for real time work, Kalman filter framework should give good results. Of course, if done in post-processing, one can use non-causal filters to get even more accurate readings.
Wish high-end instruments, just like high-end photo cameras allowed for access to raw readings, without the need to solder taps in...
Kleinstein:
Chances are much of the offset drift would be due to drift in the resistors: one pair is the + to - 10 V ratio on the ADC board. The other pair is the 19+1 K and 40 K resistors at the integrator input.
The drift of the LM399 should not be very large, it is more like noise here. The ref. on the ADC board may show some drift, but this should not be so bad if things are done right - the zener used is supposed to be reference grade and low TC ( < 50 ppm/K). With the right current it could even be tweaked to near zero TC. For the resistors involved it is one pair for the attenuator at the amplifier, the resistors at the input (19+1K and 59 K) and the +-10 V amplification. So slightly more than involved with the offset - maybe twice as sensitive.
For separating the noise to an offset an gain part it may help to look at a zero volts reading. This should have essentially no noise from the gain factor and the reference. The LM399 (and the 1N4877 too, though likely lower) noise would be a 3rd contribution.
A agree that it would be nice to have access to raw data for post-processing, or just for diagnostics. However the GPIB bandwidth is limited and memory was more expensive back than.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version