DS18B20 und DS2438 an einem Busmaster

Begonnen von Jewe, 14 April 2021, 23:29:10

Vorheriges Thema - Nächstes Thema

Jewe

Hallo, habe mit einer Erweiterung meines 1-Wire-Systems ein paar Probleme.
Ich betreibe seit Jahren mehrere DS18B20 und 2 DS2423 an einem 1-Wire USB Adapter (von Loctus). Damit habe ich keine Probleme.
Der 1-Wire Usb Adapter ist über USB an den Pi angeschlossen und in Fhem wird das OWX-Modul verwendet.

Nun möchte ich das System Erweitern mit ein paar Bodenfeuchtesensoren die jwewils mit einem DS2438 an den Bus angesclossen werden sollen. Leider will das nicht so einfach funktionieren. Sobald ich die neuen Sensoren anschliesse, bekomme ich auf dem Bus einen Alarm und alle Teilnehmer sind "weg". Ein reopen bringt keine Besserung. Mit get ...devices werden keine Teilnehmer angezeigt.
Das ganze haben ich ohne und mit Pullup Widerstand 4,7kOhm ausprobiert.

Gibt es Besonderheiten beim DS2438 die ich beachten muss.

det.

Hallo Jewe,
deine Infos sind knapp - nach meiner Erfahrung geht das mit ca. 10 - 12 Device prima und danach kommt es zu solchen komischen Ausfällen, wie bei Dir. Alternative bei meinem System: 4 solche Busmaster von Locutus
Auch habe ich die 5V Versorgungsspannung nicht vom USB Port, sondern nach dem Busmaster extern eingespeist.
LG
det.

Papa Romeo

Zitat von: Jewe am 14 April 2021, 23:29:10
Das ganze haben ich ohne und mit Pullup Widerstand 4,7kOhm ausprobiert.

... verkleinere mal den Pullup auf z.B. 2k2 oder 1k5. Auch 1-Wire hat eine Art "Fanout". Heißt dass die maximale Anzahl der Devices an der Datenleitung begrenzt ist.

Ebenso erzeugen lange Leitungen Kapazitäten und da der 1-Wire-Bus eigentlich ein PWM-Bus ist können sich diese natürlich wieder negativ auf die Datenqualität
auswirken, so dass diese eventuell nicht mehr richtig erkannt werden.


LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Jewe

#3
Hey,
ja soory die Infos sind knapp...
An meinem 1-Wire Bus habe ich 16 Temperataursensoren DS18B20 und 2 Zähler DS2423. Diese hängen direkt an dem Adapter ohne Pullup. Die Zähler DS2423 sind auch mit seperater 5V-Versorgung in meinem Zählerschrank verbaut.

An diesen Strang wollte ich nun auch die Bodenfeuchte Sensoren anschliessen.

Ich habe noch einen weiteren Adapter (bis jetzt Testadapter), den ich im Moment über WIFI betreibe. Auch dort bekomme ich Probleme wenn ich mehrere Bodenfeuchte alleine oder mit Tempsensoren gemischt anschließe. Hier habe ich nun den Pullup auf 1k5 getauscht. damit funktioniert es im Moment.

Wenn das eine Weile so läuft, werde ich daran mal den Strang in den Garten anschliessen.

Danke Euch schonmal, Jens

PS: wie habt Ihr die Baudrate im Adapter eingestellt ? Standardmässig steht die bei mir auf 9600.


Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Jewe

Hallo,

vielen Dank Papa für den link.
Inzwischen habe ich mich dazu entschieden, nicht alles an einen USB 1Wire-Adapter hängen zu wollen. D.h. ich habe den 2 Adapter, nach dem er mit WIFI-Verbindung ständig offline war nun in den PI gesteckt.
Zudem habe ich ein seperates Netzteil zur 5V-Versorgung angeschlossen. Nach einem Neustart werden jetzt auch die Sensoren gefunden.
Ich werde das nun ein paar Tage beobachten ob es auch stabil läuft.

Jens

Prof. Dr. Peter Henning

ZitatHeißt dass die maximale Anzahl der Devices an der Datenleitung begrenzt ist.
Ja. So um die 100...

Ich denke, dass das Problem hier eher im Timing zu suchen ist, Gerade die DS2438 sorgen für erheblichen Traffic. Wenn man die also zu häufig abfragt, kommt es zum Vollaufen der Queue.

LG

pah

Jewe

Zitat von: Prof. Dr. Peter Henning am 15 Mai 2021, 07:10:20
Ja. So um die 100...

Ich denke, dass das Problem hier eher im Timing zu suchen ist, Gerade die DS2438 sorgen für erheblichen Traffic. Wenn man die also zu häufig abfragt, kommt es zum Vollaufen der Queue.

LG

