Raspberry Pi GPIO - Relay schalten

Hallo Community,
für ein privates Projekt will ich an meinen Rasperry Pi ein Relay anschließen und dieses ansteuern.

Da ich wenig Erfahrung in Elektrotechnik habe und ich mich zudem schulisch mit der hierfür unnützen Relativitätstheorie herumschlage, bin ich auf eure Erklärungen angewiesen.
Ich brachte durch Konsultieren eines Elektrikers grob in Erfahrung, was die einzelnen Komponenten des Schaltplanes machen, genaueres weiß ich jedoch noch nicht.

Relay-Sample.png

Quelle: http://www.susa.net/wordpress/wp-content/uploads/2012/06/Relay-Sample.png
Webseite mit tiefgehenden Informationen: http://www.susa.net/wordpress/2012/06/raspberry-pi-relay-using-gpio/

Anhand des Textes konnte ich mir zudem erklären, dass der Transistor die anliegende Spannung erst verstärken muss, bevor das Relay schalten kann.

Wie jedoch lässt sich die Schaltung erklären? Liegen 2 Spannungsquellen an? Ich hoffe, ich treffe hier auf Leute mit physikalisch/elektrotechnischen Grundkenntnissen, die mir die vorliegende Schaltung kurz erläutern können.

Im Stromkreis, den das Relay steuern soll, fließen nicht mehr als 7V bei niedriger Stromstärke.

Mir geht es in erster Linie um den Part zwischen Raspberry Pi und Relay.

mit freundlichen Grüßen,
frohes Fest,
JoRoe
 
Zuletzt bearbeitet:
Wenn der Pin hochohmig ist fließt kein Strom über die Basis von Q1 und Q1 ist somit ebenfalls hochohmig.
Wenn der Pin niederohmig ist (also seine <1 mA liefert) fließt ein Strom über die Basis von Q1, der niederohmig wird. Damit fließt ein Strom von +5V zu GND über das Relais und die EC-Strecke von Q1.
Das Relais zieht dann an. Fällt es wieder ab fungiert D1 als Freilaufdiode und schließt entstehende Induktionsströme kurz, die sonst den Rest der Schaltung beschädigen würden.

Ich würde den Basiswiderstand R1 btw. ungefähr dreimal so hoch ansetzen. 2.7 oder 3.3K sollten besser passen.
 
Perfekt Enkore! Vielen Dank! Mit so einer klassen Erklärung kann man das natürlich sehr einfach verstehen!

Eine kleine Verständnisfrage hätte ich noch (da ich auch einwenig die physikalischen Hintergründe verstehen möchte):

Also bekanntlich ist R=U/I -> I=U/R -> I=3,3V/1000Ohm = 3,3 mA
Das heißt, es fließen ca 3,3mA an die Basis des Transistors.

Der Kollektorstrom IC ist um ein vielfaches von 20 bis 10000 mal größer als der Basisstrom IB. Dieser Größenunterschied kommt von der Aufteilung des Elektronenflusses von Kollektor (C) und Basis (B). Diesen Größenunterschied nennt man Stromverstärkung B. Er lässt sich aus dem Verhältnis IC zu IB berechnen.
Quelle: Bipolarer Transistor (NPN PNP Aufbau Funktionsweise)

Dem entnehme ich: B = Ic/Ib
Der Transistor hat die Typenbezeichnung Q1BC337.
Steht hier BC337 für B=337? Oder wo bekomme ich sonst die fehlende Angabe? Kann ich die fließende Stromstärke überhaupt so berechnen? Ich komme mit der Angabe B=337 auf 1,1121A bei 5 V, die durch das Relay und den Transistor fließen. Ist das realistisch?

//EDIT: Ich habs gerade noch einmal im Schaltplan entdeckt, dass ein Relay bei 5V typischerweise zwischen 50 und 100 mA zieht. 337 war also nicht B; Diese Aussage steht aber wiederum mit der angegebenen Quelle in Konflikt. -> Woher bekomm ich B? Wie kann ich den fließenden Strom berechen?

