Relais GPIO High Low schalten

  • Hallo Leute,

    ich brauhe eure Hilfe, ich habe ständig probleme mit den Funksteckdosen, jetzt habe ich mir ggedacht ich versuche das mit einem Relais, ich hatte so eins da.


    Hier mal der Fritzingplan wie ichs angschlossen habe:




    Ich habe 5V verbudnen sowie den Ground und dann habe ich als Signal den BMC Pint 17 verwendet.

    Auf den Mittleren COM Pin des Rails bin ich mit 230v gefahren und bei NO komm ich wieder raus zum Verbaucher den ich schalten will.


    ist dieser aufbau so ferstmal richtig?


    Hier das programm mit dem ich den GPIO von High auf Low schalte, funktionieren tut das weil wenn ich mit "gpio readall" schau dann sehe ich 1 und 0 je nachdem was ich gesetzt habe.


    Komischer weise leuten ständig beide LEDs am Relais und es ist immer Strom drauf, egal ob ich HIGH oder LOW schalte am Relais ist immer gleich, ziehe ich aber das Jumperkabel vom Pin 17 dann schaltet das relais und der Strom ist weg.


    Hier das Python Programm:

    Kann mir jemand vielleicht hefeln und sagen wo ich hier falsch unterwegs bin?


    Danke!


    EDIT:

    Sorry hier noch das Relais

  • Ich bin relativ sicher, dass es ich im ein Relaismodul handelt, das mit einem PNP-Transistor arbeitet. Das Relais schaltet nur aus, wenn du an IN 5 V anlegst. Die 3,3 V vom Pi reichen nicht aus, um den Transistor zu sperren. Außerdem kann das für den Pi ungesund werden.
    Klemm den GPIO besser erst mal wieder ab (5 V und GND lass erst mal dran). Um die Funktion zu prüfen, verbinde IN mit 5 V - dann müsste das Relais abschalten - bei Verbindung mit GND müsste es einschalten. Vermutlich hat es einen Pullup eingebaut, so dass es einschaltet, wenn IN nicht verbunden ist.


    Du kannst das lösen, indem du einen NPN-Transistor oder einen Optokoppler + Vorwiderstand (irgendwas zwischen 700 und 2000 Ohm) zusätzlich verwendest. Hast du sowas zu Hand?

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

    Edited 3 times, last by Gnom ().

  • Dein Schaltbild stimmt überhaupt nicht mit dem Relaismodul überein (blau-rot-schwarz - es müsste sein rot-schwarz-blau). Hast du den GPIO an Vcc oder an IN und hast du 5 V an IN oder an Vcc?

    Laut dem Bild darfst du bei dem Triggereingang nur 1,2V draufgeben, die GPIO Ports haben 3,3V.

    Du musst also die Spannung reduzieren.

    Im Übrigen bi ich recht sicher, dass die Angabe auf dem Bild nicht zutreffend ist und daher auch die Idee von Hofei nicht funktioniert.

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

  • Dein Schaltbild stimmt überhaupt nicht mit dem Relaismodul überein (blau-rot-schwarz - es müsste sein rot-schwarz-blau). Hast du den GPIO an Vcc oder an IN und hast du 5 V an IN oder an Vcc?

    Im Übrigen bi ich recht sicher, dass die Angabe auf dem Bild nicht zutreffend ist und daher auch die Idee von Hofei nicht funktioniert.

    Danke euch allen für die vielen Hinweise.


    Also ich hab das genaue Relais nicht gefunden für Fritzing, wenn wir vom Bild das ich verlinkt habe ausgehen dann hab ich folgendermassen angeschlossen:

    Code
    RPI     | Relais
    5v      | VCC
    GND     | GND
    GPIO 17 | IN

    Ich hoffe das ist richtig.


    Womit soll ich nun am besten anfangen zu testen, erstmal Widerstand einbauen beim Jumperkabel des GPIO > IN?

    Kann ich da einfach mal 2KOhm reinhängen?



    @Funksteckdosen: Diese will ich nichtmehr verwenden zu unsichere Funktion, hab nur schlechte verbindung in den Keller und manchmal schalten sie manchmal nicht. Kann auch nicht geprüft werden, die kommen raus, lieber richtig verkabeln und dann passt das auch.

  • Es ist wahrscheinlich einfach so, dass dieses Modul einen PNP-Transistor hat (schau mal, was auf dem Transistor steht - kannst du dann nachgoogeln). An den Transistor müssen 5 V dran, um ihn zu sperren, also das Relais auszuschalten. Das wird auf dem Modul wahrscheinlich durch einen Pullup-Widerstand gemacht.

    Legst du eine Spannung kleiner als 5 V an, schaltet sich das Relais ein. Es ist egal, ob der GPIO ON (3,3 V) oder OFF (0 Volt) ist - das Relais bleibt an. Klemmst du den GPIO ganz ab, zieht der Pullup die Spannung auf 5 V und das Relais geht aus. Das hast du ja genau so schon festgestellt.
    Es gibt nur wenige Relais, die für den Pi richtig ausgelegt sind. Dieses ist es aber nicht.
    Dein Anschluss ist korrekt. Ein Widerstand bringt nichts. Am Relais-Anschluss hast du 5 V anliegen, Zwar nur mit geringem Strom, aber allgemein sagt man, dass 5 V für die GPIOs tödlich sein können. Theoretisch kannst du den GPIO auf Eingang umschalten, dann wird das Relais abschalten. Aber erstens ist das irgendwie unsinnig und zweitens hast du dann immer noch 5 V am GPIO anliegen und wie gesagt, das kann deinen Pi zerstören.


    Hast du einen NPN-Transistor oder einen Optokoppler + passenden Vorwiderstand, dann kannst du das Relais damit anschließen.

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

  • Danke Gnom für die Aufklärung!


    Also ich habe beides nicht da und ehrlichgesagt hab ich nichtmal Ahnung was das genau ist :)

    Ich wüsse auch nicht wo ich auf dem Relais etwas ablesen kann, müsste ich da die blaue Abdeckung abmachen?


    Aber auf dem Bild des Relais steht doch This Modul is Low Level Trigger - Voltage value between 0-12V, bedeutet das nicht das ich nicht 5V brauche sondern 0-1,2V um es schalten zu lassen?

  • Hallo,


    obligatorischer Hinweis zum Code: Python 2 ist seit dem 1.1.2020 ohne Support durch die Python Entwickler, nimm‘ Python3. Schöner, neuer, besser als RPi.GPIO ist gpiozero.


    Gruß, noisefloor

  • Ich glaube, diese Angabe ist totaler Blödsinn.
    Wenn du irgendwo alte Platinen hast - so gröbere von alten Faxgeräten oder sowas, da sind oft Optokoppler drauf. Googel mal nach "Optokoppler 817" das ist so ein einfacher Typ, der ist fast überall verbaut. Du bekommst so einen auch für ein paar Cent bei Conrad. Dazu brauchst du einen Widerstand - 1000 Ohm ist gut - irgendwas zwischen 700 und 2000 Ohm tut es.

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

  • Warum ist Zeile 11 im Code im ersten Post oben auskommentiert?

    Wahrscheinlich, weil er alternativ ON und OFF ausgetestet hat. Beide Befehle aktiv zu lassen (ohne erkennbaren Delay dazwischen) wäre jedenfalls unsinnig.

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

  • ja genau so ist es, ich hab dsmit nur getestet on und off!


    leider hab ich nix da, aber dann kauf ich halt so einen, gibts no ne empfehlung für ein relais das ohne auskommt?


    danke für die vielen beiträge!

    👍

  • Alleine die Tatsache dass ein Optokoppler verbaut ist, heißt nicht dass das Teil zuverlässig mit 3.3V angesteuert werden kann. Tipp: wenn da steht "Arduino kompatibel", dann muss man vorerst mal davon ausgehen, dass das Teil mit 5V angesteuert werden möchte und die 3.3V des RasPi dafür nicht reichen. Meine Empfehlung wäre, einen Transistor als Treiber vorzuschalten, z.B. ein BC337. Dann klappt es auch mit dem RasPi.


    Oder mal ganz quer gedacht: wenn der Pi nicht noch weitere Aufgaben zu erledigen hat, wäre es eine Überlegung wert überhaupt einen Arduino statt eines Raspberry zu verwenden. Das hat viele Vorteile: Ein Arduino Nano z.B. ist recht günstig, sehr zuverlässig, sparsam im Stromverbrauch, ein Stromausfall macht ihm nichts aus und die Programmierung ist auch keine Raketenwissenschaft.

  • Hm jetzt kenn ich mich nichtmehr aus, ich werd jetzt einfach mal die Relais kaufen und testen, sollte das nicht funktionieren dann meld ich mich nochmal.


    Hoffentlich haut das hin.


    Die Alternative mit dem Arduino ist schon möglich aber ich hab das RPI ständig laufen da da MoodAudio drauf rennt und dann muss ich nicht unbedingt noch ein Gerät laufen haben, ein Nano hätte ich sogar da.


    Aber jetzt teste ich erstmal mit den verlinkten Relais.


    Danke euch erstmal.

  • Aus den Q&A des verlinkten Relais:

    Quote

    Frage:
    Can you control it with a 3.3v from an esp8266?

    Antwort:
    You can, but in order to have it work reliaby you have to get these 3.3V up to 5V. Logic level shifter is good solution.

  • "You can"


    Nein, in diesem Fall "can you not!" Du musst auf jeden Fall noch was dazu basteln, z. B. einen Optokoppler oder:

    "Logic level shifter is good solution."


    Das ist in diesem Fall dann allerdings nichts viel anderes als ein Transistor, den du benutzt, um das Relaismodul anzusteuern.

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