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.