I2C-Digital Module für 5, 12 oder 24V

I2C-Eingabe / I2C-Input 8-Bit 4..30V

I2C-Input 8-Bit
I2C-Eingabekarte I2C-Eingabekarte mit Optokopplern

Mit den I2C-Eingabekarten können 8 Bit bis 30V eingelesen werden. Der HIGH-Pegel wird ab 4V erkannt. Die Signalzustände werden an 8 Low-Current LEDs angezeig. Ändert sich ein Signal an einem Eingang wird dies an einer roten LED angezeigt und das INT-Signal auf LOW gezogen. Das I2C-Modem erkennt diesen Signalwechsel und kann ggf. auch automatisch alle Eingabekarten abfragen. Die Karte mit den Optokopplern bietet einen gewissen Schutz zwischen den angeschlossenen Schaltern und Sensoren.

 

I2C-Ausgabe / I2C-Output 8-Bit 5..40V

I2C-Ausgabekarte I2C-Ausgabekarte mit Optokoppler

Mit der I2C-Ausgabekarte können 8 Ausgänge bis 40V geschaltet werden. Aus Ausgangstreiber haben wir den UDN2981A verbaut. Laut Datenblatt kann er 5…50 VDC bis maximal 0,5A schalten. Die Schaltung benutzt die „negative“ Logik weil der I2C-Porterweiterungsbaustein PCF8574 bei Spannung ein alle Ausgänge durchschaltet. Beim Ansteuern muss lediglich das gewünschte Bitmuster invertiert werden. Oder man subtrahiert vom 255 gewünschten Ausgangswert bevor man ihn zur Ausgabekarte transferiert.

 

I2C-Ausgabe mit Leistungstransistor

I2C-Ausgabekarte mit Optokoppler und Leistungstransistoren für Ausgangsströme bis 0,5A pro Ausgang.

 

5V / 1A – Schaltnetzteil / Power Supply

Schaltnetzteil für Hutschienenmontage

Mit diesem 5V-Schaltnetzteil können die I2C-Baugruppen mit Spannung versorgt werden. Der maximale Eingangsspannungsbereich des verbauten Schaltreglers MC34063 beträgt 40V und liefert bis zu 1,5A. Im Schaltschrank kann man damit aus den meist vorhandenen 24V DC die 5V-Spannung für die I2C-Bausteine erzeugen.

 

 

Speichere in deinen Favoriten diesen permalink.

