GPIO Erweiterungsboard

  • Guten Tag Allerseits

    Nach langer Onlinerecherche ohne Ergebnis hab ich mich entschieden mal in einem Forum nachzufragen.

    Ich hab ein Projekt mit einem Raspy, bei dem ich die GPIOS des Raspy verwenden möchte.
    Aber die kann man ja so nicht direkt mit irgendewelcher z.B. Hausautomation verbinden, sondern benötigt noch ein Erweiterungsboard mit etwas Elektronik darauf, um die Ein- und Ausgänge zu schützen, und ev. höhere Spannungen/Ströme zu schalten.

    Ich hab auch einige gefunden, bis jetzt am besten passt mir der Pixtend:
    PiXtend®

    Doch haben diese Boards einen Nachteil, den ich noch weg haben möchte.
    Und zwar werden die Ein- und Ausgänge über einen Zusatzchip, welcher per Bus mit dem Raspy kommuniziert, angeschlossen.
    Das hat den Nachteil, dass ich nicht die Interrupt-Funktion der GPIOS nutzen kann.
    Um einen Eingang abzufragen, muss ich ständig auf dem Bus Abfragen starten, welche dann entweder die CPU-Last des Raspy auf 100% treiben,
    oder aber ich programmiere einen Timer zwischen den Abfragen, was aber dazu führt, dass ich ev. kurze Eingangsignale nicht detektiere.

    Nun suche ich ein Board, welches mir die Ein- und Ausgänge schützt, aber trotzdem direkt die GPIOS des Raspy nutzt, damit ich die Interrupt-Funktion der Eingänge nutzen kann.
    Ganz genial wäre es noch, wenn das Board in einem Hutschinengehäuse (Din-Rail) verbaut wäre.

    Ich hoffe ich konnte mein Problem verständlich schildern, und bin auf eure Antworten gespannt.

    Freundliche Grüsse und einen schönen Freitag.

  • Moin hoitschau,

    erstmal: Herzlich Willkommen im Forum!

    Ich vermute, das du so ein Board nicht finden wirst. Darum kommst du um Kompromisse nicht umzu.( So reden wir hier)
    Darum ein zweites Willkommen, diesmal in der Welt der Maker. Bau dir so ein Board. Schaltung und Platine entwerfen und fertigen lassen und dann ran an die Programmierung.....

    Sri, haben leider keinen bersseren Vorschlag.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hi!

    Was du da verlinkt hast, ist ja schon fast eine komplette SPS und wahrscheinlich auch entsprechend teuer.

    Wenn du auf selbst basteln keine Lust hast, findet sich vielleicht auch das eine oder andere etwas preiswertere Teil. Das hier finde ich mit 125 € immer noch recht teuer - aber wenn dir die I/Os genügen wäre das vielleicht nicht schlecht. Immerhin 12 digitale Inputs, 8 digitale Outputs, 2 analoge Inputs - klingt nicht so schlecht.

    Wenn du es noch simpler willst, kannst du dir für ein paar Cent mit Optokoppler-Platinen dieser Art behelfen. Für rein digitale I/Os sollte das reichen. Ordentlich befestigt und verkabelt dürfte das recht praktikabel sein. Du musst nur schauen, dass die Teile auch wirklich für deine Spannungen geeignet sind.

    Der Aufwand für einen eigenen Platinenentwurf ist nicht zu unterschätzen. Wenn es also ein paar digitale I/Os tun, sollte was von der Stange genügen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Moinsen,

    Nun suche ich ein Board, welches mir die Ein- und Ausgänge schützt, aber trotzdem direkt die GPIOS des Raspy nutzt, damit ich die Interrupt-Funktion der Eingänge nutzen kann.
    Ganz genial wäre es noch, wenn das Board in einem Hutschinengehäuse (Din-Rail) verbaut wäre.

    Ich hoffe ich konnte mein Problem verständlich schildern, und bin auf eure Antworten gespannt.

    Es kommt darauf an wie viel Geld du ausgeben willst.
    - Du kannst fertige Erweiterungen verwenden, die komplex sind, aber eben auf gewisse Aufgabenbereiche zugeschnitten sind.
    -> Ein Universall Board welche alles denkbaren Anschlussskonfigurationen für deine Home-Automatisierung erfüllen wird gibt es nicht !

    Da du auch keine Angaben machst welche Lasten, in welchen Spannnungsbereichen geschaltet werden sollen, wirst du keine Antwort bekommen. Oder wirst über weitere Erweiterungen entsprechende I/O Kompatibilitäten Herstellen müssen.

    Wenn du wenig Kohle ausgeben willst, dann in erster Linie die I/O Boards auf Basis eines MCP23x17 entweder über I²C oder SPI. und den benötigten Interrupt Rückmeldeleitungen. Nur wenn es dann um Schaltlasten geht, egal welchen Spannungsbereich betreffend, musst du für entsprechende Schaltsignalverstärker /-umsetzer sorgen, egal auf welchem Weg, ob Relais, SSR, oder MOSFET-Treiber für Gleichspannungslösungen.
    Vorteil dieser MCP23x17 Portexpander - diese sind in der Basisausführung ( Adressierbarkeit ) erst einmal 8fach Kaskadierbar was dir 8 x 16 GPIOs zusätzlich bereitstellt. In der SPI Version pro weiteren CS-PIN weitere 8 dieser Expander. Alelrdings gehen dir dann irgendwann die GPIOs für die INT Rückmelde Leitungen aus. Jeder dieser MCP23x17 gibt über INT_A / INT_B für jeweils eine 8 Bit Portgegister eine Signal an den Controller zurück.
    Das bedeutet, diese 16 GPIOs des Expanders sind auf 2 Registerbänke aufgeteilt aber auch zusammengefasst, so das du bei einem INT Interrupt erst einmal dieses betreffende Register auslesen musst, welcher der 8 ,als INPUT konfigurierten, GPIOs einen Flankenwechsel gemeldet hat. Von der Notwenigkeit her muss deine SW innerhalb von 20 ms reagieren und dieses Port-Register anfragen.

    Wenn du hier die Forensuche bemühst es wurde schon viel über die Portexpander MCP23017 / 23S17geschrieben.

    Aber auch hier musst du ja nach Last, noch dafür sorgen, das diese Lasten geschaltet werden können !

    Ein Einfacher Dual Optokoppler als Eingangsschutz der INPUT GPIOs kostet um die 0,70 €, ein solcher MCP23x17 je nach Ausführung zwischen 1,60 und 2,00 € zuzüglich der Lasttreiber je ach Anzahl der benötigten Ausgänge. Also Drumrum um diesen MCP23x17 benötigst du noch eine Kodierbrücke, wenn du mehrere dieser MCP23x17 parallel verwenden willst um die Bus-Adresse einstellen zu können, einen PUllUP Widerstand für einen SW geführten Reset, einen Abblockkondensator 100nF Keramik, und eine Spannungsquelle 3,3 V die in der Summe mind. 275 mA @3,3 V Liefern kann, wenn du alle GPIOs als Ausgang nutzen möchtest. BUS-seitig zum RasPi werden noch 2 ( I²C ) bzw 4 ( SPI ) Pullup Widerstände benötigt.
    Also mit Platine ca. 35 € im Selbstbau, wenn du den Aufbau für 16 GPIOs entsprechend deiner Anforderung statisch gestaltest.

    Franky

  • Guten Morgen

    Vielen Dank für eure Antworten.

    Ich hatte noch vergessen zu erwähnen, dass ich ein Produkt suche, dass ich meinen Kunden empfehlen/verkaufen kann.
    Da fällt selber basteln leider weg, weil ich für ein paar wenige Projekte keine Eigenentwicklung zertifizieren lassen kann (CE und so).

    Grosse Lasten schalten muss ich auch nicht, dazu gibt es ja sonst entsprechende Bauteile im Elektro-Fachhandel.
    Die benötigen als Schaltspannung ja so 24V/100mA.
    Kenn mich da aber nicht so gut aus, das lass ich lieber einen Elektriker aussuchen.

    Der Preis ist soweit auch nebensächlich, der Kunde bezahlt ja.
    Da ist mir die Sicherheit und einhaltung der Vorschriften für Elektroinstallationen wichtiger.


    Gnom Das Board sieht interessant aus, aber über das Datenblatt komme ich zu https://motron.de/ und dort finde ich das Board nicht.
    Hast du Erfahrung mit Motron? Das macht auf mich keinen guten Eindruck.

    Franky07 Vielen Dank für den Hinweis zum MCP23x17, vermute das wird für mich die Lösung sein.
    Beim Pixtend fehlt mir genau die Funktion einer Interrrupt Rückmeldung über INT_A / INT_B.
    Hatte aber noch keine Zeit um nach einem fertigen Produkt zu suchen, welches auf eine Hutschiene montiert werden kann.
    Mal schauen ob ich ev. sogar ein Board finde mit Raspberry Compute Modul und MCP23x17.

    Dankbare Grüsse

    hoitschau

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!