Schaltung zur Ansteuerung eines Relais

  • Hallo zusammen,


    ich habe gestern Abend mit meinen sehr bescheidenen Elektronik Kenntnissen eine kleine Platine gelötet, die ein Relais schalten soll. Leider zieht das Relais nicht an wenn es soll. Grundsätzlich schaltet es schon, aber eben nicht wenn es das explizit machen soll. Irgendwas stimmt da nicht. Ich bin die Platine nun zig mal durchgegangen, aber ich werde nicht schlau draus.


    Also Wenn der DoorPi startet, dann zieht das Relais erstmal an. Ich habe gemessen und in dem Fall liegt ein 0V Potential am GPIO #0 an. Das ist doch schon falsch. In dem Zustand sollte es eben nicht anziehen denke ich.
    Ziehe ich den Stecker vom GPIO#0 ab, dann fällt das Relais wieder. Lasse ich den Stecker drauf und schalte per DoorPi, dann kommen 3,3V an den GPIO aber das Relais macht nix. Auch nicht wenn die 3.3V wieder abfallen


    Da es sich im Plan um SMD Elemente handelt, habe ich diese ersetzt. Den Transistor durch einen Standard PNP Transistor (BC557B). Die Diode ebenfalls durch eine simple Standard-Diode und das Relais durch ein Printrelais (http://www.produktinfo.conrad.…_WASCHDICHT_1XUM__5_V.pdf)


    Grübel, Grübel, was geht denn da falsch?




  • Da steht viel zum allgmeinen Aufbau, Vorsichtmaßnahmen, Freilaufdioden usw. leider aber nichts, was ich als Info für mein Thema herausziehen könnte.


    Kann es sein, dass ich einfach die falsche Schaltung habe, die nicht mit dem Schaltverhalten des DoorPi kompatibel ist?


    Das Relais ist LOW-aktiv mit dem GPIO-Kanal verbunden, d.h. der GPIO-Kanal muss initial auf HIGH geschaltet werden, um das Relais in Ruhestellung zu halten.
    release:-> GPIO.HIGH
    attract:-> GPIO.LOW

  • Tja...juuute Frage. Ich verstehe es als Laien-Elektroniker so, dass es bei einem PNP Transitor, wie in der Schaltung eingesetzt, einen PULL Down benötigt. Für NPN Transistoren wäre ein Pull UP richtig. Aber vielleicht kann mich ja jemand der sich damit auskennt erhellen. Vor allem frage ich mich, ob ich überhaupt eine Möglichkeit habe das Relais mit dem DoorPi zu schalten.

  • Falsch.
    Als Elektroniker muss ich dir sagen, deine Schaltung funktioniert in diesem Fall wie es sein muss.
    PNP wird bei High gesperrt und bei Low geschaltet. NPN funktioniert natürlich andersrum.( Basis zum Emitter sollte zum durchschalten immer einen Unterschied von mindestens 0,7 Volt haben).
    In deinem obigen Beispiel schaltet der Transitor voll durch, wenn am GPIO 0,7 Volt weniger als deine 5 Volt anliegen. Deswegen schaltet der auch sofort durch. Ich persönlich arbeite immer lieber mit NPN Transistoren.

  • Habe ich denn mit dieser Schaltung eine Möglichkeit das Relais abzuschalten? Hört sich nicht so an nach deiner Ausführung. Würde es reichen den Transistor gegen einen NPN zu tauschen?

  • Da ich auch kein Elektroniker bin, habe ich es folgendermaßen gemacht:


    Arduino UNO (ca. 3 € bei Ali) genommen, 5V-Relais direkt dran, Arduino per I2C (3 Drähte) mit Raspi verbunden.
    Sketch zusammengeklempnert (hab ich im Software-Bereich --> I2C-Keyboard abgelegt) und auf den Arduino geflasht. Dann noch (mit vielen Guten Tips von motom001) ein I2C-Keyboard zusammengeschustert, doorpi.ini ein wenig angepasst.
    Funktioniert ohne zusätzlichen Aufwand und hat den Vorteil, daß ich so auch gleich ein Keypad (81c pei Ali inkl. Porto) angebaut habe, das es mir erlaubt, die Tür auch ohne Schlüssel zu öffnen, oder wenn ich mal den RFID-Tag nicht mithabe...

  • Auch eine Idee. Aber ich habe noch ein wenig recherchiert und werde meine Schaltung etwas modifizieren. Dazu tausche ich den PNP Transistor gegen einen NPN aus und entferne den 100kΩ Widerstand aus der Schaltung. Dann sollte es doch klappen, oder @fraeggle?


    Die Referenz wäre dann so wie im Raspi forum, (Bild) nur dass bei mir das Relais und der Transistor vertauscht sind. Sollte nach meinem Verständnis aber keinen Unterschied machen. Dann muss ich die Platine nicht neu aufbauen.

  • Oben liegen am Transistor auch mit High-Pegel noch 1,3V. So kann er nicht sperren

    D.h. der Code bzw. der Beitrag im Link sind so gar nicht umsetzbar? ?(
    http://www.jcontrol.org/tutori…ry/ch1/s2_example_de.html


    EDIT: Ich habe mich noch mal schlau gemacht und folgendes erfahren. "Die Beschreibung sagt, daß am Eingang der Stufe "High" liegen muß, damit das Relais abfällt. Das bedeutet, daß das Basispotenzial dem Emitterpotenzial entsprechen sollte (Differenz viel kleiner 0,7V!) Das kann ja mit 3,3V Ansteuerung nicht gehen! Ansteuerung sollte also 5V sein." Damit ist also klar, dass die erste Schaltung so NICHT funktioniert. Heinz hatte es ja schon geschrieben. Ich hatte es aber nicht vollständig verstanden.


    Weiterhin habe ich nun auch verstanden, dann das Relais in den Kollectorstromkreis muss. Sonst klappt die Ansteuerung nie. Von daher vergessen wir die erste Schaltung mal komplett und ich löte die Platine auf die zuletzt genannte Lösung um. So ein Mist...ich habe mir echt anscheinend die einzige Schaltung im Netz rausgesucht die nicht funktioiert. Man...


    Danke euch

  • Hallo Markus.
    Deine untere Schaltung ist in etwa so wie ich meine Relais schalte, nur das ich von der Basis zum Emitter einen Wirderstand mit ca.2kOhm
    gegen Masse lege um den Transistor auf alle Fälle mit deinem Definierten Zustand habe solange der PI nicht "ganz" hochgelaufen ist. Schaltet dann dein GPIO Port auf High reichen auch die 3,3Volt in diesem Fall völlig aus, da zwischen Emitter und Masse des Transistors ebenfalls kein Widerstand ist. Zwischen Basis und Emitter, (welcher ja gleich 0 ist da gleich Masse), reichen die 3,3Volt wie du siehst Dicke aus.


    Ich schalte mit dieser "Basisschaltung" wie gesagt meinen Türöffner und das Garagentor. Mit einem PNP hättest du dagegen immer das Problem, das du den nie richtig gesperrt bekommst da deine GPIO nur 3,3 Volt rausgeben.
    Aber bitte auf jeden Fall die Diode parallelzur Spule nicht vergessen.
    Solltest du noch fragen haben immer wieder gerne.


    Gruß Peter

  • Hallo. Ich muss kurz nochmal nachfragen. Ist es möglich das Relais einfach so zu betreiben über die GPIOs oder muss ich dafür die Schaltung von @MarcusS dazwischen bauen? Habe mich dazu entschieden soweit es geht ohne das PiFace auszukommen. Auch wenn das für mich, ohne jegliche Ahnung was ich machen muss :saint: , etwas schwierig sein wird, so würde ich es trotzdem gern probieren. Danke

  • Ich bin da kein Experte, aber versuche mich mal. Manmöge mich korrigieren, aber Du könntest vermutlich kleine Relais steuern. Aber so ein GPIO ist nicht zum Schalten größerer Lasten geeignet. Dazu gehört auch schone eine Relais Spule, die gern mal >20mA ziehen kann.


    Siehe hier: http://www.mosaic-industries.c…utput-current-limitations


    Von daher die klare Empfehlung das mit einer Transistorvorstufe abzusichern. Es gibt neben dem PiFace und Eigenbauten auch noch kleine Relaiskarten für um die 5 Euro zu kaufen.

  • 7mA pro Pin und in Summe sollten nicht mehr als 50mA über die GPIO Pins gezogen werden. Es geht auch ein bisschen mehr nur nicht auf Dauer da man hier den PI irreparabel schädigen kann.

  • Von daher die klare Empfehlung das mit einer Transistorvorstufe abzusichern. Es gibt neben dem PiFace und Eigenbauten auch noch kleine Relaiskarten für um die 5 Euro zu kaufen.

    OK. Also ist es nicht so einfach. Hast du zu deinem genannten ein paar Links? Transistorvorstufe, Eigenbau, kleine Relaiskarte?
    Noch eine Frage zu dem PiFace: Habe ich damit dann die Möglichkeit die 2 Onboard Relais + die 8 Relais von meinem verlinkten Relais zu betreiben? Und kann ich trotzdem noch die GPIOs des Raspis verwenden? Weil ich darüber meinen Bewegungsmelder und den Verstärker der Soundkarte laufen lassen möchte...