Forum: Mikrocontroller und Digitale Elektronik RGB LED Netz 1000LED (40x25) einzel steuerbar Arduino


von Ulpin (Gast)


Lesenswert?

Hallo zusammen,

Also, ich hab folgendes Anliegen. An einer Decke (ca.4x6m) soll ein 
RGB-LED Netz installiert werden, dass ca. alle 15cm eine LED aufweißt, 
die einzel über einen Mikrocontroller ansteuerbar ist. 25x40 = 1000 
LED's (Evtl. auch 32x 16 damit es eine schöne Nerdzahl aufweist :-P)

Grundsätzlich sieht die Architektur des Netzes vor auf eine 
Dot-Matrix(!?) zu setzen.

Ich möchte 25 Reihen x 40 Spalten von LEDs, wobei die 40 Reihen für sich 
gesehen in Serie mit Ground-Kabel geschaltet werden.
Die 25 Reihen werden für sich gesehen auch in Serie geschaltet, jedoch 
mit 3 Kabeln für RGB natürlich.

Dies hätte zur Folge dass wir insgesamt 25x3 plus 40x1 I/O Pins 
benötigen. Da ein Arduino "nur" 54I/O besitzt stellt sich hier die 
Frage, ob man das entweder mit einer hierarschischen Verschachtelung von 
4 Arduinos hinbekommt (3x54I/O Geäte plus 1 Arduino zum steuern der 
anderen 3 Geräte), oder man löst die Problematik über einen 
"Schieberegler" (hab ich mal gehört, weiß aber nicht was das genau ist. 
Soll nur schwere zu programmieren sein, jedoch den Verkabelungsaufwand 
reduzieren. #HALBWISSEN), sodass die Pins zum Teil programmatisch 
simuliert werden können.

Soweit so gut. Beispielhaft sieht dass dann so aus:

o = LED
Gx = ground kabel in einer Reihe durchgehend von rechts nach links
Ax = RGB (jumperkabel) in einer Spalte durchgehend von oben nach unten


A1 A2 A3 Ax A25

o o o o o G1
o o o o o G2
o o o o o Gx
o o o o o G40


Der Mikocontroller kann somit jedes LED einzel ansteuern über eine 
Kombination aus Gx<>Ax, wobei es noch nicht möglich ist zwei LED's einer 
Spalte verschiedene Faben zu geben.
Dieses Problem, hab ich mir sagen lassen, kann man über das steuren der 
Frequenz herstellen, sodass die LED's eigentlich blinken, jedoch fürs 
Auge nicht wirklich sichtbar erkennbar sind. Ist das korrekt und auch in 
der Gößenordnung von 40LED's, die in Serie geschaltet sind, möglich ist?

Als nächstes brauche ich noch eine Idee dieses LED-Netz in der Decke zu 
integrieren. Dies könnte durch eine Rigips-Decke mit 1000 kleinen 
Löchern umgesetzt werden, wobei dann keine indirekte Beleuchtung möglich 
wäre, wenn die LED direkt sichtbar durch die Löcher strahlen. Eine 
andere Alternative wäre vielleicht ein sehr weicher Werkstoff 
(Schaumgummi!?) mit vielen löchern an die Decke zu kleben und die LED's 
schlicht hineinzustecken. Dann könnte der Lichtschimmer durch die vielen 
vielen kleine Löcher des Werkstoffs kommen (Ob es sowas gibt!?!?)

Habt ihr da noch eine Idee? Vielleicht die LED#s sichtbar zum Raum 
anordnen und dann eine kleine weiße Gummikappe darauf setzen.

Mein Hauptanliegen jedoch ist die Sache mit der Stromversorgung. Da hab 
ich leider keinen Plan davon.

Hier gibts die SMD LED's die ich ins Auge gefasst habe: 
highlight-led.de/10-x-smd-led-…5sqiSHKazm-5LYaAhZ78P8HAQ

Hier ist der Arduino mit tech spechs: 
arduino.cc/en/Main/ArduinoBoardMega

Leider weiß ich nicht welche Vorwiderstände ich für die LED's benötige. 
Schön wäre eine echt simple und kostengünstige Alternative ohne 20.000x 
löten zu müssen. Es sind ja schon heftig viele LED's :-).
Ganz wichtig ist die Frage nach geeignetem Jumperkabel, dass den 
Lötaufwand möglichst gering hält bei 1000 LED's.

Wie schätzt ihr das Projekt ein? Ist das komplett übertrieben, oder hat 
so etwas Chancen kostengünstig umgesetzt werden zu können (ca. 600€ darf 
es gerne kosten). Ich hab den einen oder andere fitten 
Elektriker/Elektroniker an der Hand der unterstützen kann, jedoch wissen 
wir nicht, ob es bzgl. Stromversorgung, Programmierkomplexität und 
Kosten überhaupt umsetzbar ist.

Hab ich noch irgendwas vergessen?

Danke und einen schönen Tag
Ulpin

von qqqq (Gast)


Lesenswert?

Guck dir mal die DMX Teile auf https://www.ulrichradig.de/ an. Der Pixel 
Controller dürfte für dich passen.

Viel Spaß

von Johannes S. (Gast)


Lesenswert?

für sowas wurden eigentlich intelligente LED entwickelt, also LED die 
PWM Ansteuerung integriert haben und nur eine Datenleitung brauchen, 
Stichwort WS2812. Die hat RGB, es gibt mittlerweile moderne mit RGBW. 
Gibt es auch als Meterware aber da sind Abstände bei der Standardware 
geringer als deine 150 mm. Ein Strang kann 150 LED lang werden, da 
braucht man Controller die mehrere Stränge mit der hohen Geschwindigkeit 
ansteuern können oder mehrere Controller. Und die Stromaufnahme ist auch 
nicht ohne, die genannten WS2812 ziehen max. 3*20mA, sind bei 1000 Stück 
also 60A bei 5V. Da musst du viel Kupfer geschickt verlegen um die LED 
gleichmässig zu versorgen.

von Joachim B. (jar)


Lesenswert?

Johannes S. schrieb:
> sind bei 1000 Stück
> also 60A bei 5V. Da musst du viel Kupfer geschickt verlegen um die LED
> gleichmässig zu versorgen.

ach komm, man kann auch geschickte Segmente bauen die mit DC/DC Wandler 
(oder AC/DC Netzteile) pro Segment auf 5V herabsetzen, das verringert 
den Kupfereinsatz in der Zuführung erheblich.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Joachim B. schrieb:
> man kann auch geschickte Segmente bauen

würde ich auch so angehen, trotzdem wirft das neue Fragen auf wenn man 
keinen Plan hat. Alles zentral versorgen, dann hat man auch viele 
Leitungen. Die DC/DC in der Decke verteilen wäre günstiger, dann sollten 
die aber zugänglich sein wenn mal einer verreckt. Die Fläche ist schon 
gross, aber wenn man sieht was die Chinesen alles mit ihren LED 
beleuchten...

PS:
die 150 pro Kanal waren Quatsch, es kommt auf die Framerate an mit denen 
man evtl. Effekte animieren möchte. Bei den 150 müssten das etwa 10 Hz 
sein. Es gibt aber wie geschrieben schon modernere LED, die hatte ich 
aber noch nicht in den Fingern.
Und die LED haben eine PWM Frequenz die man bei Augenbewegung sieht, das 
hat man auch bei einer Matrix. Das kann sehr psychodelisch wirken bei so 
einer Fläche.

von Johnny B. (johnnyb)


Lesenswert?

Johannes S. schrieb:
> Bei den 150 müssten das etwa 10 Hz sein

Bei meinem Display bestehend aus WS2812 mit 580 Stück sind problemlos 
25Hz möglich. Gemäss Specs der WS2812 ist da sogar noch viel Luft nach 
oben drin. Habs nicht im Kopf, aber vielleicht reicht es sogar für 1000 
Stück bei 25Hz.

von Johannes S. (Gast)


Lesenswert?

ja stimmt, ich hatte 300 in einem 5m Streifen und die Periodendauer 
stand auf 10 ms, also 100 Hz. Bei 1000 kommt man rechnerisch ohne Resets 
auf 34,7 Hz.

von Guest (Gast)


Lesenswert?

Ulpin schrieb:
> Also, ich hab folgendes Anliegen. An einer Decke (ca.4x6m) soll ein
> RGB-LED Netz installiert werden, dass ca. alle 15cm eine LED aufweißt,
> die einzel über einen Mikrocontroller ansteuerbar ist. 25x40 = 1000
> LED's

Ulpin schrieb:
> Hier ist der Arduino mit tech spechs:
> arduino.cc/en/Main/ArduinoBoardMega

Bitte bedenke folgendes:
Du benötigst mindestens 3kB RAM alleie für den Framebuffer der LEDs. 
Dann, je nach Programmierung noch einmal soviel oder gar das Doppelte 
für interne Berechnungen der Muster.

Charlieplexing mit PWM und so viele LEDs setzen einen schnellen 
Prozessor voraus, da ist ein Arduino vermutlich zu langsam.

Was die LEDs anzeigen sollen hast du ja nicht werwähnt. Animationen? 
Bilder? Sound to Light, Text, wasauchimmer...
Auch hier schätze ich einen Arduino als zu schwachbrüstig ein.

Ich würde ein anderes Konzept nehmen:

- Madrix oder Jinx (Freeware) als Steuersoftware einsetzen.
- 6 ArtNet-> WS28xx Nodes (z.b. mit einem Arduino Leonardo ETH)
- Ein paar WS28xx LED Pixel Strings
- Ein paar 12V Netzteile und die Strings an mehreren Orten mit grossem 
Querschnitt einspeisen

von c-hater (Gast)


Lesenswert?

Guest schrieb:

> Du benötigst mindestens 3kB RAM alleie für den Framebuffer der LEDs.

Nein, nicht notwendigerweise.

> Dann, je nach Programmierung noch einmal soviel oder gar das Doppelte
> für interne Berechnungen der Muster.

Nö. Wenn man's so programmiert, dass es in Echtzeit berechnet wird, dann 
benötigt man überhaupt keinen Framebuffer. Und ja, das ist für viele 
Effekte sehr gut möglich. Auch bei 1000 LEDs in der Kette.

> Was die LEDs anzeigen sollen hast du ja nicht werwähnt. Animationen?
> Bilder? Sound to Light, Text, wasauchimmer...

Das allerdings ist natürlich wirklich ganz entscheidend für die 
Beurteilung der Machbarkeit in Echtzeit. Wenn's berechnete Effekte sind, 
ist halt der Rechenaufwand dafür zu prüfen und wenn's um Darstellung 
"von aussen" kommender Daten geht, dann ist zu prüfen, ob diese 
überhaupt in der benötigten Menge und in Echtzeit angeliefert werden 
können.

> Auch hier schätze ich einen Arduino als zu schwachbrüstig ein.

Die Hardware sicher nicht, zumindest wenn man den 16MHz-Quarz gegen 
einen mit 18,432 oder 20MHz tauscht. Weil: das kriegt man auch mit einem 
Tiny4313 schon hin und der kann nichtmal in Hardware multiplizieren, was 
für berechnete Effekte doch ein ziemlicher Showstopper ist, da sind dann 
nur noch 5 oder 6 8Bit-Multiplikationen pro LED und Frame drinne. Mit 
einem Mega und seiner Fähigkeit zur HW-Multiplikation beschleunigen sich 
aber die Multiplikationsoperationen gegenüber einem Tiny ca. um den 
Faktor 20. Da geht dann schon ganz ordentlich was an Effekten.

Aber mit dem gammeligen Arduino Software-Framework als Basis wird das 
natürlich ganz sicher in der Form nix...

> - Ein paar 12V Netzteile und die Strings an mehreren Orten mit grossem
> Querschnitt einspeisen

Die Stromversorgung und die Wärmeabfuhr der WS2812B-LEDs, das sind die 
eigentlichen Knackpunkte und Kostentreiber. Letzteres besonders dann, 
wenn der LED-Zauber nicht nur für Effekte (mit typischerweise relativ 
geringer mittlerer Leistung) dienen soll, sondern nebenbei auch ganz 
profan zur Beleuchtung.

Dann laufen die Dinger nämlich oft mit nahezu voller Leistung und dann 
reicht bei sehr viel von dem Gammel, der verkauft wird (insbesondere 
dicht bepackten Stripes) das Vermögen zur Ableitung der Abwärme bei 
weitem nicht aus. Die LEDs fallen dann schneller aus, als man mit dem 
Austauschen nachkommen kann.

Diese beiden Probleme ergeben sich ganz unabhängig davon, wie genau man 
nun die Dinger ansteuert und sollten zuerst gelöst und die Kosten für 
die Lösung analysiert werden...

von c-hater (Gast)


Lesenswert?

Johnny B. schrieb:

> Gemäss Specs der WS2812 ist da sogar noch viel Luft nach
> oben drin. Habs nicht im Kopf, aber vielleicht reicht es sogar für 1000
> Stück bei 25Hz.

Bei 1024 Stück (Maximum lt. Specs) kann man noch knapp über 30Hz 
Framerate erreichen.

von Marco H. (damarco)


Lesenswert?

Ich möchte dich gerne dabei beobachten wie du 1000 Löcher in die Decke 
bohrst und das absolut gerade ausgerichtet.  Wie kommst du dann dahinter 
? Die Platte bricht bei montage/demontage sicherlich auseinander.

Für so etwas baut man einen Kasten und spannt dann eine Folie bzw Stoff. 
Das benötigt aber schon wissen weil sie sonst wie eine Schlüpfer runter 
hängt.

So weit ich weis bauen die Chinesen die Ws2812 LEDs auch auf einzelne 
Pixel. Ohne Löten wird das nicht gehen und wenn es nur Steckverbinder 
sind.

Zu lang würde ich die Ketten nicht machen und das Signal nach ewt. 50 
LEDs Buffern.  Bzw. die Pixel schon so konstruieren das sie ewt. 
Symmetrische Linedriver benutzen.

Auch wenn es nur für dein Zimmer ist der Stoff, Folie sollte schon B1 
haben und die Stromversorgung akkurat sauber mit Sicherung versehen 
werden. 5V und 60A sind kein Spaß mehr !

von Marco H. (damarco)


Lesenswert?

Auchso also die Effekte mit einen Arduino auszurechnen kommt auf den 
Effekt an. Wenn es toll aus sehen soll muss man ..

A: eine ganze Menge über Mathematik wissen
B: über den µP und möglich weise Assembler fundierte Kenntnisse haben

Es gibt aber einen Trick. Mit Jinix kann man ein File erstellen und das 
z.Bsp von SD-Karte auslesen.  Allerdings bleibt dann noch die Hürde das 
auf die LEDs auszugeben.

: Bearbeitet durch User
von Tr (Gast)


Lesenswert?

Kläre zu aller erst bitte die benötigte Helligkeit! Ansonsten laufen 
alle Tipps zur Ansteuerung usw. vielleicht in die falsche Richtung.

Wenn du große Lichtpunkte willst, würde ich mit etwas Abstand auf mattes 
Plexiglas strahlen. Das schluckt aber Licht und muss evtl. untereinander 
abgeschattet werden.

von Johannes S. (Gast)


Lesenswert?

Marco H. schrieb:
> Allerdings bleibt dann noch die Hürde das auf die LEDs auszugeben

Die wäre ca. 50€ hoch wenn man einen fertigen Diamex Controller nimmt.

Marco H. schrieb:
> Zu lang würde ich die Ketten nicht machen und das Signal nach ewt. 50
> LEDs Buffern.  Bzw. die Pixel schon so konstruieren das sie ewt.
> Symmetrische Linedriver benutzen.
>

Bei Ws2812 und co. ist jede LED selber der Treiber für die nächste, die 
brauchen keine zusätzliche.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Zu den 1000 Löchern:
Wenn die Decke aus Nut&Feder-Brettern sein darf - Diese lassen sich 
recht angenehm auf einem Bohrmaschinentisch durch die Gegend schieben 
und ein Millimeter wird hier wohl kein Maß sein - da sollte Zollstock 
und Bleistift zum Anreißen ausreichend sein.

Man kann aber auch Akustik-Gips (-Platten) nehmen - da sind die Löcher 
schon drin ;)

