PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie mehrere LED pro pin



gartenkralle80
21.05.2017, 03:49
Hallo

Habe vor einer Woche meinen Arduino uno bekommen bzw angefangen ein Projekt nachzubauen als Übung.
Möchte dieses nun aber etwas ausbauen.
Original liegt an Pin 11 zwei rote LEDs und an Pin 10 eine grüne LED mit jeweils einem Widerstand an.
Gibt es eine Möglichkeit an einem pin mehrere LEDs anzusteuern. Zb mit externer Stromversorgung und der jeweilige Pin schalten nur ein/aus?
Möchte keine RGB LEDs ansteuern sondern nur statt 2 rote zb 5 rote und statt 1 grüne 5 grüne LEDs.

http://imgur.com/a/NdPQe

alterraucher
21.05.2017, 05:40
Hallo
ja da gibt es z.B. einen ULN2803A den habe ich für meine Zewcke auch verbaut.
Man sollte ja nur eine LED pro PIN ansteuern den so ein Arduino PIN kann nicht so viel ab!
Ich habe für meine Modelleisenbahn so eine Karte aufgebaut.
32632

Diese Karte ist für mein Gleisbildstellwerk, da sollen immer 4 LEDs gleichzeitig leuchten wenn ein Zug durch eine Blockstelle fährt.

Ich hoffe das ich Dir damit weiter helfen konnte, habe mir für kleines Geld beim Reichelt diese Teile bestellt.
Wenn Du die Teile kauft bestelle Dir auch gleich noch einen oder mehrere Wiederstandsnetzwerke, ca 330 Ohm damit die LEDs nicht durch brennen!!!

Bis bald Gruß
alter Raucher

021aet04
21.05.2017, 09:12
Wenn du nur 2 Ausgänge schalten willst würde ich eher Transistoren oder Mosfets nehmen. Je nach Last einen BC337 (NPN), BS170 (N Mosfet) also gegen Masse schaltend oder BC327 (PNP) oder Ähnlich gegen + schaltend oder eben stärkere Varianten. Wenn es kein Problem ist kannst du eine höhere Spannung wählen (z.b. Versorgung zum uC Board) und die Leds in Serie schalten, somit benötigst du auch nur einen Widerstand.

MfG Hannes

BMS
21.05.2017, 09:18
Hallo,
man kann auch einfach einen gewöhnlichen Transistor dafür verwenden.
Verschalten kann man die LEDs dann entweder parallel oder in Reihe.

Parallel (sinnvoll wenn die Betriebsspannung niedrig ist, z.B. 3,3V) :
http://www.bristolwatch.com/picaxe/images/8leds_transistor.gif
Oder gruppenweise in Reihe (bei höherer Betriebsspannung sinnvoll, z.B. 12V) :
http://c-kolb.bplaced.net/projekte/elektronik/grundlagen/widerstand/transistorled.GIF

Der Aufwand und die Kosten sind wirklich gering, ein Transistor kostet etwa 5 Cent.

Viele Grüße,
Bernhard

