Forum: Mikrocontroller und Digitale Elektronik Eigenerwärmung DS18s20 - Der Sensor macht mich wahnsinnig !


von UBoot-Stocki (Gast)


Lesenswert?

Hallo,

ich experimentiere mit dem DS18s20-Sensor und möchte eigentlich die 
Zimmertemperatur messen, wie das jeder 5Euro-Wecker auch tut.

Leider ist das dieser Sensor ein ziemlicher Sch****!

Im normalen Dauerbetrieb mit normaler (d.h. nicht-parasitärer 
Spannungsversorgung) und Messungen alle 5s erhöht sich die Temperatur 
ausgehend von der ersten Messung um 3°C. Wenn ich das Messintervall auf 
1 Minute erhöhe, dann sond es "nur" noch 2°C.

Deutlich besser wird das ganz wenn ich auf parasitären Betrieb 
umschalte. Bei einem Messintervall von 30 Sekunden habe ich 1°C 
Temperaturunterschied.

Was muss ich tun, damit der Sensor sich möglichst garnicht erwärmt?

Gibt es einen "Idle-Befehl o.ä. in dem das Ding sich nicht mehr erwärmt?

Ganz Ehrlich: Mit jedem normalen NTC wäre das wesentlich genauer ....

Gruß

Andreas

von Marco Beffa (Gast)


Lesenswert?

Bist du absolut sicher dass sich der Sensor erwärt?!

Das sollte sicherlich nicht so sein, ist die Schaltung in Ordnung? 
Auslesen auch ok? Hast du irgendwelche anderen Komponenten in der Nähe, 
die sich eventuell aufheizen?

von Markus -. (mrmccrash)


Lesenswert?

Wie sieht es mit der Betriebsspannung aus? Verbraucht das Teil evtl. zu 
viel Strom? Könnte der Chip durch ESD Schaden genommen haben?

_.-=: MFG :=-._

von Gast^2 (Gast)


Lesenswert?

Hi,

"ist die Schaltung in Ordnung?"

Die Schaltung ist exakt nach Datenblatt - DQ-Leitung mit 4,7k nach +5V, 
GND nach Masse und VDD abh. vom Betirebsmodus auf GND oder auf +5V.

"Auslesen auch ok? "
Ja, ich lasse mir parallel die Hex-Codes der Register anzeigen - Stimmt 
alles!

"Hast du irgendwelche anderen Komponenten in der Nähe, die sich 
eventuell aufheizen?"

JA, mein 5Euro-Wecker mit seiner Temperatur-Anzeige, der die richtige 
Temperatur anzeigt.

Wie sieht es mit der Betriebsspannung aus?
5Volt ? Was meinst Du mit der Frage ?

Verbraucht das Teil evtl. zu viel Strom? Könnte der Chip durch ESD 
Schaden genommen haben?

Es steht erstmal nirgens, dass der ESD-Empfindlich ist. Zweitens habe 
ich mehrere, die sich alle so verhalten...

Gruß

Andreas

von AC/DC (Gast)


Lesenswert?

Ist schon mal ein Thema gewesen.

Beitrag "Thermometer mit ds18s20 und LED Annzeige"

von Lutz (Gast)


Lesenswert?

Schalte die "Betriebsspannung" doch einfach mit einem Portpin, also nur 
zur Messung ein und gleich wieder aus.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Oder bau einen NTC an Deinen Controller und mach die 
Temperaturauswertung in Software. Tausende von Steuergeräten können 
nicht irren.

von Eddy C. (chrisi)


Lesenswert?

>Oder bau einen NTC an Deinen Controller
Naja, die Idee hatter der OP ja auch schon.

Sach mal OP, wo sitzt denn der Sensor? An einer Strippe oder auch auf 
dem Steckbrett? Nicht dass die Probleme von einem verpolten Elko in der 
Nähe herrühren, der noch wärmer wird...

Schalte mal einen Widerstand 33Ω in die VCC und "schaue" Dir den 
Stromverbrauch an. 3 Grad wären ja so ca. 3mA.

von blahhblubb... (Gast)


Lesenswert?

Hi!
Hast du dich an die Zeit gehalten die du dem Sensor geben musst um die 
Temperatur zu messen?
Erst muss die Messung gestartet werden, und nach einer bestimmten Zeit 
darf die Temperatur erst ausgelesen werden.
Sonst misst der Temperatursensor nicht genau.

