Forum: Mikrocontroller und Digitale Elektronik 8x8x8 LED Cube: realisierung mit PIC


von Max Kellermann (Gast)


Lesenswert?

Hallo
ich bin schüler am TRBK in Iserlohn.
wir haben als facharbeit den pic-brenner von sprut.de gebaut und 
brauchten ein projetk... habe ein bisschen gegoogelt und nen 3x3x3 led 
cube gefunden und gebaut http://www.instructables.com/id/3x3x3-LED-Cube

sieht soweit ganz cool aus und funktioniert auch :)

aber jetzt zum wesentlichen,
nachdem das geklappt hat, wollen wir einen 8x8x8 cube bauen,
da stellt sich aber die frage, da das mit einem pic gemacht werden soll, 
welchen nimmt man?
http://www.mercateo.com/p/139-1146540/16BIT_MCU_128K_FLASH_40MIPS_SMD_Typ_PIC24HJ128GP510_I_PF.html

den habe ich gefunden, weil er genung i/o pins hat.
habe auch schon angefangen mit EAGLE den schaltplan und das board zu 
machen.

meine frage wäre, gibt es einen anderen pic, mit dem das besser geht, 
und wenn nicht,wo finde ich eine fassung für nen 100pol. smd ic ?

danke schonmal

mfg
Max

von Gast (Gast)


Lesenswert?

Wofür brauchst du einen 100poligen SMD-IC?
Mittels Multiplexen sollten sich doch die benötigten Ports stark 
reduzieren lassen.

von Mad Mike (Gast)


Lesenswert?

Wofür brauchst du so einen großen µC? Soll der Cube RGB könnnen, wenn 
nicht reichen 24 IO Ports. Zwei mal 8 für Reihe und Spalte und dann 
nochmal 8 um in die Teife zu gehen, da ist das Zauberwort multiplexing. 
Da der Cube dann 8PWM Kanäle braucht könnte man auch gleich einen Chip 
nehmen, der PWM Kanäle in Hardware bereit stellt. Mir persönlich gefällt 
da der TLC59116 von Texas Instruments. Der hat 16 PWM Kanäle jeweils mit 
eigener Konstantstromquelle, die pro Kanal bis zu 100mA leisten kann. 
Den muss man dann nur über I2C ansteuern. Zusammen mit einer Matrix zum 
Multiplexen reichen dann schon 10 Port-Pins aus.

von M. Kellermann (Gast)


Lesenswert?

hey
erstmal danke für dieschnelle antwort,...
ich habe mich mit dem großen noch nicht so genau auseinader gesetzt,
es kam mir halt nur die idee einen größeren als 3x3x3 zu machen, und 
habe dann gedacht, muss ja im pinzip das gleiche sein, nur halt "etwas" 
erweiter<;)

das mit dem cip, hört sich gut an, nur leider müssen bei nem pic 
bleiben, weil das unser projekt ist,
wie genau geht das denn dann mit dem multiplexen?

mfg
Max

von Mad Mike (Gast)


Lesenswert?

den Chip würdest du ja mit dem PIC ansteuern. Von daher wüsste ich 
nicht, warum man ihn nicht nehmen sollte. Multiplexen ansich ist relativ 
einfach, zumindest von der Idee her. Die Ausführung ist etwas schwerer.

Fürs Multiplexen braucht man erstmal ein paar Transistoren. Am besten du 
stellst dir erstmal eine Matrix vor. Also sagen wir 3x3 LEDs. Jetzt 
könnte man ja hingehen und jeder LED einen eigenen Portpin zuweisen, 
macht 9. Oder man geht hin und denkt sich die LEDs weils als eine Reihe, 
die man Spaltenweise ansteuert. Dann braucht man 3 Pins für die LEDs in 
den Reihen und nochmal drei Pins für die Ansteuerung der Zeilen. Da sind 
es schon nur noch 6 zusammengezählt.