Danke für deine/eure Antworten!
mit freundlichen Grüßen,
JoRoe
 
Zuletzt bearbeitet:
Die Verstärkung wird häufig mit dem Wert hFE angegeben: Datenblatt
Die sollte bei dem Transistor so in etwa im Bereich von 100 bis 630 liegen (man sieht, sehr variabel). Zum Dimensionieren kannst du in deinem Fall einfach mal vom minimalen Wert ausgehen. Wenn es dann nämlich mit der Verstärkung funktioniert, dann haut es bei größeren Werten ebenfalls hin.

mfg benediktibk

PS:
Im Stromkreis, den das Relay steuern soll, fließen nicht mehr als 7V bei niedriger Stromstärke.
Spannung liegt an, Strom fließt :wink:
 
Perfekt Enkore! Vielen Dank! Mit so einer klassen Erklärung kann man das natürlich sehr einfach verstehen!

Eine kleine Verständnisfrage hätte ich noch (da ich auch einwenig die physikalischen Hintergründe verstehen möchte):

Also bekanntlich ist R=U/I -> I=U/R -> I=3,3V/1000Ohm = 3,3 mA
Das heißt, es fließen ca 3,3mA an die Basis des Transistors.

Korrekt, das würde ich aber lieber nicht den GPIO-Pins zumuten. Wenn du was um die 3K nimmst, sollte der Transistor noch genug haben, um sauber durchzuschalten, und belastest den Pin nicht so sehr.
 
die verstärkung deines transistors ist für diese anwendung relativ irrelevant ...

du benutzt das ganze als treiberstufe um digitale zustände abzubilden

dein transistor hat zwar eine verstärkung, kann also für kleine analoge signale diese mit dem faktor der verstärkung vergrößern, aber ab einer gewissen aussteuerung, wird dein ausgangs signal nicht mehr aussehen wie das vergrößerte (verstärkte) eingangs signal, sondern die spitzen werden abgeschnitten ... wird die aussteuerung des eingangs noch größer, wird das ausgangssignal immer rechteckiger ...

im digital betrieb hat dein eingang, und damit auch dein ausgang genau 2 zustände ... keine spannung, und signal spannung ... die signalspannung liegt für gewöhnlich weit jenseits der aussteuerung bei der im analog betrieb das abschneiden (klirren) der spitzen beginnt ... (das ist die einzige bedinung für die verstärkung des transistors ... groß genug damit der transistor übersteuert... bei dem zitierten B von min. 100 kannst du davon ausgehen dass dieser zustand bei einer ansteuerung von >=1mA in die basis des transistors hinreichend erreicht wird ... sogar wenn du 3k als R1 nimmst)

der transistor hat damit die eigenschaft eines schalters übernommen ... entweder er sperrt, oder er hat (nahezu) keinen wiederstand ...

im fall in dem der transistor durchschaltet muss der strom durch die anderen bauteile begrenzt werden ... sprich relais spule und vorwiderstand (letzterer im bild nicht vorhanden)
 
Ich habe mich nun einmal darüber gemacht, passende Teile im Internet zu suchen. Hierbei haben sich - wie nicht anders erwartet - neue Fragen ergeben.

Folgende Komponenten habe ich bisher herausgsucht:

Relais: Relaisplatine REL-PCB4 mit Relais 5 V/DC-Spule REL-PCB4 1 5 V/DC 1 Wechsler 50 W/110 VA im Conrad Online Shop | 503328
Transistor: Bipolar-Standard-Leistungstransistor Diotec BC 337-25 NPN Gehäuseart TO 92 I(C) 1 A Emitter-Sperrspannung U(CEO) 45 V im Conrad Online Shop | 155900
Widerstand:
5 Watt Drahtwiderstand axial bedrahtet Hochlast 1.2 k

