23
Dez 2013
Marko

Relais mit dem raspberry pi schalten

Ich habe ja schon einiges über das ansteuern von Funksteckdosen geschrieben. Die eine Möglichkeit zu funken, ist das direkte senden von 433mhz. Wenn ihr aber keine kompatibles Funksteckdosen System habt oder z.b. 868mhz senden wollt kann man auch eine bereits vorhandene Funkfernbedienung an den pi anlöten um diese zu schalten.

Hierzu benötigt Ihr zuerst einmal ein Relais. Kompatible Platinen gibt es in verschiedene Ausführungen.

4 Kanal Relais auf einer Platine oder
8 Relais auf einer Platine*

Im Beispiel verwende ich das 8 Relais Modul*:

Schauen wir uns das Modul mal an:
(Da ich nie irgendetwas elektrotechnisches gelernt habe, werde ich wahrscheinlich nicht ganz korrekte Begriffe verwenden. Entweder ignoriert ihr das oder weißt mich in den Kommentaren darauf hin.)

8relaismodul

Ich habe verschiedene Bereiche eingezeichnet. Bei dem 8er Modul befinden sich unten 8pins. Ganz links den GND ganz rechts den VCC Pin für 5v. Dazwischen liegen 8 Daten-Pins, diese sind von links nach rechts für die 8 Relais-Blöcke zuständig.

Vor jedem Relaisblock befindet sich eine Kleine Diode, diese zeigen an ob das jeweilige Relais auf Stellung 1 oder Stellung 0 steht. Aber gucken wir einen Einzelnen Block mal genau an:

relais

Vor jedem Block an der Oberseite gibt es jeweils drei Anschlüsse, das Relais verbindet entweder Mitte + Links oder Mitte + Rechts.

Ob 0 oder 1 ist gleich beim schalten via Software wichtig und JA, die Diode ist bei 0 an und bei 1 aus. Habe keine Ahnung warum das so ist aber dafür gibt es sicherlich einen total Elektrotechnischen Grund, oder so.

Auf dem pi verwende ich das Programm gpio um das Hardware-gpio an zu steuern. Gpio kommt mit der Software wiringPi also ladet und installiert zuerst wiringPi.
Hier die Kurzfassung:

# code aus Git Clonen
git clone git://git.drogon.net/wiringPi
# ins Verzeichnis wechslen
cd wiringPi
# die neusten Sourcen laden
git pull origin
# ins Verzeichnis wechslen
cd wiringPi
# Installationsskript starten
./build

nun solltet ihr das Programm gpio ausführen können, testet einfach mal:
gpio -v

Jetzt sucht ihr euch einen Datenpin an eurem pi und verbindet diesen mit einem der Datenpins am Relaismodul, außerdem solltet Ihr GND und VCC spätestens jetzt angestöpselt haben.

Schaut nach der richtigen Pin Bezeichnung: Ich habe den Relais Pin 1 mit dem Pin 16 am raspberry Pi verbunden. An gängigen Plänen (google Bilder suche) kann man ablesen dass ich für GPIO also Nummer 23 schalten muss.
Kurz: Pin 16 am pi = Nummer 23 für das Programm GPIO.

Jetzt sind wir nur noch zwei Command Zeilen vom schalten entfernt.
1. bringt dem Raspberry Pi bei, dass Pin 16 (also 23) zum senden von Daten zuständig sein soll:

gpio -g mode 23 out

2. Schaltet das erste mal euer Relais:

gpio -g write 23 0
bzw.

gpio -g write 23 1

die letzte Zahl (1 bzw 0) steht für die oben erwähnte Stellung.

Die Anwendungsmöglichkeiten sind zahlreich. Je nach Relais könnt ihr nun 230v schalten oder auch einfach nur einen Taster einer Fernbedienung überbrücken um diesen quasi automatisiert zu drücken.

Bei 230v ist natürlich Vorsicht Gebote das solltet ihr nur tun wenn ihr euch mit Strom auskennt sonst besteht hier Lebensgefahr.

Wie auch beim letzten Tutorial wünsche ich Happy Trigering

(*=Affiliatelink)


