I2C-Buffer P82B96 funktioniert nicht

Hallo,

ich habe 2 BME280 Sensoren über I2C an meinem Arduino Uno, funktioniert alles. Einer der Sensoren braucht aber nun ein längeres Kabel (5m), was ja ohne Weiteres nicht geht mit I2C. Daher habe ich mir einen I2C-Buffer P82B96 besorgt:

Das Kabel habe ich vorerst noch durch kurze jumper wires ersetzt, um den Buffer zu testen. Der Sensor am Buffer gibt jetzt aber nur noch "0"-Werte raus. Ich weiß nicht woran es liegen könnte, weiß jemand wie ich es testen könnte?

Wie wird der Sensor gespeist? Ein komplettes Schaltbild wäre schön.

Ich habe die Teile bisher noch nicht eingesetzt, vermute aber, du hast die vertauscht.
Der Sensor müsste an den Empfänger-Baustein, da der Arduino normal der Sender (Master) ist.

DrDiettrich:
Wie wird der Sensor gespeist? Ein komplettes Schaltbild wäre schön.

Mit 5V, SDA geht in SDA pin in den Arduino, SCL in SCL.

HotSystems:
Ich habe die Teile bisher noch nicht eingesetzt, vermute aber, du hast die vertauscht.
Der Sensor müsste an den Empfänger-Baustein, da der Arduino normal der Sender (Master) ist.

Eben versucht, ändert sich leider nichts.

Warum nimmst du nicht den P82B715 ?
Der funktioniert bei mir problemlos, auch über 30 m Kabel.

HotSystems:
Warum nimmst du nicht den P82B715 ?
Der funktioniert bei mir problemlos, auch über 30 m Kabel.

Ich nehme alles, es muss nur funktionieren. Gibt es irgendwo eine Beschreibung wie du das gebaut hast oder einen Fertig-Bausatz o.Ä.? Ich würde die Bastelei nach Möglichkeit gering halten wollen.

phytopia:
Ich nehme alles, es muss nur funktionieren. Gibt es irgendwo eine Beschreibung wie du das gebaut hast oder einen Fertig-Bausatz o.Ä.? Ich würde die Bastelei nach Möglichkeit gering halten wollen.

Ja, auch bei Horter.
Inkl. kompletter Beschreibung.

Es funktioniert sicher.
Da ich die selbst einsetze, kann ich dann auch direkt helfen.

HotSystems:
Warum nimmst du nicht den P82B715 ?

Was wäre der Vorteil? P82B96 kann mit 12V betrieben werden, P82B715 wohl nur mit 5V? Wäre also eher ein Nachteil. Und sonst?

HotSystems:
Ich habe die Teile bisher noch nicht eingesetzt, vermute aber, du hast die vertauscht.

Sender = Master und Empfänger = Slave?

Haben die BME280 Sensoren PullUp-Widerstände auf der Platine? Dann brauchte man keine beim P82B96, sonst schon.

Bei der Beschreibung von Horter irritiert mich, daß der Sender an 5V keine PullUps per Steckbrücke bekommen soll, wo ein UNO doch keine PullUps drauf hat.

Mein Vorschlag: Beim Sender am UNO alle vier Steckbrücken, beim Empfänger Steckbrücken beim BME280.

agmue:
Was wäre der Vorteil? P82B96 kann mit 12V betrieben werden, P82B715 wohl nur mit 5V? Wäre also eher ein Nachteil. Und sonst?

Ich würde 5 Volt als Vorteil sehen, weil keine zusätzliche Spannung benötigt wird.
Letztendlich muss jeder selbst entscheiden, was er verwendet.
Ich habe eben mit dem P82B715 nur gute Erfahrungen gesammelt.

Sender = Master und Empfänger = Slave?

So habe ich es aus dem Datenblatt verstanden.

So wie ich Deine Verdrahtung verstanden habe geht GND, +5V und SDA, SCL vom Arduino an die linke Platine. Dann 4 Kabel von der linken zur rechten Platine und 4 Kabel (SDA, SCL GND und 5V) zum Sensor.

Wenn es so ist dann ist der Sensor nicht mit Spannung versogt.

Grüße Uwe

agmue:
Was wäre der Vorteil? P82B96 kann mit 12V betrieben werden, P82B715 wohl nur mit 5V? Wäre also eher ein Nachteil. Und sonst?
Sender = Master und Empfänger = Slave?

Haben die BME280 Sensoren PullUp-Widerstände auf der Platine? Dann brauchte man keine beim P82B96, sonst schon.

Bei der Beschreibung von Horter irritiert mich, daß der Sender an 5V keine PullUps per Steckbrücke bekommen soll, wo ein UNO doch keine PullUps drauf hat.

