Forum: Mikrocontroller und Digitale Elektronik 4x4x4 LED Cube - Schaltplan kontrolle


von Florian H. (viper2000)


Angehängte Dateien:

Lesenswert?

Hallo,

habe für meinen 4x4x4 LED Cube nun einen Schaltplan erstellt.
Habe mich versucht an einige Dinge zu halten die ich hier im Forum 
gelesen habe. Einige Tips habe ich auch von meinem Arbeitskollegen 
erhalten.

Die LEDs werden über Latches, hinter denen UDN2981 Bausteine hängen 
betrieben. FETs schalten die Ebenen(gemeinsame Kathode) des LED Cubes 
gegen Masse.

Es wäre nett wenn sich ein Spezialist mal den Schaltplan durchsehen 
könnte. Gespeist werden soll die Schaltung vorraussichtlihc mit einen 
18V DC Notebook Netzteil.

Viele Grüße
Florian

von Falk B. (falk)


Lesenswert?

Siehe LED-Matrix

Im großen und Ganzen OK, es fehlt aber noch 100nF am AVR. Ein Latch 
kannst du dir sparen und direkt an den AVR klemmen. Denn beim neu laden 
ist dein LED-Matrix sowieso für ein paar Mikrosekunden ausgeschaltet.

MFG
Falk

von berd (Gast)


Lesenswert?

.. und wie wärs mit 100nF Kondesatoren für die restlichen ICs ?

von Florian H. (viper2000)


Lesenswert?

Ah ja, Mist...die 100nF für AVR und ICs habe ich glatt vergessen...werde 
ich noch einbauen.

@Falk: Die Latches habe ich genommen um ein paar AVR-Ports zu sparen. 
für die 16 LEDs einer ebene brauche ich so nur 8+2 Ausgänge am AVR. Die 
nicht verwendeten Ausgänge des AVR sind auf Stiftleisten geführt damit 
ich die Möglichkeit habe eine Tochterplatine Huckepack aufzusetzen. 
Deswegen ist auch nicht der ganze Port A direkt parallel auf die Latches 
geführt sondern einen PIn von Port A benötige ich auf der Tochterplatine 
für ADC...ebenso brauche ich SDA und SCL des anderen Ports. Ich habe 
also keinen Port gefunden den ich komplett belegen kann. Ich glaube zwei 
8-bit Schieberegister wären vielleicht doch besser gewesen :)

Das Folgeprojekt soll ein 8x8x8 LED Würfel werden. Da muss ich mal sehen 
ob ich die LEDs mit 8 Schieberegistern und UDN Treibern schalte oder 
doch lieber gemeinsame Anoden pro LED-Ebene nehme statt gemeinsame 
Kathode und mit speziellen ICs die "Säulen" auf Masse schalte...wenn Ihr 
dazu Anregungen habt bin ich für alles offen. In einem anderen Thread 
wurde schon der TPIC6B595 empfohlen.

von andy (Gast)


Lesenswert?

Hallo,fange grade auch mit meinem 8x8x8 Cube an.
Habe einen 5x5x5 Cube fertig und sieht klasse aus.
Ich mache das ohne Schieberegister,nur mit Transistoren.
Für den 8x8x8 Cube brauche ich also nur 24 Portpins und da es genau drei
Ports sind ist es relativ einfach anzusteuern.

gruss
andy

von *__* (Gast)


Lesenswert?

andy schrieb:
> Hallo,fange grade auch mit meinem 8x8x8 Cube an.
> Habe einen 5x5x5 Cube fertig und sieht klasse aus.
> Ich mache das ohne Schieberegister,nur mit Transistoren.
> Für den 8x8x8 Cube brauche ich also nur 24 Portpins und da es genau drei
> Ports sind ist es relativ einfach anzusteuern.

Zeig mir das mal? Ich hab für meinen 5³ 30 Pins gebraucht

von andy (Gast)


Lesenswert?

Hallo,ganz einfach.Für einen 5 Cube brauchst du 15 Pins.5 Steuern die 
ebene,5 die Spalten und 5 die reihen.Damit kannst du jede led einzeln 
ansteuern.

gruss
andy

von *__* (Gast)


Lesenswert?

