ADS1114: 3 ADS1114 chips, all have non-linear error in their readings

Part Number: ADS1114
Other Parts Discussed in Thread: ADS1115, LM4051-N, OPA387

Tool/software:

I buy my ADS1114 chips from Mouser and this is how my circuit works, im having issues where the ADC makes mistakes reading voltage, the mistakes are non-linear but repeating, meaning that everytime i try to measure lets say 3.3V, it will always give a reading of 3.2V, a 100mV error. That however does not mean that any voltage i measure will have a 100mV error, it changes without reason or pattern, hence why i say non-linear.

I have tried 3 times to make this exact circuit on breakout boards and a breadboard, i have tried also a proper JLC PCB board, and the issue persists. Once out of frustration i bought an AliExpress ADS1115 and it worked wonders, it came on a breakout board from factory though.

My questions are,
- Do you see any clear indication of wrong circuit design that may lead to such an unstable ADS1114.

- Why is it repeating with every ADS1114 i solder my self but the ADS1115 i ordered worked perfect.

I have tried a logic analyzer scanning for I2C to check the ADS1114 is receiving the right commands.

I have tried isolating the ADS1114, just it and a microcontroller.

I have tried multiple microcontrollers, two ESP32s, one Arduino NANO.

I have tried applying a software fix, but the error is non-linear so it cant fix it totally.

I have tried crying and praying.

This circuit accepts a range of -12V up to +12V and using a voltage divider i divide that by 6, i also level shift the signal so no negative voltages exist, the end signal that goes into the ADC has a range of 0V up to 4V.

  • Hi Valerio,

    Can you share the data you have taken to determine that you have a 100mV error? During this time, what is the measured value at the analog input (with an oscilloscope or multimeter), and what is the ADC conversion result? 

    What full-scale range setting do you have for the device?

    Regards,
    Joel

  • Hi Joel,

    I am using the 4.096V scale with 5V VDD going to the ADC and for the level shift voltage of 2.41V im using a (LM4051-N Precision Micropower Shunt Voltage Reference)

    Here is a test i did at the university lab that consisted of a stable proper power supply and a trusted and accurate multimeter.

    Fed voltage at 0.5V increments all the way from -11V up to +11V and measured at the input of the ADC (A0 pin) with my multimeter, noted that voltage down and then checked the ADC reading on my terminal window. Here are the results.

    MULTIMETER ADC READ SIGNAL (VOLTS)
    0.1830 0.1758 -11
    0.2560 0.2456 -10.5
    0.3360 0.3272 -10
    0.4210 0.4101 -9.50
    0.5100 0.4921 -9
    0.5890 0.5700 -8.5
    0.6730 0.6519 -8.01
    0.7560 0.7286 -7.51
    0.8310 0.8070 -7.01
    0.9350 0.9099 -6.5
    1.0150 0.9800 -6.01
    1.1116 1.0680 -5.5
    1.1600 1.1300 -5
    1.2300 1.1994 -4.5
    1.3100 1.2784 -4
    1.3900 1.3566 -3.5
    1.4800 1.4482 -3
    1.5600 1.5227 -2.5
    1.6400 1.6000 -2
    1.7300 1.7068 -1.5
    1.8000 1.7630 -1
    1.9000 1.8580 -0.495
    1.9900 1.9182 0
    2.0600 1.9932 0.5460
    2.1300 2.0828 1.00
    2.2300 2.1570 1.50
    2.3000 2.2326 2.00
    2.4000 2.3400 2.50
    2.4800 2.4121 2.99
    2.5600 2.4888 3.50
    2.6500 2.5652 4.00
    2.7100 2.6472 4.50
    2.8000 2.7129 5.00
    2.8800 2.7960 5.50
    2.9500 2.8811 6.00
    3.0400 2.9528 6.51
    3.1300 3.0342 7.00
    3.2100 3.1300 7.51
    3.2900 3.1897 8.00
    3.3600 3.2692 8.50
    3.4400 3.3482 9.01
    3.5200 3.4264 9.50
    3.6200 3.5280 10.00
    3.7000 3.5981 10.49
    3.7800 3.6654 11.00

    While this is not 100mV error as i mentioned above, even a 10mV error in what the multimeter is reading and what the ADC is reading will throw off the accuracy of the whole device this ADC is part of.

    11V MULTIMETER READING - > (3.78 - 2.41) / (20000 / 120000) + 2.41 = 11.5 - GOOD
    11V ADC READING -> (3.6654 - 2.41) / (20000 / 120000) + 2.41 = 10.47V - NOOO!!

  • Hi Valerio,

    In testing with the ADS1115, did you have the same setup with the OPA387? Was the difference only truly moving from the ADS1115 to the ADS1114?

    I will say, since the ADS1114 is an integrated device with an integrated PGA, there is not a lot from the schematic that I would expect can go wrong.

    Therefore, I would ask, are you able to swap the ADS1114 with the ADS1115 that you have? We know that the ADS1115 is a good device. Does it still work as expected on your board? If it does work, then the issue is the ADS1114 device. If not, then we can look elsewhere in the system for an issue.

    Regards,
    Joel