LEDs mit Raspberry Pi schalten

Fragen zu Schaltungen, Elektronik, Elektrik usw.

Moderator: T.Hoffmann

Antworten
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Sa, 26.04.14, 14:10

Hallo liebe Forenmitglieder :)

Ich möchte mit einem Raspberry Pi mehreren Nichia-NS2W757AT-V1 schalten.
Den Schaltplan habe ich schon einmal vorberietet, ich weiß nur nicht richtig, ob der Transistor für das Projekt so richtig geeignet ist.
Kann vielleicht mal jemand drüber gucken und sagen ob das so sinnvoll ist oder ob man das besser ganz anders angeht?
Schaltplan
Schaltplan
pi.png (5.78 KiB) 10245 mal betrachtet
Schöne Grüße
Gubbl
jguther
Mega-User
Mega-User
Beiträge: 118
Registriert: So, 19.01.14, 18:30

Sa, 26.04.14, 21:15

Die Differenz zwischen den Flusspannungen der LED und der 15,68V Versorgungsspannung ist zu klein, und demzufolge der Vorwiderstand zu niedrig. Wenn die Flussspannung pro LED nur 50mV niedriger liegt (durch Temperaturänderung oder Toleranzen), hast du statt 180mA schon 430mA. Das taugt nichts.

Mit einer Versorgungsspannung von 18V und einem Vorwiderstand von 15 Ohm/1W würde es besser passen:

Bei 3,1V pro Diode ergeben sich 167mA, bei 3,05V pro Diode sind es dann 183mA.

Der Rest ist meiner Meinung nach ok.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Sa, 26.04.14, 22:55

Ist die galvanische Trennung über den Optokoppler aus irgendwelchen Gründen nötig? Weil sowohl am Raspberry als auch am LED-Netzteil schreibst Du 'GND'. Wenn eine gemeinsame Masse vorhanden ist, braucht man IMHO den 'Umweg' über einen Optokoppler nicht. Da reicht ein Low-Gate-Threshold-Voltage Mosfet auch (z.B. ein IRF7401 - wenn es kein SMD sein soll/darf dann halt ein IRLZ34N - der hat zwar bei 3V Gate-Spannung noch ca. 0.3 Ohm aber auch das ist bestimmt wenig genug ;) )
Damit könnte man auch gleich noch eine KSQ aufbauen. Dann bekommt die LED auch garantiert den 'erwünschten' Strom, auch wenn die LEDs wärmer werden oder die Eingangsspannung nicht genau bei den angegebenen 15.68V bleibt.
Außerdem: 180mA ist bei der NS2W757AT-V1 die absolute Grenzleistung. Sprich der Strom, bei dem die LED unter optimaler Kühlung nicht gleich kaputt geht. => Ich würde die LED nicht mit mehr als 150mA betreiben. Und ein Betrieb mit 180mA ist ohne KSQ eigentlich nicht machbar: Entweder die LEDs bekommen wenn sie noch nicht ihre maximale Betriebstemperatur haben wesentlich weniger als 180mA oder sie bekommen spätestens bei ihrer maximalen Betriebstemperatur wesentlich mehr als 180mA - letzteres ist nicht zulässig - siehe Datenblatt.
Schaltplan (mit KSQ für 150mA):
Raspberry_KSQ1.png
Raspberry_KSQ1.png (6.71 KiB) 10226 mal betrachtet
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

So, 27.04.14, 12:07

Danke für die Antworten :)
Die galvanische Trennung ist nicht unbedingt notwendig, aber da die Pins am Raspberry Pi sehr stromempfindlich sind, würde ich beide Stromkreise gerne voneinander trennen.
Da insgesamt mehrere 5er LED Reihen geschaltet werden sollen und an allen Steuerpins zusammen nicht mehr als 50mA Strom fließen dürfen, kam mir die Lösung mit den Optokopplern am besten vor.
Den Plan, die LEDs mit 180mA zu betreiben werde ich dank euch auch wieder verwerfen, man will ja auch ein paar Jahre Spaß an der Sache haben und nicht nur wenig Tage :D
Ist es denn möglich auch nach den Optokopplern noch eine KSQ zu betreiben?
Viele Grüße
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

