UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Erfahrungsbericht] [V2.0] 2x40 1-Wire-Sensoren als Linie mit kleinen Sternen / Auflösung & Sendefilter / 1-Wire Auslastungsanzeige

Grundsätzliche Diskussionen zur 1-Wire Topologie, zur Rolle der Busmaster und des Servers.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
SmartMUC
Reactions:
Beiträge: 17
Registriert: Mi Jan 29, 2020 4:57 pm
Hat sich bedankt: 4 Mal
Danksagung erhalten: 89 Mal

[V2.0] 2x40 1-Wire-Sensoren als Linie mit kleinen Sternen / Auflösung & Sendefilter / 1-Wire Auslastungsanzeige

#1

Beitrag von SmartMUC »

Hallo zusammen,

mein erster kleiner Beitrag, ist von der Textmenge her nicht klein, aber Ihr findet die richtige Passage schnell durch Überschriften. ;)

Ausgangssituation:
• 80 Temperaturmessungen (Anlegetemperaturfühler) innerhalb eines Raumes bei Leitungslängen zum PBM vor nur 15-20m (hier sind die Umwege über Trassen berücksichtigt), aber vielen kleinen Sternen
• Sensorauflösung häufig T12 (0,0625°C), einzelne vorübergehend 30 sek Abfrageintervall, etwa 15 Sensoren 60 Sekunden und der Rest 300 Sekunden

Material / Umsetzung:
• J-Y(St)Y 2x2x0,8 (die „echten“ 0,8mm Durchmesser mit dem Messschieber)
• WAGO 221-413 und -415
• 3-adriger Anschluss der Sensoren, also keine parasitäre Versorgung
• PBM mit maximal 40 aktiven Slaves pro Kanal

Planung PBM:
Ich bin der Verlockung widerstanden, die Grenzen des PBMs austesten zu wollen, vor allem wenn man so „ungünstig“ verdrahtet wie hier. Es macht kostenmäßig keinen großen Unterschied, später 2 PBMs mit 6x 40 Kanälen zu haben gegenüber 1 PBM mit 3x 80 Kanälen.
Denn ein ungünstiger Busaufbau limitiert die eigenen Ambitionen schnell, schon bei 35 Slaves gingen die Probleme los. Zudem wird die Auflösung und das Abfrageintervall ein Problem, wenn man nicht nur für alle Sensoren bei 5 Minuten Intervall bleibt. Zur Fehlersuche in der Anlagentechnik müssen schnell eine Reihe Sensoren auf 10 Sekunden herunter und dann kommt richtig Kommunikation auf den Bus.
Nehmt lieber einen PBM mit nur 40 Slaves pro Kanal mehr. Ich bekomme keine Provision von ElabNet, aber die Anlage muss funktionieren. Fehlersuche und Umverkabeln kostet schon bei dieser Sensoranzahl viele Stunden, vom Krabbeln in der Infrastruktur und zwischen den Kabeltrassen ganz zu schweigen.