Mein Vorschlag: Beim Sender am UNO alle vier Steckbrücken, beim Empfänger Steckbrücken beim BME280.

Schau Dir das Schaltbild an dann wirds Dir klar.

Grüße Uwe

uwefed:
Wenn es so ist dann ist der Sensor nicht mit Spannung versogt.

Bingo!

uwefed:
Schau Dir das Schaltbild an dann wirds Dir klar.

Da schaue ich schon die ganze Zeit drauf, es klingelt aber nicht :frowning:

Hi

Denke: fehlende PullUPs (die Jumper sind nicht gesetzt - es müssen (dürfen?) nicht Alle Jumper gesetzt sein)

MfG

agmue:
Bingo!
Da schaue ich schon die ganze Zeit drauf, es klingelt aber nicht :frowning:

Laut Schaltbild ist die +5V-Klemme des I2C-Bus ST1 nur mit den Pullupwiderständen des I2C Busses verbunnden.
Die Spannungsversorgung über ST2 (+12V, kann aber auch +5V sein) ist für den P82B96 und wird über den Anschluß ST3 an die nächste Platine an ST3 weitergegeben. Dort versorgt sie den P82B96 aber nicht die 5V-Klemme des I2C Busses an ST1. Darum fehlt dem Sensor die Versorgungsspannung.

Man könnte (wie auf der linken Platine) eine Brücke von ST2 +12V-Klemme nach +5V Klemme des ST1 machen.

Grüße Uwe

uwefed:
Man könnte (wie auf der linken Platine) eine Brücke von ST2 +12V-Klemme nach +5V Klemme des ST1 machen.

Da habe ich schon alle Variationen durch, Brücke nur an der linken oder rechten Platine, beide mit, beide ohne. Hat leider bei keiner geklappt.

Das mit den Widerständen habe ich jetzt noch nicht verstanden. Fehlen mir jetzt welche oder sind es zuviele? Was könnte ich noch versuchen?

Miß mal die Versorgungsspannung am Sensor. Sind da 5V?
Grüße Uwe

phytopia:
Da habe ich schon alle Variationen durch, ...

Noch nicht die funktionierende :slight_smile:

Ich schaue auf das von Uwe verlinkte Schaltbild.

Platine verbunden mit UNO: I2C benötigt PullUp-Widerstände, der UNO hat keine, also JP1 und JP2 schließen. Dann hast Du "+5V I2C-Bus" mit "+12V Einspeisung" verbunden (weißes Kabel). Auch der "Gepufferter Bus" benötigt PullUps, also auch JP3 und JP4 schließen.

Platine verbunden mit Sensor: Hier fehlt die Verbindung "+12V Einspeisung" an "+5V I2C-Bus"! JP3 und JP4 können offen bleiben. Wenn der Sensor keine PullUps hat, müßten JP1 und JP2 geschlossen werden, schadet nicht.

Der blaue Text ist Uwes Idee, er meinte eine Kabelbrücke.

So sollte es m. E. funktionieren. Bin gespannt.

uwefed:
Miß mal die Versorgungsspannung am Sensor.

Musste erstmal das Messgerät bestellen...

agmue:
Noch nicht die funktionierende :slight_smile:

Ich schaue auf das von Uwe verlinkte Schaltbild.

Platine verbunden mit UNO: I2C benötigt PullUp-Widerstände, der UNO hat keine, also JP1 und JP2 schließen. Dann hast Du "+5V I2C-Bus" mit "+12V Einspeisung" verbunden (weißes Kabel). Auch der "Gepufferter Bus" benötigt PullUps, also auch JP3 und JP4 schließen.

Platine verbunden mit Sensor: Hier fehlt die Verbindung "+12V Einspeisung" an "+5V I2C-Bus"! JP3 und JP4 können offen bleiben. Wenn der Sensor keine PullUps hat, müßten JP1 und JP2 geschlossen werden, schadet nicht.

Der blaue Text ist Uwes Idee, er meinte eine Kabelbrücke.

So sollte es m. E. funktionieren. Bin gespannt.

Gibt immer noch "0"-Werte raus. Ist es richtig verkabelt auf dem Photo? (Rechte Platine ist am Sensor)

Du solltest mal löten üben.
Die Kugel am Draht am SDA ist eine schlechte Lötstelle.
20181207_152436-2mb.jpg

Grüße Uwe

20181207_152436-2mb.jpg

phytopia:
Musste erstmal das Messgerät bestellen...Gibt immer noch "0"-Werte raus. Ist es richtig verkabelt auf dem Photo? (Rechte Platine ist am Sensor)

Nur eine Frage:
Hast du die Bausätze der P82B96 auch zusammen gelötet ?