Trotzdem wird der Löt-Aufwand nicht gerade klein sein - wünsche viel 
Spaß dabei!

MfG

von Marco H. (damarco)


Lesenswert?

Bei 5m sicherlich mag das Problem nicht relevant sein. bei 10m und mehr 
gibt es sicherlich Probleme. Es steigt die Gefahr das sich die Streifen 
selber stören. Schlechte Spannungsversorgung trägt dazu bei und wie wir 
alle wissen ist diese recht Problematisch.  EMV Technisch ist der 
Streifen der reine Horror UKW Radios mit alten Tunern macht dieser 
platt. Auch DAB+ Radios schweigen in der Nähe dieser streifen.

Löten ist nicht so das Problem. Bleibt man bei den Pixel PCBs sind es 
nur 6 Drähte um diese zu Ketten zu verbinden. Mit den passenden Kabeln 
oder Steckverbindern geht das recht einfach und schnell.

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Auch wenn hier schon Vieles angesprochen wurde, möchte ich mich zu dem 
Thema äußern.

Eine wichtige Frage ist immer, welche Helligkeit benötigt wird, das 
bestimmt schließlich, welche LEDs überhaupt in Frage kommen, und mit 
welchem Strom sie betrieben werden müssen. Soll das Ganze auch im vom 
hellem Tageslicht durchfluteten Raum gut zu sehen sein, oder soll es 
eher am Abend, bei vielleicht noch gedimmter Zimmerbeleuchtung, für 
Stimmung sorgen. Von der benötigten Helligkeit, und der Bestromung der 
LEDs liegen da Welten, und Zehnerpotenzen bei der Bestromung, 
dazwischen. Will man gar beides haben, braucht man einen ordentlichen 
Dynamikumfang, da finde ich dann die 8 Bit/Farbe der LEDs mit 
integriertem Controller zu wenig. Man überlege mal, wieviele Farben man 
noch hat, wenn man generell auf 1/32 der Helligkeit runterdimmt, dann 
hat man nur noch 3 Bit pro Farbe (Bei 8 Bit insgesamt). Weicher, 
fließender Farbwechsel ist da nicht mehr drin.