von Hannes (Gast)


Lesenswert?

Klar, Mann. Endlich weiss die Welt, dass der DS18S20 "ein ziemlicher 
Sch****" ist.

Er hat sich zwar millionenfach bewährt, aber dank UBoot-Stocki wissen 
wir jetzt endlich was wirklich los ist.

Danke für diese Erkenntnis! Und weiterhin viel Erfolg unter der 
Normal-Null-Linie, Du U-Boot-Fahrer.

von UBoot-Stocki (Gast)


Lesenswert?

N'abend,

"wo sitzt denn der Sensor? An einer Strippe oder auch auf dem 
Steckbrett?"

Der Sensor sitzt in der Ecke des Steckbretts mit 4-5cm Abstand zu jedem 
anderen Bauteil.

"Hast du dich an die Zeit gehalten die du dem Sensor geben musst um die
Temperatur zu messen?"

Yepp - Im Normalen Modus wird abgefragt, wann die Messung fertig ist - 
Im Parasitären muss man lt. Datenblatt 750ms warten ...

"Er hat sich zwar millionenfach bewährt, aber dank UBoot-Stocki wissen
wir jetzt endlich was wirklich los ist."

Daher ja auch dieser Thread - vielleicht helfen ja die Tipps derer, bei 
denn das Teil millionenfach funzt.

Gruß

Andreas

von EFI (Gast)


Lesenswert?

Also bei mir "werkeln" seit ca. 3 Jahren 16 von den Dingern im Haus 
24*365. Ich habe heute gerade mal nachgeschaut und bin auf fast 37mio 
Datensätze in meiner Oracle-DB gekommen. Keine Ahnung wovon Du sprichst 
wenn Du "Sch..." meinst. Aber sicher nicht diese Sensoren. Vielleicht 
"UBoot-Stocki-Schr..."?

von 900ss (900ss)


Lesenswert?

Ich hatte das gleiche Problem, als ich mit den Dingern anfing. Ich ollt 
ihn auch schon in die Tonne hauen. Hatte soviel probiert und keine 
Besserung. Bei mir war es dann die nicht spürbare Erwärmung der Platine. 
Auf dieser war der AVR und auch ein 7805. Es war mit den Händen keine 
Erwärmung zu fühlen, woher auch. Als ich den Sensor an 50cm Kabel 
gelötet hatte, waren diese Probleme weg. Das Ding hört die Flöhe husten 
;-)

900ss

von Roland P. (pram)


Lesenswert?

Also ich hatte ähnliche Probleme wie U-Boot-Stocki.

Sensor hing an einem Adapter für die serielle Schnittstelle. Mit jeder 
Messung stieg die Temperatur leicht an, der Sensor wurde dabei leicht 
warm :-/

Per Software hab ich dann einen Korrekturfaktor von 2-3°C abgezogen.
War auch ein wenig enttäuscht von den Dingern

Gruß
Roland

von 900ss (900ss)


Lesenswert?

Das Problem liegt nicht bei den Sensoren, sondern vor dem Bildschirm ;-)
Wenn man den Sensor erwärmt, dann zeigt er das artig an.
Wie gesagt, z.B. an einer Leitung angelötet funktioniert er sehr gut.
In einer Platine eingelötet zeigt er auch die Erwärmung der Platine an, 
auch wenn man ment, die wird ja garnicht warm. Ein zwei Grad reichen. So 
war es jedenfalls bei mir.

@U-Boot-Stocki: Probier das Ding an einer Leitung.

900ss

von Detlev T. (detlevt)


Lesenswert?

UBoot-Stocki wrote:
> Ganz Ehrlich: Mit jedem normalen NTC wäre das wesentlich genauer ....

Das bezweifle ich. Wie setzt du einen NTC denn ein, damit er genau ist? 
Out of the box oder nach einer Kalibrierung, mit der du wartest bis sich 
ein thermisches Gleichgewicht eingestellt hat?

Dein Problem ist offenbar die Eigenerwärmung des Sensors, wenn er aktiv 
ist. Die thermische Anbindung an die Umgebungsluft ist halt sehr 
schlecht. Ein typischer Wert für ein TO92-Gehäuse sind 250K/W. Da 
wundert eine Erwärmung um 3°C beim Dauerbetrieb nicht mehr.

