+ Post New Thread
Results 1 to 7 of 7
  1. #1
    Full Member level 2
    Points: 1,192, Level: 7

    Join Date
    Mar 2016
    Posts
    147
    Helped
    0 / 0
    Points
    1,192
    Level
    7

    ADS1115 issue for taking values of 4th digit after decimal point

    Hello Everyone,

    I am facing an issue with ADS1115 ADC which is 16 bit ADC. I am able to communicate mircocontroller and ADC. I am even able to get the ADC counts. Though counts are fluctuating I have used averaging method to get proper counts.

    The PGA is +/- 2.048. I am using channel 0. I am getting below results,

    mV ADC count

    200 200

    300 300

    1000 1000

    1024 1024

    1058 1058

    To convert ADC count into voltage I am dividing ADC count by 1000. My question is how to get fourth digit after decimal point.

    Suppose mV=1058.5 I need converted value should be 0.10585.

    As the ADC is 16 bit, can anyone please explain me how to get fourth digit after the decimal point.

    •   AltAdvertisment

        
       

  2. #2
    Super Moderator
    Points: 73,950, Level: 66
    Achievements:
    7 years registered
    Awards:
    Most Frequent Poster 3rd Helpful Member

    Join Date
    Apr 2014
    Posts
    14,992
    Helped
    3418 / 3418
    Points
    73,950
    Level
    66

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    Hi,

    according your values:
    * The ADC count is an integer value.
    * each LSB of the ADC count reperesents 1mV.

    But the fourth digit after decimal point represents 0.1mV.
    --> Thus the fourth digit will always be zero.

    The PGA is +/- 2.048
    This makes no sense to me. Please explain.


    Klaus
    Please donīt contact me via PM, because there is no time to respond to them. No friend requests. Thank you.



  3. #3
    Super Moderator
    Points: 255,159, Level: 100
    Awards:
    1st Helpful Member

    Join Date
    Jan 2008
    Location
    Bochum, Germany
    Posts
    44,452
    Helped
    13543 / 13543
    Points
    255,159
    Level
    100

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    The reported values make sense if you operate the ADC with +/- 2.048 V full scale range and skip the lower 4 bit of the ADC result.

    How to get mV after decimal point is a question about ADC data processing. Take the full 16 bit result!



    •   AltAdvertisment

        
       

  4. #4
    Advanced Member level 3
    Points: 6,895, Level: 19
    Achievements:
    7 years registered

    Join Date
    Jul 2010
    Location
    Sweden
    Posts
    898
    Helped
    357 / 357
    Points
    6,895
    Level
    19

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    Your average values can have higher precision than the ADC count.
    If you add 10 fluctuating ADC conversions and divide the sum by 10 you have a higher precision value with 0.1 mV resolution.
    Over how many samples are you averaging now?
    Are you using a "sliding window" average?



  5. #5
    Advanced Member level 1
    Points: 5,739, Level: 17

    Join Date
    Aug 2008
    Location
    Islamabad, Pakistan
    Posts
    448
    Helped
    73 / 73
    Points
    5,739
    Level
    17

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    if you are using 16-bit data.
    the least voltage you can measure is
    Sensitivity (least voltage you can measure) = Voltage range / 2^16;
    Sen = 4.096/65535;
    Sen = 62.5 uV / bit

    means you can read 62.5 uV on change of 1 bit.

    - - - Updated - - -

    your result should be as
    Let your reading of 16-bit ADC is 32090.
    Voltage = (32090/65535) * 4.096
    Voltage = 2.0056 Volts



    •   AltAdvertisment

        
       

  6. #6
    Advanced Member level 4
    Points: 7,496, Level: 20

    Join Date
    Jan 2015
    Posts
    1,055
    Helped
    331 / 331
    Points
    7,496
    Level
    20

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    Also note that you really need a *VERY* clean board design, power supply etc. to measure voltages to that level of accuracy. In my experience,you can reliably get 8, maybe up to 10 bits, from an ADC before the noise takes over.
    Don't expect to measure more accurately than the circuit will allow.
    Susan



  7. #7
    Super Moderator
    Points: 73,950, Level: 66
    Achievements:
    7 years registered
    Awards:
    Most Frequent Poster 3rd Helpful Member

    Join Date
    Apr 2014
    Posts
    14,992
    Helped
    3418 / 3418
    Points
    73,950
    Level
    66

    Re: ADS1115 issue for taking values of 4th digit after decimal point

    Hi,

    With averaging you don't get better accuracy.
    Accuracy mainly depends on ADC and reference voltage. (Read datasheets)
    You just increase resolution.

    you can reliably get 8, maybe up to 10 bits, from an ADC before the noise takes over.
    Maybe true for a hobbyist's design.
    Read the datasheet where the limit is. If the ADC datasheet tells you that you get noise free results up to 15 bits then be sure that one can achieve this on a PCB.

    But for sure you need careful design ... and the ADC can't output less noise than there is at the analog input.
    My recommendation: less is more. If you add circuitry, especially OPAMPs, you add noise, drift and distortion.
    Only add them where they are unavoidable.

    Klaus
    Please donīt contact me via PM, because there is no time to respond to them. No friend requests. Thank you.



--[[ ]]--