Forum: Mikrocontroller und Digitale Elektronik DS18S20 - Temperatur (ein paar Grad) zu hoch


von Florian (Gast)


Lesenswert?

Hallo zusammen,

habe gestern einen DS18S20 Temperatursensor in einer Schaltung ans 
Laufen bekommen. Die 1-Wire Sachen klappen soweit alle, wenn ich das 
richtig sehe. Habe mehrere 7 Segment Anzeigen in der gleichen Schaltung, 
die mir dei Temperatur, die der DS18S20 liefert, ausgeben.

Aaaber: Er zeigt hier ca. 29°C an. In meinem kühlen Keller ist es aber 
sicher keine 29° warm. Der Sensor funktioniert aufjedenfall. Wenn ich 
mit dem Finger draufgehe zeigt er direkt 1 bis 2 Grad mehr an, wenn ich 
einen Schraubenzieherkopf mit dem Feuerzeug warm mache und dran halte 
geht er sofort 10 oder mehr Grad hoch, etc..

Ist das ein bekanntes Problem? Soll ich mir ein präzies 
Referenzthermometer besorgen und einfach per Software die Temperatur 
"eichen"? Bin mir relativ (!) sicher, dass es kein Software Problem 
ist..

(Der Pullup ist 10K statt wie im Datenblatt 4.7K, da ich keinen in 
dieser Größe hatte, aber da das Protokoll ja funktioniert, sollte es 
daran wohl nicht liegen, oder?)

Vielen Dank schonmal

Gruss
Florian

von Elbegucker (Gast)


Lesenswert?

hi
also ich nutze die two-wire DS1621, die habe auch immer ein paar grad 
(2-3) zuviel. Werde das wohl softwaretechnisch lösen und einfach von den 
gemessen graden einfach welche abziehen.
Es gibt ja allerdings auch single und continiously convertion. Wenn man 
eine dauerhafte Umwandlung hat, dann hat der Sensor noch eine höhere 
Eigenerwärmung. Weiss nur nicht, ob das so viel ausmacht. Wollte das 
auch noch mal testen.
Du könntest auch eine Mittelwertmessung machen, vielleicht bringt das 
was?

Wäre übrigens am Quelltext interessiert. In was programmierst du denn?

Gruß

von Andreas K. (a-k)


Lesenswert?

Ist mir beim DS18S20 noch nicht begegnet.

von Florian (Gast)


Lesenswert?

In C. Ich benutze im wesentlichen den OneWire Code vom "etherrape" 
Projekt von Alexander Neumann, die API ist sehr verständlich und leicht 
in eigene Projekte einzubaue, ausserdem ist da auch quasi alles was man 
für DS18(S)20 braucht schon drin. Habe nur unwesentliche Änderungen 
gemacht.

Projektwebseite: http://www.lochraster.org/etherrape/
Aktueller Sourcecode: 
http://igit.ath.cx:2080/fd0/?p=etherrape;a=snapshot (Unterverzeichniss 
"onewire")


Habe noch nicht getestet, ob die Temperaturabweichung im linear ist, 
d.h. z.B. immer exakt 3 Grad zu hoch, oder ob sie vielleicht bei 
steigender Temperatur zu nimmt. Werde den Sensor aber höchst 
wahrscheinlich nur im Bereich von 5° bis 35° brauchen.

von Olaf (Gast)


Lesenswert?

> Ist mir beim DS18S20 noch nicht begegnet.

Der Hersteller garantiert +/-0.5Grad und so genau sind sie auch.
Meistens sogar besser.

Allerdings ist das GEhaeuse nicht WAsserdicht. WEnn sie feucht
werden dann verschiebt sich die Temperatur um ein paar Grad.

Olaf

von Benedikt K. (benedikt)


Lesenswert?

Olaf wrote:
> Allerdings ist das GEhaeuse nicht WAsserdicht. WEnn sie feucht
> werden dann verschiebt sich die Temperatur um ein paar Grad.

Genau. Das Problem ist mittlerweile auch schon seit längerem bekannt und 
dazu müsste sich hier im Forum einiges finden lassen. Du müsstest deine 
ICs also mal ein paar Stunden bis Tage bei 50-100°C backen, damit die 
aufgenommene Feuchtigkeit verdampft.

von Pete K. (pete77)


Lesenswert?

Stimmt die Auswerte-Funktion ? Sourcecode wäre nett.

von Florian (Gast)


Lesenswert?

Ich habe den Pullupwiderstand (10K) und einen 100nF Kondensator zwischen 
VCC/GND direkt neben dem DS18S20 (direkt in der nächsten 
Lochrasterspalte, wenige Millimeter also).. Habe nicht das Gefühl, dass 
die warm werden, aber könnte es vielleicht daran liegen?

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.