Ach menno etwas kompliziert zu erklären das ganze. Also. Wenn wir die 
Matrix von 3x3 durchnummerieren

1 2 3
4 5 6
7 8 9

dann kann man ja hingehen und die LEDS 1,4 und 7 auf einen Port Pin 
schalten, das selbe für 2,5 und 8, sowie 3,6 und 9. Nur würden dann ja 
immer 3 LEDs gleichzeitig leuchten. Deshalb baut man sich jetzt noch 
einen Transistor ein, der die Reihen gezielt mit Strom versorgt.

1 2 3 T1
4 5 6 T2
7 8 9 T3

Somit kann man dann jede Zeile einzeln einschalten und die LEDs einer 
Spalte leuchten nicht mehr Gleichzeitg. Das bedeutet aber auch, daß man 
die LEDs drei mal öfter umschalten muss. Sagen wir du willst die LEDs 
1,5 und 9 leuchten lassen, dann musst du nacheinander schnell

Led1 und T1, dann Led5 und T2, dann Led9 und T3 schalten und das schnell 
immer wieder hintereinander. Natürlich kann man das Spielchen jetzt auch 
noch in Ebenen machen, bedeutet aber wieder daß sich die Frequenz des 
Multiplexings erhöhen muss.

Ich hoffe das war einigermaßen verständlich.

von Roman (Gast)


Lesenswert?


von Richard S. (rscheff)


Lesenswert?

War nicht der ganze Sinn eines so "großen" 3D Kubus, die nützlichkeit 
von "charlieplexing" zu demonstrieren: Wie kann man L=n*(n-1) LEDs mit n 
Pins treiben?

Für 8x8x8 = 512 LEDs braucht man da 24 pins bei optimaler Ausnutzung; 
Jeder Pin muss tri-state fähig sein; Und die Helligkeit der LEDs wird 
etwas eingeschränkt sein (es sei den, dein Programm macht statische 
Anzeigen, und optimiert das simulaten Anzeigen mehrerer LEDs 
gleichzeitig und dynamisch).

Bei einer "primitiven" 2D multiplexing-matrix kommst du "nur" auf 
L=(n/2)^2 LEDs (bei 24 Pins also 144), dafür kannst du aber mit externen 
Transistoren
den Strom hoch jagen; deine Zykluszeit pro LED ist nicht mehr 1/L, 
sondern 1/(n/2) - d.h. signifikant mehr.

Aber ein 8x8x8 Raster aufzubauen, für optimales charlieplexing ist 
sicher eine Herausforderung in sich selbst :)

von Mad Mike (Gast)


Lesenswert?

Passt nicht ganz zum Thema, aber das Teil hier zeigt wie eine solche 
Ansteuerung in Perfektion aussieht

http://cgi.cnet.de/alpha/artikel/monitore/200804/seekway-led-cube-3d-mit-4096-leds.htm

von Moritz E. (devmo)


Lesenswert?

Mad Mike wrote:
> Passt nicht ganz zum Thema, aber das Teil hier zeigt wie eine solche
> Ansteuerung in Perfektion aussieht
>
> 
http://cgi.cnet.de/alpha/artikel/monitore/200804/seekway-led-cube-3d-mit-4096-leds.htm

muss....ich....haben.... sabber

Schade dass man nichts näheres zu der Verarbeitung erkennt. Das werden 
sie ja nicht per Hand zusammen frickeln... Und je Tiefer es geht um so 
dünner muss das Gerüst ja irgendwie werden. Und halbwegs stabil auch.

von Mike (Gast)


Lesenswert?

Bevor du irgendwelche Pläne bezüglich Schaltplan usw. machst, solltest 
du dir mal das Datenblatt deiner LEDs mal anschauen. Wichtig ist vor 
allem der maximale Impulsstrom. Mit dem kannst du die Multiplexrate 
deiner LEDs bestimmen. 1:64 wird vermutlich nicht gehen 
(64*20mA=1280mA). Du wirst also mehr als 8 LEDs gleichzeitig leuchten 
lassen müssen.

