I am trying to automatically measure the behavior of a batch of devices in order to guarantee that the current stays in the expected range for different supply voltages. For that purpose I am using an ADS1256 ADC.
Using the following circuit (simplified for the purpose of this question and showing only the voltage measurement) I get pretty good measurements.
Comparing the results from my DMM and from the ADC (first two columns of the following table) I get a reasonable error.
Since the excitation voltage can be greater than 2.5V (accepted by the ADC), I am trying to add two voltage dividers (one for channel) as shown in the following diagram.
Unfortunately, the error gets too high for my purposes, probably because the leakage current through the voltage dividers and value mismatch between the resistors. (I'm using 1% resistors for the prototype).
One option could be to use two opamps in voltage follower configuration (G=1) before the voltage dividers but this doesn't solve the resistors mismatch problem and I fear that two different input offset voltages could have a huge impact.
My questions are:
- which is the best way to scale down a differential signal?
- why do the dividers with 470k resistor (which should have the minimum leakage current) lead to an even higher error?
EDIT - Clarifications
The prototype I am working on is focused on testing the ADC behavior (and software to drive it)
R3: it is used to measure the current through the DUT (not shown in the schematic). The value of R3 used in the prototype is just for testing the ADC, the final value could be different accordingly with the actual current range to measure
R$: it is just to simulate the actual device (which is not even linear)
The general question is: how to scale down a differential voltage without too much leakage current and keeping the error possibly lower than 1%.