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.

MSP430FR2522: Large Temperature Drift on RawCount

Part Number: MSP430FR2522

Hi, I am noticing large temperature drift when the circuit is heated, the temperature of the sensed object doesn't noticeably affect the raw count. For example;

Count dry output Count wet output y=mx+b
Temp x1 y1 x2 y2 m b
20 965 500 822 1000 -3.496503497 3874.125874
35 858 500 742 1000 -4.310344828 4198.275862

Is there anyway to reduce this drift with changes in circuit design? What would be the biggest causes of temperature drift? Clock frequency? Bulk Capacitor?



  • Hi Rick,

    Yes, this is expected.  You are using FR2522 which is a GEN1 device.  The GEN 2 devices had some improvements made to help minimize this effect.

    You can find data on this in the Captivate Technology Guide, design chapter.

    There is no way to design around this as this is a function of the temperature sensitivity of the Captivate internal circuits, which includes the internal sampling capacitor.  The Captivate library uses a filtered version of the measurement count, long term average (LTA), to track the slow changes and can cause the system to re-calibrate if the change in LTA is +/- 12.5%.

    If you can provide some details about what you are doing, maybe I can offer some suggestions.

  • Thanks Lehman, I am using rawcount to measure moisture concentration of material across 10degC to 60degC range. I am trying to get linear output independent of temperature. I also have a temperature sensor in the circuit. The delta rawcount is non linear with moisture based on these data points, and the microcontroller probably can't handle much floating point math. I might be asking too much.

  • Hi Rick,

    Yes, you would need to create a calibration table to linearize the output.  The MSP430 can handle floating point, just not very efficient, in which case we have a fixed point IQMath library to do the job.

    For this type of application you might consider the FDC1004 (16-bit resolution) or FDC2214 (28-bit resolution) capacitance to digital converters.

**Attention** This is a public forum