Forum

Einloggen | Registrieren | RSS  

Cody

03.05.2019,
20:06
 

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+ (Elektronik)

Hallo!

Ich habe versucht, mehrere 1-Wire-Sensoren am Raspi 3B+ anzuschließen. Verdrahtet wie auf https://tutorials-raspberrypi.de/raspberry-pi-temperatur-mittels-sensor-messen/ beschrieben. Einziger Unterschied: Ich setze den 4,7k-R nicht gegen 3,3 Volt sondern gegen 5 Volt. Der Grund ist ganz einfach: Meine Sensoren sind dafür spezifiziert und sollen außerdem im Realbetrieb über längere Kabel angebunden werden.

Wenn ich zwei DS18B20 parallel anschließe, funktioniert das wunderbar. Ich kann jeden einzeln über /sys/bus/w1/<id>/w1_slave auslesen. Mit einen einzelnen DHT22 in der selben Konfiguration klappt ebenso, in dem Fall mit dem Adafruit-Script von https://tutorials-raspberrypi.de/raspberry-pi-luftfeuchtigkeit-temperatur-messen-dht11-dht22/

Wenn ich nun aber einen DS18B20 und einen DHT22 parallel anschließe, wird das Ganze instabil. Das Auslesen von Werten dauert beim DHT22 deutlich länger, der DS18B20 liefert nur noch in 20% aller Abfragen korrekte Werte, andernfalls "-62"

Ich könnte mir vorstellen, dass die beiden Sensortypen vom Bustiming her gegenseitig beeinflussen. Soweit ich gelesen habe, kann der Raspi treiberseitig nur einen einzigen Pin für 1-Wire nutzen. Andererseits kann man beim Adafruit-Script für den DHT22 einen Pin angeben. Daher meine Frage: Könnte/sollte ich die beiden Sensortypen versuchen, über jeweils eigene GPIOs anzubinden? Oder habt ihr einen Tip, wie ich die unterschiedlichen Typen an einem Bus sauber zum Laufen bekomme?

Grüße und schönes WE
Cody

Cody

03.05.2019,
20:30

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

Korrektur bzw. Präzisierung: Ich betreibe die Sensoren mit VDD=5V, der Pullup liegt gegen 3,3V

xy(R)

E-Mail

03.05.2019,
20:37

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Korrektur bzw. Präzisierung: Ich betreibe die Sensoren mit VDD=5V, der
» Pullup liegt gegen 3,3V

Du brauchst einen Pegelwandler.



Die reicht natürlich die eine Hälfte.

Cody

03.05.2019,
20:47

@ xy

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Du brauchst einen Pegelwandler.

Lass dich davon mal nicht irritieren, die Sensoren laufen tatsächlich einzeln völlig problemlos ohne Pegelwandler, nur mit einem Pullup an der Datenleitung. Wie ich zwischenzeitlich mir erlesen habe, sprechen die DHT22 nicht das selbe 1-Wire wie die DS18B20 sondern irgendwas proprietäres. Deshalb hackt sich das wohl an einem gemeinsamen Bus. Wär ja auch zu einfach, wenn man sich mal auf ein Protokoll einigen würde :-/

Ich werd morgen mal eine Dual-GPIO-Konfiguration auf dem Steckbrett testen. Laut Raspi Foundation sollen neuere Raspians mit dem Devicetree mehrere GPIOs per Overlay ansteuern können. Bin mal gespannt und werde berichten...

Grüße
Cody

xy(R)

E-Mail

03.05.2019,
20:49

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» » Du brauchst einen Pegelwandler.
»
» Lass dich davon mal nicht irritieren, die Sensoren laufen tatsächlich
» einzeln völlig problemlos ohne Pegelwandler, nur mit einem Pullup an der
» Datenleitung.

Rein zufällig halt.

Du brauchst einen Pegelwandler.

Cody

03.05.2019,
20:53

@ xy

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Rein zufällig halt.
»
» Du brauchst einen Pegelwandler.

Mach ich da jetzt nen Denkfehler? Meinst weil der Sensor-VDD auf 5V liegt, damit ich mir den CMOS-Eingang vom Raspi nicht zerbrate oder wie?

xy(R)

E-Mail

03.05.2019,
20:58

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» » Rein zufällig halt.
» »
» » Du brauchst einen Pegelwandler.
»
» Mach ich da jetzt nen Denkfehler? Meinst weil der Sensor-VDD auf 5V liegt,
» damit ich mir den CMOS-Eingang vom Raspi nicht zerbrate oder wie?

Nein, weil die Pegel sonst nicht stimmen.

Cody

03.05.2019,
21:01

@ xy

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Nein, weil die Pegel sonst nicht stimmen.

... und der Staubsauger sonst nicht saugt :-D Ich schau morgen mal in meiner Grabbelkiste was noch da ist.

bastelix(R)

03.05.2019,
21:03

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Wenn ich nun aber einen DS18B20 und einen DHT22 parallel anschließe, wird
» das Ganze instabil.
» Daher meine Frage: Könnte/sollte ich die beiden Sensortypen versuchen, über jeweils
» eigene GPIOs anzubinden? Oder habt ihr einen Tip, wie ich die
» unterschiedlichen Typen an einem Bus sauber zum Laufen bekomme?
Vorsicht, der DHT22 wird zwar als One-Wire beworben, weil er über eine Datenleitung für TX/RX auskommt, das hat aber absolut nichts mit dem Dallas/Maxim 1-Wire-Bus zu tun den deine DS18B20 verwenden! Der DHT22 ist nicht mal Bus-Fähig, d.H. du kannst pro µC-Pin und Datenleitung nur einen einzigen DHT22 betreiben.

