As I have been reading , 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?
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?
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.