Forum: Mikrocontroller und Digitale Elektronik Relaisschaltung an Raspberry


von Markus (Gast)


Lesenswert?

Hallo!
Ich hätte eine kurze Frage an die Elektroniker.
Undzwar haben mein Freund und ich die Idee eine Rundenanzeige für 
unseren Verein zu bauen.
Nun haben wir ca. 70 10mm LEDs auf einer Holzwand montiert in der Form 
einer 7-Segmentanzeige.

Mein Part wäre die Steuerung:
Ich möchte es wie folgt lösen:

Die LEDs in die 7 Gruppen/Segmente unterteilen und mit dem Raspi über 
die GPIOs die Segmente ansteuern, sprich 7 GPIOs verwenden. Das Problem 
wäre nur, dass der Raspi max 8mA liefern kann. So davhte ich mir, dass 
ich einen Transistor an den GPIO hänge und über den Transistor ein 12V 
DC Relais anhänge, welche Versorgungsmässig an einer Motorradbatterie 
hängt.
Ein Relais sollte dann eine Gruppe von LEDs einschalten.
Kann ich pro Gruppe die LEDs parallel an das Relais und die Masse der 
Autobatterie schliessen?

Oder habe ich generell einen Denkfehler?

von schasche (Gast)


Lesenswert?

Da du mit den Raspi nicht alle LEDs direkt einzeln ansteuern kannst, 
wirst du multiplexen müssen und dann sind Relais die denkbar 
schlechteste wahl.

Beim Multiplexen am besten alle gleichen Segmente der Ziffern (also z.B. 
oben) parallelschalten und dann die Ziffern schnell genug nacheinander 
ansteuern. Als Treiber würden sich Transistoren, Mosfets oder spezielle 
TreiberICs anbieten.

von Schlumpf (Gast)


Lesenswert?

Soll das Ganze nur eine einstellige Anzeige werden?
Also 0...9 ?

von Max H. (hartl192)


Lesenswert?

LEDs nur parallel wenn jede ihren eigenen Vorwiderstand hat. Bei 12V 
würde ich je 3 mit Vorwiderstand in Serie schalten und diese 
Serienschaltungen dann parallel.

Für die paar LEDs brauchst du kein Relais, da reicht ein einfacher 
Transistor.

von Schlumpf (Gast)


Lesenswert?

Wenn du nur eine einstellige Anzeige realisieren willst, dann kannst du 
das so machen, wie du beschrieben hast.
Mit 7 GPIOs steuerst du je ein Segment welches aus 10 LEDs besteht.

Allerdings würde ich die Ansteuerung nicht mit Relais machen, sondern 
über Logic-FETs. Diese kannst du einfach direkt mit dem Ausgang des Pi 
ansteuern.

Wie Max geschrieben hat, würde ich auch die LEDs in Reihen- und 
Parallelschaltung gruppieren.

Wenn dir z.B. 12V zur Verfügung stehen (die ggf auch auf 11V abfallen 
können) und die LED 2V hat, dann könntest du z.B. 4 LEDs in Reihe 
schalten
und die "übrigen" 4V an nem Widerstand abfallen lassen.

Alternativ könntest du auch pro Strang eine KSQ aus nem Transisotr und 
ner Z-Diode bauen, welche du über den GPIO des Pi direkt ein und 
ausschalten kannst. "Vereinigst" du die Funktion des FET und des 
Vorwiderstandes in der KSQ mit dem Vorteil, dass die Helligkeit der LEDs 
unabhängig von der Spannung deiner Batterie ist.

von hinz (Gast)


Lesenswert?

Max H. schrieb:
> Bei 12V
> würde ich je 3 mit Vorwiderstand in Serie schalten und diese
> Serienschaltungen dann parallel.

Kommt drauf an wie groß die Flusspannung der LEDs ist. Bei roten LEDs 
mit ca. 1,6V kann man problemlos je 5 in Reihe schalten, das passt auch 
gut zu den insgesamt 10 Stück pro Segment.