So, 27.04.14, 15:02

Möglich ja, aber IMHO so unnötig wie ein Kropf. Wenn Du willst, kannst Du in meinem Schaltplan problemlos den R2 von 330 Ohm auf 1kOhm hochsetzen. Dann dauert das ein/ausschalten halt ein paar Millisekunden mehr. Wenn Du aber nicht vorhast, damit auch per PWM zu dimmen, ist das ja völlig egal. Bei 3.3V und 1kOhm fließen gerade mal 3.3mA. Der Optokoppler braucht da eher mehr. Es wäre natürlich auch möglich noch einen zweiten Transistor zu nehmen und das Gate des Mosfet-Transistors über die 16V Spannungsquelle zu versorgen. In diesem Fall könnte man einen Basisvorwiderstand von locker 10kOhm nehmen. Dann muss der Raspberry nur noch 0.33mA liefern.
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Sa, 10.05.14, 12:49

Ich habe in den letzten Tagen das Internet mehrfach durchwühlt, aber ich kann mir die genaue Funktion des bei dir eingeplanten Transistors als Konstantstromquelle einfach nicht erklären :(
Wodurch steuert der den Strom, der durch den mosfet fleißen soll?
Schöne Grüße
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Sa, 10.05.14, 17:53

Ist hier (sogar sehr genau) erklärt:
viewtopic.php?f=31&t=7920
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

So, 11.05.14, 18:56

AHHHH! Ich stand so ewig auf dem Schlauch, dass der MOSFET ja der zweite Transistor in der Schaltung ist :lol:
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

So, 11.05.14, 20:45

Jetzt habe ich nur noch eine Frage: kann man mehrere solcher LED Stränge parallel Schalten?
Konkret für meinen Fall heißt das, dass ich 12 (bzw. 6) dieser LED Stränge parallel schalten will und idealer Weise auch nur 1, bzw. 2 Ports am Raspberry belegen will, die dann die LEDs damit steuern.
Also 5 LEDs + 2 Transistoren und das alles 12 Mal an der selben Spannungsquelle, die genug Strom für das Vorhaben liefern kann.
Vielen Dank schonmal für eure Hilfe :)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

So, 11.05.14, 21:24

Konkret für meinen Fall heißt das, dass ich 12 (bzw. 6) dieser LED Stränge parallel schalten will und idealer Weise auch nur 1, bzw. 2 Ports am Raspberry belegen will, die dann die LEDs damit steuern.
Ja. Das geht. Kleines 'Aber': Am sichersten wäre das, wenn jeder Strang eine eigene KSQ hat (also jeweils ein Bipolar-Transistor, ein MOSFET und ein Shunt). Wenn man die LEDs selektiert (auf gleiche Flussspannung), kann man aber auch die KSQ so planen, dass sie z.B. gleich den Strom für 6 solche Stränge regelt (dann z.B. auf 900mA).
Geht aber nur, wenn die LEDs dann 'thermisch gleich laufen', sich also alle gleichmäßig erwärmen (was z.B. damit sichergestellt werden kann, wenn alle auf dem gleichen Kühlkörper montiert sind). In beiden Fälle ist aber ein wenig mehr Basis-Strom nötig (sonst wären es ja etwa 6x 3.3mA also rund 20mA an einem Port-Pin). Also sollte noch ein Schalt-Transistor davor.
Wenn Du mir sagst, welche Variante Du bevorzugst, kann ich Dir auch einen Schaltplan zusammenstellen.
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 12.05.14, 10:14

Die Variante mit einer KSQ pro Strang finde ich am Besten. Alle LEDs werden zwar auf den selben Kühlkörper (Alu-Blech) montiert, aber falls eine ausfällt werden die anderen ja sonst gegrillt.
Jeweils 6 Reihen pro Port zu schalten ist denke ich die Beste Lösung.
Vielen Dank für die Hilfe hierbei, das kann man ja gar nicht wieder gut machen :oops:
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 12.05.14, 11:33

