As I have been reading [1], there exist four different DAC error types, which contribute to the overall error:
- Offset Error
- Gain Error
- INL Error
- DNL Error
Is my understanding correct, that these are static errors?
So if I was to take a measurement of a stable analog voltage,
the obtained result by the ADC has a certain error.
However, If I am to repeat the measurement x times, I would still obtain the same result, no fluctuation?
[1] https://www.maximintegrated.com/en/design/technical-documents/tutorials/7/748.html
Background:
I am using a 10 bit ADC, and my voltage reading fluctuate all the time.
The ADC accuracy specs are:
- Integral Nonlinearity INL ±0.5 LSB (typ) ±1 LSB (max)
- Differential Nonlinearity DNL ±0.25 LSB (typ) ±1 LSB (max)
- Offset Error ±1.5 LSB max
- Gain Error ±1.0 LSB max
I took multiple readings with a voltage divider formed of 2 1k Ohm resistors, sourced by 3v3 on a raspberry pi 3.
The results are (left column is the abs. frequency, right col gives the voltage value):
4 1.633887
14 1.637109
57 1.640332
7927 1.643555
7585 1.646777
9042 1.650000
605 1.653223
9 1.656445
2 1.659668
With a better circuit board would I ideally only obtain the same value all the time, regardless of how large INL, DNL and other errors are?
Thank you!
Edit:
As suggested by @JRE and @JustMe the unclean voltage and breadboard setup was indeed causing all the fluctuations. I am still using the poor setup on a breadboard as before where I had the fluctuating readings.
For anyone else with the same problem, a capacitor next to the ADC on the breadboard (as it would have been suggested for PCB designs anyway) fixed things nicely (used a Panasonic FR capacitor with 270 uF). My readings are now repeatedly 1.65 V
without any fluctuations.
Best Answer
Yes, the ADC lists those parameters under "DC Accuracy", meaning even if these DC parameters are non-ideal, it should give same value when sampling an ideal noise-free DC voltage source, assuming it is connected to ideal noise-free DC power supply. Some other additional assumptions may apply as well.
So, in light of this, under non-ideal conditions, fluctuating results due to external sources of fluctuations is normal, but they can't be characterized in the datasheet, because the datasheet won't know what signal you are measuring, how noisy the ADC power supply, and how the signal or supplies fluctuate.