NEWS
ESP 8266 Einbindung von DS18B20 Temperatursensoren
-
Hallo und guten Morgen in die Runde,
habe das Thema gerade gesehen und dacht mir ich klinke mich mit ein. Ich habe auch die Temperatursensoren verbaut jedoch bekomme ich ab und zu fehlerhafte Messwerte ein. Die Sensoren messen in D50 Rohren die Wassertemperaturen von meinem Pool.
Man sieht das hier auf dem Bild recht gut. -336 ist dann doch recht kaltHat jemand eine Idee in welcher Richtung ich den Fehler suchen könnte?
Viele Grüße
-
@flexer Hmm, wie werden die Sensoren denn ausgewertet?
Eigenes ESP8266 Sketch, oder Tasmota?
Alle parallel auf einen OneWire Bus?
Ist der "Solar" Sensor auch der mit der höchsten Seriennummer unter den drei Sensoren?Falls Du etwas mit den Messwerten machst, reicht es ja nicht, das Problem "kosmetisch" zu lösen...
Falls eine kosmetische Lösung reicht und Du die Werte über den influx-Adapter schreibst, könnte man hier etwas eintragen, um die Ausreißer zu ignorieren:
-
Widerstände in Deinem Konstrukt verbaut ?
-
@martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139 -
@haselchen Ja genau einen. Den Aufbau muss ich raussuchen. Melde mich
-
@geschild das ist auch mein Verdacht. Zweite Möglichkeit wäre der Spannungsregler des D1Mini Clones...
Neue Version mit Leiterplatte und ESP32 ist eigentlich fertig. Hat aber andere Abmessungen, als der Prototyp. Warte noch bis es wärmer ist mit dem Umbau
-
So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy
So wie in dem Video
https://youtu.be/jQrcybWapuA?si=igohLALrPQ5Ec6lD -
@flexer sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:
So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy
sieht nicht richtig aus.
Nur 1 Widerstand und nur ein datasiehe:
https://forum.iobroker.net/topic/69730/csw120-warmwasserspeicher-an-welchen-rohren-messen/12 -
-
@bahnuhr Man kann mehrere OneWire-Instanzen auf verschiedenen Pins betreiben.
-
@bananajoe Ist aber natürlich auch in der Weise, wie von @Flexer gelöst durchaus funktionsfähig. Einen zweiten One-Wire-Bus aufzumachen ist aber Overkill bei zwei Sensoren ... zwei Ports zu nutzen hat Vorteile bei Serienproduktion von Geräten. Da müsste man ansonsten anhand der Seriennummer "anlernen" welcher Sensor welchen Temperatur-Messpunkt überwacht....
Die Farbcodes der Widerstände sind etwas unklar.
Wenn das wirklich gelb - violett - braun - gold ist, wären das 470 Ohm. Das ist deutlich zu wenig ...
https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf (Seite 7 Bild 7)In der Regel wird 4,7 kOhm 5% Toleranz genutzt (gelb - violett - rot - gold)
Achtung bei Fünf-Ring-Farbcodes ist das anders! (gelb - violett - schwarz - braun - braun wäre 4,7 kOhm 1%)
-
@geschild said in ESP 8266 Einbindung von DS18B20 Temperatursensoren:
@martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139Es sind insgesamt drei Sensoren (Raumtemperatur, und Temperatur an der Zulauf- und Ablauf-Leitung eines Heizkörpers)
Bisher war immer der Ablauf-Sensor betroffen, Jetzt war erstmals der Zulauf-Sensor nicht erreichbar.
Im Code wird beim Startup erst nach den verfügbaren Sensoren gesucht, dann werden die Seriennummern ermittelt, in aufsteigender Reihenfolge sortiert, und danach wird nur noch nach Seriennummern adressiert
Niedrigste Hausnummer -> Raumtemperatur
Mittlere Hausnummer -> Zulauf
Höchste Hausnummer -> AblaufWird nur ein Sensor gefunden, wird davon ausgegangen, dass er für die Raumtemperatur zuständig ist.
Bei zwei Sensoren Raum + ZulaufDer Sensor ging diesmal "einfach so" verloren, ohne dass der ESP neu gestartet worden wäre ...
der DS18B20 sollte ab +3V Versorgungsspannung funktionieren, der ESP-Chip ist mit 2,5 Volt zufrieden...
Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...
Wird wohl wirklich Zeit, die neue Hardware in Betrieb zu nehmen, und den D1Mini Clone in den Giftschrank nebst Aufkleber "Nicht Zuverlässig" zu legen ...
-
@martinp sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:
Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...
Ich habe hier die gleichen Klone laufen (von den AZ habe ich schon 25 Stück gekauft), mit 2 x DS18B20 und 1x MAX7219 7-Segmentanzeige. Die wird wohl mehr Strom ziehen.
Anderes Netzteil (nicht Ladegerät) zu testen kann natürlich nicht schaden. Natürlich konnte auch so ein Sensor defekt sein oder die Lötstellen sind nicht perfekt.
-
@bananajoe Vielleicht gibt es verschiedene Chargen, und AZ-Delivery baut inzwischen wieder 500 mA Regler ein ... die Markierungen auf den Winz-Chips sind aber nicht besonders einfach zu entschlüsseln
Meiner trägt die Aufschrift "DE=A1D"
https://www.sunrom.com/p/rt9193-33gb-rt9193-33pb-sot23-5-300ma-ldo
also 300 mAVon AZ-Delivery gibt es aber wohl auch Chargen mit diesem hier, Aufschrift "4A2D"
https://datasheet.lcsc.com/lcsc/2111081830_Shenzhen-Fuman-Elec-4A2D_C2832127.pdfDer hat 500 mA!
-
@martinp muss ich heute Abend mal schauen. Hatte ich neulich gerade, aber vergessen was da stand.
So ein DS18B20 Sensor soll aber - laut Datenblatt - maximal 4mA fressen: https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf
Selbst ein 300mA Regler sollte da mehr als ausreichen, der Wemos D1 mini selbst sollte so bei maximal 45 bis 75mA liegen -
Kann auch heute Abend mal schauen.
Das war echt kein Hexenwerk.
Je ein 8266 und ein ESP32 arbeiten mit je 2 Sensoren.
Einmal Tasmota und einmal Espeasy.
Und dann einmal die Widerstände gelötet und einmal einfach über Wagoklemmen gesteckt.
Fertig . -
der Wemos D1 mini selbst sollte so bei maximal 45 bis 75mA liegen
Das ist so anscheinend nicht korrekt. Jemand hat den Dingern bei der WLAN-Verbindungsaufnahme mit einem Oszilloskop zugeschaut ...
Meinem Gefühl nach gibt es diese Stromspitzen immer, wenn es irgendwelche WLAN-Probleme gibt, und die Verbindung neu aufgebaut werden muss ...
Das Thema habe ich ja schon einmal in aller Breite durchgekaut ...
https://forum.iobroker.net/topic/68117/wlan-probleme-esp8266/50?_=1713433435693Hier der komplette Schaltplan meines Gerätes
Die Probleme treten vermehrt auf, wenn die Lüfteransteuerung aktiv ist ...
Dann überträgt einer der Sensoren sporadich eine falsche Temperatur (-127°C). Startet der ESP komplett neu, wird der "spinnende" Sensor dann ggfs. beim Umschauen auf dem Bus nicht gefunden, und der Sketch geht von einer Spar-Ausstattung mit Sensoren aus ...
Dieses Äquivalent zu "Empfangsfehler" der Library werte ich mit meinem Sketch noch nicht korrekt aus ...
-
@martinp sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:
Das ist so anscheinend nicht korrekt. Jemand hat den Dingern bei der WLAN-Verbindungsaufnahme mit einem Oszilloskop zugeschaut ...
ich muss mir wohl dringend auch ein Oszilloskop bestellen, mit meinen Multimetern sehe ich das natürlich nicht so schnell