1-Wire Bustopologie
Es ist wie oft im Leben, sehr gute Dokumentation, außerordentlich hilfsbereite Mitarbeiter mit dem absolut richtigen Hinweis, doch möglichst die Anschlussleitungen der 1-Wire-Sensoren zu kürzen, aber zwischen Theorie und Praxis klafft eine Lücke, leider wie oft gar nicht so klein.
Natürlich sind Sterne die ungünstigste Konstellation für ein Bussystem, weil es haufenweise Reflexionen auf der Leitung gibt. Bei gleichen Kabellängen von 1,5m der Sensoranschlussleitung wird der Effekt noch maximiert.
Das Problem in (meiner) Praxis ist, dass die Anlegesensoren unter der Isolierung am Schichtspeicher mit Wärmeübertragungspad zum Ausgleich der unterschiedlichen Rundungen des Fühlers und des Speichers und mit speziellem, hochtemperaturfesten 3M Aluminiumklebeband kleben und diese ganze Geschichte bis knapp unter 100°C heiß wird, im Sommer monatelang. Wärmeleitpasten lassen sich schwer an vertikalen Wänden auftragen, noch dazu wenn man sich die Finger schon bei 55° Oberflächentemperatur verbrennt und eingeklemmt zwischen der Isolierung des Speichers steht. Da möchte ich ungern mit WAGOs klemmen (auch wenn die die Temperatur wahrscheinlich aushalten) und auch die praktischen Aufkleber mit der 1-Wire ID verstecken, wenn ich aufwändig mit 3 Ladungssicherungsgurten die Isolierung vorher öffnen und sichern muss, um sie auch wieder zu zu bekommen. Aber auch an den Anbauteilen des Schichtspeichers unzählige Vor- & Rückläufe, bei den Rohren der hydraulischen Verschaltung, des Kältepuffers, haufenweise Temperaturmessungen. Da es mehrere, auch gleichzeitige Betriebsarten gibt, hat das eine gewisse Komplexität.
Nur sind die Messstellen nicht alle direkt nebeneinander und einfach in einer Linie zu verbinden, alle Rohrleitungen sind isoliert (und müssen es auch für eine korrekte Temperaturmessung). Auch die J-Y(St)Y 2x2x0,8 gehört nicht zu den flexibelsten Leitungen vergleichbar den anschmiegsamen Sensorleitungen, Klemmstellen gehören in eine tropfwasserdichte Verteilerdose und nicht offen baumelnd zwischen die Rohre. Das ganze muss so sauber verkabelt werden, dass auch ein vorsichtiger Heizungsinstallateur ohne Yoga-Vorbereitung nicht das 1-Wire-Netzwerk zerrupft, wenn man an Ventile, Pumpen oder andere Komponenten muss.

Umsetzung:
Ich habe trotz der korrekten Warnungen die Anschlussleitungen alle so belassen, sie sauber in immer noch unzählige Verteilerdosen an Wänden und Decken geführt, immer mit Tropfnasen. Die Sensorkabellängen erlauben noch ein gutes Arbeiten, da man sie ausreichend bewegen kann um sinnvoll an allen Anlagenteilen arbeiten zu können ohne sich ständig zu verheddern. Von Verteilerdose zu Verteilerdose die J-Y(St)Y 2x2x0,8 und stückweise vor getastet. Was ist entstanden?
Eine Linie von maximal 20m Linienlänge, dazwischen 10 WAGOs mit je 4 Sensoren, also etwa 10 kleine Sterne hintereinander, die Äste der Sterne alle 1,5m. Jeder 1-Wire Sensor hat eine eigene Klemmung, die J-Y(St)Y 2x2x0,8 ist je mit 2 Adern in einer Klemme. Das ist nicht ideal, aber wenn man drauf achtet, das diese kleinen Drähtchen nicht über Kreuz in der Klemmung stecken, sollte es eine langzeitstabile Klemmung sein.
Achtung: Die Aderenden der Sensoren sind unterschiedlich lang abisoliert und verlötet und eigentlich immer zu kurz. Das funktioniert, wenn man bei den WAGOs von hinten durch das Glasfenster klemmt und sieht, dass die Aderspitze etwa 1,5mm aus der undurchsichtigen Klemmstelle herausragt. Die Klemmung ist ca. 1mm von hinten gesehen innerhalb des undurchsichtigen Bereiches. Klingt banal, aber dieser einfache Trick hat bei 78 Sensoren auf Anhieb funktioniert.

Der Bus wurde instabil
Bei ca. 35 Sensoren (8-9 Sterne) war Schluss. Auch wenn die Timberwolf 1-Wire Inventur nur einen einzelnen verschwindenden und wieder auftauchenden Sensor zeigte, ist fast das ganze Netz ausgefallen. Es ließen sich noch 5 von 35 Sensoren lesen. Versuche durch künstlich verlängerte Leitungslängen zwischen den Sternen um ein mögliches Reflexionsproblem zu mindern, brachten nichts. Der Bus war wahrscheinlich kapazitiv überlastet.

