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 temperature compenstation algorithm

Other Parts Discussed in Thread: ADS1231

Hi,

I'm using the ADS1231 and want to apply a high precision temperature compenstation algorithm to the readings. Do you provide any resources ?

Also, I was wondering whether the voltage drift from the reference voltage regulator can be compensated by the same algorithm. This way can I avoid a low ppm/C reference voltage regulator and emphasize on its low LDO characteristics only?

Best regards,

Theo

  • Hi Theo,

    Unfortunately we don't have anything specific to give you.  There are a number of things to consider.  With the ADS1231 you will have drift as it relates to the analog input circuitry, the ADS1231 PGA and also the reference.  For the PGA there will be gain considerations as well as offset.  This will change from device to device.

    If the measurement is ratiometric, then the reference drift is not a significant issue.  The larger drift concern will be the ADS1231 itself.  One way of dealing with this is to compensate with a piece-wise approach based on calibration data taken for your system over temperature.  This data can be placed in a lookup table where you can compensate for gain and offset based on measured temperature near the ADS1231.

    Best regards,

    Bob B

  • Hi and thanks Bob,

    If I understand correctly I need to:

    step1) gather raw data,

    step2) gain & offset calibration for the ads1231, load cell, voltage regulator,

    step3) gain & offset calibration on known temperatures and weights,

    step4) auto zero function (not compulsory)

    step5) unit conversion

    Can I include step 2 and 3 into a single step?

    Am I correct?

    Thanks 

  • Hi Theo,

    Yes, you can combine steps 2 and 3.  Keep in mind that a 0V input used for offset calibration of the ADC is not the same as a no load condition on the load cell as the load cell may have some offset and may not always return to the same no load point due to hysteresis.  So for doing correction due to drift you can't just simply do a 2 point calibration of no load and full-scale.

    Offset of the ADC is true 0V input (shorted input case) corrected for a 0 code result.  This means that the ADS1231 may have some offset code result and you will need to adjust the code by adding or subtracting code values so that you end up with a 0 result.  Gain calibration is the factor that you multiply to adjust the real gain slope to the ideal.  The ideal transfer function for the resultant code would simply be the slope of a line y = mx + b.

    That said, you may want to just do a 2 point calibration first (step 2) to see you much your system drifts before going through the task of step 3.

    Best regards,

    Bob B

  • Hi Bob,

    I did system and temp calibration on my prototype and it worked fine.

    For the production stage I do system calibration for each device. i.e 0 load and X weight at specific temperature.

    When proceeding to temperature compensation I try to find a formula that matches all devices. And I found out that devices behave differently at temperature changes. i.e the raw output from one adc increases with temp increase while on another device decreases on temp decrease. The same happens with temp decrease. 

    In this awkward behavior of my readings normal ?

    PS: system is battery powered and use ratiometric configuration.

    Best regards

    Theodore

  • Also note that I use 4 paralleled half-bridge (3 wires) load cells 

  • Hi Theodore,

    The typical offset response with respect to temperature is shown in Figure 7 on page 8 of the ADS1231 datasheet.  This shows the offset decreasing over temperature.  Notice a couple of things about this graph.  From room temperature to 85 deg C the graph is quite linear.  However in the -40 deg C to room temperature there are some changes in slope.  From characterization data that I have looked at, all devices measured showed a decrease in offset from room temperature to 85 deg C.  Most devices showed a similar behavior from -40 deg C to room, but there were a few devices that were quite flat in response and some that rose in offset with in increase in temperature, then decreased steadily from room temperature and higher.  The mean will account for these changes in the Figure 7 graph showing a changing slope.

    As the offset can change both positive and negative (as given in the Electrical Characteristics table under Offset Drift) it is best to use a multi-point calibration method for optimum accuracy.  A single, or two point calibration, could be used based on higher temperatures but there may be some error at lower temperatures.  You will need to determine the amount of error your system can tolerate to determine whether or not you need multi-point calibration.  Multi-point calibration can also help with linearization of your system.

    Best regards,

    Bob B

  • Dear Bob,
    If I understand right I should do temperature compensation for each device separately as the weight scale will be outdoor.
    This is very time comsuming.
    I should figure out a way to do it as effortless as possible.

    Here is how I think the procedure can be:
    1) system compensate. (electrical to kgr)
    0 and X weight electrical output --> find the kgr slope. (2 measurements)

    2) temperature compensate.(kgr to kgr)
    Find offset of 0 weight at -30 and +50 celsius. (2 measurements)
    add the offset.

    What do you think of the above.
    Can I do less, should I do more...

    Best regards
    Theodore

  • Hi Theodore,

    That is a pretty large temperature extreme, and you need ot consider all the effects of each component in your system to include any resistors and capacitors as well as the ADS1231 and load cells with respect to temperature drift.

    Essentially you have two components to consider with the ADC portion.  One is offset drift, which effects your 0 point, and gain drift.  To use the offset correction from 2), you are once again assuming the drift is linear and in a single direction throughout the temperature range.  Also, you are not taking into account gain drift.

    I'm not sure how to advise you for error correction as I really don't know what you are trying to do and how much error you can tolerate.  First I would see how much the error is using 1) only at various temperatures.  As I'm not sure if you can monitor the temperature, you may or may not be able to make corrections.

    Best regards,

    Bob B