Meine eBooks
Alles was du über LED-Streifen wie Neopixel, WS2812 & Co. wissen musst!
LED-Streifen wie z.B. Neopixel oder WS2812 sind ein dankbares DIY-Thema: sieht sehr effektvoll aus und sind relativ einfach am Arduino oder ESP32 anzuschließen. Zudem lassen sie sich gut als Raum- und Akzentbeleuchtung verwenden.
Gehen wir eine Eskalations-Stufe weiter, können wir mit LED-Streifen sehr kreativ werden: Kostüme, PC-Gehäuse oder 3D-Druck-Projekte mit LEDs ausstatten – großer Spaß!
Wenn wir noch eine Schritt weiter gehen, kommen wir zu meinem Lieblingsthema: LED-Projekte mit Funktion! Dazu zähle ich zum Beispiel Uhren und Displays – gerne auch mit Interaktion.
Wie wäre zum Beispiel ein Matrix-Display im Bilderrahmen das im Flur hängt, auf dem man eine Runde Pong zocken kann? Die beliebte Wort-Uhr ist ein Klassiker, der auf einer LED-Matrix aufbaut. Oder auch die klassische 7-Segment Anzeige für eine riesige Digital-Uhr. Viele viele Möglichkeiten …
Dieser Beitrag klärt die wichtigsten Fragen und möglichst viele Basics zum Thema LED-Streifen mit Microcontrollern. Folgende Themen schauen wir uns an:
- Was sind LED-Streifen?
- Welche LED-Streifen Typen gibt es?
- Was sind die Unterschiede der verschiedenen LED-Steifen und deren Chips?
- Wie funktioniert die Stromversorgung von LED-Streifen?
- Wie berechnet man den Strombedarf von LEDs?
- Welche Arduino LED Libraries gibt es?
Und natürlich erstellen wir auch ein erstes kleines Projekt mit Arduino und ESP. Am Ende hast du ein solides Verständnis über LEDs bzw. LED-Streifen und wie man diese mit einem Microcontroller wie ESP32, ESP8266 oder Arduino & Co. ansteuern kann.
Was sind LED-Streifen?
Ein LED-Streifen ist ein flexibles, meist selbstklebendes Band, auf dessen Oberfläche LEDs in gleichmäßigen Abständen montiert sind. Es gibt LED-Streifen, die RGB Farben darstellen können. Und es gibt LED-Streifen, die auf eine Farbe beschränkt sind. Ausserdem gibt es LED-Streifen mit unterschiedlichen Weiss-Varianten – kaltes und warmes Weiss.
Ausserdem gibt es LED-Streifen, bei jedem jede einzelne LED angesteuert werden kann. Das sind sogenannte einzeln adressierbare LEDs (klären wir gleich noch genauer). Mit diesen LED-Streifen kann man Animationen und Farbverläufe erzeugen. Und es gibt LED-Streifen, bei dem alle LEDs immer die gleiche Farb- und Helligkeits-Einstellung haben. Hier lässt sich nur ein allgemeiner Farbwechsel oder die Helligkeit animieren.
Es gibt viele Bezeichnungen für LED-Streifen: LED-Lichtband, LED-Flexband oder LED-Stripe sind weitere Begriffe. Oft wird auch einfach die genaue Typenbezeichnung wie Neopixel, WS2812, SK6812 etc. verwendet. Zu den unterschiedlichen Typen kommen wir gleich noch.
Gerade wenn nur ein paar wenige LEDs benötigt werden, oder die LEDs sehr ungleichmäßig in einem Projekt verteilt sind, machen eher einzelne LEDs absolut Sinn. Manchmal ist aber auch eine Kombination von Einzel-LEDs und LED-Streifen praktischer, so wie bei meinem Uhrenprojekt „Voltage Clock“.
Doch insbesondere wenn man eine Reihe oder eine Matrix von LEDs benötigt, nehmen die LED-Streifen sehr viel Arbeit ab.
Auf den LED-Streifen sind zwischen jeder LED Löt-Pads angelegt, die man einfach mit der Schere in der Mitte durchschneiden kann. Entweder um sie in die passende Länge zu kürzen oder um die Streifen z.B. in einer Matrix anzuordnen. Am Ende muss man die Streifen nur noch wieder mit drei Kabeln verbinden.
Das ist sehr viel weniger Aufwand, als wenn man jede einzelne LED miteinander verlöten muss. Jeder der mal mit den klassischen 2-Beinchen-LEDs eine 2D- oder gar 3D Matrix gebaut hat, weiß sicher ein Lied davon zu singen.
Ein weiterer Vorteil: die LED-Streifen sind viel einfacher vom Schaltungsaufbau her, wenn du einzeln adressierbare LEDs haben willst – und um die geht es in diesem Beitrag.
Was bedeutet „einzeln adressierbare LEDs“?
Nehmen wir als Beispiel eine Reihe von 6 LEDs. LED Nr. 3 leuchtet rot. Und LED Nr. 5 leuchtet grün, aber nur mit halber Intensität. Einzeln adressierbar bedeutet: wir können jede einzelne LED kontrollieren wie hell und mit welcher Farbe sie Leuchten soll. Die „Adresse“ in diesem Beispiel wäre schlicht die Nummer der LED – in diesem Fall 3 und 5.
LED-Streifen sind sehr einfach anzuschließen
Um klassische einfarbige 2-Beinchen-LEDs mit einem Arduino oder ESP zu steuern, müssen wir jede LED zu einem Pin des Mikrocontrollers führen. Wenn wir 64 LEDs steuern wollen, kommen wir schnell an die Grenzen des Mikrocontrollers – so viele Pins hat in der Regel kaum ein Mikrocontroller. Ein Arduino UNO hat zum Beispiel 20 digitale Pins. Zudem werden LED Projekte schnell größer als 64 LEDs. Und wir setzen hier noch nicht mal RGB LEDs sondern einfarbige LEDs ein – RGB LEDs benötigen für jede Farbe einen Pin.
Also haben richtig schlaue Menschen sich Techniken wie Multiplexing und Charlieplexing ausgedacht. Damit ist es möglich mit weniger Micrcontroller Pins auszukommen. Aber der Aufbau einer LED-Matrix mit diesen Techniken ist im Vergleich zu der LED-Streifen Variante immer noch sehr viel höher.
Ich will in diesem Artikel nicht weiter auf Multiplexing und Charlieplexing eingehen. Hier wäre aber ein schöner Artikel dazu.
Die LED-Streifen, die wir verwenden wollen nutzen alle nur einen Pin für die Datenleitung. Und natürlich noch eine Verbindung zur Stromversorgung und zur Masse.
Worin unterscheiden sich LED-Streifen allgemein?
Zunächst wollen wir kurz auf die eher allgemeinen Unterschiede von LED-Streifen eingehen. Dabei kann man die LED-Streifen zunächst in analoge und digitale LED-Streifen unterteilen.
Analoge und Digitale LED-Streifen
Analoge LED-Streifen wären z.B. die klassische Weihnachtsbaum-Lichterkette – gut nicht unbedingt ein „Streifen“, aber der Aufbau ist im Grunde der gleiche: eine Reihe von Glühbirnen oder LEDs ohne weitere Technik in Reihe geschaltet.
Es gibt aber auch analoge LED-Streifen, die den digitalen LED-Streifen sehr ähnlich sehen. Bei analogen LED-Streifen ist die Farbe und die Helligkeit der LEDs fest eingestellt. Und es lassen sich auch nicht einzelne LEDs ansprechen. Im Grunde kann man diese Streifen einfach nur an- oder ausschalten.
In diesem Artikel geht es nur um die digitalen LED-Streifen. Hier kommen zusätzliche IC Chips zum Einsatz. Ausserdem geht es in diesem Artikel nur um LED-Streifen, bei denen man jede einzelne LED über eine Datenleitung steuern kann.
Anzahl der LEDs pro Meter
LED-Streifen unterscheiden sich in der Anzahl der LEDs pro Meter – das entspricht quasi der Bildschirmauflösung: je mehr LEDs pro Meter, desto höher die Auflösung. Hier eine Liste mit üblichen Werten:
- 144 LEDs/m
- 100 LEDs/m
- 90 LEDs/m
- 60 LEDs/m
- 30 LEDs/m
LED-Streifen mit 144 LEDs pro Meter sind quasi das Retina-Display unter den LED-Streifen 🙂
IP-Schutzklassen
LED-Streifen unterschieden sich in der sog. IP Schutzklasse. Die IP Schutzklasse gibt an, wie die LED-Streifen gegen das Eindringen von Partikeln und Wasser geschützt sind. Falls du LED-Streifen draußen verwenden willst, solltest du auf eine entsprechende Schutzklasse achten.
- IP 30: kein Schutz vor Wasser
- IP 65: beschichtet mit Silikon, daher etwas schwieriger zu schneiden und zu verlöten. Durch das Schneiden wird die Schutzklasse höchstwahrscheinlich zerstört und steigt auf IP 30 herab.
- IP 67: ummantelt von einem festen Silikon-Schlauch
Hier eine Tabelle, was die zwei Zahlen der IP Schutzklasse bedeuten:
1. Kennziffer | Schutz gegen das Eindringen von Fremdkörpern | 2. Kennziffer | Schutz gegen Wasser |
---|---|---|---|
0 | nicht geschützt | 0 | nicht geschützt |
1 | Schutz gegen Eindringen von festen Fremdkörpern mit einem Durchmesser > 50 mm | 1 | Schutz gegen senkrecht tropfendes Wasser |
2 | Schutz gegen Eindringen von festen Fremdkörpern mit einem Durchmesser > 12,5 mm | 2 | Schutz gegen tropfendes Wasser mit 15° Neigung |
3 | Schutz gegen Eindringen von festen Fremdkörpern mit einem Durchmesser > als 2,5 mm | 3 | Schutz gegen Sprühwasser schräg bis 60° |
4 | Schutz gegen Eindringen von festen Fremdkörpern mit einem Durchmesser > als 1 mm | 4 | Schutz gegen Spritzwasser |
5 | staubgeschützt | 5 | Schutz gegen Strahlwasser |
6 | staubdicht | 6 | Schutz gegen starkes Strahlwasser |
7 | Schutz gegen zeitweiliges Untertauchen | ||
8 | Schutz gegen andauerndes Untertauchen Eine zusätzlich angegebene Zahl bedeutet die maximale Tauchtiefe in Metern. | ||
9K | Schutz gegen sehr intensiven Wasserstahl, z.B. Hochdruck-Dampfstrahlreiniger bei Fahrzeugen |
Schutzartenübersicht nach VDE 0710 DIN 40050
Farbe des Trägermaterials
Die Farbe des Trägermaterials gibt es in weiss und schwarz. Manchmal möchte man, dass der Raum um die LED herum möglichst viel Licht reflektiert (z.B. bei einzeln abgeschirmten LEDs einer LED-Matrix mit Licht Diffusor). In dem Fall könnte weisses Trägermaterial die bessere Wahl sein. Oder vielleicht wollt ihr den Streifen direkt auf eine schwarze Wand kleben – hier könnte sich schwarzes Trägermaterial besser eignen.
Was sind die Unterschiede der verschiedenen LED-Steifen Typen?
Um zu verstehen, was es mit den unterschiedlichen LED-Streifen-Typen auf sich hat, müssen wir zunächst einen Blick auf die Technik von LEDs werfen.
Wie ist eine LED aufgebaut?
Als erstes schauen wir uns eine einzelne klassische einfarbige 2-Beinchen-LED an.
NERD-BOX: Wie ist eine LED aufgebaut
Eine LED besitzt ein langes und ein kürzeres Beinchen. Das längere Beinchen, in Zeichnungen oft mit einem geknickten Bein dargestellt, führt zur sog. Anode. Das kürzere Bein führt zur Kathode.
Oft ist das Gehäuse der LED an der Kathoden-Seite der LED abgeflacht – hilfreich wenn nicht mehr klar ist, welches Bein das längere ist.
Der Kathoden-Körper im Kopf-der LED ist größer da dieser am oberen Ende wie eine Wanne geformt ist. In dieser Wanne liegt der LED-Kristall, der letztendlich das Licht erzeugt.
Die Farbe des Lichts lässt sich u.a. mit dem Material der Anode steuern. Häufig werden diese Materialien verwendet:
- Rot : Aluminiumgalliumarsenid (AlGaAs)
- Grün: Galliumphosphid (GaP)
- Gelb: Galliumarsenidphosphid (GaAsP)
- Blau: Indiumgalliumnitrid (InGaN)
Um eine einfarbige LED zum Leuchten zu bringen, verbindet man die Kathode mit dem negativen Pol einer Batterie und die Anode mit dem positiven Pol. So funktionieren die Throwies wie in diesem YouTube Short zu sehen.
Mit einem Microcontroller würde man also die Kathode an Ground und die Anode an einen Pin anschließen – so weit so bekannt.
Nun schauen wir uns eine klassische RGB LED an. Eine klassische RGB LED sind quasi 3 LEDs in einer – für die drei Grundfarben rot, grün, blau. Deswegen gibt es hier vier Beinchen – drei für die Farben und eines um den Stromkreis zu schließen.
Hier gibt es übrigens zwei Varianten für das vierte Beinchen: entweder ist das vierte Beinchen die Kathode und muss an Ground angeschlossen werden, oder es ist die Anode und muss am 5V Out Pin angeschlossen werden – für LED-Streifen aber eher uninteressant, hier gibt es immer nur das gleiche Anschluß-Schema – dazu später mehr.
Jede einzelne Farb-LED einer klassischen RGB LED benötigt demnach einen Pin und eine Leitung. Bei 30 RGB LEDs würde man somit 90 Pins benötigen plus die Stromversorgung – mach zusammen: 91 Pins!
Um das Problem zu lösen, gibt es verschiedene Möglichkeiten: Stichwort Multiplexing und Charlieplexing (siehe Einleitung). Unsere LED-Streifen lösen das Ganze noch etwas anders.
Die Streifen schaffen es, alles über nur eine Datenleitung zu schicken. Und trotzdem kann jede LED einzeln angesteuert werden.
Was machen die Chips in den LED-Streifen?
Wie bekommen die Streifen es hin, mit nur einer Datenleitung alle LEDs mit mehreren Farben anzusteuern? Die Lösung liegt in den zusätzlichen Chips, die auf den Streifen verwendet werden.
Schauen wir uns ein einzelnes LED-Element von einem LED-Streifen größer an, dann sehen wir, dass auch hier in Wirklichkeit 3 LEDs verbaut sind und einen zusätzlichen Chip besitzt. Dieser Chip löst das angesprochene Problem mit den vielen Kabeln und kümmert sich um die Ansteuerung der drei Farb-LEDs.
Im Grunde läuft es so: man erzeugt ein großes Datenpaket. Dieses Datenpaket enthält die Farbe für jede einzelne LED im ganzen Streifen. Dieses große Datenpaket wird nun direkt über die Datenleitung in den LED-Streifen geschickt.
Der Chip der ersten LED nimmt sich jetzt die erste Farbangabe aus dem Datenpaket und stellt die LED entsprechend ein. Jetzt der schlaue Trick: nun schneidet der Chip diese erste Farbangabe ab, und leitet den Rest des Datenpakets weiter zur nächsten LED – dort geht das Ganze wieder von vorne los, bis die letzte LED schließlich die letzte Farbangabe bekommen hat. Das Datenpaket wird nach jeder LED immer kleiner.
Nun gibt es kleine Unterschiede bei den verschiedenen Chips (siehe Bild oben WS2812 VS WS2812B) und wie die Daten verarbeitet werden. Wenn wir LED-Streifen programmieren wollen, benutzen wir eine LED Library, die uns die komplizierte Arbeit der Erstellung der Datenpakete abnimmt. Manche Chip-Typen funktionieren identisch, andere leider nicht. Eine LED-Library muss vom Entwickler angepasst werden, damit ein Chip-Typ unterstützt wird.
Die Entwickler dieser LED-Libraries haben es manchmal noch nicht geschafft (oder haben kein Interesse), jeden Chip-Typ einzubauen. Daher kann es sein, dass eine LED-Library nicht mit einem bestimmten LED-Streifen-Typ verwendet werden kann.
Alle LED-Streifen, die ich hier gleich vorstelle, funktionieren nach dem gleichen Prinzip:
Es gibt eine Datenleitung, mit der man die LEDs ansteuern kann. In den LEDs sind üblicherweise 3 LEDs verbaut – eine für rot, eine für grün und eine für blau. Bei den sog. RGBW Varianten gibt es noch eine zusätzliche vierte LED für reines weiss.
Oft findet man bei den LED-Streifen eine Zahlen-Angabe wie 5050. Dies bezieht sich auf die Abmessung des Gehäuses eines LED-Elements. Bei 5050 ist diese Gehäuse dann 5×5 mm groß. Es gibt auch kleinere Formate wie z.B. 3528 – aber 5050 genießt wohl die meiste Verbreitung bei LED-Streifen.
Welche LED-Streifen Typen gibt es?
Hier eine Auswahl von weit verbreiteten LED-Streifen Typen, die man mit Mikrocontrollern steuern kann.
Name | Volt | PWM Frequenz | Hinweise |
---|---|---|---|
WS2811* | 12V | ~430 Hz | Ist meist günstiger. Aber oft nur 3er Pixel Blöcke steuerbar (also nicht jedes einzelne LED). Wenn Power Injection nicht möglich und alle anderen Varianten zu teuer erscheinen, dann diese Variante. |
WS2812B* | 5V | ~430 Hz | Controller Chip ist direkt in der LED eingebaut. Weit verbreiteter Klassiker der von allen LED-Libraries unterstützt wird, daher kann man hier kaum etwas falsch machen. |
WS2812B ECO* | 5V | ~430 Hz | WS2812B ECO soll etwas weniger Strom verbrauchen als WS2812B. Ist dafür etwas teurer aber ansonsten technisch gleich mit WS2812B. |
WS2813* | 5V | ~2 kHz | Diese WS2812B Variante hat eine zusätzliche Backup-Daten-Leitung. Wenn bei einem LED-Streifen ohne Backup-Leitung die Datenleitung bricht oder eine LED kaputt geht, funktionieren alle anderen LEDs danach auch nicht mehr. Dieses Problem entschärft die WS2813 Variante etwas, in dem es eine zusätzliche Backup-Datenleitung verwendet. Das kann sinnvoll sein, wenn man an den LED-Streifen nicht mehr herankommt, um eine Reparatur durchzuführen und eine kaputte LED auszutauschen. Zum Beispiel wenn der Streifen in Gießharz eingegossen ist. Da die WS2813 durch die zusätzliche Datenleitung einen höheren Eigenwiderstand hat, ist hier der Spannungsabfall-Effekt (siehe unten) größer und hat damit eine deutlichere und früher einsetzende Farbverschiebung. |
WS2815* | 12V | ~1,2 kHz | Dieser Typ ist im Grunde wie der WS2813 mit eine zusätzlichen Backup-Datenleitung aber das ganze mit 12 Volt. D.h. die Farbverschiebung durch Spannungsabfall wird hier etwas entschärft. Insgesamt sind aber Preis und Stromverbrauch hier am höchsten. |
SK6812 (RGBW)* | 5V | ~1,1 kHz | Ist sehr ähnlich zur WS2812B besitzt aber eine zusätzliche LED für reines weiss. Normalerweise wird weiss gemischt, in dem man rot, grün und blau auf gleiche Intensität stellt. Allerdings hat das Weiss dann einen Farbstich ins Blaue oder Lila. Die extra LED für Weiss gibt es dann wiederum in den Varianten warm, neutral oder kaltes Weiss. Beim Kauf des LED Streifens muss man sich für eine Weiss-Variante entscheiden. Gerade für Wohnraum, wo die LED-Streifen andere Lampen ersetzen sollen, macht das angenehmere Weiss Sinn. Für Projekte wie z.B. die Voltage Clock (siehe oben) oder eine WortUhr, ist es vermutlich nicht so wichtig. |
Neopixel* | 5V | ~430 Hz (je nach LED Typ) | Adafruits Markenname für adressierbare LED-Streifen. Diese sind dann meist nichts anderes als WS2812B, WS2811 oder SK6812 LEDs. |
APA102* | 5V | ~19 kHz | Teuer, aber: hat extrem hohe PWM Frequenzen. Damit sollten sogar Zeitlupen-Videoaufnahmen ohne Flickern möglich sein. |
SK9822* | 5V | ~4,7 kHz | Günstigere Alternative zur APA102, dafür aber nicht ganz so hohe PWM Frequenzen wie APA102. |
Wieso flackern LEDs im Auge und im Video?
Die WS2812B LED-Streifen flackern, weil sie mit einer Pulsweitenmodulation (PWM) betrieben werden. Die PWM ist eine Methode zur Steuerung der Helligkeit von LEDs, indem sie schnell ein- und ausgeschaltet werden. Die Steuerung erfolgt durch Ändern der Länge der eingeschalteten Zeit im Verhältnis zur Gesamtzeit eines Zyklus.
Wenn der Zyklus sehr kurz ist, kann das menschliche Auge das Flackern nicht mehr wahrnehmen. Die Frequenz, bei der das Flackern für das menschliche Auge nicht mehr wahrnehmbar ist, wird als kritische Frequenz bezeichnet. Diese Frequenz variiert jedoch von Person zu Person und liegt normalerweise zwischen 50 Hz und 90 Hz. Es gibt aber sicher auch empfindlichere Menschen. Ausserdem wird das Flackern im periphären Sichtfeld eher wahrgenommen, als wenn man direkt in das Licht schaut.
Für Videoaufnahmen ist die kritische Frequenz anders, da Kameras anders funktionieren als das menschliche Auge. Üblicherweise benötigen Kameras eine höhere PWM Frequenz, damit das Flackern in den Aufnahmen vermieden wird. Wenn du also eine LED-Beleuchtung bauen willst, um diese zur Beleuchtung deiner Videos zu nutzen, kannst du auf Nummer Sicher gehen und einen LED-Streifen einsetzen, der über den 430 Hz von WS2812B & Co. liegt – wie zum Beispiel SK6812. Wenn du auch Zeitlupenaufnahmen machen möchtest, sollte die Frequenz möglichst hoch sein – da würde ich auf SK9822 oder APA102 setzen.
Stromversorgung
Wann nutzt man 12 Volt und wann nutzt man 5 Volt LED-Streifen?
12 Volt (oder sogar mehr) eignen sich, um längere LED-Streifen zu betreiben, da hier die Farbverschiebung weniger Problematisch ist. Und falls man an mehreren Stellen Strom einspeisen muss, benötigt man weniger Punkte zum Einspeisen. (Siehe weiter unten Abschnitt Spannungsabfall und Farbverschiebung)
Bei kleineren Projekten wie Uhren, Schilder, Kostüme etc., wo die Leitungen nicht so lang sind und die LED Anzahl nicht so hoch, würde ich auf 5 Volt setzen, insbesondere wenn man Microcontroller verwendet, die keine 12 Volt vertragen, wie z.B. ESP Dev Boards. Der Arduino UNO kann durch den eingebauten Spannungswandler direkt mit 12 Volt umgehen.
Wie berechnet man den Stromverbrauch von LEDs?
Das Thema Stromversorgung ist extrem wichtig. Das Netzteil muss genügend Ampere liefern, damit alle LEDs zum Leuchten gebracht werden können. Hier zeige ich dir, wie man den benötigten Strom im Voraus berechnen kann.
Als Richtwert rechnet man für eine LED bei voller Intensität mit 20 mA Strom – worstcase! Da ist bereits ein wenig Puffer drin. Das ist auch sinnvoll, denn man darf Netzteile nicht dauerhaft mit 100% Last fahren, d.h dauerhaft das Maximum an Ampere nutzen – andernfalls drohen Hitzeschäden.
Unsere RGB LEDs haben für jede Farbe eine eigene LED. D.h. wenn alle Farben leuchten, kann die LED 60 mA. verbrauchen. Das wäre der Fall, wenn der Streifen weiss leuchten soll, denn dann werden alle Farben mit gleicher Intensität angestellt, um einen Weisston zu mischen.
Anzahl der RGB-LEDs × 60mA = Strombedarf in mA
Weiss verbraucht demnach am meisten Strom. Ausser bei dem SK 6812 LED-Streifen – dort gibt es eine extra LED für weiss, d.h. hier werden lediglich 20 mA für weiss verbraucht.
ACHTUNG, dazu sei gesagt: beim Programmieren werden die Farbkanäle für rot, grün, blau und in diesem Fall auch weiss einzeln angesteuert. D.h. man könnte es auch so programmieren dass alle vier LEDs angeschaltet werden. Dann wären es sogar 80 mA pro LED. Mir fällt allerdings kein sinnvolles Szenario dafür ein.
Hier ein paar Rechenbeispiele mit RGB LEDs:
30 RGB LEDs: 30 * 60 mA = 1800 mA.
60 RGB LEDs: 60 * 60 mA = 3600 mA
144 RGB LEDs: 144 * 60 mA = 8640 mA
Man kommt schnell in einen Ampere-Bereich, der größere Netzteile benötigt. Aber nochmal: das ist eine Worstcase-Berechnung. Um diese zu erreichen, müsste man alle LEDs bei voller Intensität mit weisser Farbe leuchten lassen. Meistens ist es gar nicht sinnvoll, alle LEDs immer leuchten zu lassen. Mehr dazu auch im Abschnitt Tipps zum Stromsparen.
Übrigens: wenn der Arduino Uno mit USB gespeist wird, kann der 5V Output noch um die 400 mA liefern. D.h. ohne zusätzliche Stromquelle sollte man hier einen LED-Streifen mit maximal 6 RGB LEDs anschließen. Das wären maximal 360 mA. Diese Angabe bezieht sich nur auf den Arduino UNO, das könnte bei anderen Arduino Modellen anders sein. Am besten arbeitet Ihr gleich mit einem externen Netzteil.
Es darf sollte ein bisschen mehr Strom sein
Die Ampere Zahl sollte ruhig größer als das Benötigte sein. Die Verbraucher im Stromkreis ziehen sich nur den Strom, den sie benötigen. Es ist sogar besser, wenn das Netzteil mehr Ampere als benötigt liefern kann, dann bekommt man keine Hitzeprobleme. Wie gesagt, darf man ein Netzteil nicht dauerhaft zu 100% belasten. 75% ist ein guter Richtwert.
Welche Netzteile gibt es?
Hier habe ich dir eine Übersicht mit üblichen Netzteilen für LED-Streifen Projekte erstellt.
Wand-Netzteile (aka Wall Adapter)
Die berühmten „Wandwarzen“ bekommt man mit 5 Volt noch bequem bis 4 Ampere. Vermutlich habt ihr zu Hause sogar noch solche 5 Volt Netzteile rumfliegen. USB-Netzteile zum Handy-Laden haben in der Regel 5 Volt aufgrund der USB Spezifikation – meistens haben diese dann um die 2 Ampere. Schaut auf die technischen Angaben, ob das Netzteil 5 Volt hat und wieviel Ampere es besitzt.
Gute Erfahrungen habe ich mit den Netzteilen von der Fa. Leicke (Amazon Link*) gemacht. Schaut auch mal nach euren Handy-Netzteilen. Wenn ein USB-Stecker dran hängt, hat es auch 5V. Allerdings rühmen sich diese Handy-Netzteile nicht als qualitativ hochwertig.
Laptop Netzteile (aka Power Bricks)
Die Netzteile, wie Sie z.B. für Laptops verwendet werden, wäre das nächst größere Modell. Diese kann man durchaus mit 10 oder 15 Ampere finden. Letztere haben dann aber möglicherweise schon einen eingebauten Lüfter.
Auch hier kann ich wieder die Firma Leicke empfehlen – z.B. dieses 5V Netzteil mit 10 Ampere (Amazon-Link*).
- Ausgang: 5V bis 5,5V/ 10A, 50W Ausgangsleistung.Der Spannungsausgang ist in Leerlauf und Last unterteilt. Es ist normal, dass die Spannung im Leerlauf mehr als 5 V beträgt. Der Zweck besteht darin, sicherzustellen, dass der Treiber des Geräts nach dem Anschließen des Geräts ausreicht. Schließen Sie die Last an, die Spannung ist größer, solange sie innerhalb von ±5 % liegt, ist es in Ordnung
- Ideal geeignet als Ersatz für Netzteile von LED Stripe WS2811 WS2812 WS2812B WS2801 SK6812 APA102 SK9822 LED8806 usw.
- Ausgestattet mit Überspannungs-, Kurzschluss- und Temperaturschutz LEICKE ULL-Technologie: Alle LEICKE Eco-Netzteile sind mit der LEICKE Ultra-Long-Life-Technologie (ULL) ausgestattet LEICKE SolidPower II (SP2): Auch bei Spannungsänderungen zwischen 100 V und 240 V garantiert Ihnen die LEICKE SolidPower-Technologie eine konstante Ausgangsspannung.
- Sehr gut geeignet, um LED-Beleuchtungen, NAS-Systeme, Router mit ausreichend Energie zu versorgen.
Industrie-Netzteile (aka Frame style)
Die nächste „Eskalationsstufe“ sind dann solche Netzteile im Gitter-Gehäuse. Diese Geräte gibt es mit bis zu 70 Ampere. Wenn Ihr allerdings mit so hohen Strömen arbeitet, dann solltet ihr unbedingt mit zusätzlichen Sicherungen arbeiten. Wenn bei so viel Last etwas durchbrennt, dann sollte das am Besten nur eine Sicherung sein. Ich zeige später nochmal, wo man Sicherungen einbauen kann, wenn wir zum Thema Schaltung kommen.
ATX Computer-Netzteile
Wenn ihr ein ATX Computer Netzteil habt, ist das auch eine gängige Lösung. Oft sind diese sogar auf einen leisen Betrieb ausgelegt, was bei den industriellen Netzteilen meistens keine Priorität hat.
ATX Netzteile führen drei Ausgangs-Strom-Leitungen:
- 3,3 Volt (orange Leitungen)
- 5 Volt (rote Leitungen)
- 12 Volt (gelbe Leitungen)
Die schwarzen Kabel sind immer Ground. Hilft natürlich nichts, wenn die lustigen Produkt-Designer alle Kabel schwarz machen – wie bei meinem bequiet! Netzteil. Zum Glück habe ich einen Artikel + Video zur Stromversorgung von Arduino, ESP32 & Co. mit ATX-Netzteilen im Angebot. Dort findest du auch eine Pin-Belegung für diesen Molex Stecker.
Einbau-Netzteile (aka LED-Netzteil)
Wenn Ihr etwas mit einem Gehäuse oder Rahmen baut, finde ich solche Einbau-Netzteile praktisch. Diese werden oft auch als „LED-Netzteil“ verkauft. Allerdings muss man sich hier um eine 230V Zuleitung kümmern. Das ist möglicherweise abschreckend, denn bei den oben genannten Netzteil-Varianten ist das bereits gelöst. Persönlich finde ich es aber recht einfach hier eine Stromversorgung zu bauen.
Mit diesen Mean Well Netzteilen habe ich gute Erfahrungen gemacht. Während günstigere Produkte gerne mal ein hörbares Spulen-Fiepen von sich geben, waren meine Mean Well Modelle immer schön lautlos. Diese Modelle gibt es in verschiedenen Leistungen. Zum Beispiel in 5V mit 12A (Amazon-Link*) oder auch 5V mit 8A (Amazon-Link*).
Nochmal der Hinweis: ich bin kein Elektriker. Du möglicherweise auch nicht. Glaubt nicht blindlings was ich oder andere sagen! Denkt bitte selber immer nochmal nach, bevor ihr mit großen Strömen und Spannungen arbeitet. Sicherheit geht vor! Wenn du unsicher bist, frage nochmal nach – am besten einen Profi.
Wie kann ich Strom sparen bei LED-Projekten ?
Hier möchte ich ein paar wichtige Tipps zum Stromsparen geben und wie man die Ampere Anforderung deutlich reduzieren kann:
Benutze weniger LEDs
So offensichtlich es auch ist: überlege ob du wirklich eine LED-Dichte von 144 LEDs pro Meter benötigst. Sind 60 oder 30 LEDs pro Meter nicht ausreichend? Das reduziert den Stromverbrauch deutlich! Wie du den Strombedarf ausrechnen kannst, habe ich dir oben gezeigt.
Nicht alle LEDs gleichzeitig und nicht in weiß leuchten lassen
Gut, das lässt sich möglicherweise nicht umsetzen, je nachdem was das Ziel des Projekts ist. Eine selbstgebaute Video-Leuchte soll nun mal möglichst hell und weiss leuchten. Aber gerade bei animierten LED-Steifen leuchten in der Regel nicht alle LEDs gleichzeitig. Und höchstwahrscheinlich leuchten auch nicht alle LEDs in weiß sonder in einer bunten Farbe. D.h. der übliche animierte und bunte LED-Streifen wird von Haus aus viel weniger Ampere benötigen.
LED Intensität runter
Das ist der wichtigste und effektivste Tipp: es ist nicht sinnvoll die LEDs bei voller Intensität laufen zu lassen. Man gibt die Intensität für jede LED immer mit dem Farbwert zusammen an.
Der Farbwert ergibt sich aus drei Zahlen – eine Zahl für die rote LED, eine für die grüne und eine für die blaue LED. Die Zahl ist ein Wert zwischen 0 und 255 und gibt die Intensität an, mit der die LED leuchten soll – bei dem Wert 0 wäre die LED aus und bei 255 leuchtet sie am hellsten (= höchste Intensität).
Ein reines Rot mit höchster Intensität hat den RGB-Farbwert: 255,0,0.
Ein reines Rot mit halber Intensität hat den RGB-Farbwert: 127,0,0.
In der Praxis stellt sich heraus: 255 ist nicht notwendig – das ist sehr hell! Und selbst wenn man die Intensität auf 127 stellt ist kaum ein Unterschied zur vollen Intensität auszumachen.
Hier habe ich mal einen Test mit einer 8×8 = 64 LED Matrix gemacht: ich messe den Strom über eine smarte Steckdose HS110 von TP Link. Die wird leider nicht mehr hergestellt, gibt aber einen Nachfolger die TAPO P110 (Amazon-Link*).
Ich muss zugeben, auf den Fotos sieht der Unterschied krasser aus. Liegt sicher auch an den Einstellungen der Kamera. Man sieht aber auch schön das Einsparpotential, wenn man die Intensitäten kleiner macht:
- Intensität 255 mit 7,68 W = 1.52 A
- Intensität 127 mit 4,04 W = 0,81 A
- Intensität 63 mit 2,45 W = 0,5 A
- Intensität 31 mit 1,67 W = 0,34 A
Das schöne ist: unsere Wahrnehmung spielt uns hier zusätzlich in die Karten. Denn wir nehmen Helligkeitsunterschiede nicht linear war. Unsere Augen sind auf Tageslicht (zum Beute jagen) und auf Dunkelheit (um nicht selbst Beute zu werden) spezialisiert – also auf die Extreme: hell und dunkel – hier können wir Unterschiede besser wahrnehmen. Aber die Helligkeitswahrnehmung zwischen den Extremen war zum Überleben wohl eher … egal.
Wenn wir die LEDs auf halbe Intensität (127) stellen, dann nehmen wir das nicht als halb so hell wahr – für unser Auge erscheint es viel heller. Ich habe gelesen, das Verhältnis liegt eher bei 5:1 statt 2:1 – d.h. einen Intensitäts-Wert von 50 empfinden wir eher als halb so hell wie 255.
Probiert einfach mal aus, welcher Helligkeitswert noch hell genug ist für euch.
NERD-BOX: Was ist Gamma Korrektur?
Dass man die Helligkeit für Lichtintensität nicht linear sonder mit einer Kurve steuert nennt man Gamma Correction – habt ihr bestimmt schon mal gehört. Die Technik wird in jedem Fernseher und Monitor verwendet.
Warum eigentlich? Ist es nicht egal wie hell oder dunkel wir letztendlich das ganze Monitorbild wahrnehmen?
Es ist komplizierter als ich es hier nur für weiße Farben dargestellt habe: unser Auge nimmt die Helligkeit für die Farben rot, grün und blau unterschiedlich wahr. Also im Grunde hat jede Farbe eine unterschiedliche Gamma Kurve.
Würde der Monitor nun bei allen Farben die gleiche Gamma Kurve verwenden, würden wir die gemischte Gesamt-Farbe verfälscht wahrnehmen.
Grün nehmen wir 3x heller als rot und 10x heller als blau wahr. Diese Wahrnehmung korrigiert die Gamma Korrektur und führt dazu, dass unsere Fernseher und Monitore nicht alle farbstichig sind.
Wer es drauf anlegt könnte also die Farbangaben für seinen LED-Streifen noch einer Gamma Korrektur unterwerfen. Aber ich denke, für die meisten Projekte wäre das Overkill.
Aber wer tiefer einsteigen möchte: hier ist ein prima Artikel auf Hackaday.
Wie ist der Schaltungsaufbau bei einem LED-Projekt?
Kommen wir jetzt zum Aufbau der Schaltung. Wie schließen wir einen LED-Streifen an einen Mikrocontroller wie Arduino oder ESP an?
Meistens habe die LED-Streifen schon einen sog. JST Stecker angelötet. Ich finde die pratkisch, so kann man schnell einen Streifen anschließen oder wieder entfernen. Ich habe mir einen einfachen Adapter von JST auf drei einzelne Dupont Stecker gebastelt. Einfach drei Jumper-Kabel durchgeschnitten, verlötet und mit Schrumpfschlauch ummantelt. So kann man den LED-Streifen sehr einfach auf einem Breadboard oder direkt am Microcontroller anschließen.
Die JST Buchse habe ich einfach von einem LED-Streifen „geklaut“ – meistens ist am einen Ende ein JST Stecker und am anderen Ende eine JST Buchse verlötet.
Zunächst ist der Aufbau recht simpel. Schauen wir uns mal einen LED-Streifen mit 6 LEDs an, den wir direkt an einen Arduino anschließen, der mit USB Stromversorgung läuft:
Ihr müsst einen Pin wählen, der mit der Datenleitung des LED-Streifens verbunden wird. Die Datenleitung ist in der Regel auf dem Streifen mit DIN beschriftet. Ausserdem werden noch GND mit Ground verbunden und 5V bekommt 5 Volt.
Wir können noch einen Widerstand in die Datenleitung direkt vor die LEDs setzen. Dieser hat zwei Aufgaben: einmal schützt er die erste LED vor zu viel Strom, der z.B. beim Einschalten des Netzteils auftreten kann (Stromspitze). Zum Anderen hilft er dabei, das Signal „sauberer“ zu halten. Bei kleineren Projekten (<50 cm Kabellängen) kann man den Widerstand auch weglassen. Siehe auch die nächste Nerd-Box.
Insbesondere wenn zwischen Microcontroller und LED-Streifen sehr lange Kabel sind, kann ein Flickern bei den LEDs einsetzen. Hier kommt dann das Datenpaket nicht mehr sauber am Streifen an, weil das Signal „zefranzt“. Hier kann der zusätzliche Widerstand helfen.
NERD-BOX: Strom und saubere Signale durch den passenden Widerstand
Wir hatten ja gesagt, die RGB Farbwerte werden in Bits umgewandelt, also in Nullen und Einsen, bevor sie in die Datenleitung des LED-Streifens geschoben werden.
Warum überhaupt? Warum wird bei Computern immer alles in 0 und 1 umgewandelt? Weil ein Computer mit Strom funktioniert und damit kann man sehr einfach Nullen und Einsen übersetzen in: Strom-aus und Strom-an.
Das Signal, also die vielen Nullen und Einsen in Form von Strom-an und Strom-aus, rast so schnell durch die Leitung, dass man ein möglichst „sauberes“ Signal benötigt. Sauber heisst in diesem Fall, dass der Unterschied zwischen Strom-aus (LOW) und Strom-an (HIGH) deutlich zu erkennen sein muss.
Wenn jetzt Störungen in die Leitungen einfließen, wird das Signal verfälscht und das Signal ist dann nicht mehr so sauber. Das kann so weit führen, dass der Chip des LED-Streifens nicht mehr eindeutig sagen kann, ob das jetzt ein HIGH oder ein LOW war.
Je länger nun ein Kabel ist, desto anfälliger ist es für Störungen. Auf der Webseite von QuinLED hat der Autor mal Tests gemacht. Es zeigt sich das ab 10 bis 15 m Kabeln mit dem Flickern zu rechnen ist – können aber auch schon ab 5 m einsetzen.
Je nach Länge der Kabels muss hier auch der Widerstand angepasst werden. In dem berühmten Neopixel Überguide von Adafruit wird ein 300-500 Ohm Widerstand verwendet, z.B. 470 Ohm. Der eignet sich für kurze Kabelstrecken bis 50 cm.
QuinLED hat viel zu diesem Thema getestet. Nach deren Aussage funktionieren bis 50 cm alles von gar keinem bis 500 Ohm. Ab 5 m Länge können Effekte einsetzen, die man dann mit kleineren Widerständen und/oder anderen Kabelkonfigurationen in den Griff bekommen kann. Meine Projekte hatten bisher allerdings noch nicht so lange Kabelstrecken, als dass ich auf solche Probleme gestoßen bin.
Wenn wir nun das Ganze mit einem externen Netzteil betreiben wollen, um einen längeren LED-Streifen zu betreiben, müssen wir es etwas anders verkabeln. Wir wollen den Arduino UNO und den LED-Streifen mit ein und demselben Netzteil betreiben. Zwei Netzteile gingen natürlich auch, aber eleganter ist es, wenn beides mit nur einem Netzteil betrieben werden kann.
Oft findet man auch eine Schaltung, in der zusätzlich ein Kondensator verbaut wird. Dieser soll zusätzliche Eigenschaften mitbringen, allerdings gehen die Aussagen im Netz etwas auseinander:
- Bei plötzlichen Helligkeitsveränderungen mit viel LEDs kann der Kondensator diesen kurzzeitig hohen Strombedarf liefern und entlastet das Netzteil.
- Der Kondensator kann Stromspitzen/lücken ausfiltern und so das Signal sauberer halten.
Hört sich beides nachvollziehbar an. Als Grundregel kann man aber festhalten: ein Kondensator macht Sinn, je mehr LEDs man benutzt und je dünner die verwendeten Kabel sind.
Sollten also Probleme mit den Farben oder ein Flickern auftreten, probiert es mal mit einem Kondensator.
Ist der Kondensator zwingend notwendig?
Nein. Es geht nichts gleich kaputt oder brennt durch. Es treten höchsten Flickern oder Fehler bei den Farben auf.
Spätestens wenn man dann mit richtig großen Netzteilen arbeitet (150/200W Dauerleistung), machen zusätzliche Sicherungen Sinn, damit diese im Fall der Fälle zuerst durchbrennen. Diese bringt man in jeder 5 Volt Leitung an – möglichst nah am Netzteil:
Praktisch sind z.B. die klassichen KfZ-Sicherungen (Amazon-Link*). Diese lassen sich recht einfach mit KfZ-Sicherungshaltern (Amazon-Link*) befestigen.
Du musst zunächst berechnen, was die maximale Leistung deines LED-Streifens sein soll. Sagen wir mal ein Streifen mit 150 RGB-LEDs hat im worst case Szenario einen Stromverbrauch von:
150 * 60 mA = 9000 mA
Nun muss man eine Sicherung mit einer höheren Ampere-Zahl wählen – z.B. 10 Ampere. Man muss hier abwägen: ist der Abstand zur nächst höheren Ampere-Zahl zu klein, könnte eine kleine Strom-Spitze die Sicherung durchbrennen lassen, obwohl alles in Ordnung ist.
Ist der Abstand zur Ampere-Zahl der Sicherung zu groß, kann die Sicherung zu spät durchbrennen.
Da wir hier schon mit dem eher unrealistischem Worst-Case-Szenario rechnen, ist es recht unwahrscheinlich auf 10 Ampere zu kommen. Ich würde hier zunächst eine 10 Ampere Sicherung einsetzen. Im schlimmsten Fall brennt die Sicherung durch – genau dafür ist sie da.
Farbverschiebung durch Spannungsabfall (aka Voltage Drop)
Kommen wir nun zu einem der größten Probleme bei LED-Streifen: der Farbverschiebungseffekt durch Spannungsabfall.
Jede LED auf dem Streifen verbraucht Strom. Zudem haben die Bauteile und Leitungen auf dem Streifen einen Eigenwiderstand. Je nach Länge kommt am Ende des Streifens zu wenig Spannung bei den LEDs an. Das hat zur Folge, dass eine Farbverschiebung im Licht zum Ende des Streifens hin stattfindet.
In den folgenden Bildern ist der Effekt gut zu sehen. Eigentlich sollte die Farbe überall gleich weiß sein, so wie im rechten Teil des Streifens, wo der Strom eingespeist wird.
Bei einem 12 Volt Streifen ist der Effekt weniger stark, da mehr Spannung zur Verfügung steht – der Streifen kann also Länger sein, bevor auch hier der Farbverschiebungseffekt einsetzt.
Warum verstärken billige LED-Streifen den Farbverschiebunseffekt?
Wir erinnern uns vielleicht noch an den Physikunterricht: je dünner die Leitung, desto höher der Eigenwiderstand der Leitung .
Um günstiger produzieren zu können, wird bei billigen LED-Steifen an Material gespart. Unter anderem spart man Kupfer-Anteile in den Leitungen ein. Weniger Kupferanteile bedeutet quasi eine dünnere Leitung, was wiederum bedeutet: der Eigenwiderstand ist höher bei den billigen Streifen und der Spannungsabfall setzt früher ein.
„Was ist denn ein billiger LED-Streifen?“, ist jetzt die Frage. Tatsächlich sind die Preise so sehr gestiegen (Chip-Krise, Container-Krise, bestimmt auch Corona-Krise und Ukraine-Krise), dass es gefühlt gar keine billigen Angebote mehr gibt. Da ich gute Erfahrungen mit Streifen von BTF-Lightning (Amazon-Link*) hatte, würde ich mich hier an den Preisen dieses Herstellers orientieren.
Wie kann man Farbverschiebung bei LED-Streifen lösen?
Wie lösen wir nun die Farbverschiebung durch Spannungsabfall? Hier gibt es zwei übliche Methoden, um die Farbverschiebung in den Griff zu bekommen:
Helligkeit verringern
Wenn man die Helligkeit der LEDs verringert, kann man das Problem oft schon in den Griff bekommen – je nach länge des LED-Streifens.
Bei meinem 300 LEDs Streifen setzte der Effekt ab einer Intensität von 128 ein. Bei einer Intensität von 64 konnte ich den Effekt farblich nicht wahrnehmen. Allerdings wurden die LEDs am Ende des Streifens unruhiger und flackerten. Zumindest im periphären Sehfeld war das Flackern wahrnehmbar.
Bei sehr langen Streifen würden die LEDs aber vermutlich zu dunkel werden. Dann eignet sich nur noch die nächste Möglichkeit, die allerdings ein bisschen aufwändiger ist: Power Injection.
Was ist Power Injection?
Wir wissen ja nun wie man grundsätzlich eine Schaltung mit Mikrocontroller und LED-Streifen aufbaut. Bei der Power Injection wird der Strom nicht nur am Anfang, sondern an mehreren Stellen des LED-Streifens zugeführt.
Dazu kann man zum Beispiel den Strom über ein langes Kabel parallel zum Streifen laufen lassen und in regelmäßigen Abständen den Strom zuführen. Oft reicht es schon aus (je nach Länge des LED-Streifens), den Strom einfach zusätzlich am Ende in den LED-Streifen zu führen, so wie im folgenden Schema zu sehen:
Falls nun die Helligkeit in der Mitte noch abfällt, sollte nicht nur am Ende, sondern an mehreren Punkten der Strom in den Streifen geführt werden. Manchmal ist es auch schon hilfreich, den Strom nicht am Anfang oder Ende, sondern in der Mitte des Streifens anzuschließen.
ACHTUNG: ich habe mal den Stromverbrauch mit und ohne Power Injection gemessen. Wie man sehen kann, wird bei zusätzlicher Power Injection mehr Strom benötigt (irgendwo muss die Helligkeit ja herkommen). Unbedingt beachten, wenn ihr mit sehr langen Streifen und Power Injection arbeiten wollt.
RGB Intensity | Watt ohne Power Injection | Watt mit Power Injection |
---|---|---|
16 | 4,2 Watt | 4,2 Watt |
32 | 7,3 Watt | 7,3 Watt |
64 | 14,5 Watt | 15 Watt |
128 | 22,4 Watt | 29,7 Watt |
Praxis-Tipps
Hier eine kleine Sammlung an Orientierungs-Tipps bezüglich der Stromversorgung. Dabei gehe ich davon aus, dass du alle bereits erwähnten Tipps zum Verringern des Strombedarfs berücksichtig hast. Inbesondere die LEDs nicht bei voller Intensität laufen lassen.
Fange mit wenigen LEDs bei niedriger Intensität an und arbeite dich bis zu 80% der maximalen Leistung des Netzteils heran. Kontrolliere den Strombedarf mit einem Messgerät (gutes Steckdosen-Messgerät (Amazon-Link* oder das oben bereits erwähnte TAPO P110 Amazon-Link*) – du bekommst damit ein viel besseres und sichereres Gefühl, für den Strombedarf deiner Anwendungen.
Auch wenn diese Orientierungs-Tipps meistens zutreffen – prüfe trotzdem vorher die Angaben des Netzteils. Denke nochmal drüber nach, ob es zusammen mit deiner Anwendung (einzelne Farben/LEDs VS. alle LEDs voll Power auf weiß) Sinn macht! Insbesondere wenn du mit sehr langen LED-Streifen bzw. großen Netzteilen arbeitest. Wenn du unsicher bist, messe nach!
Wenn du Anfänger bist: nehme dir zunächst kleinere Projekte vor wie z.B. Deko-Streifen, PC-Case Beleuchtung oder kleine Matrix-Displays. Fange nicht gleich mit der 150 Meter Weihnachts-Beleuchtung an – der benötigte Strom ist immens, insbesondere bei 5V LED-Streifen (hier machen 12V oder 24V LED-Streifen mehr Sinn). Wenn du Letzteres machen willst, hole dir unbedingt Hilfe von einem Profi.
Jetzt aber endlich zu den Tipps:
- Unter 3m oder 100 LEDs 5V Streifen benötigen keine Power Injection.
- Unter 8m oder 240 LEDs 12V Streifen benötigen keine Power Injection.
- Bis 150 LED – hier könnte dein Handy-Ladegerät noch ausreichen (prüfe die Ampere-Angaben!).
- 150 bis 300 LEDs – hier würde ich ein 7 oder 8 Ampere Netzteil anpeilen.
- Die Kabel, die Ihr für Power Injection verwendet, dürfen nicht zu dünn sein – nicht dünner als 22 AWG bei kleinen Projekten. Ansonsten werden die Kabel zu heiß und können durchschmoren. Je länger die Kabel und je mehr LEDs verwendet werden, desto dicker müssen die Kabel werden.
- Wenn das Netzteil mehr als 100 Watt hat, lieber Sicherungen in jede Stromabzweigung, die zum LED-Streifen geht, einbauen.
- Dabei die Sicherungen so nah ans Netzteil wie möglich. Die Sicherung muss etwas größer sein, als der zu erwartenden maximale Strombedarf. Beispiel: wenn max. 4.5 Ampere zu erwarten sind, dann nutze mindestens eine 5 Ampere Sicherung.
ESP32 und andere 3,3 Volt Microcontroller
Jetzt mag ich ja so gerne den EPS32 – der läuft mit 3,3 Volt. Die LED-Streifen laufen jedoch mit 5 Volt. Funktioniert das überhaupt?
Eigentlich müsste man hier das 3,3 Volt Signal auf 5 Volt mit einem Logik Level-Shifter bringen.
Bei meine Projekten hat es bisher immer ohne geklappt. Offensichtlich gibt es da einen Toleranzbereich in dem ich mich immer befunden habe.
Ich kann mir auch vorstellen, dass ab einer bestimmten Länge des LED-Streifens Probleme einsetzen, wie z.B. flackernde LEDs, falsche Farben etc. In dem Fall, falls alles andere ausgeschlossen ist, mal einen Logik Level-Shifter wie dem 74AHCT125 (Amazon-Link*) ausprobieren. Der wandelt das 3 Volt Signal des ESPs für die Datenleitung in 5 Volt Signale um.
Welche LED Libraries gibt es?
Hardware haben wir jetzt besprochen. Nun kommen wir zur Software – den LED Libraries.
Damit man mit den LED Streifen auch arbeiten kann, gibt es Libraries, die wir nutzen können. Ohne die Libraries müssten wir uns selbst darum kümmern, mit Bit Operatoren alles in die richtige Reihenfolge zu bringen und das Signal mit einer bestimmten Frequenz durch die Datenleitung zu schicken. Diesen ganzen Super-Nerd kram nehmen uns diese Libraries ab, so dass wir nur noch angeben müssen, welche LED in welcher Farbe leuchten soll.
Es gibt drei quasi-Standard Libraries:
WLED ist noch eine interessante Option. Diese Library versteht sich aber eher als Set mit vorgefertigten Animationen und Effekten und einer zusätzlichen App zur Bedienung der LEDs. Wenn man zum Beispiel eine animierte Ambiente-Beleuchtung mit Animationen bauen will und schnell Ergebnisse haben möchte, ist WLED ziemlich cool. Wenn man selbst Animationen oder z.B. ein eigenes Matrix-Display programmieren möchte, ist WLED nicht geeignet.
Ansonsten geht es bei der Wahl der passenden Library auch darum, ob der LED-Streifen bzw. deren Chip-Typ überhaupt unterstützt wird. WS 2812B ist quasi der no-Brainer. Der wird von allen Libraries unterstützt. Aber bei den SK 6812 mit der extra LED für reines Weiss wird es schon schwieriger. FastLED kann mit SK 6812 zum Beispiel nicht umgehen. Falls Ihr also etwas anderes als die WS 2812B verwenden wollt, schaut welche Library überhaupt kompatibel ist.
Codebeispiele
Jetzt schauen wir uns kurz im Vergleich an, wie man mit diesen drei Libraries arbeitet. Dazu verwende ich einen kurzen Code, der immer das gleiche macht: bei einem LED-Streifen mit 30 LEDs wird die erste LED auf Rot und die letzte LED auf Blau gestellt. Der Code ist kompatibel zu PlatformIO und Visual Studio Code.
Wer noch nie mit PlatformIO und VS Code gearbeitet hat, dem empfehle ich zunächst diesen Artikel bzw. Video: Arduino IDE VS PlaltformIO und VS Code. Dort erfährst du die wesentlichen Basics. In der Arduino IDE sollte der Code auch laufen. Dabei kannst du die erste Zeile weglassen. Die Arduino.h library baut die Arduino IDE automatisch im Hintergrund ein.
Codebeispiel Adafruit Neopixel
So sieht der Code mit Adafruits Neopixel Library aus:
/* Minimal Example with Adafruit's Neopixel Library * Link: https://github.com/adafruit/Adafruit_NeoPixel */ #include <Arduino.h> #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> #endif #define PIN 8 #define PIXELCOUNT 30 Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXELCOUNT, PIN, NEO_RGB + NEO_KHZ800); void setup() { strip.begin(); strip.setBrightness(50); // set the maximum LED intensity down to 50 strip.show(); // Initialize all pixels to 'off' delay(2000); // wait two seconds strip.setPixelColor(0, 255,0,0); // color the first LED in red strip.setPixelColor(29, 0,0,255); // color the last LED in blue strip.show(); // send the new color settings to the stripe } void loop() {}
Codebeispiel FastLED
So sieht der Code mit der FastLED Library aus:
/* Minimal Example with Daniel Garcia's and Mark Kriegsman's FastLED Library * Link: https://github.com/FastLED/FastLED * Web: http://fastled.io/ */ #include <Arduino.h> #include <FastLED.h> #define PIN 8 #define PIXELCOUNT 30 CRGB leds[PIXELCOUNT]; // Define the array of leds void setup() { FastLED.addLeds<WS2812B, PIN, RGB>(leds, PIXELCOUNT); delay(2000); // wait two seconds leds[0].setRGB( 255, 0, 0); // color the first LED in red leds[29].setRGB( 0, 0, 0); // color the last LED in blue FastLED.show(); // send the new color settings to the stripe } void loop() {}
Codebeispiel NeoPixelBus
Und so sieht der Code mit der NeopixelBus Library aus:
/* Minimal Example with Makuna's NeopixelBus Library * Link: https://github.com/Makuna/NeoPixelBus */ #include <Arduino.h> #include <NeoPixelBus.h> #define PIN 8 #define PIXELCOUNT 30 NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> strip(PIXELCOUNT, PIN); void setup() { strip.Begin(); strip.Show(); // Initialize all pixels to 'off' delay(2000); // wait two seconds strip.SetPixelColor(RgbColor(0, 255,0,0)); // color the first LED in red strip.SetPixelColor(RgbColor(29, 0,0,255)); // color the last LED in blue strip.Show(); // send the new color settings to the stripe } void loop() {}
Insgesamt ist NeopixelBus etwas komplizierter einzurichten. Insbesondere muss man die unterschiedlichen Setups für betimmte Microcontroller beachten. Z.B. gibt es hier beim ESP 8266 keine freie Wahl des Daten-Pins, stattdessen wird ein fester Pin vorgegeben. Hier muss man einen Blick in die Dokumentation werfen – das sollte man allerdings bei jeder dieser Libraries tun.
Outro
Jetzt sind wir auch „schon“ am Ende dieses LED-Streifen Ultra Guides. Ziel war es, einen möglichst vollumfänglichen Einstiegsartikel zum Thema LED-Streifen zu schreiben. Natürlich ohne Anspruch auf Vollständigkeit. Falls noch etwas wichtiges fehlt, lass es mich wissen. Ich trage es gerne nach.
Links
Hier fasse ich nochmal alle Links aus dem Artikel zusammen:
- Artikel zum Thema Multiplexing & Charlieplexing
- YouTube Short zum Thema LED Throwie
- Pin-Belegung ATX Netzteil
- Hackaday Artikel zum Thema Gamma-Korrektur
- QuinLED’s Tests zum Thema Kabellängen und Signalqualität der Datenleitung
- Adafruits Neopixel Überguide
- Arduino IDE VS PlaltformIO und VS Code
- Adafruits Neopixel Library
- FastLed Library
- NeoPixelBus Library
- WLED
Produkt-Empfehlungen aus diesem Artikel:
- LED-Streifen von BTF Lighting*
- Wandnetzteil der Firma Leicke*
- Laptop-Netzteil (Power Brick) der Firma Leicke*
- LED-Netzteil MeanWell 5V, 8A*
- LED-Netzteil MeanWell 5V, 12A*
- KfZ-Sicherungen*
- KfZ-Sicherungshalter*
- ZHURUI PR10-C Steckdosen-Strom-Messgerät*
- TP Link Smarte Steckdose mit Strom-Messfunktion TAPO P110*
- 74AHCT125 Logic Level-Shifter*