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.

ADS1231: Rationalize ADS1231 readings

Part Number: ADS1231

Greetings People,

I am developing circuit for digital load cell. I have read in many posts that load cell manufacturer provide load cells with rationalized output of like 240,000 counts. I also want to achieve such output from ADC but my counts is limited to 10,000 only.

I have worked with ADS1231 but never worked on rationalizing the load cell output to desired counts. I want my digital load cell with rationalized output of 10,000 counts. Any guidance or method will be of great help.

  • Hi Nimit,

    In the end it is noise that will determine the actual resolution. Load cell sensitivity commonly ranges from 1mV/V to 3mV/V. This is the output of the load cell at maximum capacity for each volt of excitation. If a 5V excitation source is used for a 1mV/V load cell sensitivity, then the maximum output of the load cell is 5mV. The full-scale range of the ADS1231 for a 5V reference (same source used for both load cell excitation and the ADS1231 reference) will be +/-19.5mV (or a full-scale range of 39mV). So the total number of useable counts will be a fraction of 5mV/39mV, or approximately 1/8 of total possible counts (2^24 is 16777215 and 1/8 is 2097152).

    This would seem to be a great resolution, but at this point we have not even considered any noise. So let's take a look at a stable count value less any noise in the process of conversion. Table 1 on page 6 of the ADS1231 datasheet we see that at 10sps and 5V operation there is Noise-Free Bits of 17.4. This would be a best case noise scenario with inputs shorted to mid-AVDD supply. 1/8 of the total 2^17.4 bits is 21618 (2^17.4 is 172950 and 1/8 is 21618 total noise-free counts of scale resolution).

    If the load cell capacity is 10kg, then for a 1mV/V load cell and 5V excitation you would achieve a best case scale resolution of 10kg/21618 of 0.46 g. This would be your best case scenario. This calculation does not include any external noise sources. Keeping noise to a minimum is key.

    Another key is to maximize the output range of the load cell by using a better sensitivity, or a method to increase the load cell output using a larger excitation. The issue with using a larger excitation is the measurement is no longer ratiometric, and you need to make sure your excitation allows for the load cell output to be within the common-mode range of the PGA of the ADS1231. In most cases this would require bipolar supplies for the excitation.

    Best regards,
    Bob B
  • Hey Bob,

    Thanks for the reply. I understand your views. Accuracy is not my issue as i want only 10,000 counts output.

    Image the scenario that my load cell at no load gives me 13043 counts. These are the raw counts or the value that i obtain from ADS1231 after its DRDY pin goes down. Load cell capacity is 5 Kg. When i put 5 Kg on my load cell it gives me some 101050 counts. So that total available counts for 5 kg of load are 101050 - 13043 = 88007 counts. Is there any way or any mathematical calculation which converts this range of 88007 into 10,000 counts ?
  • Hi Nimit,

    Thanks for the explanation as I totally misunderstood the initial question.  For a 5kg load cell you want 0.5g resolution (5kg/10000).  The ADS1231 is providing greater resolution so one way you can make the conversion is to divide the number of counts from the ADC output by the ratio of 88007/10000.  This will yield the ratio to 0.5 grams increments.  As the load cell capacity is in grams and not 0.5g, multiply the ratio by 2 to get 17.6014 ADC counts to 1g (same as taking 88007 counts/5kg load cell capacity).

    Let's say you get an output from the ADS1231 that is 57046 counts.  First you would subtract the zero count (and any tare value) from the ADC counts (57046 - 13043) to get 44003 counts.  Divide the 44003 result by the ratio (17.6014) and you get 2499.97g which you would then round the decimal portion to the nearest 0.5g interval, or 2500g (2.5kg) for this example.  Note 44003 counts is slightly less than 1/2 of 88007 and that 2.5kg is 1/2 of the total capacity which is also equal to 5000 0.5g counts (or 1/2 of the total scale counts).

    Best regards,

    Bob B

  • Greetings Bob,

    Thanks for the explanation. Its pretty useful.
    Now when i take say 30 T load cell i don't want to apply any physical load but still i want to rationalize the load cell output upto 10,000 cnts. Is it possible ? I will be having with me load cell output say 1.7687 mV/V and excitation voltage. Is it possible to rationalize the load cell output in this scenario ?
  • Hi Nimit,

    It is possible, but the accuracy will diminish due to potential gain error. Normally you would want to do at least a two-point calibration. In the case you are describing you would at least need to know the 0 weight on the load cell. Then you would need to calculate the expected value of the output result for the load cell output times the excitation (1.7687mV * Vexc). To get the maximum number of codes you would then divide the value of one code into the voltage you just calculated to determine the maximum number of codes for full capacity. Using these values you use the same method as described in my earlier post.

    Best regards,
    Bob B
  • Greetings Bob,

    Thanks for the info. Now i am getting closer. As you said, I have load cell output at 0 weight and then using load cell output i have calculated the FSO output which i coming next to near. It has difference of few counts which i don't mind as i don't want more accuracy. I was looking for some formula with which i can convert adc value to millivolt value. I have excitation voltage of 5.045 V and my adc gain is 128, which i think is fixed.

  • Hi Nimit,

    The value of 1 code is shown in Table 3 on page 12 of the ADS1231 datasheet. For your case it is (0.5*5.045/128)/(2^23 - 1) which is 2.35nV per ADC code.

    Best regards,
    Bob B