cancel
Showing results for 
Search instead for 
Did you mean: 

Temperature sensor characteristics of STM32F407

TKumi
Associate

As per table 69 under section 5.3.22 of datasheet STM32F405XX/407XX (DocID022152 Rev 8), the parameters of “Average slope�? (Avg_Slope) and “Voltage at 25°C�? are specified to be 2.5mV/°C and 0.76V, respectively. Does it imply the sensitivity to be 400°C/V and hence the full 12-bit conversion range from -279°C (0X000) to 1041°C (0X3FF)?

When referring to the Reference manual RM0090 (DocID078909 Rev 11) section 13.10, the Main Features of that temperature sensor are twofold: supported temperature range from -40°C to 125°C and precision ±1.5°C.

As such, should the 12-bit ADC always be bounded within the range of 0X2E5 (741 in decimal) to 0X4E5 (1253 in decimal)? Nevertheless, I found that my STM32F407ZG always outputs below 0X2C4 at room temperature. May anyone validate the “Average slope�? (Avg_Slope) to be 2.5mV/°C? It seems more reasonable if that parameter would be 25mV/°C.

This discussion is locked. Please start a new topic to ask your question.
1 ACCEPTED SOLUTION

Accepted Solutions
Uwe Bonnes
Chief

Obvious the temperature sensor in in the chip itself and so the temperature range is the range for the whole chip, so mostly -40 to 95 Celsius. Slope is negative and in the range given. Have a look at the stored . Temperature sensor calibration values. Also be aware to enable the sensor and to have long enough sampling times.

View solution in original post

2 REPLIES 2
Uwe Bonnes
Chief

Obvious the temperature sensor in in the chip itself and so the temperature range is the range for the whole chip, so mostly -40 to 95 Celsius. Slope is negative and in the range given. Have a look at the stored . Temperature sensor calibration values. Also be aware to enable the sensor and to have long enough sampling times.

TKumi
Associate

Thanks for your prompt help.

I found my code making two (2) mistakes:

(1)  insufficient sampling time to avoid cross-talk when reading multiple channels;

(2)  data truncation to 10-bit ADC (<-my bad);

The temperature sensor works fine now and the 12-bit ADC value is slightly above 1000, indicating its internal temperature is around 4X°C.