我正在使用STM32F401RE Nucleo板來測量環境溫度。採樣過程結束後,我收到來自ADC_CHANNEL_TEMPERATURE的數字值,並且我想將此數字值轉換爲C°。我在網上搜索這個有關,我發現了兩個不同的方法:使用STMF401RE Nucleo計算溫度傳感器的正確公式?
方法1:頁226 http://www.st.com/content/ccc/resource/technical/document
Temp(degree) = (V_sense - V_25)/Avg_slope + 25
方法2:頁251 http://www.st.com/content/ccc/resource/technical/document
Temp(degree) = (((110 - 30)*(TS_DATA - TS_CAL1))/(TS_CAL_2 - TS_CAL_1)) + 30
Where:
- TS_CAL2: temperature sensor calibration value at 110 C°
- TS_CAL1: temperature sensor calibration value at 30 C°
- TS_DATA: temperature sensor output from ADC
它混淆了我這一個是用C°計算溫度的正確公式。 儘管方法1來自STM32F401的參考手冊,但溫度結果看起來不正確。雖然STM32F0系列參考手冊中的方法2看起來更合理。
我仍然不知道在使用STM32F401RE Nucleo板時應該使用哪一個公式?
出於好奇,你用兩種方法測量什麼,以及你用什麼作爲參考溫度? –
第二個等式不正確,它應該是「80」或「110 - 30」。 –
嗨,第二個方程中有一個輸入錯誤(現在已更正)。我有一個烤箱,可以控制溫度。我使用室溫(20oC),-10oC,60oC作爲參考溫度。我從方程2得到的結果對參考溫度更合理。 – bienle