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
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?
Wie sieht es mit der Betriebsspannung aus? Verbraucht das Teil evtl. zu viel Strom? Könnte der Chip durch ESD Schaden genommen haben? _.-=: MFG :=-._
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
Schalte die "Betriebsspannung" doch einfach mit einem Portpin, also nur zur Messung ein und gleich wieder aus.
Oder bau einen NTC an Deinen Controller und mach die Temperaturauswertung in Software. Tausende von Steuergeräten können nicht irren.
>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.
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.
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.
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
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..."?
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
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
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
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.
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!
@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
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
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.
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
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!
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.
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
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...
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.
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.
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.
Deswegen mein Vorschlag mit dem Behälter. Das könnte klären, ob es Eigenerwärmung oder doch externe Strahlung ist.
Hast du vielleicht die Anschlussbeine gekürzt? könnte ja sein dass diese ausschlaggebent für den Wärmewiderstand sind....
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
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.