Die Lösung
Aufteilen der „Linie“ in etwa in der Mitte, das heißt 20 Sensoren im ersten Teil, 20 im zweiten Teil. Und dieser abgetrennte zweite Teil wurde mit einer langen Leitung direkt zum PBM geführt. Jetzt gehen vom PBM gesehen 2 Stämme ab, an denen in der Linie jetzt nur noch 5 Sterne hintereinander hängen.
Mehr als 2 Stämme würde ich nicht empfehlen, weil das in der PBM-Klemme ein ziemliches Gefummel wird mit den gleichen Problemen der Klemmung von 2 Adern.

Fazit
Die Lösung läuft einwandfrei, nach 50 Inventuren ohne einen einzigen Fehler und über mehrere Tage läuft alles fehlerfrei. Sollte es später zu Problemen kommen oder aber die Auflösung / Abfrageintervall würde einen PBM-Kanal an die Grenze bringen, lässt sich dies am PBM einfach aufteilen und auf einen weiteren Kanal legen.


Auflösung (Standard T10) versus Sendefilter (Standard 0,25)

Diese Standard-Einstellung hat auch kleine Tücken, da vor allem bei stehenden Anlagenteilen mit gleichbleibenden Temperaturen der Effekt von auf und abspringenden Werten entsteht. Diese benötigen – wenn auch aufgrund angeblich sehr effizienter Speicherung wenig – Platz in der Datenbank, aber machen auch die Auswertungen / Graphen unsauberer. Bei einem Temperatursensor am Kältepuffer wurden in einer Nacht über 1000 Messwerte geschrieben, 20,25°C; 20,50°C, 20,25°C, 20,50°C usw. Der Erkenntnisgewinn ist eher Null, außer dass man einen Kamm als Graphen sieht.
Das Problem (Quantisierungsrauschen) entsteht durch die Digitalwandlung mit diskreten Schritten einer unendlich fein aufgelösten Sensorgröße. Am „Kipppunkt“ muss der Digitalwandler sich zwischen der größeren und kleineren diskreten Größe entscheiden. Kein Bauteil ist perfekt und es gibt viele Störgrößen. Der Effekt wird mit zunehmender Auflösung stärker.
Weitgehend eliminieren lässt sich dieser Effekt, wenn die eingestellte Auflösung eine Stufe höher ist als der Sendefilter, damit ist praktisch Ruhe, weil das „echte“ Quantisierungsrauschen innerhalb der Sendetoleranz bleibt und nicht mehr erscheint.

Weil ich selber eine Weile suchen musste (es steht auch im sehr guten Planungshandbuch nicht drin), kopiere ich einen kleinen Teil aus Stefans Thread ausnahmesweise hier rein (entschuldigt, ich weiß nicht mehr, welcher Thread es war, weil ich mir diese Passage herauskopiert habe):
Das xx steht für die Auflösung in Bit.

Der Temperatursensor DS18B20 stellt vier Auflösungen zur Verfügung:
• T9 mit 9 Bit Auflösung, was einem 1/2 Kelvin entspricht (mithin 23,0 °C, 23,5 °C, 24,0 °C); Dauer: 94 ms
• T10 mit 10 Bit Auflösung, was einem 1/4 Kelvin entspricht (mithin 23,0 °C, 23,25 °C, 23,50 °C); Dauer: 187 ms
• T11 mit 11 Bit Auflösung, was einem 1/8 Kelvin entspricht (mithin 23,0 °C, 23,125 °C, 23,250 °C); Dauer: 375 ms
• T12 mit 12 Bit Auflösung, was einem 1/16 Kelvin entspricht (mithin 23,0 °C, 23,0625 °C, 23,125 °C); Dauer: 750 ms

Die Genauigkeit beträgt jeweils +/- 0,5 K (zumeist bessser)
Wünsche ich im TWS 0,25°C Auflösung, stelle ich T11 (entspricht 0,125°C) und im Sendefilter 0,25°C ein. Bei hoch aufgelösten Sensoren T12 mit Sendefilter 0,125°C. Das funktioniert einwandfrei.

