mikrocontroller.net

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


Autor: Alfred E. Neumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: oszi40 (Gast)
Datum:

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

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was sagt der Oszi ?

Was sagt die CRC?

Autor: Otto (Gast)
Datum:

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

Autor: Alfred E. Neumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: PillePAlle (Gast)
Datum:

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Alfred E. Neumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.