Bin übrigens gerade dabei etwas, entfernt Ähnliches, aufzubauen, eine 
LED-Matrix zum ins Fenster hängen, ist aber nur monochrom. Mechanisch 
sind es 36x16, also 576 LEDs, elektrisch aber als 72x8 verschaltet. 
Angesteuert werden die im 1/8 Multiplex (Was der TO wohl mit 'blinken' 
meint), per Software-PWM mit 10 Bit und einer Wiederholrate von 300 Hz. 
3 ATmega644 erzeugen je 24 PWM-Signale. Da bleibt dann auch noch 
Rechenleistung übrig, um Effekte berechnen zu können. Genug Speicher für 
Doppelpufferung ist so auch vorhanden. Für den Nacht-Betrieb werden die 
LEDs direkt von den Controllern bestromt, für den Tagbetrieb können noch 
MOSFET-Treiberstufen zugeschaltet werden, mit denen dann höher bestromt 
werden kann. So habe ich auf jeden Fall genügend Dynamikumfang.

Beim multiplexen muß man natürlich beachten, daß sich der Strom auf die 
LEDs verteilt, und so auch die Helligkeit abnimmt. Stellt man z.B. bei 
einem 1/8 Multiplex 80 mA LED Strom ein, leuchten die LEDs, als würden 
sie mit 10 mA bestromt. Mit dem Impulsstrom kann man aber nicht beliebig 
hoch gehen, bei 3mm / 5mm LEDs kann man meist, wenn nichts anderes im 
Datenblatt (falls überhaupt verfügbar) steht, bis 100 mA gehen, 
Power-LEDs sind da heikler, da ist meist bei 2x Nennstrom Schluß. Will 
man also Helligkeit haben, kann man nicht so hoch multiplexen, was aber 
wieder bedeutet, daß man mehr PWM-Ausgänge braucht.

