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.

ADS1231REF: Number of points to use when reading weight.

Part Number: ADS1231REF
Other Parts Discussed in Thread: ADS1231

Hello

I am working with the ADS1231REF for my school work, now I am stuck with the averages, the number of points to use when reading the weight 2,4,8,10,16,32,50,64,100 and 128 for it to be used? Maybe it's for different types of weights like mobile charges ?.

  • Hi Manuel,

    Welcome to the E2E forum! The number of averages really depend on the system and what may be acceptable delay in response. Also, if too many averages are used you may be susceptible to drift. There is really no magic value to the number of averages used, except increasing the averages may reduce the amount of noise in the measurement. Generally 4 to 10 averages give the best noise result relative to delay in the scale response.

    As I recall the ADS1231REF uses 50 as a default value when in scale mode. At 10sps data rate, this would take 5 seconds for the result to settle after a change in weight. At 80sps this would be a much more realistic value. However at 10sps you already have reduced noise plus the advantage of power line-cycle rejection. So there are a number of tradeoffs.

    Another issue may be the sensitivity of the load cell. 3mV/V load cell will provide a much larger signal output than a 1mV/V. In this case reducing the noise in the result may be necessary by additional averaging. But this is only useful if the noise is from the converter (such as quantization noise) as opposed to externally generated noise caused by EMI/RFI which is gained up in the PGA.

    Best regards,
    Bob B
  • Hello Bob!

     So I must understand that modifying the AVGS is basically to eliminate noise that comes from the installation of the equipment and that is to find the balance between speed (10sps-80sps) and number of reading points?

     Average (modify AVGS) can help to have more stable output data when weighing (for example) liquids or live animals?

     I have done tests of average of several types, for example: add the last 8 readings and divide between 8, but this causes very important delays in the display of the output data. What type of subroutine does the ADS1231REF use to average?

     Should it average as if it were a first-order IIR (software) filter?

     Grateful for your attention,

     Manuel

  • Hi Manuel,

    Averaging will add delay, but there are many types of averaging algorithms. The ADS1231 uses a simple moving average where the largest delay is initial startup delay while capturing the first number of samples. If the number of averages is large, there will still be delay when changing weight until the filter has completely refilled and settled to a final range.

    The are other approaches as well. Some use an exponential averaging, others will use some sort of IIR filter. I have also seen the approach where both 10sps and 80sps are used in combination. In this use case when a significant change is seen the device is switched to 80sps for quicker response and when the output codes begin to settle, the ADC is switched back to 10sps to reduce the noise.

    The end result is to achieve a stable measurement quickly. This will greatly depend on the system requirements and there are many different approaches used to meet those requirements. Averaging best helps with ADC conversion noise and mechanical or vibration of the load cell. If your noise is being generated from EMI/RFI then it is better to eliminate the noise prior to inputs of the ADC. It has been my observation that the EMI/RFI noise has the most significant impact on the measurement and the toughest to deal with and requires shielded cables that are properly terminated and analog input filtering to remove the high frequency noise that can alias back into the measurement.

    Best regards,
    Bob B