Stabilisierung des 1-Wire Bus-Systems
Fallen immer wieder einzelne Sensoren aus (z. B. bei Temperatursensoren durch eine Anzeige von -125°C) oder sind z. B. alle Sensoren auf dem 1-Wire-Bus nicht mehr erreichbar/sichtbar, kann das verschiedene Ursachen haben. Leider gibt es keine allgemein gültige Aussage wo die Ursachen liegen könnten. Generell sollte man große Sorgfalt in die Verkabelung des 1Wire-Buses legen. Eine gute Einführung in den 1-Wire-Bus bietet dieses PDF-Dokument: https://docplayer.org/39734499-1-wire-bussystem-grundlagen-tipps-und-hintergrundinformationen-inhaltsangabe-und-leseprobe.html (Orignal Webseite nicht mehr erreichbar: http://home.arcor.de/RoBue/1-Wire/Download/1-Wire%20Bussystem_Grundlagen_Tipps.pdf)
Trotzdem sollen hier typische Probleme und deren Lösungen vorgestellt werden.
Separate Spannungsversorgung verwenden
Einige Sensoren, insbesondere die Temperatursensoren, können entweder parasitär mit Spannung versorgt werden (also aus der 1-Wire-DATA-Leitung) oder aber separat mit einer +5V Versorgungspannung gespeist werden. Die parasitäre Spannungsversorgung hat zwar den Vorteil, das man für den 1-Wire-Bus nur 2 Adern benötigt, hat aber den großen Nachteil, dass gerade bei vielen angeschlossenen Sensoren die Spannungsversorgung zusammenbrechen kann und es damit zu Störungen auf dem Bus kommen kann.
Daher sollte wo immer möglich eine separate Spannungsversorgung von +5V auf einer 3. Ader für den Bus zur Verfügung gestellt werden. Die Loxone 1-Wire-Extension und auch nahezu alle anderen 1-Wire-Adapter und Gateways bieten dafür bereits die passende Spannungsversorung an.
Separate Extension für iButton / DS2401
Häufig wird berichtet, dass das Mischen von Temperatursensoren und iButton oder DS2401 an einem Bus zu Problemen führt (Verzögerungen beim Erkennen der DS2401). Wer viele DS2401/iButton einsetzen möchte, sollte diese auf einen separaten Bus und damit auf eine separate Extension nehmen und sämtliche andere Sensoren (Temperatur etc.) ebenfalls auf eine eigene Extension nehmen.
Schwankende Spannungsversorgung vermeiden
Bei vielen Sensoren ist eine separate Spannungsversorgung notwendig (+5V), so z. B. beim DS2438-Baustein aber auch bei Temperatursensoren wie dem DS18B20 wird eine separate Spannungsversorgung empfohlen (wenn sie auch nicht unbedingt notwendig ist).
Steht die separate Spannungsversorgung nicht stabil genug zur Verfügung (z. B. durch zu hohe Leitungsverluste oder unsaubere Klemmstellen) kann das die Funktion von Sensoren negativ beeinflussen. Abhilfe schafft ein kleiner 100 nF Kondensator, der direkt am Sensor zwischen +5V und GRD geschaltet wird. Dieser wirkt quasi wie eine kleine Pufferbatterie für den Sensor und gleicht kleine Spannungsschwanungen direkt aus.
Achtung! Der Kondensator wird zwischen +5V und Ground geschaltet, auf keinen Fall zwischen DATA und Ground! Je nach Kondensatortyp muss zudem die korrekte Polung beachtet werden.
Man kann z. B. Keramik-Kondensatoren verwenden (Stückpreis: ca. 0,10€), man muss lediglich darauf achten, dass der Kondensator für mindestens 5V ausgelegt ist. Bei einem Keramikkondensator ist zudem die Polung egal. Der Kondensator kann direkt an die Beinchen des Sensors gelötet werden oder man verwendet wie im folgenden Bild gezeigt eine kleine Streifen-Lochrasterplatine.
(Bild: Temperatursensor DS18B20 mit 100 nF-Keramiksensor und einer 3-poligen Anschlussklemme auf einer Lochrasterplatine)
Latch Up Effekt
Fällt sporadisch nach einer gewissen Zeit (üblicherweise mehrere Tage) der komplette Bus aus (kein Sensor mehr erreichbar) und schafft es dann Abhilfe, den Bus einmal von der 1-Wire-Extension zu trennen (abziehen des Steckverbinders an der Extension und nach ein paar Sekunden wieder anstecken), kann es sich um den sogenannten Latch Up Effekt handeln.
Übersprechen vermeiden
Der 1-Wire-Bus ist empfindlich gegenüber EMV Strahlung, deswegen sollten wen möglich immer geschirmte Kabel für den Bus verwendet werden. Trotz geschirmter Kabel, kann es aber trotzdem zu ungewollten Effekten kommen, zum Beispiel zu sporadischen verschwinden/erscheinen von iButtons (zum Beispiel wenn als Reed-Kontakt verwendet). Speziell im Sicherungskasten sollte man darauf achten die 1-Wire Kabel nicht neben Kabel zu führen die über PWM gesteuert werden (zum Beispiel 24V LED Leitungen, die über DMX Dimmer gesteuert werden).
Vorgehen bei Problemen:
Bei allen betroffenen Sensoren (oder zumindest bei ein paar) Logging aktivieren (1-Wire Gerät → Logging/Mail/Call/Track → Logger = Standard Logger)
Der Standard Logger speichert in ein user.log file das über FTP ausgelesen werden kann
Danach immer wieder einzelne Räume schalten (Licht, Dimmen, Rolladen etc.) und die Logs dazu überprüfen
Bei mir sind die 1-Wire Kabel hinter des X9 DMX Dimmers verlaufen und wurden die Geräte von diesem Dimmer gesteuert kam es zu Aussetzern auf dem 1-Wire Bus. Die Kabel etwas anders verlegt und das Problem wurde gelöst.
Bus-Überwachung per DS2401
Störungen auf dem 1-Wire-Bus sind besonders ärgerlich, wenn man einige Sensoren als Eingangssensoren für die Alarmanlage verwendet (z. B. Reedkontakte zur Überwachung der Fenster). Eine aufheulende Aussensirene auf Grund eines Sensorausfalls gefällt wohl niemandem (schon gar nicht den Nachbarn).
Eine Busüberwachung kann daher insbesondere bei Alarmanlagen sinnvoll sein und lässt sich sehr einfach und kostengünstig realisieren. Man verwendet dazu den ca.1€ teuren 1-Wire-Baustein DS2401. Dieser verhält sich am Bus wie ein iButton, der an ein Lesegerät gehalten wird. Ist der DS2401 mit dem Bus verbunden, sendet er seine Seriennummer wie ein iButton auf den Bus, wird er vom Bus getrennt, verhält er sich so, als ob ein iButton vom Lesegerät genommen wird (er ist "verschwunden").
Das kann man sich nun zu Nutze machen, indem man den Sensor an irgendeiner Stelle (z. B. am Ende des Buskabels) an den Bus anschließt. Fällt der Bus komplett aus (z. B. durch den Latch Up Effekt - siehe oben), verschwindet auch der DS2401-Baustein.
Zur Überwachung verknüpft man den Online-Status der Loxone 1-Wire-Extension mit diesem "Alive"-Sensor - ist beides auf EIN, ist der Bus online. Ist eines von beiden auf AUS, ist der Bus offline.
(Bild: 2 getrennte 1-Wire-Bus-Systeme mit 2 1-Wire-Extensions, Online-Überwachung über DS2401-"Alive"-Sensor)
Die 1-Wire-Fensterkontakte verbindet man nun mit einer ODER-Verknüpfung (Achtung! Negierten unteren Eingang beachten!) mit einem Merker, der anzeigt ob das Fenster offen oder geschlossen ist (Hier: 1W - TüKo Küche Kipp). Das Fenster wird nun als "Geschlossen" angesehen, entweder wenn der Fensterkontakt auf EIN steht oder wenn der 1-Wire-Bus ausgefallen ist. Somit kommt es bei einem Busausfall nicht mehr zur Auslösung der Alarmanlage durch ein fälschlicherweise als geöffnet angesehenes Fenster.
(Bild: Fensterkontakt mit Überwachung des 1-Wire-Buses)
Bus-Überwachung per vorhandenem Temperatursensor
Ergänzend zu den oben gezeigten Busüberwachungen möchte ich noch eine weitere Variante vorstellen:
Meine Busüberwachung eines 1-Wire Temperatursensors basiert darauf, dass sich ein Messwert innerhalb eines Zeitzyklus ändert. Zur Einstellung der Zykluszeit kommt es auch auf die Trägheit des zu überwachenden Mediums an. Wenn nicht erfolgt eine Bus-Ausfallmeldung per E-Mail bzw. in der Visualisierung. In der unteren Hälfte des Configauszuges wird die nachfolgend beschriebene Einzelüberwachung dargestellt.
- Grundsätzlich verknüpfe ich 1-Wire Komponenten immer mit einem nachgeschalteten Merker bzw. Virtuellen Status. Bei einem Defekt des Fühlers bleiben dadurch die bisherigen Statistikeintragungen weiterhin erhalten.
- Zur Busüberwachung wird der 1-Wire Temperaturwert auf einen weiteren Merker verdrahtet. Der Ausgang des Merkers wird verzögert an den nachfolgenden Merker wird der Temperaturwert zeitverzögert weitergegeben (Einstellbar in den Eigenschaften unter Verzögerung (z.B. 100 Zyklen)
- Beide Temperaturwerte werden auf einen „Ungleich-Baustein“ aufgeschaltet. Der Ausgang wird auf ein abfallverzögertes Zeitglied verdrahtet. Solange das „Ungleich-Signal“ am Baustein-Ausgang ansteht, bleibt das nachgeschaltete Zeitglied auf „Ein“. Bei „Gleichheit“ bzw. 1-Wire Sensordefekt wird der Baustein-Ausgang abgeschaltet und die Verzögerungszeit (Einstellung 30 Min/1800Sek) läuft ab. Beim nächsten „Ungleichsignal“ wird wieder auf den Einstellwert des Zeitgliedes zurückgesprungen.
- Nach Ablauf der Zeitverzögerung erfolgt eine Meldung über den „Virtuellen Status“ an die Visualisierung und per Mailer.
- Zur Kontrolle bzw. zur Fehleranalyse wurde noch durch eine „Trackerfunktion“ ergänzt, die per VISU-Schalter bei Bedarf aktiviert werden kann.
(Bild Bus- und Messwertänderungsüberwachung 1-WIRE)