Die beiden unterschiedlichen Protokolle stören sich auf jeden Fall auf der gemeinsamen Leitung. Du musst du die 1-Wire-Sensoren und den DHT22 auf unterschiedlichen Pins betreiben. Der eine Pin mit dem der RPi 1-Wire kann ist der Pin an dem Hardware-Unterstützung für

Mit neuerem Linux-Kernel kannst du auch mehrere 1-Wire-Busse parallel betreiben (wobei das nur selten Sinn macht, dafür hat man ja einen Bus): https://pinout.xyz/pinout/1_wire

bastelix(R)

03.05.2019,
21:07

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Korrektur bzw. Präzisierung: Ich betreibe die Sensoren mit VDD=5V, der
» Pullup liegt gegen 3,3V
Wie lange soll die Leitung denn werden? Ich betreibe meine DS18B20 sowie DHT22 mit 3V3. Die Gesamtlänge der Bus-Leitung für 1-Wire beträgt im Moment rund 12 Meter und auch die Längste Leitung zu einem DHT22 beträgt diese 12 Meter. Ich verwende Cat5e SFTP Kable und nach 10m messe ich noch 3,22V auf der Versorgungsleitung was ausreicht.

Wenn du die unbedingt mit 5V betreiben willst/musst dann hör auf xy und setze auf der Datenleitung einen Pegelwandler ein.

Cody

03.05.2019,
21:12

@ bastelix

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Vorsicht, der DHT22 wird zwar als One-Wire beworben, weil er über eine
» Datenleitung für TX/RX auskommt, das hat aber absolut nichts mit dem
» Dallas/Maxim 1-Wire-Bus zu tun den deine DS18B20 verwenden! Der DHT22 ist
» nicht mal Bus-Fähig, d.H. du kannst pro µC-Pin und Datenleitung nur einen
» einzigen DHT22 betreiben.

Jepp, da geb ich dir inzwischen völlig recht. Ist nicht schön wenn der eine "1-Wire" als Bezeichnung eines Quasi-Standards meint und der andere damit nur sagen will, dass der Laden mit einer Datenleitung läuft. In etwa so sinnvoll wie ein Aufkleber am Tankdeckel "Achtung, nur Flüssigtreibstoff einfüllen!"

Ich denke aber ich habe da mehr als ein Problemchen in meiner Schaltung. Die Sache mit den Pegeln muss ich auch noch mal durchdenken.

Cody

03.05.2019,
21:18

@ bastelix

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Wie lange soll die Leitung denn werden? Ich betreibe meine DS18B20 sowie
» DHT22 mit 3V3. Die Gesamtlänge der Bus-Leitung für 1-Wire beträgt im Moment
» rund 12 Meter und auch die Längste Leitung zu einem DHT22 beträgt diese 12
» Meter. Ich verwende Cat5e SFTP Kable und nach 10m messe ich noch 3,22V auf
» der Versorgungsleitung was ausreicht.

Im Prinzip exakt identisch, auch mit Cat5e, aber nicht Verlegekabel sondern flexibles das man normalerweise für Crimpstecker nimmt. Angedacht sind ca. 22 Meter plus bissl Reserve.

Interessant an der Stelle mit den Pegeln: Ich hab bei einem anderen Projekt mal nachgeschaut, da hab ich doch tatsächlich den Pullup gegen 5V gesetzt. Das läuft jetzt seit knapp 40 Monaten im Dauerbetrieb stabil, hier aber nur mit einem einzelnen DS18B20. Muss ich unbedingt korrigieren. Aber interessant dass der Raspi das mitmacht...

xy(R)

E-Mail

03.05.2019,
21:27

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» interessant dass der Raspi das mitmacht...

Es fließt halt etwas Strom über die Schutzdioden.

xy(R)

E-Mail

03.05.2019,
21:28

@ bastelix

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» Vorsicht, der DHT22 wird zwar als One-Wire beworben, weil er über eine
» Datenleitung für TX/RX auskommt, das hat aber absolut nichts mit dem
» Dallas/Maxim 1-Wire-Bus zu tun

Das ist natürlich ein böse Falle.

Cody

03.05.2019,
21:41

@ xy

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» » interessant dass der Raspi das mitmacht...
»
» Es fließt halt etwas Strom über die Schutzdioden.

Gut durchdachte Schaltung würde ich sagen. So manchen Billig-Clone hätte ich so wohl masakriert ^^

xy(R)

E-Mail

03.05.2019,
21:49

@ Cody

Mehrere 1-Wire-Sensoren parallel am Raspi 3B+

» » » interessant dass der Raspi das mitmacht...
» »
» » Es fließt halt etwas Strom über die Schutzdioden.
»
» Gut durchdachte Schaltung würde ich sagen. So manchen Billig-Clone hätte
» ich so wohl masakriert ^^

Nö, die sind völlig üblich.