0

ADC accuracy
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

ADC accuracy

by tlerner on Thu Mar 16, 2017 9:53 pm

Hello,

I would like to use the teensy 3.5 for monitoring voltage of battery cells and recording data. I would be using a voltage divider properly to make sure each cell is within the 3.3V range. I am aware of the 13 bit resolution of the analog inputs but what I would like to know is how accurate this is?

Thanks in advance for your help.

tlerner
 
Posts: 2
Joined: Thu Mar 16, 2017 9:44 pm

Re: ADC accuracy

by adafruit_support_mike on Fri Mar 17, 2017 2:29 am

Generally speaking, a decent ADC is as accurate as its voltage reference.

The properties of an ADC itself are defined in terms of monotonicity (each output value corresponds to an input voltage higher than the previous one), linearity (if output C corresponds to a voltage V1, output NxC should correspond to voltage NxV1), and uniformity (the difference in input voltage between output C and output C+1 should be about the same for all C).

Assuming all those are suitably well behaved, the output values are defined as fractions of the ADC's reference voltage. If the reference is accurate and stable, the output values should be correspondingly accurate and stable.

Creating a really good voltage reference is a specialized job though. Most voltage regulators are only accurate to between 1% and 5% of their nominal value, and their job is to keep their output within a reasonable distance of the nominal voltage across a wide range of operating currents. Translating a 1% error to a 13-bit ADC means you can expect error of +/-82 LSB in any reading.

Our LM4040 voltage references are designed for 0.1% accuracy, or +/-8 LSB on a 13-bit ADC:

https://www.adafruit.com/products/2200

adafruit_support_mike
 
Posts: 37362
Joined: Thu Feb 11, 2010 2:51 pm

Re: ADC accuracy

by tlerner on Fri Mar 17, 2017 3:11 am

I have never heard of LSB before. How can I calculate this/use this to calculate something else?

Thank you for your response. It was quite informative.

tlerner
 
Posts: 2
Joined: Thu Mar 16, 2017 9:44 pm

Re: ADC accuracy

by adafruit_support_mike on Sat Mar 18, 2017 1:03 am

Sorry.. 'LSB' is an acronym for 'Least Significant Bit'.

When used with ADCs, it means the smallest possible change in the output value.. from N to N+1 or N-1. That corresponds to an input voltage of 1/2^B times the reference voltage, where B is the number of bits in the ADC's ouput.

For a 13-bit ADC working from a 2.048v reference, 1 LSB would correspond to a voltage difference of 250uV at the input.

For the same ADC working from a 3.3v reference, 1 LSB would correspond to a voltage difference of about 403uV at the input.

Assuming the 3.3v reference was stable to within 1% of its nominal value, the expected error would be +/-33mV. Dividing that by 403uV gives us a total of about 82 LSB of error.

82 is roughly 2^6, which means the 6 least sigificant bits of the ADC's 13-bit output would have to be considered error. Only the 7 most significant bits (MSB) could be taken as accurate to within the limits of the system.

A 0.1% reference would be ten times more stable, and 10 is roughly 2^3. That means you could treat the 10 most significant bits of the ADCs output as an accurate measurement of the input, but would still have to consider the 3 least significant bits little more than a measurement of the reference error.

adafruit_support_mike
 
Posts: 37362
Joined: Thu Feb 11, 2010 2:51 pm

Please be positive and constructive with your questions and comments.