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: Have noise issue and when and how to calibration

Part Number: ADS1115

Dears,

We use ADS1115  to sample the Voltage and Current signal,we find two question when we test it .

Q1:when the signal output is 0V or no connect to the transducer,sometimes a non-zero value wil occur,we find this from software,PLS help on this.

Q2:the DNL si bigger,is it need to calibration on the production line?How to calibration?

  • Hi!

    It's not very clear in the schematic you provided, so can you confirm that the op-amps are configured as unity gain buffers? What is the code value for the spikes you see? There is no scale on the graph, and all spikes appear to be about the same magnitude. Can you verify through your I2C bus to see if the excursions are from the ADC or somehow as a result of a software issue? Calibration can be done by shorting the inputs and looking at the offset.
  • Hello, I am the initiator of this question.

    We solve the problem of noise first and then discuss the problem of calibration in detail.

    When the ADC input signal is 0, register value read by the I2C bus is 0XFFF。

    the code for the I2C bus:

    ADS111X_Write(ADS111X_REG_CONFIG,0x4283)


    ADS111X_Read(ADS111X_REG_CONVERSION,&data)

  • Hi,


    Often, the 0XFFF output refers to a negative full scale output, so I would first check that there isn't an intermittent bad connection to the input.

    However, the other possibility is that the ADS1115 did not receive the I2C command to read the configuration, either because there is a glitch or noise on either SDA or SCL. In that case, the device would have ignored the command, and the I2C line would have stayed high. If the microcontroller doesn't check for the device to ACK the read, then a bad communication may have happened.

    Is there a way to get an oscilloscope to show the communication between the ADS1115 and the microcontroller when the data error occurs? Do you know if there is noise on the I2C line that might cause glitching in communication? The only other way to check for this error would be to ensure that the device ACKs the command to read the device for each I2C transaction.

    As for calibration, generally this device doesn't require much calibration. The typical offset is ±1 LSB and the gain error is typically 0.01%.

    If the customer requires some sort of calibration, the method would be to make a measurement with the inputs shorted which gives an offset, Subsequent measurements would have this offset subtracted out. After that, make a measurement near the full-scale, with a known voltage. Calculate the error as a gain error and then have the gain error divided out from future measurements after the offset is removed. The ADS1115 doesn't have any extra features for helping with calibration. This must be done with the microcontroller.


    Joseph Wu
  • I'm sorry , the register value by the I2C bus is 0xFFFF,not 0xFFF ,when the adc input signal is 0.

  • There was a bit of error in my earlier statement that the register value read through the I2C bus is 0 xFFFF.
    When the voltage collected by ADC is negative, the output is 0XFFFF ?
  • Hi -

    The ADS1115 has a binary two's compliment output, so 0x0000 and 0xFFFF are only one code away from each other. Full scale negative would be 0x8000 and full scale positive is 0x7FFF. Please review section 9.5.4 on page 26 of the datasheet for details.