Wenn jetzt noch Rauschen kommt, ist es wahrscheinlich das Medium selbst, laminare oder turbulente Strömung, Probleme der Sensorisolierung usw., so haben einzelne Sensoren tatsächlich Temperaturschwankungen in ihrem Bereich und hier gilt dann die Abwägung aus vernünftiger Auflösung und Vermeidung von Artefakten in der Datenbank. Die vollen 0,0625°C bei gleichem Sendefilter schreibt vor allen viel Daten bei relativ wenig Erkenntnisgewinn.


1-Wire Auslastungsanzeige im TWS
Diese Anzeige kann man schnell missverstehen: Die Anzeige scheint die durchschnittliche Auslastung seit Laufzeitbeginn des PBMs wieder zu geben, aber nicht die aktuelle! Das ist ein schöner Wert, hilft einem aber nicht, wenn man Auflösungen / Abfrageintervalle verändert, denn wenn der PBM schon eine Woche läuft hat die aktuelle Auslastung kaum einen Effekt auf den Anzeigewert und man meint, alles sei noch in Ordnung, obwohl der Bus schon eine hohe Auslastung fährt.

Tipp:
Erst alle gewünschten Auflösungen / Abfrageintervalle einstellen – bei sehr vielen oder hohen Genauigkeitsanforderungen besser schrittweise in Gruppen – und dann den TWS herunterfahren und den PBM vom Strom trennen. Danach PBM und TWS wieder einschalten. Vielleicht gibt es einen kürzeren Weg, aber der funktioniert.
Vorsicht: Nur den PBM vom Strom zu nehmen hatte bei mir den Effekt, dass das integrierte TWS WLAN ausfiel und ich diesen Zugang verlor. Hier scheint also ein ähnlicher Effekt bei Abschalten von USB-Komponenten „ohne vorheriges Auswerfen“ wie bei Windows-Rechnern vorzuliegen.
Jetzt sieht man plötzlich die reale (durchschnittliche) Auslastung, weil das Anzeigeintervall nur die jetzige Einstellung wieder gibt, solange man nicht wieder Parameter ändert.

Vielleicht hilft dies einem anderen 1-Wire Einsteiger weiter.

Schöne Grüße,

Jochen
TWS 2600 ID:571 + PBM ID:906, Server noch offline, VPN noch nicht möglich

eib-eg
Reactions:
Beiträge: 442
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1457 Mal
Danksagung erhalten: 235 Mal

#2

Beitrag von eib-eg »

viewtopic.php?f=43&t=487&p=6336&hilit=m ... elvi#p6336

Anscheinend meinst du diesen Beitrag von Stefan
TW 2600_99 seit 1.1.2018 / VPN zu

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#3

Beitrag von StefanW »

Hallo Jochen,

vielen Dank für Deine beiden tollen Beiträge. Ich werde noch ausführlicher drauf eingehen, habe nur gerade wenig Zeit (Krankenstand...).

(Wir duzen uns hier im Forum, ich hoffe das ist ok, sonst Bescheid geben, ob ich mir das dann aber merken kann, kann ich nicht versichern)

SmartMUC hat geschrieben: Mi Okt 27, 2021 6:34 pmVorsicht: Nur den PBM vom Strom zu nehmen hatte bei mir den Effekt, dass das integrierte TWS WLAN ausfiel und ich diesen Zugang verlor. Hier scheint also ein ähnlicher Effekt bei Abschalten von USB-Komponenten „ohne vorheriges Auswerfen“ wie bei Windows-Rechnern vorzuliegen.
Das sollte nicht so sein.

==> Können wir mehr Informationen dazu bekommen? Also welcher Softwarestand, reproduzierbar, was tust Du um das zu beheben?


lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Antworten

Zurück zu „1-Wire Topologie, Busmaster & Server“