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.

1 ACCEPTED SOLUTION

Accepted Solutions
Uwe Bonnes
Principal II

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
Principal II

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.