21 Kommentare

  1. Ciao,
    I would like to create a test project (PicoAsPLC) using the Raspberry Pico W with digital I / O boards on the i2C bus. If I understand correctly, in addition to the digital cards, I also need the card that transforms the 3.3V of the Pico to the 5V, necessary for the I / O cards.

    Thank you!

    Fabrizio

    • Hallo Fabrizio,
      die Module laufen zwar auch mit 3,3V. Der I2C-Bus ist aber viel stabiler, wenn er mit 5V betrieben wird.
      Also ja, wir empfehlen den I2C-Repeater und die Versorgung der Module mit 5V.
      Für den Raspberry Pi Pico habe ich ein Board mit folgenden Features gemacht:
      – Steckplatz für Raspberry-PI Pico
      – I2C-Schnittstelle mit Busverbinder und Status-LEDs
      – Pegelanpassung auf 5V mit I2C-Repeater PCA9517
      – Steckplatz für WLAN-Modul ESP8266 ESP-01
      – Steckplatz für SD-Kartenleser
      – Stecker für RS232-Schnittstelle
      – Stecker für VSYS

      Hello Fabrizio,
      the modules also run with 3.3V. However, the I2C bus is much more stable when powered at 5V.
      So yes, we recommend the I2C repeater and supplying the modules with 5V.
      For the Raspberry Pi Pico I made a board with the following features:
      – Slot for Raspberry PI Pico
      – I2C interface with bus connector and status LEDs
      – Level adjustment to 5V with I2C repeater PCA9517
      – Slot for ESP8266 ESP-01 WiFi module
      – Slot for SD card reader
      – Connector for RS232 interface
      – Connector for VSYS

      Raspberry Pi Pico für Hutschiene

  2. Hallo,
    ich habe die Eingangskarte I2HE im Einsatz.
    Damit habe ich einen eigenartigen Fehler. Wenn ich auf einen Eingangspunkt am Modul 12V anlege, schalten auch andere Eingänge die LED ein. Manchmal schalte auch alle Eingänge. Können Sie mir einen Tip geben?
    mfg. Frank H.

  3. Hallo,
    lassen sich Ihre digitalen Eingangsmodule und Ausgangsmodule auch in Node-Red einbinden?

    • Hallo Peter,
      ich selber hab mit Node-Red noch nichts gemacht.
      Ein anderer Kunde hat die Module mit dem PCF8574 und dem PCF8574A erfolgreich einlesen und ansteuern können.
      Hier ein Bild.
      PCF8574 und PCF8574A in Node-Red

  4. Guten Tag Herr Horter,
    Ich habe nun meine I2EOK und I2AOK an meinem Pixtend in Betrieb genommen.
    Im Beispielprogramm …_IO_driver_Example.project kann ich aber nur 4 verschiedene Zustände von 0 bis 771 übertragen. Woran kann das liegen?
    Gruß
    Björn

  5. Hallo,

    ich habe eine I2C Ein- und Ausgabekarten, die über Ihren Pegelwandler am Raspberry PI (3) angeschlossen sind. Die Ausgabekarte arbeitet, wie ich es erwarte, aber zur Eingabekarte (i2c mit Optiokopplern) habe ich eine Frage. Meines Wissens signalisiert der PCF8574 am INT Ausgang, dass eine Änderung der Eingang vorliegt. Dieses Signal wird erst zurück gesetzt, wenn ich den Wert auslese bzw. der ursprüngliche Zustand wieder vorhanden ist. Ist das korrekt? Ich habe an einem Eingang ein Taster angeschlossen. Immer wenn ich diesen betätige, leuchtet die zugehörige grüne LED und die rote LED. Lasse ich den Taster los, gehen beide LEDs wieder aus. Ich hätte vermutet, dass bis zum Auslesen das INT-Signal erhalten bleibt. Da ich erst vermutet habe, das irgendein (mir unbekanter) Prozess im PI den Wert direkt abfragt, nachdem der Interrupt ausgelöst wurde, habe ich mal den PI abgeklemmt. Auch dann laufen Eingangs LED und INT Signal synchron.
    Ich hatte erst meine Software im Verdacht, da das Auslesen der Eingänge nur sporadisch funktionierte (node-red- mit i2c-node bzw- i2c-cluster-node).
    Aber bevor ich weiter an der Software suche, möchte ich erstmal sicherstellen, dass die Module grundsätzlich korrekt arbeiten.

    Kann man grundsätzlich ohne i2c-master die korrekte Funktion prüfen?

    Vielen Dank für Ihre Hilfe

    • Hallo,
      die Funktion des INT ist genau so, wie Sie es beschrieben haben.
      Wird der Wert nicht abgeholt und der Taster losgelassen ist das Bitmuster wieder gleich und die LED geht aus.
      Für den INT wird immer das Bitmuster vom letzten mal Auslesen verglichen.
      Ohne Master kann die Funktion nicht getestet werden.
      Gruß, JH

  6. Hallo,
    ich hätte eine Frage bezüglich der Eingänge.
    Sind diese in irgendeinerweise entprellt?
    Gruß

  7. Hallo,

    ich habe mir bereits 2x die I2C-Input 8-Bit 4..30V für meinen Raspberry gekauft.
    Bis jetzt bin ich sehr zufrieden und alles Funktioniert tadellos.
    Demnächst will ich versuchen mit der Eingabekarte einen 5v Dreh-Encoder auszuwerten. Ein einfacher 2Bit Drehencoder soll für die Positionserfassung/Wegmessung eines Linearantriebes dienen.
    Ich habe jetzt mal grob ausgerechnet, dass der Encoder bei Maximaler Verfahrgeschwindigkeit, ca. alle 50ms eine steigende Flanke ausgibt.
    Im Codesys habe ich schon einen Task mit einer festen Zykluszeit von 5ms angelegt.
    In diesem Task sollen die Flanken mitgezählt werden. Der Task läuft aktuell am Raspberry ohne Zyklusüberläufe (max Zyklus liegt bei ca. 1ms).

    Nun zu meiner Frage:
    Ist es möglich mit dieser Hardware bzw. Software einen solchen Encoder möglichst fehlerfrei (ohne eine Flanke zu überspringen) auszuwerten?
    Natürlich muss ich den Encoder auch noch Entprellen. Jedoch bin ich mir noch nicht sicher, ob ich das entprellen „Hardwaretechnisch“ mit einem Kondensator oder mit der Software machen soll.

    Danke schon mal,
    Grüße Julian

    • Hallo,
      das kommt natürlich immer darauf an was der PI sonst noch alles machen muss.
      Wenn Sie aktuell eine Flanke von 5ms erzeugen sollten 50ms vom Geber ohne Probleme einzulesen sein.
      Wieso prellt der Geber?
      Normalerweise sind das TTL-Ausgänge. Die prellen nicht.

      • Hallo,

        alles klar, vielen dank!
        Dann werde ich das ganze demnächst mal versuchen.
        Ich habe geplant nur einen günstigen „Mechanischen“ Encoder einzusetzen. Diese können sehr leicht prellen (habe ich zumindest gelesen). Klar bei einem etwas teueren Encoder mit TTL Augang bzw. bei einem Optischer Encoder sollte es kein Problem mit dem Prellen geben.

        Mir fällt gerade noch eine weitere Frage ein. Evlt. können Sie mir da auch weiterhelfen.
        In der Taskkonfiguration auf meinem Raspberry sind aktuell 3 Tasks angelegt:
        1. Task Zyklisch 5ms – Priorität 0
        2. Task Zyklisch 20ms – Priorität 1
        3. Task VISU Task – Zyklisch 100ms – Priorität 31
        Nehmen wir an, der Raspberry arbeitet gerade den Task2 durch. In diesem Moment sollte eigentlich die Bearbeitung des Task1 wieder starten. (Da der letzte Bearbeitungsbeginn des Task1 5ms zurück liegt)
        Wird dann die bearbeitung z.b. im Task 2 unterbrochen und wieder mit Task1 begonnen?
        Nachdem der Task1 fertig ist sollte es wieder an der unterbrochenen Stelle im Task2 weitergehen.
        Ich arbeite beruflich viel mit Siemens S7 Steuerungen. Ich würde gerne erreichen, dass sich Task1 am Raspberry wie ein Weckalarm/Interrupt verhält.
        Ist das möglich?

  8. Hi ,
    Could you know me if the „INT“ I2C-REPEATER FOR RASPBERRY PI Pin’s must be only connected „INT“ I2C DIGITAL INPUT MODULE Pin’s?
    If yes , whats happen in INT wires ? what signals are present ?

    Many Thanks for your answers

    • Hello Andrea,
      on the INT-Pin of the Repeater you can connect all INTs of the dital input cards parallel.
      when an input signal to be replaced, for example, from low to high on the INT this card to GND.
      The red LED on the digital Input Card lights, the INT on the repeater lights and the Signal of GPIO17 switched ti high.
      is the input card is read, the LED turns on and the signal is again low GPIO17.

      best wishes, J. Horter

  9. Ich möchte relativ einfach und flexibel diese Module einsetzen. Dazu wollte ich FHEM zur Steuerung verwenden. Funktionieren diese Module auch mit FHEM ?
    Gruß
    Thomas

  10. Hallo,

    ich möchte die I2C-Module an den Raspberry Pi anschließen.
    Funktionieren die Module auch mit 3,3V anstatt mit 5V?

    • Hallo Andreas,
      alle verwendeten ICs der Ein- und Ausgabekarten sind sowohl für 5V als auch für 3,3V geeignet.

      Das Hutschienen-Netzteil können wir mit anderen Widerständen liefern, so dass eine Versorgungsspannung der Module mit 3,3V / 1,5A möglich ist.

Schreibe einen Kommentar

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