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.

Compiler/ADS1114: ADS 1114 conversion results

Part Number: ADS1114
Other Parts Discussed in Thread: TLV9002

Tool/software: TI C/C++ Compiler

Hi All ,

    How to convert the measured voltage according to the conversion result.

configuration:

           1、write: 0x92 0x01,0x84,0x83

           2、write: 0x92 0x00

           3、read: 0x93 xx xx  (xx xx How to convert to voltage value?)

Schematic diagram:

  • Hello,

    This devices provides the data in 2's compliment format. This means that all positive voltage inputs will have an MSB of 0, and all negative input voltages will read out with an MSB of 1.

    That means when the input is at 5V, the output will read out 7FFFh, and when the input is -5V, the output will read 8000h. Page 26 of the datasheet goes further into detail about this.

    When converting to voltage, remember that the readings are in hex values in 2's compliment.

    The following blog helps to explain the conversion from code to voltage: How to convert an ADC code to a Voltage

  • Hi!

    According to your method, I still can't convert it. What's the matter?

    1、output code:0x00dc

    2、According to the equation:Vin(V) = output code * LSB Size

         myconfig is :010 : FSR = ±2.048 V   

         9.3.3 Full-Scale Range (FSR) and LSB Size As shown in.

         LSB Size is 62.5 μV.

         Vin = 0x0002 * 62.5 = 220 * 62.5 = 125   = 0.000125 (V)

         The theoretical value of 0.25mv(Shunt resistance is 0.5 m Ω,The constant current of the load device is 0.5A) is quite different.

         

  • Hi,


    I get a value that's very different than yours, but it is a similar method of calculation:

    Output code = 0x00DC = 220d

    Using the ±2.048V FSR, the output is:

    Vin = 220 * 2.048 / 2^15 = 13.75mV

    (Note that you would get the same value for 220*62.5uV)

    This is significantly different than your expected value of 0.25mV. I would start the debug by trying to measure a different voltage just to check to see if you have a problem in the circuit setup. You could measure a AA battery or a voltage divider from the supply just to see that the ADC is correctly measuring the value.

    I would also verify the communication. Using an oscilloscope or logic analyzer, look at the I2C communication and see if the output matches the data collected by the microprocessor. Post the I2C communication back so that we can look over the output data directly.

    Lastly, can you post a schematic? I'd like to see if there is any other possible schematic problems that could account for the discrepancy between the expected value and the ADC output data.


    Joseph Wu

  • Hi,



    I just realized that you already put up a schematic in your first post.

    With the input front end, you have a difference amplifier set up in a gain of 5 using the TLV9002. There are two things that can add additional error to the schematic. First, your offset error is part of the measurement and is also gained up by 5. In this device, the typical offset error is ±0.4mV. Gained up by 5, you can expect a typical error of 2mV at the at the output of the op-amp. Second, the mismatch of the resistors can also give a common-mode error, that would also be in the milliVolts depending on the precision or accuracy of the resistors.

    Measuring the output of the op-amp to the output of VREF_2V5 using a multimeter, you may see that you already have some error on the output. If you think that you're problem is with the ADC, then I'd start debugging without this input buffering and measure with inputs going directly into the ADC.



    Joseph Wu



  • Thank you. I'll look in that direction.