This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF51822 TEMP internal temperature sensor characteristic

I'm trying to use the internal temperature sensor of the nRF51 to know the die temperature. Its accuracy is specced as +/- 4 degC, even +/- 8 degC at the extremes. Does anyone know more properties of this uncertainty? Is it a fixed thing, that I can improve by calibrating an offset? Or is it noisy, something that I might filter out using multiple measurements?

Edit: See my own answer, the offset I measure is unusually large. Any thoughts where this might come from?

Parents
  • From this question, it seems that it is a pure offset:

    The error read on the TEMP peripheral should be pure offset error. You can calibrate the temperature value in software, i.e. if you know the temperature in your room, just add or subtract from the measured value to get the correct value.

    However, be aware that the die temperature is in general not equal to the ambient temperature.

    I did some measurements comparing the internal temperature sensor value with temperature measured by a dedicated temperature sensor (TMP112) on the same PCB, in a controlled environment. Because the application makes very little use of the CPU, I do not expect that it is significantly hotter than the environment. Plot of temperature and temperature error.

    This confirms previously made statements that the noise is low, and the accuracy is mainly distorted by an offset. To my surprise however, this offset is around 13 degrees! When corrected for the average, the accuracy is nicely within the specced +/-4 degrees. Could this large offset have something to do with having to set the temperature offset register to 0?

  • Bouke, we still have to consider that the external temperature sensor measurement is still not the same as the internal sensor measuring die temperature. The specced accuracy calculations was made specific to the die temperature at a very large variations of temperature it is working in. How much of the time is the system kept on? maybe we can get a better result by trying to keep the chip in sleep mode most of the time (like a minute) and just wakeup to read the temperature very fast and go back to sleep. That COULD ensure that the die temperature is much closer to outside temperature and then we can use the external temp sensor reading to compare.

Reply
  • Bouke, we still have to consider that the external temperature sensor measurement is still not the same as the internal sensor measuring die temperature. The specced accuracy calculations was made specific to the die temperature at a very large variations of temperature it is working in. How much of the time is the system kept on? maybe we can get a better result by trying to keep the chip in sleep mode most of the time (like a minute) and just wakeup to read the temperature very fast and go back to sleep. That COULD ensure that the die temperature is much closer to outside temperature and then we can use the external temp sensor reading to compare.

Children
No Data
Related