Relais schalten mit GPIO _und_ per Hand

  • Hallo,
    ich möchte mit meinem RasPi 3 Rollläden steuern, die ich außerdem von einer zentralen Stelle händisch bedienen können möchte.
    Da alle sicherheitsrelevanten Dinge nicht per Funk geregelt werden sollen, soll die Ansteuerung via GPIO und diesem SainSmart-8-Kanal-Relais [Anzeige]erfolgen.
    Das eine übriggebliebene Relais steuert eine LED-Lampe und das andere dient als Öffner einer bereits vorhandene batteriebetriebene Alarmanlage.

    Als zusätzlichen Schutz der GPIOs habe ich mir einen ULN2803A vorgestellt. Und zwischen dem ULN2803A und dem Relais kommt noch die Handsteuerung, praktisch parallel zum RasPi.
    Die Energieversorgung des RasPi erfolgt entsprechend Variante 3 dieses Tutorials über die GPIOs 2 und 6.
    Programmtechnisch möchte ich immer nur ein Rollo steuern. Dann sind maximal 3 Relais gleichzeitig gezogen, das Relais der Alarmanlage (ist immer gezogen), das Relais der Lampe und ein Relais der Rollladen. Das sollte für den RasPi kein Problem sein.

    Im Schaltplan habe ich das mal versucht darzustellen. Es ist meine allererste Übung mit dem Programm Fritzing. Sieht vielleicht noch etwas chaotisch aus, aber ich denke, man erkennt, wie ich es meine.

    Frage an die Profis. Bevor ich das alles unter Strom setze, ist das OK so?
    Oder brät mir der RasPi ab?

  • Wieso nutzt du ein Relais welches immer angezogen ist für die Alarmanlage? Denn bedenke dabei dass das auch irgendwann zusammengebacken wird und sich nicht mehr lösen lassen könnte

    GPIO14 könnte Probleme machen - das ist eigentlich die TX Leitung vom UART ... Such dir lieber einen anderen Pin

    Zur Sicherheit würde ich vielleicht noch jeweils eine Z-Diode zwischen ULN2803A und Relais in Sperrichtung zum ULN2803A, in die Leitungen wo Schalter sind, setzen damit dort kein Rückfluss zum ULN2803A stattfinden kann

    Ansonsten sieht es aber OK aus ;)

  • Der ULN hat Opencollector-Ausgänge. Wenn du deine Handtaster betätigst wird High-Potential angelegt. Ist der entsprechende Ausgangstransistor durchgesteuert, muss der dann einen Kurzschluss schalten, tschüss ULN!

  • Tjaaa, das mit der Alarmanlage ist noch etwas unausgegoren und hat eine längere Vorgeschichte. ...(gehört nicht zum RasPi, darum gelöscht)... Ich überlege noch...

    Danke für den Tipp mit GPIO14. Ich brauche ja insgesamt 8 Stück und da muss ich noch genau recherchieren, welche nicht anderweitig vorbelegt sind. Ich hatte das erst mal nur symbolisch eingezeichnet: RasPi --> ULN2803S --> Relais

    Die Sache mit der Z-Diode hatten wir schon mal , wobei dort meine eventuelle Lösung etwas anders war (eine ODER-Schaltung). Dort lernte ich auch den ULN2803 kennen. Und ich dachte, diesen "Schutz" übernimmt der ULN...

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,

    Einmal editiert, zuletzt von docadams (3. März 2014 um 12:03)


  • Und ich dachte, diesen "Schutz" übernimmt der ULN...


    Wenn das deine Antwort auf meinen Beitrag sein soll???

    Laut Innenschaltung hat die Ausgangsstufe keinen Schutz gegen Kurzschluss. Deine Schaltung ist fehlerhaft. Zum einen soll dein ULN gegen Masse den Eingang der Relaiskarte bedienen. Du aber nimmst mit deinen Tastern eine Ansteuerung gegen +5V vor. Das geht nicht oder aber in die Hose.

    Ich kenne die Relaiskarte nicht, aber aus den Bildern sehe ich, es sind wohl am Eingang Optokoppler. Ein Stromlaufplan der Karte wäre hilfreich.

  • Zitat


    Wenn das deine Antwort auf meinen Beitrag sein soll???


    Naja, ich komme nicht vom Fach, deshalb frage ich ja lieber nach. Und wohl zurecht...

    A)
    OK, ich werde noch Zehner-Dioden dazwischen bauen. Gibt es da außer der Spannung noch etwas zu beachten, welche ich da nehmen muss? Vielleicht auch Universelle, wo ich mir gleich ein paar auf Vorrat kaufen kann, z.B. die hier?

    B)
    @ Flyppo
    wäre dein Einwand mit den Z-Dioden gelöst?
    Oder ist das die Problematik, dass der ULN2803 "gegen Masse zieht" und ich ja 5V anlege, wenn ich die Taste drücke. Diesen Satz hatte ich ohnehin in seinen Auswirkungen nicht ganz verstanden und deshalb hatte ich mir gleich noch einen UDN2981 gekauft, der wohl "gegen 5V zieht".
    Sollte ich dann den nehmen. Wären dann womöglich die z-Dioden überflüssig?

    C)
    Die Idee mit dem im Normalzustand dauernd gezogenen Relais für den Alarm nehme ich zurück.

    D)
    Besteht noch die eher theoretische Gefahr, dass der RasPi ein Rollo in die eine Richtung steuert, und der Mensch gleichzeitig den Taster in die andere Richtung drückt. Zwar eher unwahrscheinlich, aber nicht 100%ig auszuschließen.
    Das könnte ich doch so lösen, indem ich programmmäßig jeweils 1 Sekunde vor Schließen eines Rollorelais bis 1 Sekunde nach wieder Öffnen dieses Relais den Zugang zu den Handtastern unterbreche, z.B. mit einem der übrig gebliebenen Relais. Das wäre doch eine Art ODER-Schaltung mit Priorität des GPIO.
    Ihr merkt, ich drücke mich vor (für mich) hochkomplexen elektronischen Schaltungen ;)

    Viele Grüße
    DocAdams

    1x RaspberryPi 2, 1x RaspberryPi 3, 1x OpenELEC, 1x RaspberryPi 4 mit ioBroker ,


  • Naja, ich komme nicht vom Fach, deshalb frage ich ja lieber nach. Und wohl zurecht...

    oh ja, also


    Oder ist das die Problematik, dass der ULN2803 "gegen Masse zieht" und ich ja 5V anlege, wenn ich die Taste drücke. Diesen Satz hatte ich ohnehin in seinen Auswirkungen nicht ganz verstanden und deshalb hatte ich mir gleich noch einen UDN2981 gekauft, der wohl "gegen 5V zieht".

    das mit dem ULN ist schon mal OK, der zieht die Eingänge der Relaiskarte nach GND, genau da müsste deine Handschalter, Taster sitzen, auch nach GND ! parallel zum ULN Ausgang oder Relaisbord Engang nach GND.

    Es ist dann egal wer das Relaisboard nach GND zieht, der PI über ULN oder dein Taster, also klassische ODER Schaltung

    PI oder Taster schaltet Relais an, auch wenn beide schalten ist Relais an !

    stelle dir den ULN als Schalter vor an dem noch ein Schalter parallel sitzt

    http://www.udo-leuschner.de/computer/ccomputer.htm

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (3. März 2014 um 12:56)


  • habe ich dich jetzt richtig verstanden? :

    leider nein, dein Schalter liegt noch immer nicht parallel zum ULN Schalter

    z.B. stellvertretend für alle S1

    hängt an ULN out1 Pin 18, wo schaltet der nach GND ?

    richtig wäre mit dem 2ten Kontakt nach ULN 0C Pin 9

    usw.

    hier sieht man doch deutlich wie 2 Schalter parallel sind:
    http://www.udo-leuschner.de/computer/clogik2.gif

    mach dir einfach klar das ein ULN Ausgang ein Schalter ist der von OUTx nach 0V Pin 9 schaltet.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (3. März 2014 um 14:24)

  • Sag uns doch mal, bevor wir weiter raten, wie wird die Relaiskarte angesteuert? Mit H- oder L-Pegel. Auf deutsch: Wird dort +5V an den Eingang angelegt, um das jeweilige Relais anziehen zu lassen, oder wird der Eingang auf Masse gelegt?

    Da am Eingang Optokoppler erkennbar sind, vermute ich es handelt sich um die +5V-Variante. Dann wäre dein ULN nur mit Inverter (NOT) am Ausgang fähig die Karte anzusteuern.

    Aber wir müssen es schon genau wissen.
    MfG


  • Sag uns doch mal, bevor wir weiter raten, wie wird die Relaiskarte angesteuert? Mit H- oder L-Pegel. Auf deutsch: Wird dort +5V an den Eingang angelegt, um das jeweilige Relais anziehen zu lassen, oder wird der Eingang auf Masse gelegt?

    die "typischen" Saint Smart Module nach GND mit Brücke nach Vcc für die heisse Optokopplerseite
    http://www.sainsmart.com/8-channel-dc-5v-relay-module-for-arduino-pic-arm-dsp-avr-msp430-ttl-logic.html#

    dann ist der ULN 2803A erste Wahl für den PI ohne weitere Invertierung

    braucht wirklch mal einer +5V als high Treiber würde ich 74HC4050 an 5V wählen, nicht invertierend, +3.3V vom PI gibt +5V aus.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • die "typischen" Saint Smart Module nach GND mit Brücke nach Vcc für die heisse Optokopplerseite

    Was ist schon typisch? Ich kenne die Relaiskarte noch nicht. Ich habe mir sowas immer selber zusammen gelötet.

    Aber danke für den Link, sieht man in Bild 2 wenigstens mal die Schaltung.
    Jo, dann muss docadams die Schalter auch nach Masse und nicht an +5V legen.


  • Wenn euch die 16 Kanal-Karte intressiert, habe ich da mal ne Schaltung gezeichnet und hier mal gepostet.

    MfG Turbotoni

    hmm ja mit Ratespiel, dein Optokoppler ist wohl ein PC817 kein P817C
    1k Vorwiderstand ist mir zu hoch bei typischen 10mA If (max 50mA)

    http://www.produktinfo.conrad.com/datenblaetter/…01-en-PC817.pdf

    warum nicht gleich noch mit I2C 16 Bit Port MCP ?
    http://www.hobbytronics.co.uk/mcp23017-16bit-port-expander

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (3. März 2014 um 18:06)

  • Du wirst lachen, aber ich habe 2 von diesen 16 Kanal-Karten über 2 MCP 23017 am I2C Bus vom Pi.
    Den MCP und den PI versorge ich mit den 5V aus einer dieser Karte. Und da der MCP Open-Collector ausgänge hat, spare ich mir die Pegelwandler. Diese Schaltung läuft schon seit 6 Monaten im Dauerbetrieb und macht bei mir under anderen auch die Jalosien auf und zu.

    MfG Turbotoni

  • Tschuldigung, kann nicht immer online sein.

    Die Ralaiskarte hatte ich bei Amazon gekauft, damals noch für 19,99€ :-/
    Ehrlich gesagt, weiß ich über die Karte nur das, was dort veröffentlicht ist. Klingt jetzt sicher naiv, aber überredet haben mich die sehr überwiegend positiven Beurteilungen, auch der anderen Bestückungsvarianten. Und da gibt es ja auch einige Beurteilungen von Usern mit Raspberry. Ich wusste da noch nichts von den vielen möglichen "Feinheiten". Leider gab es kein Beiblatt in der Verpackung.
    Der SainSmart-Hersteller bzw. Händler verlinkt auf dieses Bild. OK, ich müsste meine Masse an GND rechts unten, neben dem Jumper, stecken. ... Könnte das rechte Bild, das mit dem Transistor und den beiden Widerständen, darauf hindeuten, dass "nach Masse gezogen" wird?

    Da bin ich eben mit meiner 220V-Denkweise limitiert ;) Für mich ist 0V gleich Masse gleich AUS und z.B. 5V gleich AN. So "Masse anlegen und es wird Eingeschaltet" ist noch nicht im Blut.

    jar: Jetzt sind die Taster parallel zum ULN und an Masse gelegt. Aber ist das auch so gemeint?

  • Der Transistor und die zwei Widerstände, die in deinen Bild auf der kleine Platine in der Mitte dargestellt sind, sind praktisch das selbe, wie in dem ULN enthalten ist. Die Eingänge der Relaisplatine müssen auf Masse gezogen werden, damit die Relais angesteuert werden.

    In deiner selbst gezeichnetten Schaltung braucht der Pin 10 nicht an +5V angeschlosssen zu werden.
    Es schadet zwar nichts, bringt aber auch nichts.

    MfG Turbotoni

    Einmal editiert, zuletzt von Turbotoni (3. März 2014 um 20:33)


  • Aber ist das auch so gemeint?

    ja so ist das gemeint, aber langsam, ganz langsam fühle ich mich veräppelt !



    jar: Jetzt sind die Taster parallel zum ULN und an Masse gelegt.


    was ist am Taster S1 zwischen ULN Pin 18 out1 und ULN Pin 9 GND nicht zu verstehen ?

    wo ist in deinem x-ten Plan der Taster an GND ? = Pin 9 vom ULN ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (3. März 2014 um 20:46)


  • Könnte das rechte Bild, das mit dem Transistor und den beiden Widerständen, darauf hindeuten, dass "nach Masse gezogen" wird?


    Ja, so ist es.

    Zitat


    Da bin ich eben mit meiner 220V-Denkweise limitiert ;)


    220V gibt es schon Jahrzehnte nicht mehr. Sind schon lange bei 230V~ angekommen.

    Zitat


    Für mich ist 0V gleich Masse gleich AUS und z.B. 5V gleich AN. So "Masse anlegen und es wird Eingeschaltet" ist noch nicht im Blut.


    Wenn du in 230V denkst, dann weiß du auch, das Strom fließt, wenn der Stromkreis geschlossen ist, sonst nicht. Es spielt dabei keine Rolle ob ich die Phase oder den Null schalte. Analog ist es hier. Ein Teil des Optokopplers liegt ständig an +5V (->Phase 230V). Schalten tut man dann mit dem 0V-Masse-Potential (->Null 230V). Erst dann fließt Strom.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!