Ich habe ein Gunpla Diorama gebaut mit knapp 70 LED und verschiedenen Funktionen. Die LED habe ich mit diversen herkömmlichen Modulen realisiert, z.b. Blinken, Fadein Fadeout, Lauflicht.
Das Diorama soll jetzt umgebaut damit es in eine Vitrine passt. Ein Kollege hat mir noch einen Nano (Nachbau) geschenkt und meinte ich solle mal versuchen die LED´s damit zu steuern.
Jetzt habe ich mich ein wenig belesen und bin auch dabei mit dem programmieren zu experimentieren. Dabei habe ich herausgefunden das pro Ausgang eine Strombelastbarkeit von 40mA zur Verfügung steht aber man lieber nicht über 20mA dauerhaft gehen soll.
Hier mal eine Auflistung was jetzt aktuell an LED´s verbaut ist, welche Funktionen sie haben und wie aufgeteilt werden sollen:
2x Dauerlicht Commandcenter weiß
1x Dauerlicht Commandcenter blau
12x Dauerlicht Strahler weiß
12x Dauerlicht Strahler UV
6x Dauerlicht Wandleuchten weiß, sollen flackern
20x Lauflicht weiß, es leuchten immer 2 gleichzeitig
3x Grün und 3x Rot wechselndes Blinken
4x Warnblinker Gelb
6x Fadein Fadeout Gelb
Es soll dann auch so sein das sich nach dem einschalten der Steckdose sich die einzelnen Gruppen
nacheinander einschalten quasi wie bei einer Präsentation.
Spannungsversorgung habe ich über 5V USB Spannung gemacht. Jede LED hat 20mA.
Jetzt habe ich das Problem das ich keine Ahnung habe mit welchen zusätzlichen Bauteilen ich mein Vorhaben realisieren kann.
Mehrere Relais für die LED´s die dauerhaft leuchten wäre mir in den Sinn gekommen aber was kann ich z.b. für die Fade LED´s benutzen?
In der Sufu komm ich nicht wirklich weiter.
Es gibt zwar einige Themen die ungefähr was damit zu tun haben aber ich komme irgendwie trotzdem nicht weiter.
Könnt ihr mir helfen?
Wenn du tatsächlich jede Led mit 20 mA betreibst, reicht dein USB nicht aus. Du kommst da auf ca. 1,3 A.
Da solltest du ein eigenes Netzteil für die Leds verwenden.
Das geht mit 5 Volt oder auch mehr. Evtl. kannst du ja auch einige gleichfarbige Leds in Reihe schalten.
Edit:
Zeichne doch mal ein Schaltbild, wie du die Leds verdrahten willst.
Also bisher lief es einwandfrei. Selbst mit den Powerbänken (10000mAh) mit denen ich das Diorama auf ner Anime Messe betrieben hatte gab es keinerlei Probleme. Die Bänke waren nach ca. 8 Stunden leer bzw haben sich abgeschaltet. Betrieben wurde das Dio mit einer Powerbank.
Also ich habe das Diorama nicht an einem PC USB Port betrieben
Wenn ich mal deine Liste teile:
--> ohne Ansteuerung über Arduino
2x Dauerlicht Commandcenter weiß
1x Dauerlicht Commandcenter blau
12x Dauerlicht Strahler weiß
12x Dauerlicht Strahler UV
--> am Arduino (oder anders)
6x Dauerlicht Wandleuchten weiß, sollen flackern
20x Lauflicht weiß, es leuchten immer 2 gleichzeitig
3x Grün und 3x Rot wechselndes Blinken
4x Warnblinker Gelb
6x Fadein Fadeout Gelb
da gibts jetzt zwei Schwierigkeiten:
für Flackern und Faden bräuchest du PWM fähige Pins, so viele wie du schreibst (12) gibts aber nicht am Arduino Nano Classic.
außerdem hast du auch keine 6+20+3+3+4+6 = 42 Pins zum Ansteuern.
a) du hast zu wenige PWM fähige Pins
b) du hast zu wenige Pins zum Ansteuern *)
Sodala.
Entweder nimmst nun einen Extra LED Treiber (der auch das Problem mit dem Strom lösen könnte) ... also z.B. einen MAX7219, HT16K33 oder SX1509 oder du nimmst statt den LEDs sogennante "Neopixel" - addressierbare LEDs die du in einer Kette verdrahten kannst. Gibts auch im in herkömmlicher "5mm Rundform" - heißen dann z.B. APA106.
So, welchen Weg möchtest du nun gehen? Weitere Hardware (alle oben aufgeführten IC's gibts auch in Bastlerfreundlicher Form auf Modulen) oder LEDs umbauen?
*) und ja mir ist klar dass man Multiplexen, Charlyplexen, ... könnte, aber ich glaube das ist für einen Anfänger nicht wirklich praktikabel wenn man dann noch verschiedene Effekte haben will.
Es gibt, Du ahnst es vermutlich, mehrere Möglichkeiten. Ich werfe dann gerne mal einen Blick nach Adafruit, dort wird beispielsweise ein 24-Channel 12-bit PWM LED Driver - SPI Interface - TLC5947 angeboten. Es gibt eine Biböiothek dazu, die Dich beim Programmieren unterstützt und Du kannst mehrere davon an den SPI-Bus anschließen. Die Adafruit-Hardware wird auch in Europa verkauft.
Als Porterweiterung für digitale Ein- und Ausgänge nutze ich gerne MCP23S17, gibt es auch im DIP (Gehäuseform). Da sind acht ICs an einem CS möglich, unterschieden durch Adresspins.
Bei Neopixeln gibt es ganz unterschiedliche Typen, leider gibt es nicht alle Typen in allen Bauformen. Bei Interesse gibt es mehr Infos.
Ja, ist es und es lässt sich auch einiges mit den schon genannten Bausteinen aufbauen, ohne die Leds auseinander zu "reißen". In den meisten Fällen werden auch Mosfets nötig, damit der Strom für die Ansteuerung nicht zu groß wird.
Dabei sollte Fade, Warnblinker und Wechselblinker direkt vom Nano erledigt werden, das Lauflicht kann mittelS I2C-Portexpander (MCP23017) aufgebaut werden.
Ist halt nur die Frage, ob alles gleichzeit ablaufen soll oder wie das Timing gedacht ist.
Da die LED sicher schon fix verbaut sind ist der Vorschlag LED mit eingebauten Kontroller wie den Ws2812 zu verwenden ein Vorschlag für das nächste Bastelprojekt. Die WS2812 gibt es in vielen Varianten. 2x4 SMD 5x5SMD 5 und 8 mm LED und als WS2811 als Kontroller wo RGB LED anschließen. Diese gibt es etwas kostenintensiver auch al 3-10 und 20W LED Variante.
Da die LED schon drinnen sind:
Der genannte TLC5947 mit 24 PWM Ausgängen aber nur als SMD Variante oder als fertiges Modul.
Der TLC5940 mit 16 PWM Ausgängen auch in DIL.
Beide Treiber haben eine integrierte Konstantstrolsenke ( LED wird zwischen +5V und Ausgang geschaltet, Senke weil der Strom hineinfließt und nicht heraus wie bei einer Quelle). Da die Treiber PWM sind kannst Du die LED in der Helligkeit beliebig regeln. Die Treiber werden hintereinander geschaltet und so braucht es gleichviel Pins des Arduino egal wieviele Du ansteuerst. Du schickst nur mehr Datenpackete.
Diese Treiber brauchen keine Vorwiderstände und es sollten auch keine verwendet werden.
Falls die Vorwiderstände so verbaut sind daß diese icht entfernt werden können dann kannst Du TPIC6A595NE nehmen. Das sind Schieberegister die gleich wie die verbreiteten 74HC595 angesteuert werden aber Open Drain Ausgänge für bis zu 350mA haben. Die LED werden mit den Vorwiderständen zwischen 5V und Ausgang geschaltet.
Es gibt auch eine PWM Library für den 595. die Schieberegister die PWM ausgeben solle sollten getrennt von dena anderen angesteuert werden 2 Gruppen mit verschiedenne Pins am Arduino.
Speicherbedarf.
TLC haben pro LED 12Bit also für 16 LED 24 Byte bzw für 24 LED 36 Byte. für 70 also um die 120 byte.
Da reicht ein Nano.
Strom wird wenn alle LED eingeschaltet sind ie 500mA der USB überschreiten. Bei teilweisen gleichzeitigen Betrieb hönnten 500mA reichen.
Ich danke euch schon mal!
Viele gute Ansätze bekommen. Bin gerade ein wenig am durchforsten nach euren Vorschlägen wo ich was bekomme. Am besten schon auf ner Platine. Löten ist zwar kein Problem solange es keine SMD´s sind aber ich bin geräde Lötfaul ^^
Ich bekomme immer wieder diesen Controller angezeigt " PCA9685 16 Kanal 12 Bit PWM Servotreiber". Könnte ich den auch nehmen?
Als Mosfet würde ich diesen nehmen " IRF520 Mosfet"
Ja, den PCA9685 kannst Du auch benutzen (bis 25 mA pro Ausgang bei 5V).
Als MOSFET solltest Du eher einen Logik-Level-Typ wählen, wie z.B. den IRLZ44N, damit dieser sauber durch schaltet.
Ja, kannst Du, aber dann brauchst Du, wenn Du mehr Strom brauchst, einen Leistungsteil (zB die genannten MOSFET.
Wieso nimmst Du nicht dann einen LED Treiber der alles intern hat?
Weil ich überall Vorwiderstände habe brauche ich "nur" LED Treiber wie z.b. TPIC6A595NE (hab bisher nur den IC gefunden aber kein fertiges Modul) und Mosfets für die Dauerlicht LED´s wie den IRLZ44N (habe ich bisher auch noch nicht als fertiges Modul gefunden) oder stehe ich auf dem Schlauch?
Ich hätte in der Berufsschule besser aufpassen sollen...