Ok. Ich hoffe, es stört Dich nicht, wenn das Signal invertiert ist (also Low am Raspberry Port-Pin -> Licht an; High am Raspberry Port-Pin -> Licht aus). Normalerweise ist das ja egal, weil es nur eine simple Änderung an der Software ist. Falls es Dich doch stören sollte, wäre noch ein Transistor mehr zum Invertieren des Signals nötig. Ich hab mal exemplarisch 3 Stränge gezeichnet. Es können aber auch 10 sein, ohne dass man etwas ändern müsste. Der Raspberry muss so nur etwa 0.3mA liefern. Hat also quasi gar keine Last.
Raspberry_KSQ2.png
Raspberry_KSQ2.png (6.15 KiB) 10093 mal betrachtet
Das Schaltverhalten ist sogar halbwegs 'zackig' ;) Würde also sogar für eine PWM Steuerung reichen (minimale Pulslänge sollte bei etwa 50µS liegen - das reicht gerade so für eine 8Bit PWM mit etwa 100Hz PWM Frequenz - falls Du das doch vorhaben solltest, das kann man aber noch verbessern).
Vielen Dank für die Hilfe hierbei, das kann man ja gar nicht wieder gut machen
Kein Problem. Mach ein paar hübsche Bilder vom fertigen Ergebnis, das freut uns immer ;)
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 12.05.14, 12:31

Danke für die Schaltung, der größte Teil der leuchtet mir auch ein.
Wofür werden die Widerstände R5 und R6 benötigt?
Und wie kann man das dann technisch umsetzen, die beiden "Minuspole" zu verbinden? Muss da dann nicht notgedrungen auch einiges von dem großen LED-Strom über den Raspberry abflißen? (Deshalb am Anfang die galvanische Trennung mit den Optokopplern)
Es geht um diese Strecke:
Raspberry_KSQ_Frage.png
Raspberry_KSQ_Frage.png (7.22 KiB) 10088 mal betrachtet
Denn das Netzteil hat ja seinen + und - Pol und der Raspberry auch:
Raspberry_KSQ_Frage2.png
Raspberry_KSQ_Frage2.png (32.69 KiB) 10088 mal betrachtet
Potentialtechnisch dürfte eigentlich kein Unterschied bestehen, wenn überhaupt wenige mV.
Bilder lade ich dann natürlich hoch :)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 12.05.14, 13:20

Wofür werden die Widerstände R5 und R6 benötigt?
R5 sorgt für eine Vorspannung der Gate-Eingänge von den MOSFET-Transistoren (dann bekommen die hinreichend Spannung und der Raspberry muss die nicht liefern). R6 bildet mit R5 zusammen einen 1:1 Spannungsteiler der dafür sorgt, dass am Gate der Mosfets maximal 8V anliegen (und nie die 16V Versorgungsspannung).
Und wie kann man das dann technisch umsetzen, die beiden "Minuspole" zu verbinden?
Einfach verbinden ;) Masse wird eigentlich immer verbunden. Das passiert ja genauso wenn Du z.B. einen Monitor mit eigenem Netzteil an einen Computer mit eigenem Netzteil anschließt. Oder beim Verbinden von Komponenten einer HiFi Anlage oder...
Potentialtechnisch dürfte eigentlich kein Unterschied bestehen
Jain. Niederspannungsgeräte haben ja fast immer ein Netzteil mit galvanischer Trennung. D.h. deren Masse-Potential ist (wenn es nicht extra geerdet wird) nicht genau definiert. Genau deswegen wird ja GND von allen Geräten verbunden, damit alle das gleiche Masse-Potential haben. Probleme damit gibt es nur, wenn es sich um geerdete Geräte handelt, wo dann ggf. eben nicht überall das gleiche Potential herrscht. Das ist z.B. bei typischen 'Übertragungsleitungen' (wie z.B. RS232 o.ä.) der Fall, wenn die Leitungen recht lang sind und dann ein Gerät im Keller ein anderes Potetial hat wie das Gerät in einem anderen Zimmer.
Stichwort Erdschleife. Siehe z.B.: http://de.wikipedia.org/wiki/Erdschleife
Muss da dann nicht notgedrungen auch einiges von dem großen LED-Strom über den Raspberry abflißen?
Nein. Warum auch? Das könnte ja nur dann passieren, wenn eben die Masse-Potentiale nicht verbunden sind. Zwischen gleichem Potential fließt kein Strom ;)
Hat der Raspberry Pi eigentlich ein eigenes Netzteil? Oder soll alles (LEDs und Raspberry Pi) von einem Netzteil versorgt werden? Im letzteren Fall wäre Masse ja am Netzteil sowieso verbunden...
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 12.05.14, 14:14

