# ADC error for low-voltage measurements

The application is high-side current sensing for a battery-operated device. The current drawn from the battery goes through a shunt resistor, the voltage across the resistor is amplified by an INA, which output goes into an ADC (ADS1262). An MCU retrieves the conversion results and forwards them to a computer for analysis.

I tested the circuit by generating a current [0 A - 1.5 A] through the shunt resistor (0.01 A steps from 0 A to 0.1 A, then 0.1 A steps). According to the resistor's value and the amplification, this gives a voltage range [0 V - 4.3 V] at the ADC's input, which has a 5 V reference. I calibrated the ADC before the test (offset and gain respectively at min and max input current). For each current step, I recorded 100 conversion results from the ADC synchronized with as many samples from a tabletop DMM (Agilent 3606) for the ground truth. Then I computed the average error for each step. As shown below, the absolute error between the generated current and the measured one decreases linearly with increasing input. At 1.5 A input, the error is smallest (about 50 μA).

Why is the error larger for smaller inputs? I expect some ADC nonlinearity, but in the ppm range, not several percent. I checked that the ADC's input is indeed linear, so this behavior doesn't come from the amplification stage. Is it a general property of ADCs or is it specific to my circuit?

(This was part of a prior question, where I gave more details on the project. I don't think the details are relevant here, though. This other question shows an error curve very similar to mine, but they used a MOSFET for the current sensing and its characteristic was nonlinear to begin with. So it doesn't help me much.)

• Are you averaging the results? (i.e. taking multiple measurements at a single point)? Commented Apr 7, 2016 at 8:10
• @PeterSmith Yes, I took 100 samples at each point. I edited the question to include that. Commented Apr 7, 2016 at 8:20
• If you calibrated the ADC for offset and gain at the extremes, then what graph shape were you expecting??? I see nothing wrong with the graph and, if you extended it to 0mA then the error should fall to zero by your own actions of pre-calibrating. The fact that it doesn't look like it will be zero (at 0mA) maybe because you didn't calibrate correctly. Commented Apr 7, 2016 at 8:21
• @Andyaka I took ten more measurement steps in the range [0 A - 0.09 A] (see edited picture), so yeah, you're right. Then, the shape of the curve just shows that between the two calibration points, the conversion isn't linear? Is that right? And how does the ADC's own nonlinearity (a few ppm) account for such large errors? Sorry if that's really basic, I don't have much experience with ADCs. Commented Apr 7, 2016 at 9:50