Forum: Mikrocontroller und Digitale Elektronik 3°C Temperaturunterschied bei DS18S20 - Altes Thema, keine Lösung


von Alfred E. Neumann (Gast)


Lesenswert?

Hallo Leute,

ich weis, dass ich wieder ein ganz altes Thema aufgreife, aber eine (für 
mich) befriedigende Erklärung konnte ich im Forum nicht finden.
Vielleicht kann mir ja doch einer eine Antwort geben, damit ichs 
begreife.

Ich betreibe in meiner Schaltung drei DS18S20 (nicht im Parasitärmodus), 
einer davon hängt an einem 1,8m langem Kabel (ehem. Mauskabel).
Ich gebe die Temperatur am Display auf eine Nachkommastelle genau aus.
Der Sensor am Kabel zeigt im Schnitt ca. 2.8 +/-0,6°C weniger an.
Jetzt habe ich alle Sensoren mal durchgetauscht, der am Kabel zeigt 
immer weniger!
Wenn alle drei Sensoren auf der Platine verbaut sind, zeigen Sie auf 
+/-0,1 °C genau die gleich Temperatur an.

Der Fehler ist auch nicht durch einen Offset im Programm korrigierbar, 
da er ja um +/-0,6°C schwankt.

Den CRC-Code kann ich nicht vergleichen, weil ich nicht mehr genug 
Speicher für die Funktion auf meinem AVR habe, ich gehe aber davon aus, 
dass die gelesenen Werte stimmen müssen, da ja die restliche 
Kommunikation einwandfrei funktioniert.

Kann mir jemand erklären, wie dieser Fehler zustandekommt?
Oder wie man ihn vermeiden kann?

Auf eine Antwort bin ich gespannt,

Grüße,

Alfred

von oszi40 (Gast)


Lesenswert?

1.Schon anderes abgeschirmtes Kabel versucht ???
2.Was sagt der Oszi ? Störungen auf der Leitung ?

von Dietmar (Gast)


Lesenswert?

> Was sagt der Oszi ?

Was sagt die CRC?

von Otto (Gast)


Lesenswert?

Wie stellst Du sicher, dass der Sensor am Kabel die selbe Temperatur wie 
der (die) Sensor(en) auf der Platine hat?

von Alfred E. Neumann (Gast)


Lesenswert?

Hallo Leute,

vielen Dank für Eure Antworten.

@oszi40:
ein anderes Kabel könnte ich schon versuchen, ja, muss mal gucken was 
noch so in der Kiste ist
ein Oszi hab ich leider nicht, da fehlt noch ein bisschen Geld

@Dietmar
wie gesagt, für nen CRC-check ist zuwenig Speicher über, aber vielleicht 
kann ich ´n paar Funktionen vorübergehen rausschmeissen und den CRC 
implementieren

@Otto
ich lege den Sensor am Kabel einfach neben die Senoren auf der Platine, 
sollte doch die selbe Temperatur sein...

Grüße,

Alfred

von PillePAlle (Gast)


Lesenswert?

Wärmeableitung durch das Kabel ?
Probier mal vor der Messung jeweils das Statusbyte zu lesen und dann 
erst den Messwert.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> ich lege den Sensor am Kabel einfach neben die Senoren auf der Platine,
> sollte doch die selbe Temperatur sein...
Ich habe mal die Temperatur auf einem Kühlkörper und in einem 
Kühlkörper gemessen (4mm stark), und man glaubt es kaum: da war ein 
Unterschied. Und wenn du einen systematischen signifikanten Unterschied 
der Temperatur feststellst, dann solltest du dich fragen: ist da 
vielleicht ein Unterschied?

Was ist denn auf der Platine verbaut? Schon ein OP-Amp ca. 2cm vom 
Temperatursensor weg kann dir solche Temperaturdifferenzen erzeugen.

von Tubie (Gast)


Lesenswert?

Ich habe bei meinen Sensoren auch das Problem gehabt. Wenn die Messungen 
im 1 Sekunden Takt stattfinden, steigt die Temperatur des Chips an. Wenn 
hingegen nur 1x pro Minute gemessen wird, stimmt die Temperatur.

Gruß,
Tubie

von Alfred E. Neumann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

den CRC zu implementieren hab ich nicht geschafft, da läuft mir leider 
der Speicher über.

@Lothar:
Tatsächlich: wenn ich den Sensor am Kabel so wie auf dem Bild auf die 
Platine lege, haben tatsächlich alle drei Sensoren den gleichen Wert.
Vorher hatte ich ihn immer nur "in die Nähe" gelegt, ca. 2cm unterhalb 
des AVR´s...

Das muss ja heissen, dass das LCD seine Umgebung um ca. 3°C erwärmt! Das 
hätte ich nicht vermutet!

D.h. ich muss mir einen anderen Platz auf der Platine suchen...

Ach ja, ich mache alle fünf Sekunden eine Temperaturkonversion, da 
sollte es keine relevante Eigenerwärmung geben, oder?

Vielen Dank für Eure Antworten,

Grüße,

Alfred

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.