Plötzlich große Temperaturschwankungen bei Dallas DS18b20

Die vier Stück, die ich brauche, weil ich sie an einem Shelly Plus Add-on anschließen musste, habe ich einfach bei Amazon im, ich glaub 2x 5er-Pack, gekauft und die, die nix waren, aussortiert. Einer zeigt immer mal wieder starkes Rauschen und hat gelegentlich Ausfälle, weil er mal unter Wasser getaucht war (sollte angeblich wasserdicht sein), ist mir an dieser Stelle aber egal.

Mittlerweile würde ich nicht mal mehr das Shelly-Add-on verwenden, sondern einen ESP und statt der DS18B20 eher eine Hand voll PT100 oder PT1000.

Ich hab mir einfach angewöhnt, das ganze pragmatisch zu sehen und mit dem zu leben, was man bekommt.

Nun habe ich also 4 DS18B20 bei Farnell gekauft.
Farnell ist ein offizieller Distributor von Analog Devices.
Aber der DS18B120 kommt von DFROBOT … also ob das nun ein echter DS18B20 von Analog Devices ist … ?

Mittlerweile habe ich also folgende DS18B20 angeschlossen:

Und die Resultate sind … durchwachsen.

Im aktuellen Temperaturbereich meines Büro’s - zwischen 20C bis 25C - verhalten sich alle DS18B20 brav, sind mehrheitlich eng zusammen, mit erstaunlich wenig Abweichungen,
abgesehen vom (neuen) Sensor 5, welcher auffällig tiefer liegt.
Und das zu Zeiten, wo sich mit Sicherheit niemand in der Nähe dieser Sensoren bewegt/aufgehalten hat.
Und, wie schon in vorangehendem Messungen gesehen, der Sensor 3 hat einen deutlichen Jitter von etwa 0.7C.

Dann wieder der Test mit der Bier-Tragtasche und dem Kühl-Element.

Dass hier nun 3 Sensoren beim runterfahren deutlich abweichen, kann etwas mit der unsorgfältigen der Sensoren Lage in der Bier-Tragtasche zu tun haben (die Sensoren 1-5 sind mit Kabelbinder zusammengepackt, die Sensoren 6 + 7 sind “frei fliegend”).
Nachdem ich die Fühler etwas besser zusammen arrangiert hatte, haben sich die Temperaturen (nach 22h40) angenähert.
Auffällig ist aber hier wieder der Jitter des Sensor 2, den ich schon in den ersten Messungen gesehen/erwähnt habe.

Und nun ein weiteres Fazit.

  1. Wer misst, misst Mist.
  2. Ob ein DS18B20 gut und korrekt misst, ist offensichtlich Glückssache.
    Man muss geeignete Sensoren mittels Vergleichsmessungen (über den gesamten benötigen Temperaturbereich) aus einem Bündel von Sensoren selektieren, bzw. die stark Abweichenden aussortieren.
    Enttäuschend, wenn man die grossmundigen Technical Data Sheets all dieser Sensoren durchliest!

Nun gibt es aber noch eine Unwägbarkeit - alle Messungen habe ich mit 2 Shelly Add-Ons gemacht (ein Add-On kann max 5 DS18B20 bedienen).
Also theoretisch können ja auch die Shelly’s die Ursache der Probleme sein.

