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.

MSP430FR5989: MSP430FR5989

Part Number: MSP430FR5989
Other Parts Discussed in Thread: MSP430FR6989

Hi,

We are trying to get to the bottom of an issue that have troubled us for a while. 

Our System is built around a msp430fr5989. 

We use the ADC12B module of the MCU along with a thermistor from Murata to monitor ambient temperature.

 

We also use the external PCF8523 RTC from NXP to provide a coin cell backed-up time keeping source.

This external RTC gives us also a 32.768kHz clock that we use to provide an external clock to our MCU msp430fr5989.

We use the internal reference voltage of 1.2V for VRef+ and verify its value at the 

P1.1 pin. 

The transfer function of the Murata Thermistor is very linear in the temperature range 0-40 degrees Celsius. 

The code to read the raw values from the ADC12-B is based on the sample code OutOfBox_MSP430FR6989. 

From there we stripped all the code not related to the temperature sensor. 

The voltage read at the TP7 (see snippet of Schematics below) 

is converted in theoretical ADC counts by the use of the Thermistor Transfer Function 

( see our Excel document for the transfer function) 

 

The ADC counts we get at ADC12MEM0 gives us a temperature that is about 3 degrees Celsius off from the one obtained by converting the voltage we read at TP7. 

 

We have experimented with various clock settings and calibration recommendations. 

We cannot, however, figure out what is off in our approach. 

 

I am joining to this note the code we have been using for this validation along with the Thermistor transfer function. 

 

Your help in resolving this issue would be indeed greatly appreciated. 

 

 MightyPuffer Thermistor_Trimmed.xlsm.zip

 

6765.ValidationThermistor.zip

  • Have you compared the ADC counts to the voltage you read at the pin?

  • Bruce, 

    Thank you so much for answering my post.

    Yes, indeed, we have compared the arc count to the voltage read at the pin.

    This is the way we determined that we had the discrepancy in the voltage vs the count and the converted value 

    We see that the difference is about 3 degrees Celsius. 

    When we acquire the raw read we have attempted several methods of averaging and calibration. 

    The result is always with the same error of 3 degrees.

    We are also experimenting with an original evaluation board and the NXP PCF8523 to supply the exeternal clock

    I will in the morning gather some pictures from my bench instruments to illustrate what we see.

    Again thank you so much for your very kind assistance.

     

  • Yes, you mentioned that you had done an end-to-end comparison. I'm trying to break up your signal chain to see where things go astray.

    If the ADC counts don't match the pin voltage, that points at the ADC. If the ADC counts don't match the temperature, that points at the transfer function (/implementation).

  • Hey JeanPierre,

    I agree with Bruce's methodology.  It's not clear from your posts if the error is coming from the ADC reading itself or your conversion code.  I think in your last post, you are saying that the error is ADC count =/= voltage at pin.  Is this correct?   

    How far is it off do you think it is? (in volts or ADC count.)  

    Have you looked at the voltage signal with a scope to see if there is noise, are just using a DMM with averaging?  

    There is some ADC calibration data available in the TLV data that can be used to improve measurement accuracy.  Sections 1.14.3.2 of the User's Guide shows the process to use this data.  

    Thanks,

    JD

     

  • Hi,

    I wanted to warmly thank you ( all the ones who answered this post).

    Your comments and questions have help us figure out our issue. 

    As very usual in our trade :-) the cause for the error is the person who ask the question.

    After verifying the various points you mentioned we went back to the Transfer Function of the thermistor from Murata that we are using. 

    The initial data is correct, as far we could test without the temperature chamber we are planning to do later. 

    The computation of the ADC count based on the reference voltage and the chosen resolution was wrong. 

    After going back to basic math school :-) we got a working formula and table.

    We are now within the +/- 1 degree Celsius of the temperature. 

    Thank you again for your very kind assistance, 

    JPS

**Attention** This is a public forum