Alles klar, danke für die Erklärung :)
Der Plan sieht bis jetzt vor, den Pi über ein separates 5V Netzteil zu betreiben.
Dann werde ich mal beim Elektornikhändler meines Vertrauens ein paar Transistoren bestellen und melde mich dann wieder, wenn es Neuigkeiten gibt :)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 12.05.14, 15:26

Der Plan sieht bis jetzt vor, den Pi über ein separates 5V Netzteil zu betreiben.
Das ist zwar wahrscheinlich nicht unbedingt nötig, kann aber ggf. Sinn machen. Wenn aber das 16V Netzteil (was ist das eigentlich für ein 'komischer' Spannungswert?) auch dauerhaft am Stromnetz hängt, bräuchte es das nicht unbedingt. Ein DC-DC Wandler mit 5V 1A Ausgang an dem 16V Netzteil geht dann genauso.
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 12.05.14, 16:08

Borax hat geschrieben:Wenn aber das 16V Netzteil (was ist das eigentlich für ein 'komischer' Spannungswert?) auch dauerhaft am Stromnetz hängt
Das Netzteil ist das hier: SNT MW60-15
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 12.05.14, 19:38

Borax hat geschrieben:Ein DC-DC Wandler mit 5V 1A Ausgang an dem 16V Netzteil geht dann genauso.
Die Idee ist gut, da habe ich auch gleich das hier gefunden: Schaltregler TSR-1 Serie, 5.0 VDC, 1 A
Damit hätte sich von Anfang an bei mir die Frage nach der Verbindung der beiden GND Anschlüsse aufgelöst :roll:
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Mo, 12.05.14, 21:09

Genau so was hab ich gemeint :D
Dann kannst Du ja jetzt die Bestellung aufgeben ;)
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mi, 18.06.14, 18:33

So, jetzt bin ich schon ein ganzzes Stück weiter und die Schaltung funktioniert genau so, wie sie soll :D
Ich muss allerdings nochmal fragen, wie das zustande kommt, dass jetzt alle Transistoren durchschalten, wenn keine "Steuerspannung" anliegt (Das bereits genanne "Invertierungsproblem")
Ist das, weil dann der Pi-Transistor einfach die ganze Konstruktion gegen Masse verbindet, sobald er durchgeschaltet wird und der Strom keine Notwendigkeit mehr darin sieht, sich irgendwo anders durch zu wühlen?
Schöne Grüße und danke nochmal für die prima Hilfe :)
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 20.06.14, 09:20

Ist das, weil dann der Pi-Transistor einfach die ganze Konstruktion gegen Masse verbindet, sobald er durchgeschaltet wird und der Strom keine Notwendigkeit mehr darin sieht, sich irgendwo anders durch zu wühlen?
Nein. Der erste Transistor (Q4) tut nur dann was, wenn mindestens 0.6V zwischen Basis und Emitter anliegen. Ansonsten ist er hochohmig (also etwa so, als wäre er gar nicht da). Und wenn er nicht da wäre, dann liegen an den Gate-Eingängen der MOSFETs ja die über den Spannungsteiler R5/R6 erzeugten rund 8V an, so das die natürlich voll durchschalten. Wenn dagegen der Pi-Transistor High-Pegel hat, dann liegen Basis und Emitter von Q4 eben mehr als 0.6V, so das der voll durchschaltet und das Potential an den Gate-Eingängen der MOSFETs auf 0 zieht (R6 wird quasi durch den Transistor R4 überbrückt). Dann ist das Licht aus, weil die MOSFETs dann hochohmig sind.
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Fr, 20.06.14, 12:19

