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):
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.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)
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