Nach meinem Kenntnisstand dürften diese Komponenten harmonieren, bitte verbessert mich, falls ich hier schon einen Fehler gemacht habe. Den Widerstand werde ich vielleicht noch ein wenig hochohmiger ansetzen, sobald ich die Schaltung erfolgreich in Betrieb genommen habe.

Jetzt geht es an die Diode. Und hier bin ich offen und ehrlich gesagt einwenig überfordert, da keinerlei Angaben zu dem Bauteil auf der vorliegenden englischen Blogger-Webseite gemacht werden.

Gibt es irgendwelche Kennzahlen auf die ich achten muss? Nach welchen Daten muss ich hier suchen? Würde sich beispielsweise diese Diode eignen?

Danke für eure Antworten!
mit freundlichen Grüßen,
JoRoe
 
relais: das von dir gewählte relaus kann spannungen bis 125V AC schalten ... je nach dem was du schalten willst ist das zu klein, oder auch nicht ...

transistor: ist der in der schaltung angegebene ...

widerstand: der widerstand ist für 5W ausgelegt ... damit bei 5V auf sträme bis 1 ampere ... du möchtest 0,001 bis 0,003 ampere da drüber schicken ... der täte es in dieser hinsicht auch ein paar nummern kleiner ... metallschicht widerstände mit 0,6W täten es auch ... kauf 3 mal 1k ... bist immernoch billiger und kannst gleich beide fälle testen ... aber da gehts wohl eher um centbeträge ...

diode (freilaufdiode) :

kurz und knapp: ja die reicht
ausführlicher: du brauchst eine freilauf diode ... warum? ... dein relais enthält eine spule ... spulen haben für integrierte schalutungen einige fiese eigenschaften ... eine davon lautet: sie erlauben nicht das sich der strom schlagartig ändert ... fließt da ein strom von 50mA und liegen 5V versorgungsspannung an, sagt die spule ... egal was du tust ... diese 50mA fließen weiter ... wenn du nun die spannung entfernen würdest, sorgt das dafür dass das kollabierende magnetfeld der spule die spule selbst zur spannungsquelle macht ... das ding produziert dann eine spannung um die 50mA Stromfluss aufrecht zu erhalten ... nicht lange, dafür ist nicht genug energie da, aber die vorhandene energie wird in die aufrechterhaltung des stroms gesteckt ... das hat auch zur folge, dass in dem moment wo du den transistor hochohmig schaltest die spule sagt: dieser strom fließt weiter ...

und wenn der transistor einen wiederstand von 100 mega ohm hat ... egal ... da sich das ohmsche gesetz nicht verbiegen lässt, bleibt U=R*I ... sprich R ist 100 mega ohm ... I die besagten 50mA ... und die spannung U am transistor erreicht unfreundliche spannungen im millionen volt bereich ...

zumindest theoretisch ... praktisch sind alle bautele nicht ideal, und auch die energiemenge der spule ist begrenzt ... die spannung wird allerdings dennoch so groß dass sie auf dauer schäden am transistor anrichtet ... nach ein paar stunden schaltbetrieb kannst du ihn wegwerfen ...

lösung des problems bietet die besagte diode D1 ... eine sogenannte freilauf diode sorgt dafür dass der strom weiterfließen kann ... ohne über den transistor zu gehen ... der spulenstrom wird kurzgeschlossen ... die energie heizt dann nur die spule und die diode etwas auf und verpufft ...

die diode muss in der eingezeichneten richtung eingebaut werden, sonst schließt sie nicht den spulenstrom kurz sondern den versorgungs strom ...

die diode muss 2 charakteristische eigenschaften haben ... ihre sperrspannung muss oberhalb der betriebsspannung liegen... und ihr nennstrom / wiederholbarer impulsstrom muss oberhalb des stromes liegen der die spule im normalbetrieb treibt ...

ist hier beides erfüllt ...
 
Danke für diesen sehr ausführlichen Beitrag!