Auch wenn die LEDs mit integriertem Controller manchmal recht praktisch 
sind, bin ich nicht so ein Freund davon, mir sind die oft zu unflexibel. 
Mache ich die Ansteuerung selbst, kann ich selbst bestimmen, welche 
PWM-Frequenz und PWM-Bitbreite ich bekomme. Bei Multiplex-Betrieb sollte 
man die PWM auch mit dem Multiplexing synchronisieren. Natürlich wird es 
teurer, durch die zusätzlichen Mikrocontroller. Diese Mikrocontroller 
können aber nicht nur die PWM-Werte stur ausgeben, sondern auch 
Dimmkurven oder Effekte berechnen, und so die eigentliche Steuerung 
entlasten.

LEDs mit integriertem Controller gibt es nicht nur als SMD, auf 
Flexband, sondern auch in der klassischen, bedrahteten Kuppel-Bauform. 
Meist in den größeren Durchmessern 8mm oder 10mm. Die lassen sich gut, 
von hinten, durch Löcher in einer Platte stecken.

Bei punktförmigen Lichtquellen ist die PWM-Frequenz kritischer als bei 
Großflächigen. Bei punktförmigen Lichtquellen hat man, z.B. bei 
Kopfbewegung, schnell den 'Perlenketten-Effekt', wenn die PWM-Frequenz 
zu gering ist. Besonders bei kleinen PWM-Werten wird das auffällig.

Bei solch einem Großprojekt macht es Sinn, mal ein paar Testaufbauten zu 
machen, gerade wenn man mit LEDs wenig Erfahrung hat. Man sollte das 
schon mal selbst 'live' gesehen haben, z.B. wie verschiedene 
PWM-Frequenzen aussehen, wie hell eine 5mm LED ist, wie hell 
LED-Flexband ist, ... Auch solche Sachen wie LED in Schaumstoff, oder 
LED hinter Streuscheibe (mit verschiedenen Abständen) sollte man vorher 
an einem Versuchsaufbau testen. Dabei aber genau die Materialien 
verwenden, die später auch verwendet werden sollen. Ähnliches Material 
kann sich ganz anders verhalten, bei Licht ist man da schnell völlig 
daneben. Bei dem Schaumstoff würde ich vermuten, daß er zu viel Licht 
schluckt. Es könnte aber durchaus interessant aussehen.

Mit freundlichen Grüßen - Martin

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.