Und Relais sind überflüssig, ein ULN2003 wird reichen.

von Markus (Gast)


Lesenswert?

Danke schonmal für die Vorschläge!
Ja es soll nur eine einstellige Anzeige werden.
Ich habe mir bereits gedacht, dass ein Relais ein Overkill ist.
Ja wahrscheinlich werde ich je 5 in Reihe schalten undso 2 Parallele 
Kreise pro "Segment" haben.
Kann mir jemand eine Schaltung empfehlen, welche ich direkt am Pi GPIO 
amschliessen kann um so ein Segment mit genügend Saft zu versorgen?

von Max H. (hartl192)


Lesenswert?

Welche Farbe haben die LEDs? Abhängig von der Farbe könnten 5 in Reihe 
an 12V zu viel sein.

Um die LEDd zu schalten würde ich ein paarLogL N-Mosfets oder einen 
ULN2003 an den Pi hängen.

: Bearbeitet durch User
von Markus (Gast)


Lesenswert?

Es sind rote 10mm (jumbo) LEDs.
Jetzt habe ich aber ein kleines denkerisches Problem:

Wenn ich kein 12V Relais brauche, kann ich dann den ULN an die 5V und 
GND des Raspi hängen?
Liefert der ULN dann trotzdem 5V am Ausgang und genügend Strom?

von hinz (Gast)


Lesenswert?

Markus schrieb:
> kann ich dann den ULN an die 5V und
> GND des Raspi hängen?

Der ULN braucht keine Versorgungsspannung, der Diodenanschluss kann bei 
LEDs als Last frei bleiben.


> Liefert der ULN dann trotzdem 5V am Ausgang und genügend Strom?

Der ULN verhält sich wie Schalter nach GND. Also Minuspol des Akkus an 
GND, Pluspol über LED-Kette und Widerstand an Ausgang des ULN.

von Markus (Gast)


Lesenswert?

Hallo nochmal!
Ich hab jetzt noch ein bisschen hin und her überlegt und hab mich 
eigentlich auf die Variante mit dem ULN2003 festgeschossen. Jedoch will 
ich 2 ULNs pro Segment, sprich 5 LEDs als Last für einen nehmen.
Da ich 12V zur Verfügung habe und die LED laut Datenblatt eine 
Flussspannung von 2,2V hat (ja ich weiss, dass dies sehr ungenau ist und 
jede LED anders)
Müsste ich noch 1V an einem Vorwiderstand abfallen lassen und somit den 
Strom auf 20mA begrenzen.
Doch daraus ergibt sich ein sehr kleiner Widerstand, was bei 
Spannungsschwankungen des Netzteilsassive Änderungen des Stromes 
bewirken kann :S

Nun dachte ich mir, dass ich einen LM317 als KSQ verwende, jedoch 
bräuchte diese mehr als 1V Spannung oder?

von Max H. (hartl192)


Lesenswert?

Markus schrieb:
> Jedoch will ich 2 ULNs pro Segment
Wieso? Der ULN kann bis zu 500mA pro Kanal und gesamt bis 2.5A

Markus schrieb:
> Da ich 12V zur Verfügung habe und die LED laut Datenblatt eine
> Flussspannung von 2,2V hat (ja ich weiss, dass dies sehr ungenau ist und
> jede LED anders)
> Müsste ich noch 1V an einem Vorwiderstand abfallen lassen und somit den
> Strom auf 20mA begrenzen.
Der ULN2003 hat noch ein Vce(sat) von ca. 1V, dann bleibt nichts  für 
den Widerstand übrig.

Markus schrieb:
> Nun dachte ich mir, dass ich einen LM317 als KSQ verwende, jedoch
> bräuchte diese mehr als 1V Spannung oder?
An Shunt müssen 1.25V abfallen und dann kommt noch eine Dropout Voltage 
von ca. 1.5V @ 20mA dazu, gesamt also ungefähr 2.75V

: Bearbeitet durch User
von Markus (Gast)


