Questions & AnswersTemperature Sensor reads high
cemclellan asked 7 years ago

Thanks for the DevDuino, I am just getting started using it.
When running the temperature example sketch, the temperature readout is quite high. I am seeing 28.9 degC when my room is 24 degC.
Much higher than I would expect from the MCP9808 datasheet.
Is there a way to correct the reading, or calibrate the sensor?

grychowski.bg replied 7 years ago

English at the end
J’ai modifié le programme de démo pour afficher sur l’écran les températures Max et Min. Il apparait qu’au démarrage de l’Arduino après un long arret la température est bonne, mais ensuite la température indiqué est supérieure d’environ 3 à 4 degrés à la température réelle. Il semble donc que ce ne soit pas le capteur qui soit en cause, mais qu’il est échauffé par l’électronique autour.

I Modify demo program to display temperature min and max. Just after start up temperature is correct and rises after 3 or 4 degrees more than correct. So it seems that sensors is OK but heated by electronic part around

1 Answers
Best Answer
Alex Staff answered 7 years ago

You need to implement temperature compensation, just the way you mentioned it: by comparing with a calibrated thermometer.
28.9°C is the raw data, I think it’s mainly influenced by the nearby components to the temperature sensor and the great thermal dissipation of copper plane.
Just add a linear offset of – 4.9°C and it should be fine.
I will add something in the example so it’s more obvious for you.
Thanks for the feedback by the way! 😉

grychowski.bg replied 7 years ago

Today for me temperature at start up is 18.8 wich is fine, now it is 23.7 with very little variation (I display min and max since startup.
I am a little bit sceptical that offset is linear, I guess il also depends on what the board is doing.
I think the sensor must be external to have good results. I ordered some temp sensors to compare them, but do not receive yet :
BME280, and MCP9808