pah

Ich hatte vor ein paar Tagen den Intervall der Sensoren von den 300s Standard verändert (zwischen 600 und 900). Daraufhin wurde der Queue auch leerer meinstens zwischen 2 - 4, selten auch 12-14. Nach einenm Neustart vorgestern findet der Master nur 2 der 5 Sensoren. Zuvor waren über eine Woche alle Sensoren ohne Störung vorhanden und das ohne Pullup.

Warum ändert sich der Intervall an den Sensoren automatisch ?
Am Gateway steht der Intervall auf 300, diesen kann ich aber nicht ändern.
Ich verwende OWX mit den Stick von Loctus.

Danke für die Unterstützung.

Jewe

#8
Hey,
ein paar Tage hatte ich nun alle 5 DS2438 erkannt und aich die Werte empfangen. Die letzten 2 Tage habe ich dann nur noch von 2 anstelle von 5 DS2438-Devices Werte erhalten.

Jetzt habe ich den 2. USB-Stick an meinen Test Pi angeschlossen und dort sie selbe Definitionen erstellt. Die Devices sind alle sofort da und ich bekomme auch die Werte.

Ich verwende OWX und 2 USB-Sticks von Loctus. An meinem System muss da irgenwas schief laufen. Der 1. Stick läuft ganz normal und der 2. spackt rum.
Liegts am OWX? In Verbindung mit 2 Sticks ?
Beeinflussen sich die gleichen Sticks irgenwie ?
sonst was ?

Bin etwas ratlos, Jens

Jewe

Update, nun läuft es einen Tag am Test-Pi ohne Störung.
Die Definitionen sind die selben. Die Versionen von OWX ist auch auf beiden Systemen gleich.

Unterschiede gibt es nur in der ID der Sticks:

Stick 2, am Test PI und am Master PI: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600

Stick1, am Master PI: /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN00SA7I-if00-port0@57600


Noch nicht probiert habe ich was passiert, wenn ich beide Sticks am Testsystem einstecke. Das wäre aber auch recht aufwendig.

So, ansonsten bin ich mit meinem Latein am Ende... hoffe mal, dass noch jemand eine Idee hat.

Grüssle, Jens

Frank_Huber

Nabend.
Ich habe auch einige Busmaster durch.
Am besten u d zuverlässigsten sind die von Denkovi.
Die laufen immer und überall.
http://denkovi.com/usb-to-one-wire-interface-adaptor-converter-thermometer

Den von Loctus hatte ich auch mal, hab ihn aber wieder abgestoßen, hatte sich nicht mit dem damaligen WLAN vertragen.

Grüße
Frank

Jewe

Frank, Danke für den Tipp. Bei mir funktioniert der Stick von Loctus seit ein paar Jahren zuverlässig, einer ist seit langem in Betrieb. Mein Problem ist, dass sobald ich zwei dran habe, dass dann der zweite nicht richtig funktioniert.
Heute habe ich den 2. Stick an einen anderen Port am Master Pi angeschlossen, aber auch das bingt nichts.
Auch mit einem USB-Hub incl. Stromversorgung bringt keine Änderung.

Gibt es eine Möglichkeit den queue zu löschen ?
Wir kann ich den Intervall am OWX-Device verändern und was bewirkt das dann ?

Jens

Prof. Dr. Peter Henning

Ich habe zwei der Sticks von Locotus an einem extern Pi Zero. Jeder der beiden hat Kombinationen verschiedener 1-Wire Devices, auch DS2438.

Keinerlei Problem.

Wenn in OWX asynchronous = 0 gesetzt wird, gibt es keine Queue, alles wird sychron abgewickelt.

Das Intervall des OWX-Haupdevices ist nur vonBedeutung, wenn Temperatursensoren angeschlossen sind.

LG

pah

Jewe

Jetzt habe ich beide USB Sticks an dem Test-Pi Angeschlossen. Es werden alle Sensoren erkannt und ich bekomme auch die Werte. So wie es sein soll.

Nun ist nur noch die Frage, warum das an meinem Master-PI nicht richtig funktioniert?
Die Systeme sind beide aktuell und die OWX-Dateien haben den gleichen Stand (Datum). Auf dem Master-Pi läuft natürlich noch so einiges anderes das auf dem Test-Pi nicht da ist.
Die System untscheiden sich noch dahingegend, dass der Master-PI mit einer SSD-Platte und der Test-PI mit einer SD-Karte arbeitet.

Ich habe nun keine Ahnung, an was da liegen könnte ? Für Tips bin ich sehr dankbar.

Grüssle, Jens

Prof. Dr. Peter Henning

Wie ist denn die SSD angeschlossen? Kann es sein, dass die über denselben Interfacebaustein läuft wie der USB-Port?

LG

pah