Lesenswert?

Sh!t.
Das heisst, dass ich mit einer 12V Spannungsquelle garnicht auskomme?
Denn mit ULN habe ich keine Spannung mehr Für den Vorwiderstand und mit 
LM317 hab ich sowieso zu wenig Spannung. Ich möchte schon gerne immer 5 
LEDs in Reihe schalten.

von Max H. (hartl192)


Lesenswert?

Markus schrieb:
> Das heisst, dass ich mit einer 12V Spannungsquelle garnicht auskomme?
Nur wenn du >=5 LEDs in Reihe schalten willst.

von Markus (Gast)


Lesenswert?

Ok und angenommen ich nehme ein 15V Netzteil:

Die 5 LEDs brauchen 11V.
Der LM317 braucht ca. 3V
Und der ULN benötigg 1V.

Somit würde ich schön auskommen?

von Markus (Gast)


Lesenswert?

Ich brauche unbedingt eine neue Altiumlizenz zum simulieren D:
Oder kann jemand Freeware für solche Zwecke empfehlen?

von Schlumpf (Gast)


Lesenswert?

Und wenn du einfach die Anzahl der LEDs / Segment auf 2 Stränge a 4 LEDs 
reduzierst?
Dann sollte es mit der Batterie doch wieder klappen.

Ne KSQ kann man auch mit einem Bipolartransistor bauen. So eine KSQ 
könnte man so bauen, dass sie mit ca 2V auskommt und für die Versorgung 
von LEDs ausreichend genau ist.

Bei dieser Lösung sollte es dann auch gehen, den Transistor der KSQ 
gleichzeitig als Schalter zu verwenden, indem du mit dem uC seine Basis 
auf Masse ziehst, wenn du den Strang abschalten willst.

von hinz (Gast)


Lesenswert?

Alle 10 in Reihe, Widerstand dazu, und zur Versorgung einen Schaltregler 
mit LM2577/XL6009 (eBay/dx/alixp).

von Gerd P. (litart)


Lesenswert?

Hallo Markus,

die von Schlumpf vorgeschlagene Lösung scheint die Beste zu sein.
Einen bipolaren npn-Transistor (z.B. einen Klassiker wie BD135) mit 
einem Emitterwiderstand entsprechend des LED-Stroms als 
Konstantstromquelle (KSQ) schalten. Natürlich einen Basis-Vorwiderstand 
entsprechend dem Beta des Transistos.
Ggf. kannst Du über ein Poti am RasPi-Ausgang sogar die Helligkeit der 
LEDs einstellen. Wenn Du zwei Gruppen a 5 LEDs über jeweils eine eigene 
KSQ parallel schaltest wird das sogar notwendig sein um die Helligkeiten 
abzugleichen.

Viel Erfolg, Gruß
Gerd

von Markus (Gast)


Lesenswert?

Schlumpf schrieb:
> Und wenn du einfach die Anzahl der LEDs / Segment auf 2 Stränge a
> 4 LEDs reduzierst?
> Dann sollte es mit der Batterie doch wieder klappen.
>
> Ne KSQ kann man auch mit einem Bipolartransistor bauen. So eine KSQ
> könnte man so bauen, dass sie mit ca 2V auskommt und für die Versorgung
> von LEDs ausreichend genau ist.
>
> Bei dieser Lösung sollte es dann auch gehen, den Transistor der KSQ
> gleichzeitig als Schalter zu verwenden, indem du mit dem uC seine Basis
> auf Masse ziehst, wenn du den Strang abschalten willst.

Schlumpf schrieb:
> Und wenn du einfach die Anzahl der LEDs / Segment auf 2 Stränge a
> 4 LEDs reduzierst?
> Dann sollte es mit der Batterie doch wieder klappen.
>
> Ne KSQ kann man auch mit einem Bipolartransistor bauen. So eine KSQ
> könnte man so bauen, dass sie mit ca 2V auskommt und für die Versorgung
> von LEDs ausreichend genau ist.
>
> Bei dieser Lösung sollte es dann auch gehen, den Transistor der KSQ
> gleichzeitig als Schalter zu verwenden, indem du mit dem uC seine Basis
> auf Masse ziehst, wenn du den Strang abschalten willst.

