3
\$\begingroup\$

Many microcontrollers, such as the TI MSP 430 have an on board temperature sensor. If one is designing a typical smart thermostat for heating/air conditioning is this sufficiently accurate or would there be any practical advantage to using an alternative sensor?

\$\endgroup\$

3 Answers 3

3
\$\begingroup\$

IMO using the on board sensor simply won't cut it. Majenko already talked about accuracy and self heating. I have an issue with the slow time constant of your solution: If for example a window is opened, the room temperature will fall within several minutes (let's assume it's cold outside). Every layer of material around your sensor will delay the reaction of the control system and thus worsen the system performance. You absolutely want to make sure, that the temperature sensor gets any change in room temperature ASAP. This means: Ventilation holes/slots in the housing of the control unit, I've seen even little fans in automotive applications to ensure a steady airflow around the sensor.

If reaction time is not an issue, you could try and account for the self heating of the chip in software, but this will only reduce the error for stable temperatures.

\$\endgroup\$
5
\$\begingroup\$

They are often wildly inaccurate.

Reason:

  1. They are often not a temperature sensor at all, but actually a reverse biased diode.

  2. They are affected by the heat generated by the core of the microcontroller while it's operating.

Proper temperature sensors (e.g., the LM35) are so cheap there is no reason not to use them.

\$\endgroup\$
3
  • \$\begingroup\$ If one is using a $1 to $2 microcontroller adding a LM35 might increase the cost by a significant percentage. Leaving cost aside, wouldn't a LM35 draw current continuously and thus substantially increase the power budget? \$\endgroup\$
    – JonnyBoats
    Commented Dec 13, 2011 at 1:52
  • 2
    \$\begingroup\$ @majenko, they are often pretty accurate, but they are measuring the temperature of the controller, not the environment! \$\endgroup\$
    – Kortuk
    Commented Dec 13, 2011 at 3:15
  • \$\begingroup\$ @JonnyBoats: Have a look in the datasheet: the quiescent current of a lm35 is in the range of 100µA + the current your ADC draws from it. \$\endgroup\$
    – 0x6d64
    Commented Dec 13, 2011 at 10:07
0
\$\begingroup\$

The obvious answer is to LOOK IN THE DATASHEET for your particular micro. Well, is it accurate enough? What are you expecting us to tell you that is not in the datasheet?

The few built-in temperature sensors I've looked at were pretty bad, certainly not good enough for a house thermostat. In one case, is was supposed to be a forward biased diode driven by a current source. That makes some sense, but it turned out the current source was little more than a resistor to Vdd, so the temperature sensor output was actually a stronger function of Vdd than of temperature. We ended up using a external temperature sensor. Fortunately they are small and cheap.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Olin: I probably didn't phrase my question very well, what I am asking is "what is good enough for a thermostat?" Also I wonder if there is a tradeoff between accuracy of temperature measurement and energy costs/savings? \$\endgroup\$
    – JonnyBoats
    Commented Dec 13, 2011 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.