Es gibt eigentlich drei Möglichkeiten: Sehr selten Messen, die Anbindung 
an das Messobjekt verbessern (Kühlkörper) oder den Messwert um einen 
entsprechenden Wert korrigieren. Aus Betriebsspannung, Strombedarf, 
Dauer einer Messzyklus, Messfrequenz und der o.a. Wärmewiderstand könnte 
man das direkt berechnen.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Im datenblatt ist angegeben wie oft man messen darf um die 
eigenerwärmung in grenzen zu halten. Ich hab den wert gerade nicht im 
Kopf.

Dein Problem wird wirklich etwas sein, dass wärme abstrahlt (das geht 
nicht nur durch wärmeübertragung in der Luft sondern auch über 
Infrarot-strahlung)

Und wenn du deinen 7805 mit 12V am Eingang befeuerst wird der sicher 
einige grad wärmer und diese Temperatur strahlt der halt ab, und diese 
wird auch irgendwo wieder landen z.b. auch auf deinem Sensor, also mach 
maln Kabel dran und gut ist!

von Christoph (Gast)


Lesenswert?

@EFI

Wenn Du 37Mio Datensätze über drei Jahre gesammelt hast und ich davon 
ausgehe, daß jeder Datensatz den Meßwert eines Sensors darstellt, dann 
sind das 88 Messungen pro Stunde und Sensor. Also mehr als 1x pro 
Minute.
Was mich jetzt mal interessiert... wozu braucht man ein so detailliertes 
Temperatur-Logging?

Gruß
Christoph

von UBoot-Stocki (Gast)


Lesenswert?

Guten Morgen,

"Keine Ahnung wovon Du sprichst
wenn Du "Sch..." meinst. Aber sicher nicht diese Sensoren."

OK - dann gib mir doch bitte einen Tipp wie oft Du die Teile abfragst 
und wie Du sie verschaltet hast. Nutzt Du den parasitären Mode ? 
Schaltest Du nach der Messung die Sensoren auf "GND" ?

Fragen über Fragen - Detail würden mich interessieren.

Gruß

Andreas

von Werner B. (werner-b)


Lesenswert?

Das "Problem sitzt vor dem Bildschirm" kann ich beim DS18S20 
nachvolziehen ;-)
Ich muss nur die Hand in die Nähe des Sensors bringen und die gemessene 
Temperatur steigt.

von 900ss (900ss)


Lesenswert?

Werner B. wrote:
> Das "Problem sitzt vor dem Bildschirm" kann ich beim DS18S20
> nachvolziehen ;-)
> Ich muss nur die Hand in die Nähe des Sensors bringen und die gemessene
> Temperatur steigt.

Stimmt, so ist es bei mir auch.

@U-Boot-Stocki:
Ich betreibe meine Sensoren im Parasite-Mode und frage sie alle 2 
Sekunden ab. Funktioniert perfekt.

900ss

von Tim (Gast)


Lesenswert?

Also Maxim gibt die Genauigkeit des Sensors mit +-0,5 Grad an, da kann 
es unmöglich sein, dass die Eigenerwärmung 3 Grad ausmacht! Ich habe im 
Labor schon einige Sensoren in Bezug auf Eigenerwärmung mit 
verschiedenen Strömen ausgemessen und eine Eigenerwärmung von 3 Grad war 
nie zu messen. Die Norm gibt zum Beispiel einen maximalen Strom für den 
PT1000 von 10mA vor, damit kein Fehler durch Eigenerwärmung entsteht. 
Und 10mA ist schon verdammt viel. Ich habe bisher immer mit 1mA 
gearbeitet und die Ergebnisse waren super.
Ich würde den Sensor einfach mal austauschen und in einiger Entfernung 
von deiner Elektronik betreiben.
Viel Erfolg!

von Roland P. (pram)


Lesenswert?

Laut DBL werden im Active-Mode 1-1,5mA benötigt

1mA @5V = 5mW
5mW * 250K/W = 1,5°C

Der Sensor (SMD SO8) befand sich bei mir alleine auf einem Stück 
Lochrasterplatine (zwecks mechanischer Stabilisierung). Von da gingen 
dann 2 Drähte zu meiner Auswertschaltung.

