NEWS
Test Adapter DS18B20 v1.1.x
-
Hallo,
also das habe ich jetzt alles getan.
Leider bleibt der Adapter gelb und das steht in den Einstellungen.
Muss ich noch was beachten?
Danke
-
Jetzt sieht es so aus
pi@raspberrypi-iob-slave:~ $ ls -l /sys/bus/w1/devices/ insgesamt 0 lrwxrwxrwx 1 root root 0 Feb 11 19:18 00-080000000000 -> ../../../devices/w1_bus_master1/00-080000000000 lrwxrwxrwx 1 root root 0 Feb 11 19:18 00-880000000000 -> ../../../devices/w1_bus_master1/00-880000000000 lrwxrwxrwx 1 root root 0 Feb 11 19:03 w1_bus_master1 -> ../../../devices/w1_bus_master1 pi@raspberrypi-iob-slave:~ $
-
@kg36304 Das sieht so aus, als ob dein 1-Wire Bus nicht richtig funktioniert.
Die Adressen der Sensoren müsste eher so ähnlich aussehen:28-0000077b4592
Hast du die Hardware richtig angeschlossen?
Wichtig ist an der Datenleitung der Pullup mit 4,7 kOhm gegen 3,3 V und als Versorgungsspannung 5 V.
Siehe https://github.com/crycode-de/ioBroker.ds18b20/blob/master/docs/de/ds18b20.md#ds18b20-am-raspberry-pi -
Oh Mann,
der Widerstand war nicht richtig dran!
Asche über mein Haupt.
Danke Dir, geht perfekt.
-
Hallo zusammen,
ich habe an meinem Raspi aktuell 6 Stück DA18B20 Sensoren am GPIO hängen. Leider läuft es nicht sehr stabil und der Raspi verliert die Verbindung zu den Sensoren (s. Screenshot). Die Verkabelung sieht folgendermaßen aus (linke Grafik).
Ich fürchte es könnte an der Stromversorgung liegen. Nun meine Frage... Kann ich die Sensoren auch extern mit Strom versorgen? Falls ja, wäre meine Verkabelung (rechte Grafik) korrekt?
-
@xxx_turbo_xxx Deine dargestellte externe Stromversorgung kannst du so machen.
Ich vermute aber eher die Datenleitung als Fehlerquelle. Du kannst mal versuchen den Pullup-Widerstand der Datenleitung etwas kleiner (~2 kΩ) zu wählen, um der "Last" durch die 6 Sensoren entgegen zu wirken.
Wie sieht deine Verkabelung aus?
- Lange Leitungen?
- Geschirmte Kabel?
- Sternförmig oder alles an einem lang gezogenen Strang?
-
@crycode Hab es eben mal versucht mit externer Stromversorgung. Hat leider nix gebracht. Der Log im ioBroker sieht so aus (nachdem ich wieder zurückverkabelt habe)
ds18b20.0 2020-02-29 10:31:17.377 warn (22874) Error reading sensor 28-01192813caa4: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192813caa4/w1_slave' ds18b20.0 2020-02-29 10:31:17.376 warn (22874) Error reading sensor 28-0119280e3cc2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119280e3cc2/w1_slave' ds18b20.0 2020-02-29 10:31:17.374 warn (22874) Error reading sensor 28-0119281421a2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281421a2/w1_slave' ds18b20.0 2020-02-29 10:31:17.373 warn (22874) Error reading sensor 28-0119281a063a: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281a063a/w1_slave' ds18b20.0 2020-02-29 10:31:17.372 warn (22874) Error reading sensor 28-01192822cfae: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192822cfae/w1_slave' ds18b20.0 2020-02-29 10:31:17.370 warn (22874) Error reading sensor 28-0119281fdb03: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281fdb03/w1_slave' ds18b20.0 2020-02-29 10:31:17.369 warn (22874) Error reading sensor 28-011928283c77: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-011928283c77/w1_slave' ds18b20.0 2020-02-29 10:31:17.368 warn (22874) Error reading sensor 28-01192816c6a9: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192816c6a9/w1_slave' ds18b20.0 2020-02-29 10:31:16.455 warn (22874) Error reading sensor 28-0119280e9208: Error: Checksum error smartmeter.0 2020-02-29 10:31:11.288 info (710) Received 7 values, 3 updated smartmeter.1 2020-02-29 10:31:09.144 info (725) Received 9 values, 6 updated ds18b20.0 2020-02-29 10:31:07.378 warn (22874) Error reading sensor 28-01192813caa4: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192813caa4/w1_slave' ds18b20.0 2020-02-29 10:31:07.377 warn (22874) Error reading sensor 28-0119280e3cc2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119280e3cc2/w1_slave' ds18b20.0 2020-02-29 10:31:07.376 warn (22874) Error reading sensor 28-0119281421a2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281421a2/w1_slave' ds18b20.0 2020-02-29 10:31:07.375 warn (22874) Error reading sensor 28-0119281a063a: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281a063a/w1_slave' ds18b20.0 2020-02-29 10:31:07.373 warn (22874) Error reading sensor 28-01192822cfae: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192822cfae/w1_slave' ds18b20.0 2020-02-29 10:31:07.371 warn (22874) Error reading sensor 28-0119281fdb03: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281fdb03/w1_slave' ds18b20.0 2020-02-29 10:31:07.370 warn (22874) Error reading sensor 28-011928283c77: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-011928283c77/w1_slave' ds18b20.0 2020-02-29 10:31:07.369 warn (22874) Error reading sensor 28-01192816c6a9: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192816c6a9/w1_slave' ds18b20.0 2020-02-29 10:31:06.375 warn (22874) Error reading sensor 28-01192827ef6a: Error: Checksum error influxdb.0 2020-02-29 10:31:06.353 info (2024) enabled logging of Wohnzimmer_Luftfeuchtigkeit, Alias=true influxdb.0 2020-02-29 10:31:06.349 info (2024) enabled logging of Wohnzimmer_Temp, Alias=true influxdb.0 2020-02-29 10:31:06.346 info (2024) enabled logging of Wohnzimmer_Heizleistung, Alias=true influxdb.0 2020-02-29 10:31:06.342 info (2024) enabled logging of Wohnzimmer_Wunschtemperatur, Alias=true influxdb.0 2020-02-29 10:31:06.131 info (2024) enabled logging of tado.0.268294.Rooms.1.openWindowDetection.timeoutInSeconds, Alias=false influxdb.0 2020-02-29 10:31:04.668 info (2024) enabled logging of Tado_Aussentemp, Alias=true smartmeter.0 2020-02-29 10:31:00.580 info (710) Received 7 values, 3 updated smartmeter.1 2020-02-29 10:30:58.145 info (725) Received 9 values, 6 updated ds18b20.0 2020-02-29 10:30:57.378 warn (22874) Error reading sensor 28-01192813caa4: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192813caa4/w1_slave' ds18b20.0 2020-02-29 10:30:57.377 warn (22874) Error reading sensor 28-0119280e3cc2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119280e3cc2/w1_slave' ds18b20.0 2020-02-29 10:30:57.376 warn (22874) Error reading sensor 28-0119281421a2: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281421a2/w1_slave' ds18b20.0 2020-02-29 10:30:57.375 warn (22874) Error reading sensor 28-0119281a063a: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281a063a/w1_slave' ds18b20.0 2020-02-29 10:30:57.373 warn (22874) Error reading sensor 28-01192822cfae: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192822cfae/w1_slave' ds18b20.0 2020-02-29 10:30:57.371 warn (22874) Error reading sensor 28-0119281fdb03: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-0119281fdb03/w1_slave' ds18b20.0 2020-02-29 10:30:57.369 warn (22874) Error reading sensor 28-011928283c77: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-011928283c77/w1_slave' ds18b20.0 2020-02-29 10:30:57.368 warn (22874) Error reading sensor 28-01192816c6a9: Error: ENOENT: no such file or directory, open '/sys/bus/w1/devices/28-01192816c6a9/w1_slave' ds18b20.0 2020-02-29 10:30:56.296 warn (22874) Error reading sensor 28-0119280e9208: Error: Checksum error
Da ich alles Sensoren noch nicht final verkabelt habe und zum Testen alle erstmal "fliegend" aufgebaut habe, ist die Leitungslänge mit Sicherheit viel zu lang.
- Leitungslänge vom Raspi zum "Sternabzweig" ca 6m. Hierfür hab ich ungeschirmte Leitungen mit 0,5qmm
Querschnitt genommen. - Von da ab gehen die Kabel, die an den Sensoren schon dran waren. Jeweils 3m
Ich wundere mich nur, dass es stundenlang funktioniert und dann plötzlich nur noch sporadisch und dann gar nicht mehr
- Leitungslänge vom Raspi zum "Sternabzweig" ca 6m. Hierfür hab ich ungeschirmte Leitungen mit 0,5qmm
-
@xxx_turbo_xxx sagte in Test Adapter DS18B20 v1.1.x:
Leitungslänge vom Raspi zum "Sternabzweig" ca 6m. Hierfür hab ich ungeschirmte Leitungen mit 0,5qmm
Querschnitt genommen.
Von da ab gehen die Kabel, die an den Sensoren schon dran waren. Jeweils 3mDas wird wahrscheinlich das Problem sein. Zum einen ist sternförmig mit längeren Abzweigen immer ungünstig durch die entstehenden Reflexionen auf der Leitung und zum anderen die ungeschirmte Zuleitung.
Ich hatte selbst mal ein ähnliches Verhalten mit zwei Sensoren, wobei einer davon an einer ungeschirmten Leitung von ca. 2m hing. Die meiste Zeit lief da alles Problemlos, aber manchmal kam der eine Sensor irgendwie durcheinander und hat dann den ganzen Bus blockiert, wodurch auch der andere auch keine Daten mehr lieferte. Wenn ich dann im laufenden Betrieb den einen Sensor entfernt hatte, dann war der andere sofort wieder da. Mit geschirmten Leitungen trat das Problem bis jetzt nicht mehr auf.
-
@crycode Ok, dann werd ich das mal versuchen. Welche Leitungen empfiehlst du? Kann ich einfach ein CAT 5 Kabel nehmen? Die sind doch geschirmt, oder?
Oder brauch ich einen größeren Querschnitt?
-
@xxx_turbo_xxx Der Querschnitt ist fast egal, da nur sehr geringe Ströme fließen. Ich habe inzwischen CAT7 Kabel für alles, was Bus-Systeme betrifft. CAT5 sollte hier aber genauso funktionieren.
-
@crycode Hab jetzt mal ein CAT7 Kabel angeschlossen. Der reine Kabeltausch hat leider nichts bewirkt.
Zum Verständnis... Für was ist der Widerstand genau? Kann ich evtl. irgendwo per Multimeter was messen, sodass ich den optimalen Widerstand einsetze?
-
Juhu... Hatte zufällig noch nen 1,8K Widerstand rum liegen. Jetzt funktioniert es auch. Dennoch... Welcher Widerstand ist optimal und wie kann ich den ermitteln? Und warum brauch ich ihn überhaupt...
-
@xxx_turbo_xxx Der Pullup-Widerstand ist dafür da, die Datenleitung auf ein High-Level zu ziehen. Heißt wenn keine Kommunikation stattfindet sorgt er dafür, dass +3,3 V auf der Datenleitung sind. Jeder Busteilnehmer, der dann Daten übertragen will (Raspi oder die Sensoren) zieht dieses High-Signal dann je nach zu sendendem Bit für kürzere oder längere Zeit (im Bereich von μs) auf Masse (GND). Durch das Zusammenspiel des Pullup-Widerstands und des Pulldowns der Busteilnehmer ergeben sich dann einzelnen Datenbits.
Je kleiner der Widerstand ist, desto stärker wird das High-Signal auf der Datenleitung. Außerdem werden die Flanken der einzelnen Umschaltungen zwischen High und Low steiler, was sich positiv auf die Auswertung der Signale auswirkt.
Wählt man den Widerstand zu klein, dann fließt ein zu hoher Strom und die Busteilnehmer schaffen es nicht mehr das Signal zur Datenübertragung auf Masse zu ziehen. Weiterhin können im schlimmsten Fall die Busteilnehmer beschädigt werden.Ob man den Widerstand genau ermitteln kann, kann ich dir leider nicht beantworten. Mit viel Aufwand und genauem Lesen der Datenblätter aller Busteilnehmer wäre das vlt. möglich.
Normal nimmt man je nach Anwendungsfall immer irgendwas zwischen 1 kΩ und 10 kΩ. Meistens halt 4,7 kΩ weil der etwa in der Mitte liegt und einen Kompromiss zwischen Stromfluss und Signalqualität darstellt. Bei mehreren Busteilnehmern, wie bei dir, muss dann ggf. auf einen kleineren Widerstand zurückgegriffen werden. -
@crycode Danke für die ausführliche Erklärung.
Dann müsste es aber irgendwo einen kritischen Widerstand geben, den es nicht zu unterschreiten gilt, um Beschädigungen an Sensoren oder GPIO zu vermeiden. Dieser kritische Widerstand wär natürlich interessant.
Jetzt hab ich versuchsweise auch meine restlichen DS18B20 mit dran gehängt (insgesamt 10) und mit 1,8K läuft aktuell alles stabil. Mal sehen, ob es so bleibt.
Wenn ich allerdings nach dem Versuchsaufbau die Verkabelung akkurat machen will, werde ich meine Leitungslängen um einiges kürzen. Ich hoffe dass dann alles noch läuft und dann eben der Wiederstand nicht zu gering ist und ich mir was zerschieße. Oder denkst du, dass ich mit 1,8 so oder so im sicheren Bereich bin? Sonst mach ich vielleicht wieder den 4,7 rein und taste mich langsam an niedrigere Widerstände heran!?
-
@xxx_turbo_xxx Alles ab 1 kΩ ist auf jeden Fall ok. 1 kΩ bei 3,3 V macht einen Strom von 3,3 mA.
Widerstände unter 1 kΩ werden sicherlich auch noch nichts direkt beschädigen, das war eher auf sehr kleine Widerstände bezogen.
-
@crycode Tip top... Danke nochmal für deinen Support!!!
-
Vielen Dank für den super Adapter, logge hier auch meine Temperaturen vom Rücklauf der Fußbodenheizung. Sind jetzt mittlerweile 15 Fühler dran. Habe eure Tipps auch befolgt, hatte anfangs Probleme mit der Stabilität. Widerstand jetzt 3x der 4,7 kOhm parallel dran, hatte ich jetzt erstmal zum Testen genommen. Danach ging es auch wesentlich stabiler. Dachte anfangs das Problem sei gelöst, Fühler sind jetzt aber meistens nach ca. 3 Tagen ohne Werte. Sobald die Zuleitung kurz unterbreche und wieder anschließe sind sie wieder alle da.
Hab ein Cat7 Kabel verwendet, Leitungslänge im KG ca. 3 m und von hier aus nochmal ca. 5 m ins 1.OG.
Noch eine Idee was ich tun könnte?Vielen Dank.
Gruß Willi
-
@willi-wunder Hi Willi, hab schon öfters gelesen, dass viele Sensoren an einer Datenleitung Probleme machen.
Du kannst die Sensoren auch auf mehrere Pins am RasPi aufteilen, dass z.B. nicht mehr als 10 Sensoren an einem Strang hängen.Dazu einfach in der Datei
/boot/config.txt
folgendes eintagen/anpassen:dtoverlay=w1-gpio,gpiopin=4 dtoverlay=w1-gpio,gpiopin=17
Damit hättest du dann je einen 1-Wire Bus an GPIO 4 und 17. Bei Bedarf kannst du das natürlich auch noch erweitern.
Unter
/sys/bus/w1/devices/
sollten dann (nach einem Reboot)w1_bus_master1
undw1_bus_master2
zu finden sein.
Die Sensoren erkennt der Adapter dann unabhängig davon, an welchem Bus sie hängen, da das System die Symlinks automatisch richtig anlegt. -
@crycode
Vielen Dank für deine schnelle Hilfe. Da die 3m und 5 m Leitung in Reihe sind, werde ich erstmal die 5 m abklemmen und schauen ob diese Sensoren dann stabil laufen. Werde auf jedenfall berichten -
@crycode Gleiches Bild bei mir. Habe nun den Widerstand mehrfach neu aufgesetzt. Auch von GPIO4 auf GPIO17 gewechselt, um zu sehen, ob die 4 ggf. beschädigt ist. Kann man irgendwie anderweitig prüfen, ob die GPIO in Ordnung sind und überhaupt Daten erhalten?