Hallo liebe Forenmitglieder,
mein Kollege und ich haben endlich unser Langzeitprojekt einer
"modularen Plasmawand" fertiggestellt und möchte es euch nicht
vorenthalten:
http://www.youtube.com/watch?v=yzCAcbA51A0
"Modulare Plasmawand"!? Klingt komplizierter als es ist. Prinzipiell
handelt es sich um mehrere (8 Stück an der Zahl) 8x8 RGB-Matrizen die zu
einer großen Wand vereinigt sind. Jedes Segment hat eine eigene PCB die
nicht mehr als 4 Schieberegister 8 Transistoren und 8 Widerstände
enthält. Die Daten werden seriell von PCB zu PCB über Cat6-Kabel
übertragen.
Klingt nicht sonderlich spannend!? Die selbstgesetzte Herausforderung
für dieses Projekt bestand darin eine Gesamtmatrix von 512 RGB LEDs,
d.h. physikalisch 1536 Einzel-LEDs mit einem einzigen 8bit µC zu steuern
und dabei noch genügend Reserve zu haben um PWM für jede einzelne LED
und jede einzelne Farbe zu realisieren. Viele von euch kennen sicher die
vielen tollen Videos der DMX gesteuerten "Groß-Matrizen" bei der zumeist
ein FPGA sein bestes tut. Wir wollten das mit einem einfachen ATMEGA 328
im DIP-gehäuse schaffen!
Was soll ich sagen es ist ganz gut gelungen. Wir schaffen 216 Farben pro
LED bei einer Framerate von 20 fps. Zudem bleibt noch genug Kapazität um
wahlweise Daten vom PC über UART zu empfangen oder online einfache
Plasmaalgorithmen zu berechnen.
Es war ein wahnsinniger Löt- und verdrahtungsaufwand und die Optimierung
des Codes war auch langwierig, aber ich denke es hat sich gelohnt.
Ich denke mit ein wenig Geschick bei der Programmierung kann man den
8bit-ern mehr entlocken als so mancher glaubt. Es muss nicht immer ein
FPGA ran um "Großes" zu leisten.
In desem Sinne beste Grüße,
Pepe
Hallo Floh,
die reinen Materialkosten liegen bei ziemlich genau 500 EUR. Dabei gibt
es keinen "größten Posten". Alle Teile sind Pfennigartikel, aber die
Masse macht's halt :-)
Beste Grüße,
Pepe
Mich würde jetzt doch mal interessieren, wie ihr es geschafft habt PWM
und Multiplexing so miteinander zu verbinden, dass ihr 1536 LEDs in 216
(wie kommt ihr auf diesen Wert?) mit 20fps mit einem ATmega ansteuern
könnt.
Gebt ihr da noch weitere Informationen preis? Ich würde selbst gerne
demnächst ein Projekt mit sehr vielen RGB-LEDs starten und da wäre das
als Ansatz schonmal sehr hilfreich.
Ansonsten, großen Respekt für diese Arbeit!
Was macht ihr denn mit dem Display nun so alles? ;)
Hallo!
Erstmal echt geiles Projekt! echt Spitze geworden!
Du sprichst von Pfennig-Artikel, was ist mit den RGB's sind das auch
Pfennig Artikel? Wo hast du so viele so günstig her?
Größten Resprekt auf jeden Fall!
Die 216 Farben ergeben sich aus 6 Graustufen pro Farbe (6x6x6 = 216). So
viele LEDs mit PWM schafft man, wenn man die Daten "quasi-parallell" im
Bit-Bang an die zahlreichen Schieberegister schickt.
In den nächsten Tagen kommt eine komplette Beschreibung mit
Prinzipskizze, Schlatplan und Code auf unsere Projekt-Page. Da wird
alles noch einmal im Detail erklärt!
Ein wenig Geduld also noch :-)
Die LED's sind in der Tat Pfennig-Arttikel. Ich weiß nicht ob ich das
hier schreiben darf, wenn nicht bitte ich einen MOD es zu entfernen:
www.led-dealer.de
Beste Grüße,
Pepe
Cooles Projekt.
Paul Hamacher schrieb:> Mich würde jetzt doch mal interessieren, wie ihr es geschafft habt PWM> und Multiplexing so miteinander zu verbinden, dass ihr 1536 LEDs in 216> (wie kommt ihr auf diesen Wert?) mit 20fps mit einem ATmega ansteuern> könnt.
216 Farben macht 6 Stufen pro Farbe, wirklich etwas ungewöhnlich.
Paul Hamacher schrieb:> Ansonsten, großen Respekt für diese Arbeit!> Was macht ihr denn mit dem Display nun so alles? ;)
(S)NES gamepads an einen zusätzlichen Mega, den per UART verbinden und
Pong spielen.
oder Snake, oder einen Tron-Clon
Wenn der 328 nicht genug Flash frei hat, kann das Spiel ja auch auf dem
anderen Controller laufen.
Wo habt ihr denn die TT-Bälle her? Die haben doch meist nen Aufdruck,
oder habt ihr den auch noch entfernt?
Wie sieht es denn mit der Homogenität der Farben aus?
Habt Ihr über alle 8 Felder ein homogenes Gelb/Lila/../Weiß?
Die LEDs müssen ja echt gut sein, alle aus einer Produktcharge...
Ansonsten, sehr gelungen!
: )
Die vielen Ideen von wegen Pong, Snake, GoL finde ich allesamt ganz
interessant und ich werde sicher das ein oder andere in naher Zukunft
implementieren. Nur mehr Zeit für's Hobby müsste man haben :-)
Pepe
100%-ig homogen ist die Matrix leider nicht über alle Felder. Das liegt
aber NICHT an den LED's. Der Grund liegt in den npn-Transen die die
Zeilen multiplexen. Bei Conrad gab es nicht so viele wie ich wollte und
so musste ich von verschiedenen Herstellern stückeln. Und genau diese
Hersteller sieht man in der Helligkeit wenn man genau hinguggt Naja,
Lehrgeld halt :-)
LG,
Pepe
Pfennig schrieb:> Oder was mir gerade aus einem anderen Thread im Kopf rum schwirrt ist> das sog. "Game of Life" das wär DER Hammer! guck mal in Wikipedia!
Das macht bei so geringen Feldgrößen nicht wirklich viel spaß, geht aber
noch gerade so.
ist aber recht einfach.
Hab das mal auf ner selbstgebastelten 16x16Matrix gemacht (eins meiner
ersten Elektronik-Projekte). Falls gewünscht poste ich den Code.
Da ist auch noch eine Wolfram-Automat drin, aber der ist auf 16x16 auch
nicht wirklich schick.
Außerdem noch ein paar kleinere Spielereien und testprogramme
Die LEDs werden ja Zeilenweise gemuxt. Dabei würde man bei 8fach MUX
laut Lehrbuch den Vorwiderstand so wählen das (kurzzeitig) der 8-fache
Strom fließt. Die LED's machen das laut Datenblatt mit - Wenn man das so
macht leuchten die LED's genau so hell als wenn man sie einzeln
permanent mit 20mA betreibt.
Das wollten wir aber bei diesem Projekt explizit NICHT! Grund: Bei 100%
Helligkeit ist die LED so hell das man auf dem TT-Ball einen SPOT sieht.
Der TT-Ball sieht dann aus wie ein Fisch-Ei mit Punkt in der Mitte.
Dimmt man die LED ein wenig verschwindet dieser Effekt und der TT-Ball
wirkt homogen ausgeleuchtet.
Daher haben wir trotz 8-fach MUX die Vorwiderstände so dimensioniert
dass in der Spitze nicht mehr als 30mA fließen.
Es sind maximal 64 Pixel gleichzeitig an also maximal 192 LEDs x 30 mA
(R+G+B) das macht rein rechnerisch 5.8A. Das gilt aber nur wenn auch
alle Pixel "WEIß" sind. In der Praxis haben wir ein 5V 4A Schaltnetztei
verwendet mit zwei fetten Elkos als Puffer.
Funktioniert tadellos!
LG,
Pepe
Hier noch ein kleiner Nachtrag zu den 216 Farben:
216 kling auf den ersten Blick krumm, hat aber sehr wohl seine
Begründung.
Der Arbeitsspeicher des Atmaga328 hat nur 2kB. Hätte jede Farbe 8bit,
also 1 Byte, dann bräuchte man 1.5kB (3x512) RAM. Da ist noch keine
einzige Programm-Variable dabei! Nun könnte man sagen 5 bit pro Farbe
kämen auf 15 bit pro Pixel und man könnte alles auf zwei Byte verteilen.
Dann käme man zwar mit 1kB RAM für die Matrix hin bekommt aber echte
Timing-Probleme wenn man bei jedem einzelnen MUX-Zyklus erst mal die 2
Byte in drei Farben zerlegen muss (und das für jeden PIXEL)!
Nach langem Überlegen kam ich zu dem Schluss / Kompromiss, dass 6 Stufen
pro Farbe also 216 Farben gut in EIN Byte passen und damit nur 512 Byte
RAM belegt sind. Zwar müsste man auch hier jedes Mal die Bits
aufschlüsseln, aber das umgehe ich indem ich am Anfang des Programms
einmalig 3 Look-Up-Table für R,G und B generiere.
Ein weiterer Vorteil dieser Variante ist auch, dass von den 256
möglichen Zuständen in einem Byte "nur" 216 gebraucht werden. Wenn ich
nun die Matrix vom PC aus steuere bleiben also noch 40 Zeichen für
Steuer-, Zusatz- bzw. Synchronisierungsbefehle!
6 Graustufen pro Farbe sind nun nicht sonderlich viel mag mancher denken
und er hat sicher recht. Nun ist es aber so: Hauptanwendung für diese
Matrix sollen bunte Plasma-Algorithmen sein oder knallige
Sound-To-Light-Anwendungen. Da machen feinste Farbabstimmungen und
True-Color m. E. gar keinen Sinn.
In diesem Sinne beste Grüße,
Pepe
Auf dem Youtube video sind aber auch noch ein paar unegewollte pixel zu
erkennen, jedenfalls bei den einzelnen pixeln die da rum schwieren aber
trozdem echt cool
jvogel schrieb:> Auf dem Youtube video sind aber auch noch ein paar unegewollte pixel zu> erkennen, jedenfalls bei den einzelnen pixeln die da rum schwieren aber> trozdem echt cool
Leider haben sich and den vier Beinchen der Leds, vor allem in der Naehe
des Led-Kopfes, dunkle Rueckstaende gebildet und diese sind teilweise
elektrisch leitend. Bei unserem ersten Led Matrix Projekt konnten wir
dies Art Oxydschicht auf den verwendeten Sekundenkleber und/oder auf das
Flussmittel zurueckfuehren. Bei diesem Projekt haben wir die Leds nicht
eingeklebt, sondern nur gesteckt (was vollkommen ausreicht) auch kein
Flussmittel verwendet. Doch leider sind an einzelnen wenigen Leds
trotzem Rueckstaende aufgetreten. Ehrlich gesagt, wir wissen nicht warum
und wuerden selbst gern den Grund dafuer wissen. Anyway, wir muessen
diese Stellen einfach mal 'freikratzen' und dann sollten die
'ungewollten Pixel' verschwinden.
Gruss, Thomas
Ist auf jedenfall ein seh schönes projekt, werdet ihr den sourcecode für
die community bereitstellen? Sieht echt cool aus, ich nehm an die LEDs
habt ihr aus der Bucht für um die 200€?
jvogel schrieb:> Ist auf jedenfall ein seh schönes projekt, werdet ihr den sourcecode für> die community bereitstellen? Sieht echt cool aus, ich nehm an die LEDs> habt ihr aus der Bucht für um die 200€?
lies nochmal ;)
jvogel schrieb:> Ist auf jedenfall ein seh schönes projekt, werdet ihr den sourcecode für> die community bereitstellen?
Danke! Die Projektdetails mit code und schematic werden 'bald' auf
unserer kleinen Projektseite
(https://sites.google.com/site/arduinodiyprojects/Home) auftauchen.
Infos zu den Leds kann dir Pepe geben, er wird sicher noch antworten.
Thomas
PoWl schrieb:> jvogel schrieb:>> Ist auf jedenfall ein seh schönes projekt, werdet ihr den sourcecode für>> die community bereitstellen? Sieht echt cool aus, ich nehm an die LEDs>> habt ihr aus der Bucht für um die 200€?
Ja? Ich seh nur ein paar Rechtschreibfehler und?
Die LED's sind vom LED-Dealer: www.led-dealer.de recht günstig für 23
Cent das Stück. Wir hatten übrigens keine einzige defekte dabei!
Ich bin auch grad dabei den Code ein bisschen zu kommentieren und die
Schematics schön zu machen. Ein paar Tage Geduld noch dann steht alles
offen auf unserer Project-Page.
LG,
Pepe
Ich will auch so'ne Wand! :-)
Aber die Arbeit schreckt mich dann doch ab. Schade eigentlich... (Zumal
es nicht mehr sooo spannend ist, wenn jmd. schon so gut vorgelegt hat)
Also meinen Respekt hast Du!
Das sind die diffusen.
Mittlerweile haben wir auch die Schaltpläne, Prinzipskizzen und
Board-Layouts auf unsere Projekt-Seite gestellt.
https://sites.google.com/site/arduinodiyprojects/Home
Der Code folgt in Kürze!
Beste Grüße,
Pepe