Forum: Mikrocontroller und Digitale Elektronik DS18B20 Sensoren zeigen immer wieder -127°C an


von Kolja L. (kolja82)


Angehängte Dateien:

Lesenswert?

Hallo

Wir heben ein recht merkwürdigen Phänomen.

An einem ATTiny (versorgt über ein 5V netzteil) hängen 4 DS18B20 
Sensoren.
In-Line gibt es keinen Widerstand, als PullUp sind die klassischen 
4.7kOhm verbaut.
Versorgt werden sie über eine eigene Zuleitung, also nicht parasitär.
Die Sensoren sind in einer Metallhülse wasserdicht verkapselt
und sollten eigentlich das Abkühlverhalten eines Wasserbehälters messen.
Eine Messung alle 2 Minuten
Der hellblaue Wert misst die Raumtemperatur.

Als ich mir die Auswertung gerade angeschaut habe,
war ich dann doch sehr erschrocken.
Immer wider fällt der Wert auf -127°C.

Diesen Wert kennen wir noch aus unseren Anfängen,
wenn ein Sensor falsch angeschlossen war oder die Leitung 
kurzgeschlossen.
Aber dann gab es ausschließlich -127er Werte und nicht wie jetzt immer 
mal wieder.

Mit Batteriestrom hat die Schaltung schon mehrere Monate gemessen.
Daher dachte ich zunächst,dass das NT zu wenig Leistung für 4 Sensoren 
hat und habe zwei / drei abgezogen.
Ohne Erfolg.

Woher könnten diese Werte noch kommen?

Gruß Kolja

: Bearbeitet durch User
von temp (Gast)


Lesenswert?

komische Bilder werde da im KIGA gemalt...

von 6a66 (Gast)


Lesenswert?

Kolja L. schrieb:
> Woher könnten diese Werte noch kommen?

SW Fehler?
Schaltunsgfehler?
Layoutfehler?
Diagrammfehler in Excel?

Anonsten sagt mir die Glaskugel Nichts.

rgds

von Frank S. (_frank_s_)


Lesenswert?

Kolja L. schrieb:
> Woher könnten diese Werte noch kommen?

Hallo Kolja,

Mein Tipp wäre, dass der DS18B20 laut Datenblatt gewisse Zeiten 
benötigt, bis die Wandlung fertig ist. Sonst liefert das Teil nur 
Schnörks.
Ein Blick ins Programm wäre nicht schlecht.

MfG von der Spree
Frank

von kolja (Gast)


Lesenswert?

Geb ich dir später.

Aber wie gesagt, das lief schon Monate problemlosproblemlos.

Kolja

von foobar (Gast)


Lesenswert?

-127 ist 0xff

Deutet darauf hin dass die Kommunikation mit dem Sensor nicht passt. 
Wenn dazwischen mal wieder richtige Werte kommen, dürfte die Verdrahtung 
passen, dann ist vermutlich das Timing daneben.

von kolja (Gast)


Lesenswert?

Timing bedeutet was genau?

von Mario Nette (Gast)


Lesenswert?

kolja schrieb:
> Timing bedeutet was genau?

Zeitlicher Ablauf.

https://de.wiktionary.org/wiki/Timing

Eventuell steht etwas darüber im Datenblatt. Das ist zwar ziemlich 
unwahrscheinlich, aber einen Versuch ist es wert, dort danach zu suchen.

von Kolja L. (kolja82)


Angehängte Dateien:

Lesenswert?

So, hier mal der Sketch.
WIr haben aber auch Sender mit dem selben Sketch,
die problemlos funktionieren.

von Planlos (Gast)


Lesenswert?

Probier mal das sensors.begin() aus loop() rauszunehmen. Der eine Aufruf 
in init() sollte reichen.

von Peter D. (peda)


Lesenswert?

Kolja L. schrieb:
> So, hier mal der Sketch.

Damit kann man aber nichts anfangen.
Wichtig wäre der C-Quelltext für sensors.getTempCByIndex.

Busfehler kann man damit abfangen, daß man auch die Daten-CRC überprüft 
und das Auslesen bei CRC-Fehler wiederholt.

Der DS18B20 kann 4mA treiben, d.h. nimm mal als Pullup 1,5k.
Der AVR ist etwas stark als Treiber, das kann Reflexionen geben.
Schalte mal zum AVR einen 47...100R in Reihe.

von foobar (Gast)


Lesenswert?

Du verwendest vermutlich diese Bibliotheken:
* https://milesburton.com/Dallas_Temperature_Control_Library
* https://github.com/LowPowerLab/RFM12B

Möglich ist dass der Interrupt Handler der RFM12 Library der Dallas 
Temperate Library in die Quere kommt.

von Steffen (Gast)


Lesenswert?

Kolja L. schrieb:
> hängen 4 DS18B20

vielleicht liegt es an einem Sensor, vielleicht die Verkabelung zu 
lang/schlecht. Poste mal die Schaltung und den Aufbau.

Versuch mal die Sensoren einzeln anzuschließen und zu testen. Der Tip 
mit den 1,5k kam schon. Ich selber nutze bei 5V 2,2k und bei 3,3V 1,5k.

von Kolja L. (kolja82)


Lesenswert?

Hallo

So, wieder zuhause.

Bevor ich gegangen bin, habe ich das (billige) Netzteil,
welches ich schon mit einem Kondensator (47000µF) stabilisieren musste
(da der AVR sonst gar nicht anspringt)
durch die alte Batterie (3xAA) ersetzt.

Und siehe da, alles läuft.

Da kommt wieder mal der Spruch:
Wer billig kauft, kauft 2 Mal.

Aber, kann ich das noch irgendwie retten?

Meine Ideen:
Bisheriges Netzteil und Batterien parallel schalten
und durch 2 Dioden schützen

oder

Vorhandene 9V Netzteile nehmen und mit Widerständen nen Spannungsteiler 
bauen?

Gruß Kolja

von rüdiger (Gast)


Lesenswert?

Kolja L. schrieb:
> Bisheriges Netzteil und Batterien parallel schalten
> und durch 2 Dioden schützen

Das ist eine (relativ krude) Methode um es aus zwei Quellen zu 
versorgen,
aber nicht wirklich geeignet um das Netzteil zu stabilisieren.


> Vorhandene 9V Netzteile nehmen und mit Widerständen nen Spannungsteiler
> bauen?

Spannungsteiler als Stromversorgung? Der wird (ohne weitere Beschaltung) 
kaum belastbar sein oder sehr hohe Verluste haben.


Wenn es wirklich am Netzteil liegt, dann investiere halt in ein 
vernünftiges Netzteil. Und wenn die Schaltung über Monate mit Batterien 
läuft, ist das Netzteil vielleicht auch gar nicht nötig.

Falls die 9V Netzteile besser sind, bietet sich ein Regler an um die 
Spannung auf 5V zu bringen. Ein Linearregler ist sehr einfach aufzubauen 
aber hätte etwa 45% Verluste. Wenn die Schaltung aber sowieso nur ein 
paar mA braucht, wäre das zu verkraften.

Ansonsten bekommt man 5V auch über USB. Entweder direkt vom PC oder von 
powered Hubs. (Bei denen können natürlich die Netzteile wieder Murks 
sein)

von Kolja L. (kolja82)


Lesenswert?

Hallo

Die Netzteile sind als USB Netzteil beworben worden...
Ja, der Spannungsregler, der ist es geworden.
Mal schaun, wie warm der wird.

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.