So in der Art habe ich das gmeint :)
Ich bin beim Aufbauen der Schaltung auf das Problem gestoßen, dass beim Einschalten des Pi alle LEDs leuchten würden. (Das war am Anfang noch kein Problem) Deshalb wäre es besser, wenn beim High-Pegel die LEDs leuchten und beim Low-Pegel alle aus sind. Wäre das dann in etwa so die Schaltung hierfür:
Raspberry_KSQ_Invert.png
Raspberry_KSQ_Invert.png (7.42 KiB) 9817 mal betrachtet
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Fr, 20.06.14, 13:03

In etwa ja.
Zwei Punkte könnte man noch verbessern:
1. Um eventuelle Unterschiede bei der Gate-Spannung der MOSFET Transistoren auszugleichen, sollten möglichst noch 1K Widerstände zwischen 8V Spannungsteiler und Gate.
2. Der Invertier-Transistor sollte direkt über die 16V versorgt werden (über einen eigenen 10K Widerstand). Das macht die Schaltung schneller ;)

Sähe dann so aus:
Raspberry_KSQ3.png
Raspberry_KSQ3.png (7.15 KiB) 9785 mal betrachtet
Gubbl
User
User
Beiträge: 29
Registriert: So, 23.06.13, 15:34

Mo, 21.07.14, 19:18

Jetzt habe ich das Gehäuse fertig gebaut und die Elektronik ist auch fast fertig. Ich habe noch für den Mondlichteffekt blaue LEDs (3,1V, 20mA) besorgt und in einer Testschaltung den MOSFET durch einen Bipolartransistor ersetzt und festgestellt, dass sich an den beiden 10k Ohm Spannungsteilerwiderständen jetzt Spannungen von ca. 14 und 2 Volt einstellen (R1/3/4 wurden entsprechend an den kleineren Strom angepasst). Vermutlich ist das nicht schädlich für den Transistor, allerdings wollte ich fragen, wieso das so ist und ob man da etwas daran ändern muss.
Borax
Star-Admin
Star-Admin
Beiträge: 12243
Registriert: Mo, 10.09.07, 16:28

Di, 22.07.14, 09:40

den MOSFET durch einen Bipolartransistor ersetzt
Daumengesetz des Bipolartransisors: In allen Betriebszuständen (also Transistor leitet) beträgt die Spannung zwischen Basis und Emitter etwa 0.7V. Du kannst Dir die Basis - Emitter Strecke auch als Diode denken. Da fließen auch immer rund 0.7V. Nur die Stromstärke ändert sich. Daher ist bei dem symmetrischen Spannungsteiler jetzt parallel zum 'unteren' 10K Widerstand der Basisvorwiderstand (1K) und der Transistor parallel geschaltet. Du hast da 2V gemessen. Also kann man als Ersatzwiderstand für Basisvorwiderstand + Basis - Emitter Strecke etwa 1.8K ansetzen. Mit 1K Basisvorwiderstand bleiben also etwa 0.9mA als Basisstrom für den Transistor (0.7V/800Ohm).
Bei einem MOSFET ist das anders. Dort gibt es keine Basis - Emitter Strecke, sondern nur eine Gate-Kapazität (also quasi ein Kondensator). Diesen Kondensator kann man auf beliebige Spannungen aufladen (so lange man seine Spannungsgrenze nicht überschreitet). Bei einem Standard-Mosfet liegt diese Grenze bei rund 15V. Daher habe ich den Spannungsteiler auf rund 8V gesetzt. Bei einem Bipolartransistor ist kein Spannungsteiler nötig (der untere Widerstand R6 kann entfallen). Es reicht, wenn mit mit einem Basisvorwiderstand (entspricht R7/R8/R9) der Basisstrom auf z.B. 5mA eingestellt wird, weil es keinen Kondensator gibt der sich auf eine unzulässig hohe Spannung aufladen könnte (der Strom fließt ja ab). Die Werte der Widerstände (10K für den Spannungsteiler und 1K Basisvorwiderstand) sind aber so groß, dass dem Transistor natürlich nichts passiert. Daher kannst Du das auch so lassen.
Antworten