Forum: Mikrocontroller und Digitale Elektronik ATmega4809 Temperatursensor


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Hallo.

Der ATmega4809 hat einen Internen Temperatursensor. Ich habe nun 
mehrmals im Datenblatt gesucht um Werte wie die Toleranz oder ein 
Diagramm bei wie viel Grad welche Spannung ausgegeben wird aber nichts 
gefunden.. Hab ich das einfach nur übersehen oder steht da nichts im 
Datenblatt? Wisst ihr wo man noch Daten darüber bekommt? Google spuckt 
nichts aus..

mfg
Umbrecht

von N. M. (mani)


Lesenswert?

Stored B. schrieb:
> Diagramm bei wie viel Grad welche Spannung ausgegeben wird aber nichts
> gefunden

Im Datenblatt steht doch die Formel zur Umrechnung von Digit zu 
Temperatur. Damit kannst du dir doch deine Kurve selber plotten.
Für den Absolutwert in Volt müsste der Hersteller ja deine verwendete 
Referenzspannung wissen.

Stored B. schrieb:
> im Datenblatt gesucht um Werte wie die Toleranz

Steht bestimmt drin. Hab mit dem Handy jetzt nicht gesucht. Erwarte 
nicht zu viel.
Die Genauigkeit ist meist sehr schlecht.

von Georg M. (g_m)


Lesenswert?

Stored B. schrieb:
> Der ATmega4809 hat einen Internen Temperatursensor. Ich habe nun
> mehrmals im Datenblatt gesucht um Werte wie die Toleranz oder ein
> Diagramm bei wie viel Grad welche Spannung ausgegeben wird aber nichts
> gefunden..

Die Toleranz habe ich auch nicht gefunden, aber sonst steht alles in

29.3.2.6  Temperature Measurement

von Stephan (Gast)


Lesenswert?

Stored B. schrieb:
> Hab ich das einfach nur übersehen
Ja:
29.3.2.6 Temperature Measurement
MIT Code Bespiel ...

von Stored B. (Firma: drx) (umbrecht)


Lesenswert?

Stephan schrieb:
>> Hab ich das einfach nur übersehen
> Ja:
> 29.3.2.6 Temperature Measurement
> MIT Code Bespiel ...

Nein.. Das habe ich gefunden.

N. M. schrieb:
> Im Datenblatt steht doch die Formel zur Umrechnung von Digit zu
> Temperatur. Damit kannst du dir doch deine Kurve selber plotten.
> Für den Absolutwert in Volt müsste der Hersteller ja deine verwendete
> Referenzspannung wissen.

Schon klar aber nervig.. Scheinbar liege ich mit meinen Erwartungen mit 
Microchip/Atmel zu hoch.

von Achim H. (pluto25)


Lesenswert?

Die Abweichung der internen Ref Spannung kann mehr als 10% sein von Chip 
zu Chip. Reicht zu erkennen ob er brennt, aber nicht obs 80 oder 90° 
sind. Einmal Abgeglichen ist es jedoch recht stabiel.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stored B. schrieb:
> Scheinbar liege ich mit meinen Erwartungen mit Microchip/Atmel zu hoch.

Deine Erwartungen an diese Art Temperatursensor liegen zu hoch.

Die Dinger sind drin, weil es einfach zu machen ist (letztlich nur eine 
Diodenflussspannung am ADC-Eingang), und weil man auf diese Weise ein 
wenig "Mehrwert" hat. Wer irgendwelche Genauigkeitsanforderungen hat, 
wird sowas nicht nur deshalb nicht nehmen, weil die Genauigkeit im 
Datenblatt nicht spezifziert ist, sondern auch, weil die Eigenerwärmung 
des Controllers im Betrieb praktisch jegliche Genauigkeit zunichte macht 
(wenn du ihn nicht gerade dauerhaft im Schlaf lassen willst). Im 
Gegenzug wäre aber eine Toleranzangabe im Datenblatt eine zugesicherte 
Eigenschaft, die dann auch beim Bauteiltest verifiziert werden müsste. 
Gerade Temperaturtests sind langwierig, denn du müsstest den Chip ja 
zumindest bei 3 verschiedenen Temperaturen verifizieren.

Das Ding genügt um zu wissen, ob die Kiste gerade im Schnee oder im 
Backofen ist, wenn du mehr brauchst, nimm einen dedizierten 
Temperatursensor und platziere den auch möglichst weit weg von allen 
aktiven Bauelementen. Es ist nicht unüblich, dass man um genauere 
Temperatursensoren auch noch Stege in der Platine herum ausfräst …

von N. M. (mani)


Lesenswert?