Ich habe noch einen OW-Server-ENET rumliegen (https://www.embeddeddatasystems.com/OW-SERVER-1-Wire-to-Ethernet-Server-Revision-2_p_152.html).
Wenn ich es hinkriege, den an den HA anzuschliessen, werde ich die Erkenntnisse damit verifizieren.
Dazu muss ich allerdings im HA entweder SNMP oder die 1-Wire-Integration oder REST zum laufen bringen.
Hier habe ich eine Beschreibung gefunden: Get sensor readings from OW-SERVER - #10 by Wuellueb - Hardware - Home Assistant Community
Falls mir jemand dabei helfen kann: gerne!

So, das wärs mal für heute.

Hallo, warum nimmst Du nicht einfach einen ESP und schließt die Sensoren direkt parallel über Onewire an, das ist m. E. das Einfachste, und man hat nur ein Gerät, also eine mögliche Fehlerquelle weniger.

Ein Video gibt es dazu auch von Simon.

Hallo, warum nimmst Du nicht einfach einen ESP

Habe derzeit 0 Erfahrung mit ESP.

Will ich zwar lernen, aber kann nicht alles aufs Mal.

Servus
ich habe seit gut 20 Jahren viele DS18B20 laufen. Früher war das sehr sicher Originalware im T092 Gehäuse. Mit denen hatte ich noch nie Probleme obwohls auch in exponierten Einbaubedingungen laufen (Heizkessel, therm. Solar ect.). In den letzten Jahren habe ich die vorkonvektionierten vom Ali oder sonstwo bestellt. Mit den neuen aber durchaus auch schon diverse Ärgerlichkeiten. Wenn mich nicht alles täuscht hatte auch auch schon solche Jitter Problem gesehen. Oder zeitweise Aussetzer, oder tot nach wenigen Monaten.

Am Interface dürfte es nicht liegen, betreibe sie entweder an ESPs oder (viele) am TPLink USB Adapter. Früher mit nativen IPsymcon Integration, jetzt mit OWserver in HA.

So wie du würde ich geren mehr bezahlen, wenn ich wüßte das ich gute Ware bekomme. Leider ist das halt nicht mehr garantiert, egal wo man kauft.

schöne Grüße
Bernhard

1 „Gefällt mir“

Zumindest nicht die Ursache der abweichenden Temperaturen, denn die DS18B20 werden rein digital ausgelesen.

Das ist eine irreführende Aussage - die “digitalen” Werte werden nur bei korrektem Timing des Bus korrekt ausgelesen, einen CRC oder ähnliches zur Prüfung des korrekten Read gibt es nicht, und das Timing ist recht knapp und präzise.

Siehe dazu das Data Sheet, Seiten 4,5,6

https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf

Mindestes beim Jitter könnte ich mir auf jeden Fall den Shelly als Ursache gut vorstellen.

Ich warte noch auf ein 6-poliges RJ11-Kabel, welches am OW-Server verwendet werden muss (RJ-11 ist zu 90% für Telefon mit 4-Draht).

Dann wissen wir mehr - oder auch nicht.

So, jetzt ist der Zapfen ab, wie wir hier in der Schweiz sagen würden.

Ich habe nun also die 7 DS18B20 an meinen EDS OW-Server-ENET-2 angeschlossen. Mein temporäres ad-hoc-Entwicklerboard sieht so aus:

Und nein, ich gehe nicht in Serie damit, und es wird auch nicht verkäuflich sein; es ist und bleibt (m)ein Unikat.

Ein erster Blick auf das, was der OW-Server mit dem eigenen Web-Interface zurückmeldet, sieht so aus:

Bild

Alle Werte befinden sich im Bereich 24.6C bis 24.9C – bestätigt auch über eine längere Zeitspanne! Also keine Differenzen > 1C wie bei der Verwendung des Shelly Addon.

Allerdings stimmen in der obigen Liste die Reihenfolge der Sensoren nicht überein mit denjenigen beim Shelly; beim Shelly hatte ich keinen Zugriff auf die ROM-ID, und via OW-Server braucht man die ROM-ID zur Identifikation des Fühlers.

Hmmm - schlecht lesbar . darum nochmals nachträglich ein aktueller Screenshot (beim Bier in der Tasche). Hier mit korrekter Reihenfolge 1-7.

Zum HA-Anschluss: Nach einigem Würgen konnte ich den OW-Server via REST auslesen (es gibt da verschiedene Möglichkeiten, für REST habe ich halt die einfachsten Beispiele zum adaptieren gefunden).

Zur eindeutigen Identifizierung der Fühler musste ich diese nochmals alle abhängen und einzeln Schritt für Schritt wieder in Betrieb nehmen; so konnte ich deren Beschriftung (Sensor 1-7) mit den korrespondierenden RomId verbinden und im HA dann auch die alten Identifikationen (Sensor 1-7) zuordnen/verwenden.

Die Frage, welche ich mit dem OW-Server primär beantwortet haben wollte, war: hat es mit dem OW-Server immer noch diesen Jitter auf zweien der Sensoren, wenn man mit den Temperaturen runtergeht?

Eine zweite (ungestellte) Frage wurde jedoch sofort wie oben ersichtlich beantwortet: ja, der Shelly-Addon hat ein Problem: der Shelly Addon liefert falsche Werte zurück (oder die Shelly_Integration des HA? Denn ich habe nie überprüft, ob die rapportierten Werte in der HA exakt denjenigen entsprachen, welche der Shelly in seinem eigenen Web-Interface anzeigte. Dieser Frage werde ich aber nicht nachgehen, letztlich ist es egal, ob der Shelly oder die HA-Integration falsche Werte lieferte; falsch ist falsch).

Implizit wurde damit auch die Feststellung eliminiert, dass die Sensoren eine grössere Abweichung hatten als sie gemäss Datenblatt haben dürfen – nein, haben sie nicht – das waren alles falsche Datenlieferungen des Shelly oder der HA.

Nun zum Jitter.

Beim Einsatz des Shelly traten ja diese Jitter permanent auf:

  • Ein Jitter trat ja beim Sensor 3 bei 20-25C permanent auf.
  • Ein weiterer Jitter trat auf bei den Sensoren 2 und 4 auf, wenn sie von 24C auf 6C runtergekühlt wurden.

Der Messverlauf über mehrere Tage sieht nun so aus:

In der Mitte ein Unterbruch, ganz rechts wieder der Versuch mit dem Kühlelement.

Generell sieht man, dass die Messresultate nun eng beieinander sind. Der Kühlversuch zeigt auch keinen ausufernden Jitter der Sensoren 2 und 4.

Hier der Kühlversuch im Detail

Man sieht während dem Runterfallen der Temperatur eine gewisse Differenz aufgrund unterschiedlich schneller Reaktion - dies dürfte aber der Position der Fühler geschuldet sein, da ich keinen Ventilator in der Kühlbox drin habe.
Jedesmal, wenn ich die Fühler etwas anders gelagert oder geschwenkt habe, haben sich die Temperaturen wieder angenähert.

Zusammenfassend stelle ich jedenfalls fest:

  • Der Shelly Addon ist eine praktische Möglichkeit, 1-Wire DS18B20 auf einfache Weise anzuschliessen – ein Shelly+Addon, 220V, ein WLAN, und fertig.
  • Leider sind die Messresultate des Shelly Addon nicht zuverlässig, es gibt teils grössere Abweichungen von teils über einem Grad C.
  • Die effektive Ursache der Unzuverlässigkeit ist unklar.
  • Gegebenenfalls kann man durch Vergleichsmessungen mehrerer DS18B290 bestimmte, genauere Exemplare auswählen.

Leider, auch das ist Fakt, gibt es für einen dezentralen Betrieb von 1-Wire (dh. weit entfernt vom HA) nur wenige Alternativen, und die meisten benötigen dann mehr Aufwand für Installation, Speisung, Kommunikation.

Hier nochmals eine kurze, nicht abschliessende Auflistung / Zusammenfassung der Anschluss-Varianten (dezentral, dh. entfernt vom HA):

  • Shelly mit Addon: Es braucht 220V + WLAN, dann kann man bis zu fünf DS18B20 anschliessen, andere 1-Wire-Komponenten können nicht bedient werden. Leider sind die Messresultate des Shelly Addon zweifelhaft, mit starken, unerklärlichen Abweichungen behaftet.
  • OW-Server-ENET von EDS. Kann bis zu 21 verschiedene 1-Wire-Komponenten bedienen, offensichtlich präzise, benötigt jedoch eine separate 5V-Speisung (PoE nicht möglich), und einen LAN-Anschluss. Mit etwas Gebastel könnte man wohl einen PoE-Splitter einbauen, denn das Gehäuse hat viel Platz drin.
  • Raspberry Pi 3/4/6. Kann 1-Wire direkt am GPIO bedienen, weitere Informationen habe ich nicht. Braucht eine Speisung und WLAN. Der Raspberry Pi Zero braucht dazu anscheinend eine Zusatz-Platine.
  • ESP/Arduino solle das auch können. Weitere Informationen habe ich nicht

So, damit lasse ich es mal genug sein.

Wie ich nun mit meinem ursprünglichen Vorhaben, Messen der Wärme-Einstrahlung der Sonne mittels einem silbrigen und schwarzen Fühler, weiterfahre, weiss ich noch nicht. Geplant waren 2 DS18B20 und ein Shelly mit Addon, was sich nun zerschlagen hat.

Morgen
Interesannte Sache und gute Analyse. Erhlich gesagt hätte ich mir das Ergebnis so nicht erwartet. Hätte einiges darauf verwettet das die sich gleich wie am Shelly verhalten.
Ich hatte wie oben geschrieben mal ähnliche Beobachtungen allerdings mit einem Link-Usb 1Wire Adapter, kein Shelly.
Scheint sich also tatsächlich um ein Problem mit gekippten Bits beim Auslesen zu handeln. Vieleicht nehmens ja die Chinesen mit dem Timing nicht so genau, oder irgendwas läßt die Chips intern resetten, Sowas könnte sich zb. schon bei nur minimalen Änderungen der Spannungsversorgung total konträr verhalten.

schöne grüße
Bernhard