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: ADS1115 Long Internal Averaging Time

Part Number: ADS1115

Instead of using a CPU to average ADS1115 samples, I want to use the internal feature.Suppose I only use 2 channels and want to average each for 1 second. Here is a description of my program:

1. load config register with gain, continuous mode, channel 0, 860 SPS

2. wait for 1 sec while about 860 samples are averaged

3. read data

4 - 6 do the same thing for channel 1 as described in steps 1-3.

Questions:

Is the above description OK?

Does the act of loading the Config register cause the sigma/delta circuitry to forget the conversion result for the previous channel? If not the first of 860 samples may be completely wrong.

Is there a way of reducing power, since the I2C circuitry is seldom activated?

Thanks

  • Hi David, 

    This sounds OK to me. If the device configuration is changed in continuous conversion mode, the previous configuration settings will still be used with the ongoing conversion. When a new conversion starts, the new configuration settings will be used. 

    For reducing power, using single-shot mode will be your best bet. In this mode, the device is in a power-down state until a 1 is written in bit-15 of the configuration register. An Ivdd comparison of operating vs power-down can be seen in the Electrical characteristics table. 

    Regards,
    Aaron Estrada

  • Thanks, Aaron. If I select channel 0, 860 SPS, one-shot mode, then wait for one second, will the value that I read read by the average value for channel 0 over the 1 second?

  • Hi David,

    I think I see what you are asking now. You can't really sample over a specific period of time with this device. The input is sampled many times the data rate (Oversampling) and then converted and put into the conversion register at a slower rate.  I think in this case, what you will need to do is to sample and convert at several points within 1 second and then average those results. In this case, continuous conversion would be useful but you would need to keep track of the conversions. 

    Regards,
    Aaron