15 Kommentare zu "Relais mit dem raspberry pi schalten"

  1. Ali schreibt:

    Hallo Ich habe die 2 er Version des Relais auch bei mir ist ein Jumper verbaut wie bei dir oben im Bild. Nur leider erkennt man nicht auf deinem Bild wie der Jumper angesteckt sein muss bzw. ob überhaupt der Jumper eingesteckt sein muss.

    Eine weitere Frage ist: Hab ich das richtig verstanden, dass nur drei Kabel vom PI ausgehen – GND, 5V und eine GPIO Datenleitung als out

    Und meine letzte Frage:
    Um so eine Funkfernbedienung zu überbrücken muss ich immer nur 2 Leitungen vorne an die Schraubklemmen an den Relais anschrauben also etnweder
    Links und Mitte oder Rechts und Mitte. Und in welchen Fällen schließe ich was an alle 3 Schraubkontakten an oder gibt es den Fall nicht?

    Vielen Dank für die Hilfe!

    Gruß Ali

  2. onkeloki schreibt:

    Hi Ali, wenn du von vorne drauf guckst so dass die 3 Pinne mit dem Jumper rechts unten sind. Verbindet der Jumper bei mir den rechten und den mittleren quasi so o [o o] (Was genau der Jumper tut weiß ich auch nicht). Ja du musst nur GND und 5V anschließen und einen der Pins als Daten Pins. Dann 1. dem pi mitteilen dass der pin zum schreiben benutzt werden soll und 2. den wert 0 bzw 1 auf den Pin senden.

    Ein Relais verbindet immer MITTE LINKS bzw MITTE RECHTS. Also du musst zum AN und AUS schalten nur 2 kabel pro Relais anschließen.
    Im Ruhezustand überbrückt das Relais quasi schon zwei der drei Anschlüsse.

    Gruß Marko

  3. Pingback: Raspberry pi Funkfernbedienung überbrücken : onkeloki

  4. RenWin schreibt:

    Da ich grade eine Ausbildung zum Elektriker mache wollte ich euch hier noch ein wenig erklären.

    Die Relais besitzen einen NC(nomal close = unbetätigt geschlossen) und einen NO(nomal open = unbetätigt offen) Kontakt. Um z.B. eine Web Reset für Server zu realisieren, kann man den nc Kontakt nutzen, da im Falle eines Fehlers der Kontakt weiterhin gegeben wäre. Also der Server lauft noch weiter.

    nc = nomal close = unbetätigt geschlossen
    no = nomal open = unbetätigt offen

    no nutz man wiederum z.B. für Taster die für eine Selbsthaltung bestimmt sind.
    Große Maschinen arbeiten z.B. mit solchen Selbsthaltungen, da die Taster so nicht dauerhaft unter Strom stehen und der Verschleiß deutlich geringer ist.

  5. Marko schreibt:

    Woow, vielen dank für die Erklärung. Schönes Wochenende noch.

  6. Jan schreibt:

    Hallo oki,

    nur mal kurz zur Klärung meiner Verwirrung eine kurze Frage: Kann ich an das Relais direkt „normale“ 230V – also Steckdose – hängen? Ich hätte eine 3W Heizmatte zu steuern die leider nur einen normalen Steckdosenanschluss hat. Also ein/aus. Würde dann das Relais dazwischen hängen.

    LG
    Jan

  7. Marko schreibt:

    Wenn das Relais dafür ausgelegt sind geht das. Normalerweise sind AC und DC Werte angegeben. Wegen der vorhandenen Lebensgefahr, solltest natürlich wissen was du tust.

  8. Jan schreibt:

    Jupp, da passe ich auf – Gehäuse, Isolierungen und sonstige Standards beim Umgang mit Strömen werde ich wie immer beachten – und sind auch schon fest geplant. Ich hatte nur bisher nicht groß mit Relais zu tun – und vor allem nicht im Zusammenspiel mit dem Pi. 😉
    Bei den von dir angegebenen Modellen steht „Ausgestattet mit Hochstrom-Relais, AC250V 10A, DC30V 10A“ – insofern denke ich 250V bsi 10A sind ok…

  9. Markus schreibt:

    Hi,

    danke für Deinen Blog und die vielen hilfreichen Themen hier!

    Zu den Relais hätte ich als absoluter Elektronikanfänger jedoch noch eine Frage: Kann man den PI bedenkenlos direkt an dieses 8er Relais anschliessen, oder sollte dort sicherheitshalber noch etwas „zwischengeschaltet“ werden? Im Netz liest man häufig davon, dass durch die Relais 5V auf die GPIO Ports fliessen, was den PI zerstört…. Ist da etwas dran, oder sind die aktuellen Relaisboards (wie das hier vorgestellte) anders ausgelegt?

    VG Markus

  10. Marko schreibt:

    Das relai wird ja vom PI mit Strom versorgt, also 5V fliest vom PI zum relai.

    also zum 8er relais gehen max 10 Kabel auf die pins,
    1x 5v
    1x grnd
    8x GPIO port (datenkabel für das jeweilige relais)

    Davon dass die GPIO pins irgendwie Abrauchen wenn die am relais sitzen habe ich noch gehört.
    An meiner Cocktailmaschiene habe ich einen 8 er Relais welches ich wie oben beschrieben angeschlossen habe 😉 ( pi model b)
    kann mir nicht vorstellen das da was kaputt gehen soll. Hab das jetzt schon öfters auch mit anderen relais gemacht (2er und 4er) immer problemlos

  11. Markus schreibt:

    Hallo Marko,

    danke für die prompte Antwort, dann kann ich den Versuch ja wagen.

    Im Netz gibt es halt haufenweise diese Schaltungen: http://ras-pi.de/2014/07/relaisboard-per-raspberry-schalten/

    Die empfehlen aus Sicherheitsgründen immer Transistoren vorzuschalten, um den Pi zu schützen. Problem ist wohl, dass beim Schalten der Relais ,die 5V vom Pi auf die 3,3V GPIO Pins geschaltet werden, so wie ich das als Elektro-Laie verstanden habe. Zudem soll es besser/sicherer sein das Relaisbord mit einer eigenständigen Spannung zu versorgen und diese nicht vom Pi abzugreifen.

    Ich habe aber wie gesagt Null-Plan von der Sache und wenn es bei Dir in unterscheidlichsten Konstellationen funktioniert, dann wage ich mich auch mal daran.

  12. Marko schreibt:

    so sieht meine maschiene von hinten aus 😉

    http://onkeloki.de/wp-content/uploads/2015/08/cocktailmaschienevonhinten1.jpg

    viele bunte kabel gehen vom PI sofort aufs Relais
    LG

  13. Dennis schreibt:

    Hallo,
    Ich habe mir auch ein Relais besorgt, kann aber nur 3 der 8 Relais ansteuern… Die restlichen Relais led’s leuchten dauerhaft gedimmt, woran liegt das??

    Danke vorab
    Gruß
    Dennis

  14. Marko schreibt:

    Versuch doch mal die Kabel um zu stecken, wenn dann die anderen Relais schalten dann ist es ein software Problem.

  15. DrOetker schreibt:

    Hi Marko,
    habe auch vor eine Art Coktailmaschine zu bauen und bin beim Recherchieren auf deinen Blog gestoßen. Direkt ein Lesezeichen gesetzt, wird auf jeden Fall helfen wenn ich mich an das Projekt mache.

    Da ich absoluter Anfänger in Sachen Elektrotechnik bin frage ich mich derzeit noch folgendes:

    Der Pi wird ja ganz normal mit seinem Netzteil versorgt, die Spannung reicht ja aus um das Relais zu schalten. Was ich nun noch nicht ganz verstanden habe ist auf welchem Weg man die Pumpen mit Strom versorgen sollte. Kriegen die ein eigenes Netzteil? Wenn ja was für eins und wie wird das angeschlossen? Vielleicht hast du ja ein paar Detailfotos deines Kabelbaums?

    Das ist momentan noch so der Knackpunkt den ich in meinem Denken habe. Ansonsten werde ich wohl bald loslegen und den Kram kaufen zum Basteln.

    Ich weiß auch noch nicht ob ich CocktailUI verwenden werde oder selbst was code. Vielleicht commite ich auch was in deinem Repository falls ich auf CocktailUI aufsetze. Habe ein etwas anderes Anforderungsprofil als eine reine Cocktailmaschine deshalb.

    Vielen Dank für deine hoffentlich kommende Antwort!

Kommentar verfassen