D.h. du brauchst irgendeine Art der Porterweiterung. Am besten schaust 
du mal hier:

http://www.mikrocontroller.net/articles/LED-Matrix

von Peter D. (peda)


Lesenswert?

Moritz E. wrote:
> 
http://cgi.cnet.de/alpha/artikel/monitore/200804/seekway-led-cube-3d-mit-4096-leds.htm
>
> muss....ich....haben.... *sabber*


Ich habe mir das sinnlose Geflacker nicht bis zu Ende angetan, da es mir 
zu langweilig wurde.

Soll das irgendne Form von abstrakter Kunst sein?

Ich frage mich entsetzt, warum Leute für sowas Zeit und Geld 
verschwenden.


Peter

von Max Kellermann (Gast)


Lesenswert?

Abend,
also das hörst sich alles schon mal besser an, als das was wir uns 
überlegt haben,... weil das wäre dann echt was geworden =/

ja das mit dem strom haben wir auch schon festgestellt, haben uns dann 
gedacht, das wir nehmen treiberstufen (2803)und widerstandsnetzwerke
aber es bleibe trotzdem noch höllisch viel zu verdrahten, vor allem am 
PIC

@Richard Scheffenegger / Mad Mike

würde jmd von euch mir vielleicht eine kleine skizze vom prinzipliellen 
aufbau machen? so wie du/ihr das meint?
kann auch von hand sein.

wäre euch sehr verbunden

mfg
Max

PS:
man kann zwar nicht ganz so viel erkennen, aber das war der erste 
gedanken,den wir verfolgt haben, wie wir das jetzt jetzt mit 8x8x8 bauen 
können, der PIC ist der hier:
PIC24HJ128GP510
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024688


http://img401.imageshack.us/img401/7767/ledcube1bh4.png
http://img177.imageshack.us/img177/3449/ledcube2ab7.png
http://img144.imageshack.us/img144/5410/ledcube3lx9.png
http://img228.imageshack.us/img228/1153/ledcube4mo3.png

von Roman (Gast)


Lesenswert?

Wie ist das jetzt genau, müsst ihr genau diesen 100 Pin PIC benutzen? Es 
gibt diverse Möglichkeiten, einen viel viel kleineren und/oder 
einfacheren PIC zu verwenden. Einige der Möglichkeiten wurden oben schon 
erwähnt, z.B. Charlieplexing. Dann werfe ich gerne noch als Idee das 
Stichwort Schieberegister in die Runde:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Evtl bringt Euch das ja auf weitere Gedanken.

Wenn ich Eure Pläne richtig lese, habt ihr vor pro 64 LED's 8 IC und 8 
Transistoren einzusetzen, richtig?

Auch wäre gut zu wissen, mit welcher Frequenz ihr den ganzen Würfel 
ansteuern wollt, oder ob es reicht ein statisches Muster zu produzieren. 
Meiner Meinung nach braucht ihr keinen so leistungsfähigen PIC.

von R2D2 (Gast)


Lesenswert?

Wie sieht es mit den "absolute maximum ratings" des Pics in diesem Fall 
der verbratenen Gesamtleistung aus?

512 Led's mal 10 mA = 5,12 A wenn alle Leds leuchten.

Warum nicht das ganze auf ein paar Pics verteilen?

von Roman (Gast)


Lesenswert?

@R2D2: irgendeinen Treiber IC will Max glaube ich schon noch dazwischen 
schalten. Dennoch sehe ich beim Wunsch-PIC im Datenblatt ein Maximum von 
250mA total, und pro I/O Pin sogar nur 4mA.

@Max: was sind das für Treiber IC in Eurer Schaltung?

von Max Kellermann (Gast)


Lesenswert?

hi
@roman, es sind 2803, aber erst als reine "unterstützung".damit haben 
wir uns nicht auseinander gesetzt,also sind sie vllt noch nicht richtig 
dimensioniert.