Nach ein bisschen Grübeln kam mir noch eine ganz andere Idee. Nach meinem Kenntnisstand kann man einen Transistor als Schalter nutzen. Müsste es dann nicht auch möglich sein, ihn als Relais zu "missbrauchen"?
Im Datenblatt ist ein maximaler Kollektorstrom von 800 mA angegeben. Sofern ich diesen und die maximale Collector-Emitter-Spannung von 45V nicht überschreite müsste das Ganze so funktionieren, oder denke ich hier falsch?

attachment.php


Ich weiß, dass an meiner Spannungsquelle, die ich steuern will, 3,3V anliegen. Wie es mit der Stromstärke aussieht, weiß ich gerade nicht, aber mir geht es nur einmal um die grundsätzliche Theorie.

Danke für eure Antworten!
mit freundlichen Grüßen,
JoRoe.
 
Mit der Schaltung schliesst du allerdings nur die Spannungsquelle deiner
zu steuernden Schaltung kurz.
Da wo dein -Pol ist müsstest du den + Pol für die Schaltung legen.


Gruss
 
Natürlich, das war schon so gedacht, ich habe es nur in der Kürze der Zeit falsch aufgezeichnet. :)
Abgesehen davon würde die Schaltung jedoch funktionieren?

Mit freundlichen Grüßen,
JoRoe.
 
Rein prinzipiell ja, nur darfst du in der Beschaltung ja keine gemeinsame Masse zwischen dem Raspberry und deinem angesteuerten Gerät haben. Deswegen hängt man in so einer Beschaltung die Last gerne oberhalb des Transistors hinein. Nennt man dann Open-Collector Ausgang.

mfg benediktibk
 
Rein prinzipiell ja, nur darfst du in der Beschaltung ja keine gemeinsame Masse zwischen dem Raspberry und deinem angesteuerten Gerät haben.

?


OC schaltungen haben doch gerade nur die gemeinsamme masse, und beziehen auf der geschalteten seite eine (oder mehrere) abweichende versorgungs spannung(en) ... oder bin ich da gerade völlig verpeilt?

aber zurück zum thema ... wenn du schon experimentierfreudig bist, und dabei die belastung des pins klein halten willst, schau dir mal feldeffekt transistoren an ... (stichwort "MOSFET") ... die zeichnen sich dadurch aus, dass sie abgesehen vom eigentlichen schaltvorgang, so gut wie keinen versorgungs strom brauchen um ihren schaltzustand aufrecht zu halten ...

trivia: das ist der grund warum cmos-bausteine mit sehr wenig energie ihren zustand halten können
 
Also nur noch einmal zum Verständnis: ich würde den Stromkreis, den ich steuern will "aufzwicken" und dann gemäß den obigen plan den Transistor anschließen.

Existiert hier ein Problem mit der Masse, oder würde das funktionieren? Die Geschichte mit den MOSFET Transistoren werde ich mir eventuell ansehen, sobald die Schaltung funktioniert...

Danke schon einmal!
 
OC schaltungen haben doch gerade nur die gemeinsamme masse, und beziehen auf der geschalteten seite eine (oder mehrere) abweichende versorgungs spannung(en) ... oder bin ich da gerade völlig verpeilt?

In der Schaltung oben würden bei gleicher Masse kein Strom über eine mögliche Last zwischen dem Minus-Anschluss und Masse fließen. Bei eingeschaltetem Zustand wäre es dann ein schöner Kurzschluss der Last-Quelle über den Transistor, die Masse des Raspberry und der Masse der Last-Quelle.

Wenn man die Last allerdings zwischen den Transistor und den positiven Pol der Lastquelle hängt hat man kein Problem mit der Masse. Das ist dann zwar kein klassischer Open-Collector-Ausgang, aber Open-Collector bleibt doch irgendwie Open-Collector, auch ohne Pull-Up Widerstand.

Um zu den MOSFETS zurück zu kommen: Sicher keine schlechte Idee, damit kann man größere Leistungen auch direkt schalten. Ausreichen müsste zum Beispiel dieser hier.

