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.

 

 

9 Kommentare

  1. 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?

  2. 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

    • 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.