Ich steh jetzt etwas auf der Leitung.
Ich dachte eine KSQ muss aus 2 bipolaren Transistoren bestehen?
Könntest du mir bitte eine Schematics von dieser Schaltung schicken?

von Gerd P. (litart)


Angehängte Dateien:

Lesenswert?

Hallo Markus,

zur Schaltung:
Du findest zwei Versionen, eine mit zusätzlicher Helligkeitseinstellung.
R2 (R5) ist so zu bemessen dass dort der gewünschte Strom für die LEDs 
(z.B. 20mA) fließt.
Dazu muss die Basis-Spannung des Transistors so eingestellt werden dass 
am Emitter die Spannung anliegt die den gewünschten Strom durch R2 (R5) 
fließen lässt.
Beispiel:
Nehmen wir eine Emitterspannung von 1V an, also ist R2 = 1V/0,02A = 50 
Ohm.
Die Basisspannung liegt ca. 0,7V darüber (Schwellenspannung). Der 
Basisstrom sollte entsprechend Beta des Transistors (laut 
Siemens-Datenblatt 40 bis 250) bemessen werden. Bei angenommen einen 
Beta von 100 und ca. 20mA Kollektorstrom hätten wir bei einer 
GPIO-Spannung von 3,3V den Wert (3,3V - 1,7V)/(20mA/100) = 1,6V/0,0002A 
= 8000Ohm.
Bei Variante 2 mit Poti solltest Du ein Poti R3 mit z.B. 1kOhm nehmen, 
den Basis-Widerstand R4 kannst Du auf ca. die Hälfte reduzieren.

Das ist zwar eine Sparlösung, für Deine Anwendung sollte es aber 
reichen.
Natürlich kannst Du für die Widerstände auch den nächsten Wert aus der 
E-Reihe einsetzen.
Im Prinzip kannst Du für R1 auch gleich ein Poti nehmen, riskierst damit 
aber RasPi wie LEDs.

Gruß
Gerd

: Bearbeitet durch User
von Gerd P. (litart)


Lesenswert?

noch eine Ergänzung:

Da der Beta des konkret eingesetzten Transistors eigentlich erst 
bestimmt werden muss wäre eine praktikabele Lösung für R1 vorerst ein 
Poti einzusetzen (ca. 20-25kOhm) und dieses so einzustellen dass der 
gewünschte Kollektorstrom fließt.
Das Poti kann dann gegen einen entsprechenden Festwidrstand ausgetauscht 
werden.
Dabei solltest Du unbedingt darauf achten dass beim Einschalten das Poti 
auf den höchsten Wert gestellt ist, sonst gehst Du besagtes Risiko ein 
den RasPi, die LEDs oder gar den Transistor zu zerstören.

Gruß
Gerd

von Schlumpf (Gast)


Lesenswert?

Dachte eigentlich eher an eine Schaltung wie z.B. hier beschrieben:
http://www.elektronik-kompendium.de/sites/slt/0210253.htm
An den Knoten zwischen D1 und Rv kommt dann der Ausgang des uC.
Sinnvollerweise sollte das ein OD-Ausgang sein.

Wird der OD-Ausgang auf Low gezogen, so werden D1 und D2 kurzgeschlossen 
und der Transistor sperrt.
Wird der OD-Ausgang hochohmig, ist er für die KSQ quasi nicht vorhanden.

von Gerd P. (litart)


Lesenswert?

die Schaltung stellt eine standard-KSQ dar. Der Strom wird über Re 
eingestellt da die Basisspannung durch die Dioden konstant gehalten 
wird.
Ähnlich arbeitet mein Vorschlag, nur dass die Basisspannung durch den 
Strom durch R2 (und damit durch den Spannungsabfall an R2) bestimmt 
wird.