mfg benediktibk
 
Ich habe mich schon einwenig über open-collector informiert und stolperte auch über den Begriff der Pull-Up Widerstände, jedoch habe ich keine passende Adaption für diesen Fall gefunden.

Leider verstehe ich den Begriff der "Last" in diesem Zusammenhang nicht. Könntest du eventuell den Aufbau noch einmal mit den verwendeten Komponenten beschreiben?

Danke!
 
Unter Last verstehe ich ganz allgemein das Ding, das du ansteuern möchtest (Widerstand, Leuchtmittel, Waschmaschine, elektronisches Furzkissen ...)

attachment.php
 
Bei FETS muss man aber wieder andere Sachen beachten (Entladen der Felder etc.) - ist also auch nicht so einfach. Außerdem würde Deine Schaltung, benediktibk, nicht ganz funktionieren, ohne Widerstände klappt das rein technisch und physikalisch nicht wirklich.


Hier gibt das Elektronik-Kompendium hervorrragende Grundlagenkenntnisse in allen Bereichen:
JFET - Sperrschicht-Feldeffektransistoren

Und Vertiefendes wie z.B beim Thema FET als Schalter:
Der analoge Schalter I (JFET, BF245, knackfreier Umschalter, Tiefpassfilter, RDS-on, Sample-Hold)

Alles im Allem habe ich die Erfahrung gemacht, dass man erst mit den Bipolar-Transen basteln sollte und sich erst dann an die FETs wagen. Zumindest meine Schüler bekommen immer schon große Augen, wenns beim Bipolar ans Eingemachtere geht - beim FET ist der Ofen dann oft schneller aus; zumindest am Anfang - denn eigentlich ist das die meist bessere Wahl.
 
Zuletzt bearbeitet:
In der Schaltung oben würden bei gleicher Masse kein Strom über eine mögliche Last zwischen dem Minus-Anschluss und Masse fließen. Bei eingeschaltetem Zustand wäre es dann ein schöner Kurzschluss der Last-Quelle über den Transistor, die Masse des Raspberry und der Masse der Last-Quelle.

Wenn man die Last allerdings zwischen den Transistor und den positiven Pol der Lastquelle hängt hat man kein Problem mit der Masse. Das ist dann zwar kein klassischer Open-Collector-Ausgang, aber Open-Collector bleibt doch irgendwie Open-Collector, auch ohne Pull-Up Widerstand.

eine mögliche last im emitter zweig (E - last - GND,V-) macht aus der geschichte allenfalls eine collector schaltung, aber keinen open collector, und wenn die last weiter in richtung V- verschiebst (E,GND - last - V-), hast du natürlich recht, das der transistor keinen einfluss mehr auf den strom der last hat (welcher strom durch die last fließt hängt davon ab wie das potential zwischen V- und GND liegt ... bei ideal betrachtung wäre das wohl direkt V-)

OC darf man sich vorstellen wie einen masse anschluss zum ein und aus schalten ... mit der einschränkung dass da halt nur ströme abfließen aber nicht zufließen können

 
Bei FETS muss man aber wieder andere Sachen beachten (Entladen der Felder etc.) - ist also auch nicht so einfach. Außerdem würde Deine Schaltung, benediktibk, nicht ganz funktionieren, ohne Widerstände klappt das rein technisch und physikalisch nicht wirklich.

Wenn der GPIO wirklich nur ein Schalter ist hast du natürlich recht. Für diese einfache Beschaltung müsste eine logische 0 eine Beschaltung des Ausgangs auf Masse darstellen, was es aber wahrscheinlich nicht sein wird. Ob man jetzt einen Dämpfungswiderstand tatsächlich braucht wäre interessant zum Ausprobieren, es schadet aber sicher nicht einen dazwischen zu hängen. (Insofern man nicht sehr kurze Schaltzeiten benötigt)

mfg benediktibk
 
Zurück
Oben