@tim
Ein PT1000 mit 10mA macht 100mW Verlust. Bei einen geschätzen 
Wärmewiderstand von 50K/W zur Umgebung* müsste sich schon eine 
deutlicher Temperaturanstieg messen lassen.


Gruß
Roland

* meist ist so ein Sensor jedoch thermisch gut gekoppelt an dem zu 
messenden Medium.

von UBoot-Stocki (Gast)


Lesenswert?

N'abend,

Ihr habt recht, wenn ich die Hand über den Sensor halte etc. ändert sich 
die Temperatur ... Aber irgendwas mache ich falsch:

Ich habe hier in meiner Werkstatt 18,5°C lt. 5€-Funkwecker UND lt. 
DS18s20. Das Sensorloch des Weckers steht ca. 3cm neben dem 
18s20-Sensor.

Unmittelbar nach dem einschalten der Versuchsaufbaus messe ich 18,5°C. 
Wie oben beschrieben steigt die Temperatur innerhalb von ca 15 Minuten 
(ohne Personen, ohne Licht etc. in der Werkstatt) auf 21,5°C an:

"Im normalen Dauerbetrieb mit normaler (d.h. nicht-parasitärer
Spannungsversorgung) und Messungen alle 5s erhöht sich die Temperatur
ausgehend von der ersten Messung um 3°C. Wenn ich das Messintervall auf
1 Minute erhöhe, dann sond es "nur" noch 2°C."

Der Wecker zeigt nach nach dem Kontrollablesen immernoch 18,5°C ...

Das sind die Fakten.

Und jetzt ?

Gruß

Andreas

von Volker (Gast)


Lesenswert?

Du könntest ja mal versuchen das Teil in einen einigermaßen luftdichten 
und thermisch isolierten Behälter zu stopfen. Oder mach mal so ne Art 
Kühlkörper dran...

von Benedikt K. (benedikt)


Lesenswert?

UBoot-Stocki wrote:
> "Im normalen Dauerbetrieb mit normaler (d.h. nicht-parasitärer
> Spannungsversorgung) und Messungen alle 5s erhöht sich die Temperatur
> ausgehend von der ersten Messung um 3°C. Wenn ich das Messintervall auf
> 1 Minute erhöhe, dann sond es "nur" noch 2°C."

Häng mal ein Amperemeter im 1mA Bereich (oder irgendwas in der Richtung) 
die die VDD Leitung vom Sensor. 3°C entsprechen etwa 1mA Dauerstrom wie 
weiter oben ausgerechnet wurde.

von Jadeclaw D. (jadeclaw)


Lesenswert?

Definitiv Eigenerwärmung. Wie Volker schon bemerkte, pack das Ding mit 
einem Tick Wärmeleitpaste auf einen Kühlkörper oder schalte den Sensor 
über einen Portpin mit entsprechend langen Pausen, z.B. alle 10 Sekunden 
für 'ne halbe Sekunde einschalten, da dürfte von der Eigenerwärmung 
nicht mehr viel übrigbleiben.

Gruß
Jadeclaw.

von Jochen R. (josch90)


Lesenswert?

also ich habe versuchsweise einen 1820 in einem IC-Sockel stecken, 
parasitärer Betrieb, der Sensor wird ca. jede halbe sekunde ausgelesen 
(habe nur einen Beispielcode, mit dem ich mich noch nicht 
auseinandergesetzt habe). Eigenerwärmung ist absolut nicht zu spüren. 
Eher schlägt der Sensor an, wenn ich meine Hand daneben lege.

von Volker (Gast)


Lesenswert?

Deswegen mein Vorschlag mit dem Behälter. Das könnte klären, ob es 
Eigenerwärmung oder doch externe Strahlung ist.

von Jochen R. (josch90)


Lesenswert?

Hast du vielleicht die Anschlussbeine gekürzt? könnte ja sein dass diese 
ausschlaggebent für den Wärmewiderstand sind....

von UBoot-Stocki (Gast)


Lesenswert?

Guten Morgen,

"also ich habe versuchsweise einen 1820 in einem IC-Sockel stecken,
parasitärer Betrieb, der Sensor wird ca. jede halbe sekunde ausgelesen"

Das kann aber nicht sein, da Du lt. Datenblatt 750ms warten musst, bis 
der MEsswert zur Verfügung steht.

