Ich quäle mich gerade durch die interne Temperaturmessung des STM32F030F4P6. Das Beispiel im Referenz-Manual scheint falsch zu sein. Ich komme jetzt auf eine Temperatur von 24,x Grad bei Raumtemperatur von 21 Grad. Der Chip arbeitet mit 48 Mhz. ADC ist ein, USART ist ein und viele NOP's durch die CPU. Ist die Temperatur realistisch?
Ja schon, der Temperatursensor ist ein "Schätzeisen" somit sind +/-3°C Abweichung schon ok
noreply@noreply.com schrieb: > Ich quäle mich gerade durch die interne Temperaturmessung des > STM32F030F4P6. Was gibt es denn da überhaupt zu quälen? RefMan lesen, verstehen und implementieren. Ein Nachmittag sollte dafür aber locker reichen... User schrieb: > Ja schon, der Temperatursensor ist ein "Schätzeisen" somit sind +/-3°C > Abweichung schon ok Und der Mikroprozessor erwärmt sich ja durch seine eigene Verlustleistung auch noch etwas, daher ist der gemessene Wert doch völlig im Rahmen.
Dreikommaeinsvier schrieb: > Und der Mikroprozessor erwärmt sich ja durch seine eigene > Verlustleistung auch noch etwas, daher ist der gemessene Wert doch > völlig im Rahmen. Wäre auch meine erste Vermutung gewesen. Das is je kein Temperatursensor für die Umgebung, sondern ein Temperatursensor im Mikrocontroller. Bei meinem STM32F072 liegt dieser Wert bei 25°C Raumtemperatur auch immer im Bereich 30 - 35 °C. Das ist die Eigenerwärmung und nicht umbedingt die Messungenauigkeit, auch wenn die nicht zu vernachlässigen ist
Sinn der internen Temperaturmessung ist nicht, die Umgebungstemperatur auf 0,1°C genau zu bestimmen, sondern um einschätzen zu können, läuft der Controller in der Wüste oder in der Arktis ;)
Orikson schrieb: > Bei > meinem STM32F072 liegt dieser Wert bei 25°C Raumtemperatur auch immer im > Bereich 30 - 35 °C. Nochmal das Beispiel im Ref-Manual überprüfen. Mit diesen Beispiel bin ich auch auf 30 bis 35 Grad gekommen.
Ingo Less schrieb: > Sinn der internen Temperaturmessung ist nicht, die Umgebungstemperatur > auf 0,1°C genau zu bestimmen, sondern um einschätzen zu können, läuft > der Controller in der Wüste oder in der Arktis ;) Nach einer langen(5τ) Tiefschlafphase kann man damit aber durchaus die Umgebungstemperatur auf <2°C genau zu bestimmen..
Mein STM32L0 zeigt gerade 21,12°C der Thermometer an der Wand in 2M Abstand 21,3°C. Scheinbar geht es genauer. Hat dein STM32 die Register mit Kalibrationswerten vom Werk?
A. F. schrieb: > Hat dein STM32 die Register > mit Kalibrationswerten vom Werk? Verwende ich beim STM32F030F4P6 und haben sinnvolle Werte.
noreply@noreply.com schrieb: > Ich quäle mich gerade durch die interne Temperaturmessung des > STM32F030F4P6. Das Beispiel im Referenz-Manual scheint falsch zu sein. > > Ich komme jetzt auf eine Temperatur von 24,x Grad bei Raumtemperatur von > 21 Grad. Der Chip arbeitet mit 48 Mhz. ADC ist ein, USART ist ein und > viele NOP's durch die CPU. > > Ist die Temperatur realistisch? Siehe Handbuch - typisches Verhalten für on-chip Temperatursensoren. D.h. die relativen Schritte sind ab Werk genau, der Offset kann um 10er Kelvin schwanken. Wenn absolute Chiptemperatur gewünscht ist, dann muss jedes Muster kalibriert werden.
Alles gut. Ich habe viel gelernt. ;-) In einem 2014 Referenzmanual ist das Beispiel falsch. In einem neueren Referenzmanual von 2017 ist das Beispiel richtig. Beide Beispiele sind aber relativ einfach. Interessant wird es, wenn man die interne Temperatur und die interne Referenzspannung mißt und die Calibrierungswerte verwendet.
Die Temperatursensoren in den STM32 sind ziemlich grob kalibriert. Die beiden Kalibrierungswerte werden bei ±5°C gemessen. Damit hat man am Ende der Umrechnungsformel ±10°C, also ist Dein Ergebnis echt gut.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.