8x8x8 RGB LED Cube (2) – Die Steuerung
2. September, 2012 in: Allgemein, Elektronik, Sinnloses, TutorialsUm eine RGB LED in möglichst vielen Farben leuchten zu lassen, benötigt man für jede LED 3 PWM Kanäle. Ein normaler ATMega Mikrocontroller besitzt zwischen 3 und 15 PWM Kanälen, darüber hinaus kann man das ganze per Software realisieren, was jedoch Rechenleistung kostet und so richtig überzeugt hat mich das ganze auch nicht. Es kommt hinzu, dass die Pins auch nicht gereicht hätten, da für einen 8x8x8 Würfel ~200 Pins benötigt würden. Ich entschied mich daher die Ansteuerung der LEDs über den 16 Kanal 12Bit PWM Treiber TLC5940 zu realisieren.
Der Würfel wird im Zeitmultiplex Verfahren angesteuert, d.h. es leuchtet immer nur eine Ebene. Das Umschalten der Ebenen erfolgt so schnell, dass man davon nichts mitbekommt. Man braucht also nur die LEDs einer Ebene ansteuern, dafür braucht man 64×3 = 192 Pins, also braucht man 12 TLCs. Zusätzlich benötigt man je Ebene einen Mosfet als „Schalter“, da die TLCs Sink Treiber sind benötigt man P-Kanal Mosfets. Damit die Mosfets schnell schalten und die Ansteuerung nicht invertiert ist, habe ich vor diese noch einen kleinen Mosfettreiber eingebaut, da ich diese sowieso noch rumliegen hatte. Das war es eigentlich auch schon, mehr braucht man nicht nur noch einen Mikrocontoller als Steuereinheit. Dafür verwende ich einen Arduino Mega 1280 oder 2560 da dieser genügend Speicher für Animationen bietet und ich die SMD Controller nicht löten möchte.
Das Ergebnis sieht man Rechts. Der Schaltplan zeigt jedoch nur die Hälfte der benötigten TLCs, da ich die Platinen in China fertigen lasse und auf einer 10x10cm Platine hätte ich nicht alle 12 untergebracht, bzw. die Anschlüsse der LEDs nicht an den Rand legen können. Links im Schaltplan erkennt man die Mosfets und deren Treiber und sonst überall die Stiftleisten auf die ich alles herausgeführt habe. Die Platinen habe ich in China herstellen lassen, denn dort ist es so billig, dass man es fast nicht sagen darf. Mit Versand zahlte ich knappe 25€ für 10 (!) Platinen, mit welchen ich 5 Würfel bauen könnte. Fertig bestückt sieht eine Platine dann so aus:
Natürlich braucht man bei der zweiten Platine dann die Mosfets und deren Treiber nicht mehr zu bestücken. Wie man sieht wäre noch einiges an Platz da gewesen, aber so konnte ich noch einen Bild unterbringen 😉
Nach dem Bestücken habe ich einige kurze Tests gemacht, damit auch wirklich alles so funktioniert wie es soll. Ansonsten habe ich jetzt einiges an Arbeit vor mir, denn der Würfel muss gebaut werden, d.h. 512 LEDs biegen und verlöten. Das größte Problem ist dabei, das Ganze so zu machen, dass der fertige Würfel später auch noch gleichmäßig aussieht. (Nicht so verhunzt wie mein einfarbiger 8x8x8 Würfel). Ich brauche also eine oder mehrere Schablonen, mal sehn!
Hi!
ich möchte mir einen Wohnzimmertisch mit 2x 8x8x8 RGB Cubes bauen, komme mit eagle, altium designer und multisim zur zeit nicht ganz klar (fehlende bibliotheken usw.) ob Ich wohl ganz lieb nach deinen Eagle-dateien mit den TLC5940 fragen dürfte?
Vielen Herzlichen Dank schonmal vorab!
Gruß, FeedBagg
Ich schaue mal nach, sobald ich wieder am PC bin 😉
Benötigst du nur die Bauteilbibliothek oder auch den ganzen Schaltplan?
Gruß
der schaltplan als grundlage für mein projekt (auch als grundlage fürs klarkommen mit eagle) wäre nicht schlecht! Danke vielmals schon vorab!
Gruß, FeedBagg
Alles klar, werde heute mal nachsehen und es dir zukommen lassen.
Gruß
Hey,
Wo hast du die Platinen anfertigen lassen?
will mir auch einen RGB Cube bauen und finde die Idee mit den Platinen anfertigen lassen echt gut!
ach und hast du eine Teile/ Stückliste für alle Teile die du für deinen RGB Cube benötigt hast?
Wäre echt Super wenn ich fals vorhanden diese bekommen könnte… 🙂
Vielen Dank schonmal…
PS.: finde deine Beiträge echt Super! Man findet leider viel zu wenige so gute Beiträge im Netz!
Hi André,
die Platinen waren von IteadStudio.com aber mittlerweile gibt es einige Chinesische Händler die noch günstigere Preise haben, beispielsweise Elecrow, siehe auch hier: http://www.onlymine.de/platinenbestellung-bei-elecrow/
Ob ich noch Unterlage bezüglich meines RGB Würfels habe muss ich nachsehen 😉
Gruß und Danke für das Lob.
Hallo, ich brauche hilfe
it habe zuerst eine 4x4x4 RGB version gamacht das war kein problem, jetzt baue ich eine 8x8x8 RGB, aber ich habe gerade Probleme mit dem dasy chain mehrere TLCs zusammen zu steuern genauer gesagt mehr als 4 hintereinander. Zum Beispiel wenn ich alle LEDs einschalten möchte fangen die LEDs sich willkürlich sich ein oder auszuschalten oder ändern die Farbe als wäre Interferenz vorhanden und einige TLCs werden heiz. Ich habe versucht die Verbindungen zwischen TLCs kürzer zu machen, 100nF bei jedem TLC auch die Arduino TLC Bibliothek in der Datei config die Nr von TLCs geändert sogar neue TLCs eingebaut. Schaltung Arduino-code sind in Ordnung Ich habe es mit meinem 4x4x4 RGB geprüft und es funktioniert da brauch man ja nur 3 TLCs, ich bekomme Probleme mit mehr als 4 hintereinander. Hättest du vielleicht eine Idee was falsch sein könnte
Danke
Hi,
das Phänomen, dass die TLCs heiß werden hatte ich Anfangs auch. Ich vermutete damals, es könnte an der Leitungslänge der CLK Leitung liegen. Bei mir hat damals geholfen die Leitungslängen zu reduzieren, was du ja bereits getan hast, in Verbindung mit einem absenken der SPI Baudrate.
Ist es auch sichergestellt, dass das Umschalten der Ebenen erst geschieht, wenn die TLCs alle mit Daten versorgt waren?
Sorry für die etwas späte Antwort 😉