Dann zeig mir, wie du die verdrahtest.
Üblich ist es so, alle Kathoden einer Ebene zusammen, die mit einem 
Tranistor bzw. FET steuern.
Dann alle Anoden einer Säule zusammen und dann an den AVR bzw. davor mit 
Treiberbausteinen den AVR entlasten.
Dann mit Multiplexing ansteuern und du brauchst für einen 5³ Cube:
5*5 Säulen = 25 + 5 Ebenen = 30 Pins.

bei einem 8³:
8*8 Säulen = 64 + 8 Ebenen = 72 Pins.
Mit Schieberegister machbar.

von Florian H. (viper2000)


Lesenswert?

Bei dieser Art der Ansteuerung hast du aber einen erheblichen 
Mehraufwand beim Löten der LEDs. Da nehme ich lieber pro ebene eine 
gemeinsame Anode oder Kathode und Steuere die LEDs über die Säulen die 
nach unten gehen. Naja sind halt über doppelt so viele PINs. Ein Foto 
deines Kubus wäre mal cool.

von *__* (Gast)


Lesenswert?

Bekommst sogar ein Video:
http://www.youtube.com/watch?v=9t5xfkpbYyE

von Falk B. (falk)


Lesenswert?

@  Florian H. (viper2000)

>@Falk: Die Latches habe ich genommen um ein paar AVR-Ports zu sparen.

Die sparst du mit meiner Methode immer noch ;-)

>für die 16 LEDs einer ebene brauche ich so nur 8+2 Ausgänge am AVR.

Mit meiner Methode 8+1. Der 2. UDN geht direkt an den AVR, PARALLEL zu 
den Eingängen des Latches. In deinem Beispiel IC3 rausschmeissen und 
durchverbinden. Fertig.

>dazu Anregungen habt bin ich für alles offen. In einem anderen Thread
>wurde schon der TPIC6B595 empfohlen.

Naja, der hat aber nicht viel Dampf, musst du mal durchrechnen. MOSFETs 
ala IRF7301 sind preiswert und überall erhältlich.

MFG
Falk

von *__* (Gast)


Lesenswert?

Oh merk gerade, dass ich nicht gemeint bin. ;)

von andy (Gast)


Lesenswert?

Hallo,ich schalte alle Anoden einer eben zusammen also 5 pins.
Dann  alle anoden einer Säule zusammen .Der Trick ist der,das ich mit 
einem pin alle Säulen die hintereinanderliegen (reihen) zusammen Schalte 
(mit 5 Transistoren die alle an dem einem pin hängen).Dann werden noch 
die 5 Spalten (Säulen die nebeneinderliegen,auch wieder 5 Stück 
zusammengefasst)
geschaltet.Ergibt 15 pins und klappt super.Ist etwas schwer zu erklären.
Schaltplan hab ich mir gemacht liegt aber nur in splan vor.Ich hoffe man 
kann es so verstehen.

gruss
andy

von andy (Gast)


Lesenswert?

Soll natürlich kathoden einer Säule heissen.

gruss
andy

von Florian H. (viper2000)


Lesenswert?

Falk Brunner schrieb:
> @  Florian H. (viper2000)
>
>>@Falk: Die Latches habe ich genommen um ein paar AVR-Ports zu sparen.
>
> Die sparst du mit meiner Methode immer noch ;-)
>
>>für die 16 LEDs einer ebene brauche ich so nur 8+2 Ausgänge am AVR.
>
> Mit meiner Methode 8+1. Der 2. UDN geht direkt an den AVR, PARALLEL zu
> den Eingängen des Latches. In deinem Beispiel IC3 rausschmeissen und
> durchverbinden. Fertig.
>

Ah, jetzt geht mir ein Licht auf. Erst das Latch mit den ersten 8 bit 
beladen und den zweiten UDN dann direkt vom AVR ansteuern. Hab das 
Board-Layout fast schon fertig. Werd mal sehen ob ich das Latch noch 
rauswerfe. Sieht gerade so schön aus :-D

>>dazu Anregungen habt bin ich für alles offen. In einem anderen Thread
>>wurde schon der TPIC6B595 empfohlen.
>
> Naja, der hat aber nicht viel Dampf, musst du mal durchrechnen. MOSFETs
> ala IRF7301 sind preiswert und überall erhältlich.
>
> MFG
> Falk