und um auf den pic zu sprechen zu kommen, erst muss nicht genau "der" 
pic sein, aber sollte auf jeden fall schon ein pic sein.

ich glaube das der stromlaufplan nicht ganz verständlich ist, für die 
die den nicht geplant haben :) sry, mein fehler
ich bin offen für alle vorschläge die ihr mir unterbreitet :)
wir haben bei der planung jetzt nicht weiter über den tellerrand 
geschaut, haben uns gedacht: "ist ja ganz simple, muss ja nur erweitert 
werden"
und das ist erstmal dabei raus gekommen.


es werden insgesamt nur 8 transis und 64 widerstände sein.
der pic steuert die leds in der x und y eben und die transistoren die z 
(oder layer) ebene.

ist hier vielleicht besser zu erkennen:

http://img131.imageshack.us/my.php?image=cube1wx6.png
* das ist der kleine 3x3x3 led cube den ich vorher gebaut habe,mit einem 
pic16f690

von Max Kellermann (Gast)


Lesenswert?


von juppi (Gast)


Lesenswert?

lass mal flimmern

von Max Kellermann (Gast)


Lesenswert?


von reflection (Gast)


Lesenswert?

Salu

Hier einmal Bilder meines 8x8x8 Cubes. Hab auch noch einen kleinen 
gebaut. Pics, Videos ect. sind unter dem Link vorhanden

http://www.ledstyles.de/ftopic5762.html

Vielleicht kommt ja so noch die ein oder andere Idee

Gruss reflection

von Max Kellermann (Gast)


Lesenswert?

Hi
@ Mad Mike

Ich habe mir mal das Datenblatt von deinem TCL59116 angesehen und muss 
sagen, du hast recht! :) is echt ein super dingen.
Am besten gefällt mir der Abschnitt


"16 LED Drivers (Each Output Programmable at
Off, On, Programmable LED Brightness, or to Detect Individual LED Errors
Programmable Group Dimming/Blinking Mixed
With Individual LED Brightness)"

Das ist für den Cube echt ideal. Stellt sich mir nur noch die frage, wie 
das dann alles zusammen gehört, bzw, wo der PIC ins Spiel kommt.

mfg
Max

von Mad Mike (Gast)


Lesenswert?

Schau dir an, wie der Chip von TI angestuert wird und dann guck mal ins 
Datenblatt vom PIC.

PS TWI = I2C usw

von Max Kellermann (Gast)


Lesenswert?

Ich werde mir die Datenblätter mal zu gemüte führen :)
aber noch der Chip TI, mit dem muss nichts weiter gemacht werden, außer 
vom Pic angestuert werden?

ich hätte da noch ne kleine bitte, würdest du mir ne kleine skizze 
anfertigen?mit hand,paint oder so?
denn mit dem multiplexen, was du beschrieben hast, das steige ich noch 
nicht ganz durch schäm

wenn wir dann 8x8 (für jede Ebene) aso aufbauen dann bräuchte man doch 
für zeile [8 Pins] und spalte[8 Pins] =16
und muss dann jeder transistor auch nochmal mit extra 8 Pins zugewiesen 
werden?
aber das "system" gilt dann auch für alle 8 Ebenen, oder nicht?

Mfg
Max

von Falk B. (falk)


Lesenswert?

@  Max Kellermann (Gast)

>ich hätte da noch ne kleine bitte, würdest du mir ne kleine skizze
>anfertigen?mit hand,paint oder so?
>denn mit dem multiplexen, was du beschrieben hast, das steige ich noch
>nicht ganz durch schäm

Wär ja auch vollkommen sinnlos, mal die angebotenen Links zu lesen . . .

Siehe LED-Matrix.

>aber das "system" gilt dann auch für alle 8 Ebenen, oder nicht?

Jede deiner 8x8 Ebenen hat 64 LEDs. Die werden dann alle parallel 
angesteuert und die Ebenen 8:1 gemultilext.