Stored B. schrieb:
> Schon klar aber nervig.. Scheinbar liege ich mit meinen Erwartungen mit
> Microchip/Atmel zu hoch.

Wenn du erkennst dass in der Formel zur Temperaturberechnung 3 
Unbekannte stecken, wirst Du merken dass es keinen Sinn macht dafür ein 
Diagramm zu zeichnen.
Es wäre nämlich nur ein Graph mit einem Strich, ohne 
Achsenabschnitte/Werte. Und dass es eine Gerade ist sieht man der Formel 
ja auch so an. Die wichtigen Dinge um die Gerade zu bestimmen sind 
nämlich Exemplar abhängig (Offset/Steigung). Dafür sind ja die 2 Werte 
(TEMPSENSE0/1) IM uC gespeichert.

Georg M. schrieb:
> Die Toleranz habe ich auch nicht gefunden, aber sonst steht alles in

Man könnte es versuchen abzuschätzen. Im Endeffekt ist es ja eine 
Eigenschaft des ADCs.
Hätte man also die Steigung (TEMPSENSE0) DEINES Exemplars, könnte man 
mit den angegebenen Toleranzen des ADCs ausrechnen was das an Temperatur 
ausmacht. Dazu kommt dann noch der Fehler der Temperaturdiode selbst.

von Einer K. (Gast)


Lesenswert?

Jörg W. schrieb:
> Wer irgendwelche Genauigkeitsanforderungen hat,
> wird sowas nicht nur deshalb nicht nehmen, weil die Genauigkeit im
> Datenblatt nicht spezifziert ist, sondern auch, weil die Eigenerwärmung
> des Controllers im Betrieb praktisch jegliche Genauigkeit zunichte macht
> (wenn du ihn nicht gerade dauerhaft im Schlaf lassen willst).

Na, na, na....

Die Sensoren sind ganz prächtig, gerade weil sie direkt auf dem Chip 
wohnen!
So lassen sie sich zur Temperaturkompensation einsetzen.
z.B. um OSCCAL hin und her zu schieben
Auch, um einigermaßen die Fehlpeilung des WDT abschätzen zu können, wenn 
man ihn als Wecker benutzt.
Da irgendwo ist der Einsatzzweck/Sinn des Sensors zu suchen.

von Stored B. (Firma: drx) (umbrecht)


Angehängte Dateien:

Lesenswert?

Jörg W. schrieb:
> Deine Erwartungen an diese Art Temperatursensor liegen zu hoch.

Vielen dank für deine Antwort, dadurch ist das ganze natürlich 
einleuchtend, warum es so ist wie es ist.

@N.M

TEMPSENSE0 = 146
TEMPSENSE1 = 1

Mit der Formel wie im Datenblatt abzüglich der Kelvin halbwegs genau 
ergeben sich die Werte auf dem angehängten Bild Der erste Wert stellt 
die Temperatur in °C dar (024.90) der zweite den ADC0.RES (00523)

Das hab ich quasi zur Formel angehängt.
1
temp *= 10; // *10 wegen Kelvin ohne komma
2
temp -= 2731; //Kelvin = 273.15

Wie man sieht gibt es Schwankungen von 4°C welche meiner Meinung der 
Formel zu schulden ist. Dennoch, unabhängig der Formel, ist er trotzdem 
sehr ungenau. Ich mag Falsch liegen aber so wie das für mich aussieht 
will ich damit nicht mal Messen ob er brennt...

Vielen dank für eure Antworten, ihr habt mir weitergeholfen.

von Der müde Joe (Gast)


Lesenswert?

Kleines Experiment... Beutel mit Eiswasser auf den Chip, und die 
Temperatur anzeigen lassen. Etwas schwieriger, kochend heißes Wasser in 
einem kleinen Töpfchen/Dose auf den Chip drauf, und die Temperatur 
anzeigen lassen.

Als kleines Spaßprojekt wäre das ganz interessant.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Arduino Fanboy D. schrieb:
> Die Sensoren sind ganz prächtig, gerade weil sie direkt auf dem Chip
> wohnen!

Ja, für solche Zwecke schon. Da kommt's auch nicht auf 1 oder 2 K an.

von S. Landolt (Gast)


Lesenswert?

Gar so schlecht ist meine Charge nicht; 4 Exemplare, TU= 13.0 °C, 20 
Messungen im 5 s-Abstand, vorkommende Werte:

1.: 15.0, 15.5
2.: 15.5, 16.1, 16.7
3.: 14.2
4.: 12.3, 12.9, 13.5

Beitrag #6607434 wurde von einem Moderator gelöscht.
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
Noch kein Account? Hier anmelden.