I2C-Pegelanpassung 3,3 / 5V für Raspberry PI

Die GPIO-Schnittstelle des Raspberry PI ist für 3,3V Pegel ausgelegt.

Roboternetz schreibt hierzu:

Die GPIO Pins sind als 3,3V Signale ausgeführt und nicht 5V tolerant. Ein direkter Anschluss an TTL Level kann zur Zerstörung führen!
(http://www.rn-wissen.de/index.php/Raspberry_PI:_GPIO)

Um gefahrlos die Pins

  • Pin 3 = GPIO 0 (SDA)
  • Pin 5 = GPIO 1 (SCL)

an einen 5V I2C-Bus anzuschließen haben wir einen I2C-Repeater entwickelt der die Pegelanpassung von 3,3V auf 5V übernimmt.

Der eingebaute I2C-Repeater PCA9517 erledigt den sogenannte Level-Schift (Voltage level translation) auf die höhere Spannung.

Dadurch erhalten Sie zwar keine richtige galvanische Trennung zwischen der Versorgungsspannung des Raspberry PI und der I2C-Peripherie Aber es ist zumindest ein Bauteil dazwischen, welches die empfindlichen GPIO-Pins vor höheren Spannungen schützt.

 

Bausatz I2C-repeater für Raspberry PI

Bausatz I2C-repeater für Raspberry PI

Alle SMD-Bauteile sind auf der Platine bereits aufgelötet.

Beim Bausatz liegen die beiden Stecker lose bei, bei der komplett fertigen Platine sind auch diese bereits verlötet und der GPIO 17 auf Pin 11 überbrückt.

Damit ist es möglich ein INT-Signal von einer I2C-Eingabekarte direkt abzufragen.

Den Schaltplan und das Datenblatt zum I2C-Repeater-PI finden Sie im Downloadbereich.

Datenblatt (1 Seite) I2C-Repeater-PCA917-PI_db.pdf (396 kB)
Schaltplan (1 Seite) I2C-Repeater-PCA917-PI_sp.pdf (23 kB)

Der Bausatz und die komplett fertige Platine können im Onlineshop unter www.horter-shop.de bestellt werden

I2C-Repeater mit level translation von 3,3 auf 5V

I2C-Repeater mit level translation von 3,3 auf 5V

 

I2C-Repeater Vorder- und Rückseite

I2C-Repeater Vorder- und Rückseite

 

I2C-Repeater Version 2 für Raspberry-PI und Banana-PI

Die neue Version 2 des Repeaters hat eine zusätzliche Taste und kann auf den Raspberry-PI mit Kühlkörper gesteckt werden.

Den Schaltplan und das Datenblatt zum I2C-Repeater-PI Version 2 finden Sie auch im Downloadbereich.

Datenblatt  (1 Seite) I2C-Repeater-PCA9517-PI+T_db.pdf (218 kB)
Schaltplan (1 Seite) I2C-Repeater-PCA9517-PI+T_sp.pdf (27 kB)

 

 

44 Kommentare

  1. Hallo Herr Horter,

    ich habe den Repeater schon seit längerem im Einsatz und es funktioniert mittlerweile auch alles wie es soll. Jetzt ist mir jedoch aufgefallen, dass die rote SMD-LED die sich auf dem Repeater befindet sporadisch leuchtet, nicht immer, meistens kurz nach dem einschalten des RPi und geht dann nach 2-3 Minuten aus. Leider konnte ich bisher nichts genaues über die LED am Repeater finden.
    Welche Funktion hat diese LED?

    Gruß Eric

    • Hallo,
      die LED zeigt an, wenn sich an einer Eingangskarte der Signalzustand eines Einganges geändert hat.
      Wenn die Karte vom Master eingelesen wird, geht die LED wieder aus. Das kurze aufblitzen der LED zeigt Ihnen, dass der Master arbeitet.
      Beste Grüße, JH

  2. Hallo Herr Horter,
    in dem Bild oben (https://www.horter.de/blog/wp-content/uploads/2014/05/raspberry-repeater-v2.jpg) werden durch die Repeater-Platine zwei Kontakte verdeckt. Dies bekomme ich ja auch nicht dadurch gelöst, dass ich statt der gelieferten 26-poligen Standard-Buchse die verlängerte 40-Polige (https://www.horter-shop.de/de/i2c-repeater/214-pfostenleiste-stapelbar-40pol-fuer-raspberry-pi.html) auflöte, den die bekomme ich ja auf die Platine gar nicht drauf, wegen fehlender Löcher. Oder verstehe ich was falsch? Muss ich dann lieber die Testplatine nehmen?
    Gruß, Tobias S.

    • Hallo Tobias,
      danke für den Hinweis.
      Sie haben recht. Die Leiterplatte ist an der Stelle zu groß und verdecken die Pins 27 und 28.
      Auf der Leiterplatte verlaufen an dieser Stelle keine Bahnen, so dass diese ein wenig abgefeilt werden kann,
      wenn die Pins benötigt werden.
      Das gleiche gilt, wenn die 40-polige „stapelbare Pfostenleiste“ eingelötet werden soll.

  3. Hallo Herr Horter,
    ist es möglich ein i2c Display welches mit 3 Volt betrieben wird an dem Bus anzuschließen?
    Der Aufbau ist wie folgt:
    Pi Zero, Repeater, Digitale Eingangskarte. Zusätzlich würde ich aber noch ein kleines OLED Display am Bus betreiben wollen.
    Mit freundlichen Grüßen
    Jan-Bodo Möller

  4. Hallo,
    ich habe eine Steuerung für mein Aquarium gebaut. Nun möchte ich noch einen 1-wire Temperatursensor anbinden, nur wird der GPIO4-Pin, welcher laut Tutorials im Internet für 1-wire benutzt wird, bereits von Ihrer Repeater-Platine belegt (Taste).
    Besteht eine Möglichkeit, trotzdem einen 1-wire Sensor anzubinden?

    Mit der Bitte um rasche Hilfe 🙁

  5. Hallo
    Ich habe die I2C-Repeater Version 2 für Raspberry-PI.
    Ich will sie mit dem Raspberry Pi 3W in meinem Wohnmobil verbauen.
    Ich habe von Adafruit einen INA219 DC Current Sensor mit I2C Schnittstelle,
    der soll mit einem Cat5-Kabel in ca. 4m Entfernung betrieben werden.
    Wie soll die Belegung de Cat5-Kabels aussehen?
    Ich habe mir auch 2 I2C-Repeater-Testplatinen gekauft.
    Soll ich sie dafür schon einsetzen oder erst wenn ich den I2C-Bus erweitere?
    Gruß Fritz

    • Hallo Fritz,
      vier Meter sollten mit dem Repeater auf dem PI möglich sein.
      Das CAT-Kabel würde ich so auflegen wie es Philips im Datenblatt des I2C-Buffers P82B96 vorschlägt.
      SDA mit +5V paarweise und SCL mit GND paarweise.

      Schreib doch mal ob das so geklappt hat.
      Längere Distanzen können auch mit zwei I2C-Buffer-Testplatinen überbrückt werden.
      Im Wohnmobil bzw. Caravan hat man ja 12V zur Verfügung den der I2C-bidirectional Bus Buffer braucht.
      Hier noch der Link zur I2C-Buffer Testplatine im Onlineshop

  6. Hallo Herr Horter,

    ich kann den Repeater „I2C-Repeater V2 für Raspberry PI “ im Shop nicht finden.
    Gibt es den überhaupt, zumindest finde ich im Downloadbereich die Doku dazu 🙂

    Nach der Logik sollte der Repeater und weitere Baugruppen auf den Lemaker Guitar auch passen bzw. funktionieren? Kommt ja quasi vom gleichen Entwickler wie die Bananas…

    Für mein vorhaben bräuchte ich genau diesen Repeater. ( Führerstandbau f. Elok )

    Gruß
    Michael S.

    • Hallo Michael S.

      es gibt nur noch den Repeater in der Version V2.
      Gegenüber der Version 1 ist lediglich der 2-polige Stecker ST-3 hinzu gekommen.
      Hier kann bei Bedarf die 5V Spannung vom Raspberry-PI für ein Display oder andere Peripherie abgegriffen werden.

      Die Kontakte zu den GPIOs wurden nicht verändert.

      Schicken Sie mal bitte einen Link zum Thema „Führerstandbau f. Elok“.

      Beste Grüße
      J. Horter

      I2C-Repeater V2
      Schaltplan zum I2C-Repeater V2

  7. Hallo Herr Horter,

    gibt es Erfahrungen (Links) mit diesem Repeater in Verbindung mit 8-fach Input bzw. Output-Karten und einer Anbindung an openHAB2?

    Das wäre für mich die perfekte Möglichkeit Eltako-Komponenten (Dimmer, Stromstossschalter) anzusteuern.

    Danke
    Gruß
    Chris W.

  8. Hallo,

    ich bin vollkommen neue auf dem Gebiet Raspberry. Deshalb meine Frage:
    Kann ich mit I2C-Schnittstelle meine 3,3V auf einen 5V Pegel erhöhen um damit direkt mit einer 5V Eingangskarte von einer SPS zu kommunizieren?
    Ich möchte nämlich Ausgänge des Raspberry an meine SPS weitergeben.

    Vielen Dank vorab!

  9. Hallo Herr Horter,

    können Sie mir sagen wie ich den Taster an GPIO4 programmiere das mein Raspberry Pi 3 herunter gefahren wird und wie die Programmierung aussehen müsste wenn ich statt eines Schließers einen Öffner verbauen würde.

    MfG
    Patrick

    • Hallo Patrick,

      im Netz gibt es eine Menge Programmbeispiele wie der PI auf einen Signalwechsel an einem GPIO-Pin heruntergefahren werden kann.

      Z.B. im deutschen Raspberry Forum der Beitrag „Hoch und runterfahren mittels Taster“
      Der Taster ist bei unserem Repeater der GPIO4.
      Die LED ist bei unserem Repeater der GPIO27.

      Das Beispielprogramm muss entsprechend angepasst werden.
      Im Beispiel: „# watch LOW level on pin 5 to enter sleep mode“ -> Bei uns PIN 4
      Im Beispiel: „Status led on pin7“ -> bei uns PIN 27

      Die Pins im Beispielprogramm an allen Stellen ändern und mit der Anleitung weiter machen.

      Wenn der Taster ein Öffner werden soll muss der Eingang auf HIGH abgefragt werden.
      In diesem Fall die Programmzeile

      while True:
      if not (GPIO.input(4)):
      ...

      geändert werden in

      while True:
      if (GPIO.input(4)):
      ...

      Viel Erfolg 🙂

  10. Hallo Herr Horter,
    ich versteh das mit denn Lötbrücken nicht ganz.
    für was benötige ich die die auf gpio17 geht???
    ich möchte das teil in Zusammenhang mit codesys verwenden.
    und für was ist die LB2?? versteh ich das richtig, das wenn die gesetzt ist ich mit einem 5v Netzteil welches ich auf 5V bei der der Platine geklemmt ist denn raspberry versorge??
    oder kann ich denn raspberry auch über st3 versorgen und die Spannung kommt auch die 5V von der Platine??

    Grüsse Matthias

    • Hallo Matthias,

      Lötbrücke LB1:
      Wenn Sie im Programm wissen möchten ob sich an den Signalen der Digitalen Eingangskarten etwas verändert hat, müssen Sie die Lötbrücke schließen.
      Codesys fragt die Eingangskarten zyklisch ab. In diesem Fall brauchen Sie die Lötbrücke nicht und können den GPIO17 anderweitig nutzen.

      Lötbrücke LB2:
      Diese Lötbrücke verbindet die 5V vom PI mit den 5V der I2C-Baugruppen.
      LB2 geschlossen: Versorgung der I2C-Baugruppen über das Raspberry-Netzteil.
      Vorteil: Nur ein Netzteil notwendig
      Nachteil: Ein versehentlicher Kurzschluss an den Baugruppen schaltet unmittelbar den Raspberry ab.

      LB2 offen: Versorgung der I2C-Baugruppen mit eigenen Netzteil.
      Vorteil: Ein Kurzschluss an den Baugruppen stört nur die IO-Karten. Der Raspberry läuft weiter.
      Nachteil: Sie brauchen ein zweites 5V-Netzteil.

    • Hello Andrea S.

      yes, you can connect the 12-bit PWM/Servo Driver to the 5V Bus.

      in the discription of the product is written
      „It is 5V compliant, which means you can control it from a 3.3V microcontroller and still safely drive up to 6V Outputs“

      Best wishes
      JH

    • so könnte eine Schaltung aussehen, welche die Pegelanpassung der SPI-Schnittstelle vom Raspberry PI von 3,3V auf 5V macht.
      Der bi-directional logic level converter verwendet den N-Kanal FET BSS138
      Hier schon mal das Layout der Platine und den Schaltplan als pdf
      Falls mehrere Leute Interesse an dem SPI-Level Konverter haben kann ich das Produkt mit in das Programm aufnehmen.

      Platinenlayout SPI Levelkonverter

    • Hallo Jacek,
      sorry, eine Pegelanpassung für die SPI Schnittstelle des Raspberry haben wir noch nicht gemacht.
      Wenn es ein bisschen Zeit hat kann ich mal eine Leiterplatte machen für die Anpassung der 3,3V auf 5V.
      Bitte mal schreiben welche Pins benötigt werden.
      Gruß, J. Horter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.