Hello:
We have a prototype where we are using the ADC1113 to read a linear potentiometer. The potentiometer is in a very simple voltage divider configuration as shown below, measuring from AIN0 to AIN1 (or AIN0 to GND):
We have our system running and being able to be read from an MCU via I2C. However, we are experiencing on two different prototype boards the following scenario: at 1.65V (complete range of one of the sides of our potentiometer) we are reading from the COUNTS register the value 5780. Our understanding is that the ADS1113 has a fixed FSR of 2.048V, with 16 bits. With this in mind, we are getting counts that do not align with what the real value should be.
I2C Configuration
We are writing the value 0xC443 to the configuration register (9.6.3 on Datasheet). We also tried with 0x8443. We received ACKs on the way, indicating it has been received correctly by the device.
We then read the 16 bits from the conversion register. We organize the value the following way, knowing that the first byte received is the MSB, followed by the LSB
*val = (uint16_t)((data[0] << 8) + data[1]);
Doing this, we receive the following values, paired with a multimeter reading via a Fluke 87III reading:
Low End of Potentiometer: COUNTS: 5662 Measured 1.374V
High end of Potentiometer: COUNTS: 702 Measured 0.243V
HW
We are measuring from pins 2 and 3 on the following layout picture. As you can see, the layout is not complex at all, and I would not believe this to be an issue of layout. It also is reproducible in two different boards. I also checked to see if the ADC1113 was the mounted chip, and it has the marking N6J, which according to datasheet Pg 45, does correspond to this chip.
Measurements on an oscilloscope do show some noise, but not enough to determine the big significance in counts between 1.3V and the counts oftained of around ~5700.
Any guidance on this issue would be greatly appreciated as we are having trouble finding the root cause.
Thank you!