Ich benutze STM32F401RE Nucleo Board, um die Umgebungstemperatur zu messen. Nach dem Abtastvorgang erhalte ich einen digitalen Wert von ADC_CHANNEL_TEMPERATURE und möchte diesen digitalen Wert in C ° umrechnen. Ich suchte im Internet für dieses und ich fand zwei verschiedene Methoden:Richtige Formel zur Berechnung des Temperatursensors mit STMF401RE Nucleo?
Methode 1: Seite 226 in http://www.st.com/content/ccc/resource/technical/document
Temp(degree) = (V_sense - V_25)/Avg_slope + 25
Methode 2: Seite 251 in 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
Es verwirrt mich das Eine ist die richtige Formel für die Berechnung der Temperatur in C °. Obwohl Methode 1 aus dem Referenzhandbuch von STM32F401 stammt, sieht das Temperaturergebnis nicht korrekt aus. Während Methode 2 aus dem Referenzhandbuch der STM32F0-Serie, sieht es vernünftiger aus.
Noch weiß ich nicht welche Formel sollte ich anwenden, wenn Sie STM32F401RE Nucleo Board verwenden?
Aus Neugier, was messen Sie mit den beiden Methoden und was verwenden Sie als Referenztemperatur? –
Die zweite Gleichung ist falsch, es sollte entweder "80" oder "110 - 30" sein. –
Hallo, es gab einen Tippfehler in der zweiten Gleichung (jetzt korrigiert). Ich habe einen Ofen, wo ich die Temperatur kontrollieren kann. Ich verwendete Raumtemperatur (20 ° C), -10 ° C, 60 ° C als Referenztemperaturen. Die Ergebnisse, die ich aus Gleichung 2 erhalten habe, sind für die Referenztemperaturen angemessener. – bienle