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.

calibrating the temperature output

Other Parts Discussed in Thread: MSP430F2274

Hello, I am currently exploring the EZ430-RF2480. I am what you may describe as "extremely noob" when it comes to FW codes.  After reading the datasheets and browsing through the posts in this forum, I still could not calibrate the temperature output in the Sensor Monitor application. I posted a code snippet below from the ZASA application (IAR). I think that the following lines hold the key to this simple exercise. I would appreciate if someone could give his/her insight on the following questions:

(1) Are there other details that I need to know? My guess is that I will just define a constant or modify an equation which would then somehow correct/offset the temperature readings.  But for me to do that,
(2) where can I find more information on how the MSP430F2274 processes the analog input from the temperature sensor? I'd like to know what the equation below actually means because it is quite different from Note#2 (page 50) in the MSP430F2274 datasheet.
(3) Where is the temperature sensor located in the MSP430? I could not see it in the functional block diagram...


Cheers,
Brennan


--------------------------------
static void appSrceData(void)
{
  uint16 tmp;

  switch (appFlags & (appTempF | appBusVF))
  {
  case 0:  // Idle - not reading the ADC.
    // Setup to sample air temperature.
    appFlags |= appTempF;
    halReadTemp();
    break;

  case appTempF:  // Measuring air temperature.
    appFlags &= ~appTempF;

    // oC = ((A10/1024)*1500mV)-986mV)*1/3.55mV = A10*423/1024 - 278
    srceReport[SRCE_REPORT_TEMP] = ((halAdcVal - 673) * 423) / 1024;

  • The temperature sensor that's used in this sample code is located on the actual MSP430 silicon. The intent is that this sensor is used to temperature adjust other critical components on the silicon during operation, not that it be used as an external temperature sensor. This simple sample code simply gives the network some data to send.

    It's possible to calibrate the reading by presenting the part with a given temperature and adjusting the code that calculates the degrees F or C presentation. This sensor is attached to an ADC input internal to the device, and reading that port is like reading any other ADC input.

    To get good external temperature readings, though, I would definitely suggest that you use an external sensor and connect it to one of the ADC inputs on the MSP430.

    Hope this helps.

    Scott

  • Thank you Natsane. I'm currently looking at a few temperature sensors from TI.

    What is the maximum temperature that the EZ430-RF2480 could withstand? According to SLAS5048, The Vsensor of the MSP430F2274 could display up to 85˚C.
    I intend to place one of the target boards in our temperature chamber soon. My guess is that the AAA batteries will fail first before the entire board does.

  • Hi Brennan,

    If you have any questions about TI's stand alone temperature sensors, we have a forum here: Temperature Sensor Community.  Let us know about any concerns you have or if you need guidance in picking the right solution for your application.

    Rudye

  • Hello Rudye,

    My current task involves Zigbee and sensors (temperature, pressure, ect). I appreciate the link. That was actually the next step on my list. [;)]

    Brennan