> An den Knoten zwischen D1 und Rv kommt dann der Ausgang des uC.
Der RasPi hat P&P-Ausgänge, das wäre eine schlechte Lösung. Hier müsste 
mindestens eine Diode (Kathode zur GPIO) dazwischen. An Besten eine 
Schottky mit niedriger Schwellenspannung.

Gruß
Gerd

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Die Transistorlösung gefällt mir eigentlich am besten!
Ich hätte das jetzt so überlegt (siehe Bild - sorry bin am Handy)

Die 3,3V Quelle soll den GPIO auf High signalisieren (:

Nur eine kurze allgemeine Frage noch:
Angenommen ich verwende ein 24V Netzteil,
Würde dann die zusätzliche Spannung auf der Kollektor-Emitter-Strecke 
abfallen und die Schaltung nicht ändern oder?

von Markus (Gast)


Lesenswert?

Markus schrieb:
> Die Transistorlösung gefällt mir eigentlich am besten!
> Ich hätte das jetzt so überlegt (siehe Bild - sorry bin am Handy)
>
> Die 3,3V Quelle soll den GPIO auf High signalisieren (:
>
> Nur eine kurze allgemeine Frage noch:
> Angenommen ich verwende ein 24V Netzteil,
> Würde dann die zusätzliche Spannung auf der Kollektor-Emitter-Strecke
> abfallen und die Schaltung nicht ändern oder?

Sorry auf dem Screenshot stehen noch Voltzahlen von vorherigen 
Spielerein :P

von Gerd P. (litart)


Lesenswert?

> Würde dann die zusätzliche Spannung auf der Kollektor-Emitter-Strecke
> abfallen und die Schaltung nicht ändern oder?
Richtig!
Die Verlustleistung am Transistor steigt dadurch, der ist mit einem 
BDxxx aber sowieso überdimensioniert.
Selbst bei schlimmstenfalls 15V Uce liegt diese gerade mal bei 15V*0,02A 
= 0,3W.

von Gerd P. (litart)


Lesenswert?

Ach - sehe mir gerade Deine Schaltung an ...
So klappt das nicht. LEDs kann man nicht ohne Weiteres parallel 
schalten.
Du musst für jeden LED-Strang einen eigenen Transistor samt 
Basis-Vorwiderstand und Emitterwiderstand nehmen.

von Markus H. (Gast)


Lesenswert?

Gerd P. schrieb:
> Ach - sehe mir gerade Deine Schaltung an ...
> So klappt das nicht. LEDs kann man nicht ohne Weiteres parallel
> schalten.
> Du musst für jeden LED-Strang einen eigenen Transistor samt
> Basis-Vorwiderstand und Emitterwiderstand nehmen.

Okay das heißt, dass ich pro Segment 2 Transistoren nehmen sollte. Das 
sollte ja kein Problem darstellen.

Aber noch mal zurück zu meinem Verständnisproblem bei 
Betriebsspannungserhöhung.

Wenn die überschüssige Spannung an der Kollektor-Emitter-Spannung 
abfällt, so ist dich die Dimensionierung für R2 hinfällig und somit auch 
der Strom oder?

Langsam fängt mein Kopf an zu reichen bei dem Thema :P

von Gerd P. (litart)


Lesenswert?

die überschüssige Spannung fällt nur deswegen an der 
Kollektor-Emitter-Strecke ab weil der Transistor versucht die 
Basis-Emitter-Spannung auf der Schwellenspannung von ca. 0,7V zu halten.
Steigt der Kollektorstrom fällt eine höhere Spannung am 
Emitterwiderstand ab was zur Folge hat dass Ube sinkt und dadurch der 
Transistor zuregelt, d.h. den Kollektorstrom verringert - vice versa.
Das ist eine typische Gegenkopplung, also eine Regelung.
Die Dimensionierung des Emitterwiderstands bestimmt den Emitter- und 
damit auch den Kollektorstrom.

Gruß
Gerd

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.