This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1115: Input impedance seems unexpectedly low

Part Number: ADS1115

Tool/software:

I'm trying to use an ADS1115 to measure the voltage of a floating electrochemical (ORP) probe that produces +/-2V with a rather large output impedance. My nominal test case using tap water should come in right around 200mV. Right off the bat, I realize now that this is not likely to go well without using an input buffer, since I get acceptable measurements using a DMM with input impedance of 16Mohm, yet load the sensor down noticeably when using a DMM with Z=10Mohm (on the mV scales, each).

So of course, when using the bare ADS1115 in any mode, it's going to load the sensor unacceptably. But what I'm stuck on is that the impact seems to be MUCH worse than it SHOULD be. Plugging the sensor into the lower-z multimeter loads it down from 200mV to settle at maybe 120mV. Plugging it into the ADC clamps it to like 22mV almost instantly. I was so confused by this I even bought a new, definitely-not-counterfeit part suspecting that my original breakout board was shady, but the behavior is identical.

Using the sensor in 6.144V full scale and 8sps modes, it should have Z = Zdiff||Zcm = 10M||22M||22M = about 5.23Mohm, right?

Measuring with a multimeter in ohms mode stuck right across the inputs produces mixed results depending on the meter. One consistently reads ~3.5 to 4Mohm while the ADC shows its test voltage is around 3.6V. Another autoranges too quickly to get a result. Yet another shows about 1Mohm, while the ADC reads 200mV. The true resistance as measured by the DMM depends on its range and excitation voltage, and the particular part of the sampling phase the ADC is in.

It very much looks like there's some static (differential) input current on top of the resistance-approximating input impedance expected. 

To try to get a better understanding, I drove the differential input with a floating bench supply at 0.51V per the following diagram:

Note that the DMM is set to RMS AC+DC current mode, since the current waveform pulses. I had also tried using a current shunt amplifier (LowPowerLabs Current Ranger) and my oscilloscope, which produced the very pulse-y waveform at the bottom of this post. I noticed at that point that my DMM measurement disagreed with the RMS measurement on the scope, at which point I switched to the proper DC+AC mode on the meter and then became confident in that measurement. 

Measuring this way, I saw that the bench PSU was sourcing 6uA DC+AC into the ADC, which at 0.51V works out to 85kOhm (!!!)

To check the operating mode, I manually changed the sample rate up from 8sps, and manually changed the full scale range down (gain up) both of which resulted in yet higher current drawn from the PSU. I confirmed that of all combinations, 6.144V FSR and 8sps resulted in the lowest current measurement I could achieve.

One final thing I did notice: when I leave the ADC floating entirely, it measures between -20 and -200mV depending on how much wire is attached (so that's mainly noise-related I guess?) When shorted, it measures identically 0. When connected to PSU+ only, it measures ~700mV (whether the PSU is on or off). When connected to PSU- only, it measures ~-700mV (again, whether on or off. However, those measurements seem roughly consistent with "a random length of wire" in place of "PSU+/-" so I'm attributing that to behavior in the presence of ambient capacitance. 

So anyway, what am I doing wrong or misunderstanding that this input impedance seems so much lower than expected?

Here's that waveform I mentioned. Ignore the DMM and RMS scope measurements, these were taken at a different input voltage from the 0.51V above.

  • Hi,

    The input impedance of the ADS1115 is not a static impedance. 

    The input impedance changes depending on the full-scale range and is approximately these values stated on the data sheet: 

    The ADS1115 uses a switched-capacitor input stage where capacitors are continuously charged and then discharged to measure the voltage between the AINP and AINN pins during the sampling phase.

    This charging draws a very small transient current from the source driving the ADS1115 analog inputs. The average value of this current can be used to calculate the effective impedance (Zeff), where Zeff = VIN / IAVERAGE.

    Because the impedance is dynamic it is hard to state a specific value for every input/configuration, so the value provided on the data sheet is more of an average over the input range.

    The input impedance looks like the following from Figure 26 in the datasheet:

    There is both a differential and common-mode component to the input impedance. The input current (if you look at it that way) will vary with the voltages of both the AINP and AINN inputs and cannot really be decoupled.

    However, if you are using the ±6.144V FSR and have the ADC to make single ended measurements (tying AINN to ground), you can approximate the 0.7V discharge point for the common-mode impedance as ground. Then the equivalent impedance appears to be ZDIFF||ZCM.

    Then the input impedance looking into AINP is 10MΩ||22MΩ, which is about 6.9MΩ.

    If your system is measuring a source with high-output impedance you should consider using a buffer, as this will ensure a higher input impedance and avoid loading your sensor. 

    Best Regards,

    Angel

  • Thanks for that! Yes, I certainly agree that this application simply requires a buffer. But I'd still love to know what I'm missing. Since I'm measuring in differential mode, I'd expect the effective impedance to be slightly lower than the 6.9MOhm of a single ended measurement with my settings of 6.144 FSR and 8SPS. But that doesn't account for the difference between expected (~5MOhm) and actual (~85kOhm). 

    I did go looking for any kind of a "leakage current" spec which could make up that difference in a hurry, but I couldn't find any (leakage current is specified for digital pins but not analog).

  • Hello,

    Measuring with a multimeter in ohms mode stuck right across the inputs produces mixed results depending on the meter. One consistently reads ~3.5 to 4Mohm while the ADC shows its test voltage is around 3.6V. Another autoranges too quickly to get a result. Yet another shows about 1Mohm, while the ADC reads 200mV. The true resistance as measured by the DMM depends on its range and excitation voltage, and the particular part of the sampling phase the ADC is in.

    This seems to be more within the input impedance range expected from the ADC. 

    I'm not too sure what it may be, but it is likely there is something else in your setup causing the measurement to seem this low.

    For your application using a buffer seems like the best way to unsure a high input impedance. 

    Best Regards,

    Angel