oberallgeier
21.05.2017, 09:26
.. Gibt es eine Möglichkeit an einem pin mehrere LEDs anzusteuern ..Es gibt mehrere Möglichkeiten. Die elegante Variante mit nem IC (siehe oben ULN ..) wenn "viele" LEDs betrieben werden sollen.
Dann natürlich noch die Variante die LEDs in Serienschaltung. Da soll(darf) dann der Spannunsabfall der gesamten LED-Kette nicht mehr sein, als der Pinn liefern kann. Kommt also auf die LEDs an (deren Spannungsbedarf, siehe hier (https://www.elektronik-kompendium.de/sites/bau/0201111.htm), ein bischen runterscrollen) , die verschaltet werden. Einfachste Testmöglichkeit: mal zwei, drei LEDs in Reihe am Testboard und ganz vorsichtig Spannung drauf, dann sieht man auch wie hell -bzw. dunkel- so ne Schaltung wird. Denn man kann natürlich auch 3x2,9V hintereinander schalten . . . bei 2x2,9V wird das aber sicher noch bei 5V-Versorgung gut sichtbar sein. Ich habe bei (m)einer kleinen Weihnachtslichterkette zehn LEDs in Serie - die laufen dann natürlich auch gleich bei entsprechend hoher Gesamtspannung an der Kette (Anm: obwohl ich die, genaugenommen, über eine Konstantstromquelle regle) . . .
Die nächste Variante ist die Parallelschaltung. JEDER Zweig der Parallelschaltung braucht dann nen eigenen Vorschaltwiderstand pro LED. Dumm, dass dann schnell der STrombedarf der Parallel-LED-Harfe die Liefermöglichkeiten des Controllerpinns schnell übersteigt. Abhilfe schafft hier eine Transistorschaltung wie oben geschrieben (siehe hier neben dem BC337 (https://www.roboternetz.de/phpBB2/files/m168d-schaltung-x97.pdf)).

Viel Erfolg.

Peter(TOO)
21.05.2017, 13:13
Hallo,

Wie schon angedeutet, wird eine LED mit einem Strom betrieben, nicht mit einer Spannung.
Wie bei jede andere Diode leitet auch die LED aber erst ab einer bestimmten Spannung, welche physikalisch vom Halbleitermaterial bestimmt wird. Da jede Farbe einen anderen Halbleiter benötigt, auch wegen der Physik, haben unterschiedliche Farben auch unterschiedliche Spannungen.
Rein theoretisch würde z.B. eine rote LED bis 1.6V isolieren und bei 1.61V wäre der Strom schon unendlich gross.

Praktisch hat man das Problem, dass die 1.6V sich aus der genauen Zusammensetzung des Halbleiters ergeben. Ein typischer Halbleiter für LEDs ist Galliumphosphid (GaP). Ein bisschen mehr oder weniger Phosphor ergibt dann aber auch eine etwas andere Spannung. In der Fabrikation hat man halt immer eine gewisse Streuung. Zudem ist die Spannung noch sehr stark von der Temperatur abhängig. Mit zunehmender Temperatur nimmt die Spannung ab.
Die praktische LED hat dann noch einen kleinen, in der Grössenordnung von ein paar Ohm, Widerstand in Serie. Dieser unterliegt aber auch der Fertigungstoleranz.

Deshalb darf man normalerweise LEDs nie parallelschalten. Der Strom fliesst sonst durch die LED mit der kleineren Spannung und die andere bekommt nur wenig Strom ab.Das verschlechtert sich dann noch, weil die LED mit dem grösseren Strom warm wird und deshalb deren Spannung noch kleiner wird.
In der Praxis baut man LEDs mit einem möglichst hohen Widerstand und die LEDs welche zusammen auf einem Wafer fabriziert werden, haben auch eine sehr ähnliche Spannung. Diese kann man dann parallel schalten, was auch fleissig bei Hintergrund-Beleuchtungen gemacht wird. Wenn du allerdings 2 LEDs kaufst, waren diese meistens nicht zusammen auf dem selben Wafer. :-(

Man kann jetzt mehrere LEDs mit einem Widerstand in Serie schalten oder jede LED bekommt einen eigenen Widerstand und alles wird dann parallel geschaltet.

Eigentlich müsste man an Stelle des Widerstandes eine Stromquelle verwenden aber so lange die angelegt Spannung nur in einem kleinen Bereich schwanken kann, tut es auch ein Widerstand.

Bei der Serien-Schaltung musst du dann ein genügend hohe Spannung zur Verfügung haben, nicht vergessen, dass der Widerstand auch noch einen Spannungsabfall benötigt.
Bei kleineren Spannungen bleibt aber nur die Parallelschaltung. Je nach Anzahl der LEDs macht man auch eine Kombination aus beidem.

Nun noch zur Ansteuerung des Ganzen.
Dein µC schaltet seinen Pin entweder gegen GND oder die Versorgungsspannung.
Dabei ist noch einiges zu beachten:
Die Spannung am Pin darf nicht kleiner als GND und nicht grösser als die Versorgungsspannung werden. Du kannst also nicht eine LED an +12V anschliessen und mit einem 5V µC gegen Masse schalten. Die Schutzschaltung im Pin wird dann versuchen die Spannung am Pin auf +5V zu begrenzen. Die Spannung an der LED ändert sich dann nur zwischen 12V und 12V-5V=8V.

Das nächste ist der Strom. So ein Pin darf, je nach dem, so mit 5-30mA belastet werden. Die konkreten Werte stehen im Datenblatt. Manche µC haben auch spezielle Ports um LEDs zu betreiben. Ein Haken an der Geschichte ist dann noch, dass ein einzelner Pin z.B. 30mA liefern kann, aber die 8 Pins eines Port zusammen gleichzeigt nur mit z.B. 100mA belastet werden dürfen. Das steht aber auch im Datenblatt.

Zudem hat so ein Pin auch noch einen Innenwiderstand. Die Spannung am Pin hängt also auch noch mit dem Strom zusammen.
Typisch ist die Spannung bei einer 0 am Ausgang und kleinen Strömen als kleiner etwa 0.5V definiert. Bei Pins welche höhere Ströme liefern können, ist dann die Spannung beim entsprechenden Strom meistens höher und oft im Bereich von 0.8V.
Das Ganze gilt natürlich auch für eine 1 am Ausgang. Steht aber alles im Datenblatt.
Den Spannungsabfall am Pin musst du aber beim Berechnen des LED-Widerstandes mit einrechnen. Du hast dann zur Ansteuerung der LED nicht 5V, sondern nur z.B. 4.2V zur Verfügung. Für eine weisse LED mit einer Spannung von 4.5V, reicht das dann nicht!
Mit einem 2.7V µC kannst du dann eigentlich nur noch rote LEDs direkt ansteuern, andere Farben benötigen dann einen Treiber und eine höhere Spannung.

MfG Peter(TOO)

gartenkralle80
23.05.2017, 20:16
Danke an alle für die wirklich tollen Erklärungen und Tipps.
Werde es zuerst mal mit den Transistoren versuchen da mir dies als Anfänger am leichtesten vorkommt.

Danke

021aet04
23.05.2017, 23:22
Bei Transistoren aber die Vorwiderstände nicht vergessen (an der Basis). Bei Mosfets sind sie nicht unbedingt nötig, man kann aber welche einbauen (max bis ca. 50Ohm, mehr sollte man nicht nehmen).

MfG Hannes

Peter(TOO)
24.05.2017, 03:52
Hallo Hannes,

Bei Transistoren aber die Vorwiderstände nicht vergessen (an der Basis). Bei Mosfets sind sie nicht unbedingt nötig, man kann aber welche einbauen (max bis ca. 50Ohm, mehr sollte man nicht nehmen).
Die Power-FETs bestehen eigentlich aus hunderten kleiner FETs welche alle parallel geschaltet sind. Dadurch ergibt sich eine recht grosse Gate-Kapazität.

Die Gate-Widerstände haben nun 2 Aufgaben:
1. Besonders bei niederohmigen Treibern fliessen sehr grosse Ströme, wenn man den Gate-Kondensator umlädt. Der Widerstand begrenzt den Spitzenstrom.
2. Zusammen mit der Gate-Kapazität bildet der Widerstand einen Tiefpass. Dadurch ändert sich die Gate-Spannung nur mit einer begrenzten Rate. FETs haben keine Raumladungszone, welche erst aufgefüllt oder ausgeräumt werden müssen und arbeite physikalisch praktisch ohne eine Verzögerung. Praktisch wird die Schaltgeschwindigkeit eigentlich nur durch die Gate-Kapazität und den Zuleitungs-Widerständen begrenzt. Allerdings machen die hohen Schaltgeschwindigkeiten eine Menge (EMV-)Ärger. Da schon jeder Draht eine Induktivität und Kapazität hat, hat man auch eine Menge Schwingkreise in der Schaltung. Das Problem nennt man ringing. Steile Flanken regen dann diese Schwingkreise an, was enorme Spannungsspitzen erzeugen kann, welche dann gerne den FET schädigen. Mit den Gate-Widerstand kann man einfach die Flankensteilheit begrenzen.

MfG Peter(TOO)

021aet04
24.05.2017, 09:24
Das stimmt schon, aber bei einem Kleinleisttungsfet (wie oben von mir geschrieben BS170) wird keiner benötigt. Bei Leistungsfets hat man logischerweise höhere Ströme und dadurch auch höhere Gefahren durch EMV,...
Trotzdem würde ich mit den Widerständen nicht über 50 Ohm gehen, da der Fet zu lange im Übergangsbereich ist und dadurch heiß wird. Eher im Bereich zwischen 10 und 30 Ohm und zusätzlich eine eigene Treiberstufe (nicht vom uC, o.Ä. direkt ansteuern).

MfG Hannes

Peter(TOO)
24.05.2017, 10:20
Hallo Hannes,

Trotzdem würde ich mit den Widerständen nicht über 50 Ohm gehen, da der Fet zu lange im Übergangsbereich ist und dadurch heiß wird. Eher im Bereich zwischen 10 und 30 Ohm und zusätzlich eine eigene Treiberstufe (nicht vom uC, o.Ä. direkt ansteuern).
Wie immer in der Technik geht es heir um einen Kompromiss.
Eine möglichst schnelle Schaltzeit bringt geringe Verluste. Dafür steigt der Aufwand für EMV-Massnahmen. Hinzu kommen noch die Spannungsspitzen, welche dann den FET zerstören können.

Wichtig ist halt, dass man die grundlegenden Zusammenhänge kennt.

MfG Peter(TOO)