"Hast du vielleicht die Anschlussbeine gekürzt? könnte ja sein dass 
diese
ausschlaggebent für den Wärmewiderstand sind...."

Nein - der Sensor steckt in einem Sockel. Nichts ist gekürzt.

"schalte den Sensor über einen Portpin mit entsprechend langen Pausen, 
z.B. alle 10 Sekunden für 'ne halbe Sekunde einschalten, da dürfte von 
der Eigenerwärmung nicht mehr viel übrigbleiben."

Das mache ich jetzt - habe alles auf parasitär umgestellt und schalte 
die Leitung zum Controller nach der Messung für 1 Minute auf GND. Dann 
ist es weg.

"Häng mal ein Amperemeter im 1mA Bereich (oder irgendwas in der 
Richtung)
die die VDD Leitung vom Sensor. 3°C entsprechen etwa 1mA Dauerstrom wie
weiter oben ausgerechnet wurde."

Das werde ich mal versuchen. Die 1 mA stimmen übrigens, da lt Datenblatt 
der Sensor ja mit einem 4,7k Widerstand an 5V hängt... Komisch...

Gruß

Andreas

von Hannes (Gast)


Lesenswert?

Ich kann sowas nicht bestätigen. Habe 4 DS1821 an ca. 2m Leitungen 
hängen und löse auf 0.1K auf. Die Messwerte sind absolut stabil, da 
wandert nichts.

Auch die Messwerte der 4 Sensoren stimmen erstaunlidch gut überein, wenn 
ich die Sensoren alle am gleichen Ort habe.

von Hannes (Gast)


Lesenswert?

Ach ja, ich messe alle 2 Sekunden im Parasite Mode. Spannung schalten 
mit Portpin ist meines Erachtens nicht nötig. Bei einem Ruhestrom von 
1.5 uA.

von Benedikt K. (benedikt)


Lesenswert?

Kann ich auch bestätigen. Daher soll UBoot-Stocki mal den Strom messen, 
denn irgendwoher muss die Wärme ja kommen. Wenn er jetzt irgendwas <1mA 
misst, dann kann es nicht vom Strom über VDD kommen.
Die DS1820 haben erstaunlich stabile Werte, da wackelt nicht mal das 
niederwertigste Bit. Das einzige was an denen schlecht ist, ist die 
Langzeitstabilität aufgrund der Feuchtigkeit die eindringt (oder ist das 
mittlerweile behoben)? Dadurch hatten alte ICs etwa 2-3°C Differenz zu 
neuen ICs.

PS @UBoot-Stocki:
5V über 4,7k ergibt 1mA bei 0V oder 0mA bei 5V, oder worst case 0,5mA 
bei 2,5V was nur 1/4 soviel Leistung ist wie 1mA bei 5V. Am Pullup 
selbst sollte es daher eigentlich nicht liegen, da dieser bei einem 
DS1820 eigentlich immer auf 5V liegt.

von Ali B. (Firma: FH) (holzer)


Lesenswert?

An alle die den Stocki hier mit Saudämlichen teilweise beleidigenden 
Worten zuballern (das kann ja wohl nicht sein): Ich habe den Sensor an 
einer Leitung mit ext. Spannungsversorgung. In einem Luftdichten 
weitgehend temperaturisolierten Behälter. Messung alle 770,5 ms. --> er 
erwärmt sich um 0,5°C innerhalb etwa einer Minute. Danach Messtop und 
Pause dann erneut Messen. Der Anfangswert der neuen Messung stimmt mit 
dem Anfangswert der vorigen Messung überein --> abermalige Erwärmung um 
0,5°C. Ergo das Ding erwärmt sich definitiv. Die gannanten 2°C 
allerdings sind Umwelteinflüsse. Problem kann durch Multiplexing 
minimiert werden.

@ hannes: das Problem ist nicht der Ruhestrom sondern der 
Conversion-Strom. deswegen tritt die erwärmung auch umso deutlicher auf 
je kürzer der Messzyklus ist. Im datenblatt habe ich allerdings nichts 
dazu gefunden.

http://www.is-line.de/produkte/temperatur/smt160-30/eigenerwaermung-des-temperatursensor-smt-160-30-bei-ein-und-mehrkanalapplikationen/

das ist zwar ein anderer Sensor, betrifft aber im grunde fast alle.

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.