Mhm dann bräuchte ich 64 von den MOSFETs und davor schieberegister oder 
sowas. Fragt sich nur welche Highside Treiber man in diesem Fall für die 
Ansteuerung der Ebenen nehmen sollte!? Hast du da auch eventuell einen 
Tip? Muss ja auch schaltbar sein.

von Falk B. (falk)


Lesenswert?

@  Florian H. (viper2000)

>Mhm dann bräuchte ich 64 von den MOSFETs und davor schieberegister

Beim IRF7301 & Co sind jeweis zwei Stück in einem SO-8 Gehäuse.

>oder
>sowas. Fragt sich nur welche Highside Treiber man in diesem Fall für die
>Ansteuerung der Ebenen nehmen sollte!?

Einen normalen MOSFET-Treiber, muss nicht sonderlich viel Dampf haben. 
Aber zu Not geht auch UDN2981, der schafft halt knapp über 100mA/Kanal, 
macht bei 8:1 MUX halt 12,5 mA effektiv. Reicht eigenlich. Dann aber 
acht MOSFETs als Low Side Driver, dort muss ordentlich Strom geschaltet 
werden, 64x100mA = 6,4A 8-0

MfG
Falk

von Florian H. (viper2000)


Lesenswert?

Da verstehe ich jetzt was nicht. Ich habe ja keine LED Matrix im 
eigentlichen Sinne wie von dir verlinkt sondern verlöte die Anoden der 
Ebenen wie üblich bei den großen LED Cubes miteinander. Macht bei 8x8x8 
genau 8 Ebenen also 8 gemeinsame Anoden. Die Kathoden sind vertikal 
miteinander verlötet. Das macht dann 64 Kathoden an denen jeweils 8 LEDs 
hängen. Die 64 Kathoden kann ich ja dann über MOSFETs gegen Masse 
schalten.

Aber es kann ja der Fall vorkommen, dass alls 64 LEDs pro Ebene 
gleichzeitig leuchten. Dann schalten alle 64 Kathoden durch und die 
ebenen werden gemultiplext. Das bedeutet über die gemeinsame Anode pro 
Ebene müssen alls 64 LEDs gleichzeitig mit einem relativ hohen Strom 
beaufschlagt werden. Am besten irgendwas in der Nähe von 80mA pro LED 
damit die durch das 1:8 Multiplexing noch 10mA effektiv abbekommen. Das 
macht dann 64 * 80mA = 5,12A. Und genau dieser Strom müsste von einem 
einzigen Highside-Treiber für die entsprechende Ebene geschaltet werden 
:-D

von Falk B. (falk)


Lesenswert?

@Florian H. (viper2000)

>Da verstehe ich jetzt was nicht. Ich habe ja keine LED Matrix im
>eigentlichen Sinne wie von dir verlinkt

Doch.

> sondern verlöte die Anoden der
>Ebenen wie üblich bei den großen LED Cubes miteinander. Macht bei 8x8x8
>genau 8 Ebenen also 8 gemeinsame Anoden.

Die Digits.

> Die Kathoden sind vertikal
>miteinander verlötet. Das macht dann 64 Kathoden an denen jeweils 8 LEDs
>hängen.

Ja, das sind deine Segmente. Exakt wie in einer LED-Matrix. Die 
mechanische Anordnung ist da schnuppe.

>damit die durch das 1:8 Multiplexing noch 10mA effektiv abbekommen. Das
>macht dann 64 * 80mA = 5,12A. Und genau dieser Strom müsste von einem
>einzigen Highside-Treiber für die entsprechende Ebene geschaltet werden
>:-D

Man kann aber auch Low- und High Side vertauschen, das ist beliebig. Du 
kannst ebenso alle Kathoden zu Ebenen zusammenschalten und die 64 Anoden 
parallel ansteuern. Lies den Artikel, dort sind beide Varianten drin.

MFG
Falk

von Florian H. (viper2000)


Lesenswert?