MFG
Falk

von Mad Mike (Gast)


Lesenswert?

Hier ist ein Bild für eine 8x5 Matirx mit Multiplexing. Will man das 
ganze noch in die Tiefe machen muss man die ganzen Matrixen prallel 
schalten und über einen zweiten Transistor in Reihe dann die passende 
auswählen.

Was den TI angeht, so steht alles wissenswerte zur Beschaltung im 
Datenblatt.

von Mad Mike (Gast)


Lesenswert?


von Max Kellermann (Gast)


Lesenswert?

Alles klar, dann werd ich mich mal da durch arbeiten und dich erstmal 
nicht weiter belästigen ;)
aber du weißt nicht zufällig wo ich eine EAGLE Library für deinen 
genannten Chip herbekomme, in EAGLE selber und auf CadSoft finde ich 
keine...

Mfg
Max

von sabber sabber (Gast)


Lesenswert?

hallo zusammen,

meine Frage richtet sich zurzeit eig. nur an "Max Kellermann":

hast du eine gute Deutschsprachige Anleitung zum Bau eines 3x3x3????? 
will auch son ding bauen :))) ..und geht das auch mit Atmega?

mfg

von Gast (Gast)


Lesenswert?


von Max Kellermann (Gast)


Lesenswert?

joa,
den Link hätte ich dir jetzt auch gegeben.
Aber wo kann man den TLC 59116 kaufen? ich finde den nicht bei 
Conrad/Reichelt

MfG
Max

von Mad Mike (Gast)


Lesenswert?

ja in deutschland schwierig. mouser hat ihn aber im programm

von Max Kellermann (Gast)


Lesenswert?

Abend,
also noch mal zum allgemeinen Verständnis,...
ich nehme mir einen  PIC (zb 18f4620), der steuert dann wiederum den TI 
Chip dem entsprechend an.An den Chip kommt die 8x8 LED Matrix, die ich 
dann wie im Link beschrieben aufbaue (mit den 74HC595N's? oder macht das 
der Chip?)

Dann wäre es im prinzip fertig.

Ich hätte dann noch ein paar fragen:
- kann ich anstatt des Chips auch Treiber IC's (ULN2803A) nehmen?
- muss ich für jede 8x8 Ebene, wieder eine neune Matrix nehmen?
  oder steuern die Transistoren auch die höhe?
- steuern die Ausgänge vom PIC (wenn das auch mit den 74HC595N's anstatt 
des
  Chips) die 'DATA','CLK','LOAD'?

das wäre es soweit :)

MfG
Max

von sabber sabber (Gast)


Lesenswert?

vielen dank für den link.."freu mich"   :DDDDDDDDDDDDd

von Guest (Gast)


Lesenswert?

Ich habe es auch mit einem 8x8 Matrix Driver gelöst, MAX7221. Habe Dir 
oben den Link auf ein anderes Forum gepostet wo ich das alles 
vorgestellt habe. Hat sogar Schemas, aber anschauen musst Du es halt 
schon selber

Gruss

von 14 bit oder 32 bit (Gast)


Lesenswert?

wie kann ich 8 rgb led mittels zwei interrupt 0,25 und 0,5 sekunden als 
macro erstellen,  2803 kann ich schon ansteuern rofl.
kein c schrott bitte
thx

von Tobias G. (kralle)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Tobias Gall schrieb:
> nur so nebenbei :-)
>
> http://www.youtube.com/watch?v=_4Wlle8P84A

Lichtfolter?

Kopfschüttel.


Peter

von thecamper (Gast)


Lesenswert?

man könnte auch einfach 256 in der kantenlänge machen... dann kann man 
wunderbar das RGB specktrum mal in 3D darstellen ;)

von Andreas K. (ergoproxy)


Lesenswert?

Sind dann ja nur lächerliche 16 mio RGB LEDs ^^ sollte doch zu machen 
sein.

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.