230 V 8 Kanal Eingangsmodul

  • Hallo Zusammen


    Bin zurzeit an etwas aufwändigeren Projekt, bei dem ich unter anderem 230 V Eingangssignale auf eine Rasby bringen möchte. Dies kann ich über Relais oder Solit-Stade Module machen.

    Ich hatte mir für diesen Zweck aber ein fertiges Modul bestellt wo in der Anleitung steht das es für den Rasby geeignet ist.

    Link zum Modul : Modul [Anzeige]

    Ich schloss am VCC die 3,3V Plus an, und am GND den Ground, und S01,S02 ..... an den jeweiligen GPIOs.

    Dann gingen zum Teil die LED aus am Board aus, und auch der Bildschirm wurde dunkel :thumbdown:. Ich gehe davon aus das das Ding die Spannung runterzieht. Leider habe ich nun nirgens

    ein Plan von der Platine gefunden.

    Hat so ein Ding mal jemand am Rasby in Betrieb genommen ?

    Hab mit jetzt zwar Solid Stade Relais bestellt, ab eine Funktionierende Platine wäre mir lieber.


    Grüße Thomas

    Edited once, last by IronBytes (June 27, 2026 at 8:22 PM).

  • Sieht nicht nach Hexenwerk aus.

    Die Ausgänge werden alle über das Widerstandsarray als Pulldown auf GND gezogen.
    Die EIngangsschaltungen sind wohl schlicht ein fetter Widerstand, Gleichrichter, ne Diode, Kondensator zur Glättung, LED und das Ganze geht an einen Optokoppler.
    Am Ausgang des Optokopplers kommt +3,3 V an, wenn vorne 230 V AC anliegt.

    Du solltest erst mal die Ausgänge unbeschaltet lassen und die Eingänge testen. Wenn du 230 V anlegst, sollten die LEDs leuchten.

    Dein Anschluss ist an sich korrekt. Die Frage ist, wie du die GPIOs programmiert hast. In diesem Fall sollten die als Eingang ohne Pullup/Pulldown programmiert sein. Im Grundzustand solltest du dann LOW haben, wenn 230 V anliegen, high.
    Wenn deine GPIOs versehentlich auf Output low programmiert sind, bekommst du einen Kurzschluss. Das könnte bei dir das Problem gewesen sein

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

  • Wenn man grob das mal zusammenrechnet , es kommt nun auch drauf an wo die Status LED mit dranhängt, aber 8 Optokoppler ohne Vorwiderstand Emiterseitig, das knackt jeden Spannungsregler.
    Normal leitet man eine Hilfsspannung über eine Vorwiderstand in den Kollektor, legt den Emitter auf Masse, und hat dann am Optokoppler Kollektorseitig ein invertiertes Signal ! Der Vorwiderstand ist ganz wichtig, wenn der Optokoppler Output-Seitig nicht nur aus eine Phototransistor besteht !?
    Dann ist bei maximaler Durchsteuerung über den Optischen ( Basis-Strom ) das Teil vollständig leitend und würde ohne einen solchen Widerstand den "totalen" Kurzschluss zwischen 3V3_Out und GND erzeugen !
    Das erklärt dann auch warum dein RasPi abgekackt ist, ob es sich wieder starten lässt , hast du auch offen gelassen.

    Hilfreich hier wäre mal zu erfahren was auf den 8 größeren 4 beinigen Teilen = Optokoppler steht

  • Wolle, weniger phantasieren, mehr hingucken! Die Teile haben eine scharfe Trennung zwischen AC-Teil und 3,3-V-Ausgangsteil (Optokopplerausgang).
    Die LEDs hängen am AC-Teil!

    Um "jeden Spannungsregler zu knacken", muss man erst mal nen Stromfluss haben. Wenn die GPIOs ordentlich auf Input geschaltet sind, ist das nicht der Fall und das Ganze sollte funktionieren. Trotzdem ist es immer zu empfehlen, einen 1K-Schutzwiderstand als Strombegrenzung vor den GPIO zu schalten - eben falls man mal was falsch programmiert oder ähnliches.

    Normal leitet man eine Hilfsspannung über eine Vorwiderstand in den Kollektor, legt den Emitter auf Masse, und hat dann am Optokoppler Kollektorseitig ein invertiertes Signal !

    Normal, ja, aber diese Schaltung ist offenbar nicht "normal". Die hängt nämlich 3,3 V auf den Kollektor und GND per Pulldown auf den Emitter. Die Ausgänge hängen auch am Emitter. Vorteil: Das Signal ist nicht invertiert. Glücklich finde ich das trotzdem nicht. Robuster ist die Schaltung gegen GND.
    In der Tat fehlt hier aber jeder Widerstand zur Strombegrenzung an den Ausgängen - allerdings weiß der Hersteller ja auch nicht, an welche Schaltung man das anschließt - jeder Schutzwiderstand wäre als irgendwie der Falsche.

    Das erklärt dann auch warum dein RasPi abgekackt ist

    Nicht wirklich. Der Transistor kann keinen Kurzschluss zwischen der Hilfsspannung und GND erzeugen, weil da noch das Widerstandsarray (Pulldown) ist. Da muss schon der Raspi unpassend programmiert sein (Output low). Trotzdem (wie oben schon gesagt) 1-K-Schutzwiderstand ist (fast) immer gut.

    Hilfreich hier wäre mal zu erfahren was auf den 8 größeren 4 beinigen Teilen = Optokoppler steht

    Du meinst die eher quadratischen als länglichen? Ziemlich sicher Gleichrichter. Wenns Optokoppler wären, wo würde denn der Strom am Ausgang her kommen? Da sehe ich keine Spannungsquelle. Auf den Bildern kann man mit etwas gutem Willen die +/- Kennzeichnung erkennen Der Gleichrichterausgang speist den Kondensator zur Glättung. Die Spannung geht über die LED auf den Optokoppler. Bei der Diode tippe ich auf ne Zenerdiode als Überspannungsschutz für LED und Optokoppler. Nen Vorwiderstand für die LEDs sehe ich nicht - da verlässt man sich wohl auf den Eingagsseitigen fetten Widerstand. Der verbrät da übrigens ordentlich Leistung - um die 3 Watt bei 10 mA Ausgangsstrom, wenn ich das richtig überschlage.

    So weit für mich alles ok. Schutzwiderstand und korrekte Eingangsbeschaltung am Pi ist Sache des Anwenders.

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

  • Hi

    Er läuft immer noch. nur das Bild des Monitor geht dann einfach aus. Ich habe die gleiche Software für das testen der Eingänge benutzt, nur halt mit den anderen Adressen.

    Hätte ich einen Plan von dem Modul wäre es einfacher, das Problem zu verstehen.

    Bin halt davon ausgegangen das alles passt, da ein Festwiderstand mit 9 Füßchen verbaut ist (A473J). Die LED hängt auf der 230V Seite. Auf den Optokoppler steht

    "EL 817 G511".


    Gruß Thomas

  • 473 - wenn das stimmt, sind es 47 KOhm - nicht unüblich für Pulldowns. 817 ist ein hgw Optokoppler. Das ist alles ok.

    GPIO auf Input ohne Pullup/Pulldown. Zur Sicherheit einen 1K-Widerstand zwischen dem Anschluss an der Platine und dem GPIO. Das sollte gehen.
    Bist du sicher, dass du die richtigen GPIO-Nummern hast? Probierst erst mit einem Anschluss, nicht gleich mit allen.
    Zum Testen einfach mal 3,3 V an den Eingang legen. (auch hier mit 1K-Ohm - sicher ist sicher).

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

    Edited 4 times, last by Gnom (June 27, 2026 at 10:13 PM).

  • :conf: Braucht man als Energieanlagenelektroniker heute keine grundlegenden Kenntnisse zu diesem Thema?

    ... Hätte ich einen Plan von dem Modul wäre es einfacher, das Problem zu verstehen.

    Das sollte bei 7 Bauteilen doch eigentlich kein Problem sein. Es wird wohl eine Schaltung in dieser Art sein:

    .... Bin zurzeit an etwas aufwändigeren Projekt, bei dem ich unter anderem 230 V Eingangssignale auf eine Rasby bringen möchte. Dies kann ich über Relais oder Solit-Stade Module machen.

    ....

    Hab mit jetzt zwar Solid Stade Relais bestellt, ab eine Funktionierende Platine wäre mir lieber.


    Grüße Thomas

    Wenn Du für deine 230V Spannungserkennung am RPi Solide State Relais verwenden willst, würde vor einer Verwendung noch mal kurz innehalten und drüber nachdenken, ob dies eine gute Idee ist, damit aus deinem "Rasby" kein "Rasbye" :rip: wird.

  • Das sollte bei 7 Bauteilen doch eigentlich kein Problem sein. Es wird wohl eine Schaltung in dieser Art sein:

    "dieser Art" bringt den TO wenig weiter. Und diese Schaltung ist es nicht. Die Widerstände gehen (auf den Fotos klar erkennbar) gegen GND und nicht auf VCC.
    Wo du die genauen Daten der Bauteile her hast, bleibt wohl auch dein Geheimnis.

    Aus deinen Post spricht eine schwer erträgliche Arroganz!

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

  • Hallo

    Sorry das es etwas wild ist, aber auf die schnelle. Hatte gestern ein Scheiß Tag hinter mir., dann noch die Hitze. Egal.

    In meiner Schmierzeichnung sieht man Links (in dem Fall unten) die Schaltung wie ich sie bei den Taster verwende.

    Den GPIO 21 verwende ich als Eingang. Sorry aber ich bin halt kein Profi, sondern nur Anfänger, und kämpfe mich durch.

    im Ruhezustand messe ich am Eingang gegen Masse etwa 2.2 Volt und beim Spannung einschalten (230V) dann 3.2 Volt (Habe so eine kleine Aufsetzplatine draufgemacht mit Lampen und Klemmen PLatine [Anzeige]) . Die LED geht an und aus, aber es gibt scheinbar keine schöne Flanke.

    Die deklarierung des Eingangs 21 habe ich aber falscherweise bei den Ausgängen eingetragen (Schönheitsfehler ;) )


    Grüße Thomas


    Edited once, last by IronBytes (June 28, 2026 at 1:39 PM).

  • :conf: Braucht man als Energieanlagenelektroniker heute keine grundlegenden Kenntnisse zu diesem Thema?

    Bin in 9 Jahren in Rente. Sowas gab es damals nicht, und in meinem Beruf brauche ich das noch viel weniger.

    Versuch mir das alles selbst beizubringen.

    Hab mir dieses Relais bestellt. Diese Art setzte ich schon seit Jahren zuverlässig als Koppelrelais an SPS Steuerungen ein. Warum soll das schlecht sein ?


    Grüße Thomas

  • gpiozero Button verwendet ootb pullup, also zieht den GPIO hoch und reagiert auf eine fallende Flanke. Geschaltet wird da ein Taster gegen GND.

    Weshalb verwendest Du RPi.GPIO extra noch? Das stört hier mächtig und es dürfte zu einigen Konflikten zwischen beiden Modulen kommen.

    //Edit

    Es kann viel einfacher werden. Siehe z.B. hier in die Doku: https://gpiozero.readthedocs.io/en/stable/reci…-controlled-led

    //Edit2

    Und auch hier, bezüglich Pullup / Pulldown: https://gpiozero.readthedocs.io/en/stable/api_…gpiozero.Button

  • Alles, was du brauchst, ist die Verbindung von 3,3 V und GND zu der Platine und das Signal vom Platinenausgang über einen 1K-Widerstand zum GPIO. Den 10K-Widerstand brauchst du nicht. Im Gegenteil, der dürfte mit den Pulldowns an den Platinenausgängen einen Spannungssteiler bilden und damit ständig HIGH erzeugen. Bei 47 K müsste es eher 2,7 als 2,2 Volt sein.

    Die untere Zeichnung zeigt wohl deine Testschaltung zum Vergleich. Diese ist falsch, weil sie "andersrum" funktioniert als die Platine. Du musst den 10-K_Widerstand gegen GND schalten und den Taster gegen 3,3 V, dann ist die Schaltung äquivalent zu dem, was die Platine liefert.


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

    Edited once, last by Gnom (June 28, 2026 at 1:57 PM).

  • gpiozero Button verwendet ootb pullup, also zieht den GPIO hoch und reagiert auf eine fallende Flanke. Geschaltet wird da ein Taster gegen GND.

    Weshalb verwendest Du RPi.GPIO extra noch? Das stört hier mächtig und es dürfte zu einigen Konflikten zwischen beiden Modulen kommen.

    Die Platine schaltet den Ausgang gegen 3,3 V. Das wird also so nicht funktionieren. Schaut euch doch mal die recht gut erkennbaren Leiterbahnen auf den Platinenfotos an. Das Widerstandsarray ist Pulldown gegen GND und der Optokoppler schaltet 3,3 V auf den Ausgang.

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

  • In deinem Code ist Button ohne weitere Parameter (nur PIN) deklariert. Damit ist er per default auf Pullup=high gestellt. Du musst ihn auf "None" stellen, denn die Platine hat externe Pulldowns.

    Code
    button1 = Button(21, pull_up=None)   # Taster 1 auf GPIO 21

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

    Edited once, last by Gnom (June 28, 2026 at 1:56 PM).

  • Traceback (most recent call last):
    File "/home/thomas/analog/Adafruit_CircuitPython_ADS1x15-main/examples/2te_Fuenf_Eingaenge_zu_Ausgaenge.py", line 8, in <module>
    button1 = Button(21, pull_up=None) # Taster 1 auf GPIO 21
    File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 108, in __call__
    self = super().__call__(*args, **kwargs)
    File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 412, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
    pin, pull_up=pull_up, active_state=active_state,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    bounce_time=bounce_time, pin_factory=pin_factory)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 417, in __init__
    super().__init__(*args, **kwargs)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 162, in __init__
    super().__init__(
    ~~~~~~~~~~~~~~~~^
    pin, pull_up=pull_up, active_state=active_state,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    pin_factory=pin_factory)
    ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 243, in __init__
    super().__init__(*args, **kwargs)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 91, in __init__
    raise PinInvalidState(
    f'Pin {self.pin.info.name} is defined as floating, but '
    f'"active_state" is not defined')
    gpiozero.exc.PinInvalidState: Pin GPIO21 is defined as floating, but "active_state" is not defined


    ------------------
    (program exited with code: 1)
    Press return to continue

  • Wenn ich die Fehlermeldung richtig verstehe, muss active_state definiert sein. Ändere das mal so:

    Code
    button1 = Button(21, pull_up=None, active_state=True)   # Taster 1 auf GPIO 21


    Die Schaltung für meine Eingänge habe ich von hier : Hier

    Ja, das ist da ganz ok beschrieben. Die untere Zeichnung dort wäre äquivalent zu dem Signal deiner Platine. (Rquer ist der 1-K-Schutzwiderstand, der nicht auf der Platine ist und den du dann noch selbst hinzufügen musst. Pulldown und Taster entsprechen dem, was die Platine als Signal erzeugt.)

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

    Edited once, last by Gnom (June 28, 2026 at 3:06 PM).

  • Siehe hier in der gpiozero-Dokumentation: https://gpiozero.readthedocs.io/en/stable/api_…ero.InputDevice

    Quote

    pull_up (bool or None) – If True, the pin will be pulled high with an internal resistor. If False (the default), the pin will be pulled low. If None, the pin will be floating. As gpiozero cannot automatically guess the active state when not pulling the pin, the active_state parameter must be passed.

Participate now!

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