Falk, ich glaube ich muss doch widersprechen. Bei einer herkömmlichen 
LED Matrix wie im verlinkten Artikel sind alle Spalten und alle Zeilen 
angesteuert. Ich steuere ja quasi alle 64 LEDs einer Ebene einzeln an. 
Nur der Strom läuft entweder über gemeinsame Anode oder gemeinsame 
Kathode. Und diese gemeinsame Anode bzw. Kathode gilt für alle 64 LEDs 
einer Ebene und nicht nur für eine Zeile oder eine Spalte...

Diese Schaltung habe ich verwendet:
http://www.mikrocontroller.net/articles/LED_cube

Hier auch der Schaltplan der LEDs einzeln:
http://www.leyanda.de/light/images/led_cube_3_leds.jpg

Dort ist eine vereinfachte Version mit 3x3x3 LEDs dargestellt.

von Falk B. (falk)


Lesenswert?

@  Florian H. (viper2000)

>Falk, ich glaube ich muss doch widersprechen.

Das darfst du, nützt aber nix ;-)

> Bei einer herkömmlichen
>LED Matrix wie im verlinkten Artikel sind alle Spalten und alle Zeilen
>angesteuert.

Was heißt angesteuert? Apfelmus ist Mus aus Äpfeln.

> Ich steuere ja quasi alle 64 LEDs einer Ebene einzeln an.

Wie in einer LED-Matrix. Ob da nun 8 oder 8x8=64 LEDs pro Digit 
drinstecken, ist vollkommen egal.

>Nur der Strom läuft entweder über gemeinsame Anode oder gemeinsame
>Kathode. Und diese gemeinsame Anode bzw. Kathode gilt für alle 64 LEDs
>einer Ebene und nicht nur für eine Zeile oder eine Spalte...

Ebene ist gleich einer Zeile.

>http://www.leyanda.de/light/images/led_cube_3_leds.jpg

>Dort ist eine vereinfachte Version mit 3x3x3 LEDs dargestellt.

Und wo ist der Unterschied zu den Schaltungen im Artikel LED-Matrix?

In deiner Schaltung hängen die Kathoden von D1,2,3,10,11,12,19,20,21 
zusammen. Das ist Ebene/Digit 1. Gleiches gilt für die beiden anderen 
Ebenen. Die 9 LEDs sind einzeln über K1, K2, K3 kontaktiert, das sind 
deine Segmente. Wie hier.

http://www.mikrocontroller.net/articles/Datei:LED-Matrix-ULN-UDN.png

MfG
Falk

von Florian H. (viper2000)


Lesenswert?

Ok, sorry ich bin Matsch im Kopf. War ein langer Arbeitstag.

Du hast vollkommen Recht...es ist von der Ansteuerung her genau das 
gleiche wie eine herkömmliche 64x8 LED Matrix.

Angenommen ich nehme gemeinsame Kathode pro Ebene wie oben bei meinem 
Schaltplan. Dann könnte ich acht UDN2981 Bausteine zur Versorgung der 
LED-Anoden nehmen. Laut UDN2981 Datenblatt  ist der empfohlene 
Summen-Augangsstrom 350mA. Das macht pro Ausgang 43,75mA. Das ganze mal 
64 macht 2,8 Ampere. Diesen Strom müsste man dann über die gemeinsame 
Ebenen-Kathode ableiten. Sollte ein N-MOSFET problemlos machen.

Bleibt nur die Frage ob es andersrum günstiger/besser zu machen wäre. 
Also gemeinsame Anode/Ebene. Dann brauch man halt einen Treiber der der 
gemeinsamen Anode diesen 2,8 Ampere Strom zur Verfügung stellen kann. 
Die 64 LED Kathoden kann man ja einfach mit ULN oder sowas auf GND 
ziehen.

von Tom (Gast)


Lesenswert?

hallo zusammen
Sorry, dass ich das wieder raufhole, aber ich habe noch eine kleine 
frage dazu. Gibt es einen bestimmten grund, dass für die Stromtreiber 
eine Spannung von 9V verwendet wird? Oder anders gefragt: Wieso macht 
man nicht alles bei 5V?

lg
tom

von Max H. (hartl192)


Lesenswert?

Weil der UDN2981 ein Vce(sat) von ca. 2V hat, dann würde nur noch 3V für 
LED + Vorwiderstände übrig bleiben.

von Tom (Gast)


Lesenswert?

oh okey, das macht sinn. Besten dank für die rasche antwort

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.