LED Cube so richtig?

OP #4152770
Lesenswert?

Hallo,
Ich habe mir vorgenommen einen LED-Cube (6x6x6) zu bauen und bereits
einige Gedanken dazu gemacht. Daher würde ich gerne wissen ob es so
realisierbar wäre.(Kenne mich in diesen Gebieten nicht so gut aus und es
ist mein erstes Projekt)



1.Zum Schaltplan
Mit wurde ein bc337 Transistor geraten. Sollte aber auch mit einem bc547
gehen oder nicht, da ich sie nur als Schalter nutze für die 5v?

Wenn ich eine ganze Ebene zum Leuchten bringe (36 LEDs), dann müsste ich
statt der 6 Transistoren für die Kathoden doch Mosfets benutzen, weil
der Strom für Transistoren zu groß wird?(20ma bzw. 100ma wegen
Multiplexing)

Ich wollte den ATm8a über das myAVR Board MK2 Programmieren und dann auf
die Platine umstecken. Oder sollte ich ihn lieber im Board lassen und
mit den 18 Pins arbeiten, also eine weitere Kaskadierung machen?

Wäre der Schaltplan (abgesehen von den 6 Ebenen/Katoden Transistoren)
richtig?

Wollte das mit Batterie versorgen(wahrscheinlich Falsch)oder sollte ich
ein Netzteil verwenden?Falls ja, welches? Es müsste ja min. 5v hergeben.


2.Widerstände
Weiß leider nicht wie viel Spannung der Schieberegister 74hc595 liefert.
Er bekommt ja durch den Atm8a 4,5-5V, die er weiter überträgt. Aber wenn
ich jetzt alle 8 Ausgänge am Schieberegister "aktiviere", kommen ja 
nicht
aus jedem Ausgang 5v. Daher kenne ich nicht den Basis Widerstand.

Die LEDs wollte ich mit  2,2V und 20ma betreiben daher habe ich ein
Widerstand von 100ohm gewählt.
Aber wenn ich alle 6 LEDs der reihe leuchten lasse reicht der Strom
nicht aus. Sie benötigen dann 120ma. Mit dem Multiplexing könnt ich jede
LED mit 120ma für kurze Zeit blinken lassen. Müsste dann ja ein 22ohm
Widerstand wählen (für 100ma).


3.Bascom
Wollte das ganze mit BASCOM Programmieren und habe mir bereits diese
Seite dazu angeschaut.
(http://www.elv.de/Mikrocontroller-Einstieg-mit-BAS...)
Wollte es über die SOFT-SPI Methode Probieren aber verstehe nicht
ganz wozu der DIN = PINB.4 nötig ist.
Hier der Code:http://www.elv.de/journal_pic.aspx?id=962057&size=
(Config Spi = Soft, DIN=PINB.4?? ,Dout = SER ,Ss = RCK , Clock = SCL
...)

Ich brauch ein Dout, Ss und Clock für jedes Schieberegister oder nicht?
Oder könnte ich den SCL(Reset) weglassen(brauche den ja nicht) um
Ausgänge zu Sparen?


4.Allgemeine Fragen
Wenn ich es mit 100ma Betreibe kann ich nur ein LED, zur selben Zeit, 
pro
Reihe (die 6 LEDS der Anode) blinken lassen und in der Ebene alle 36?
Vieleschreiben das nur 1 pro Eben oder sogar nur 1 im ganzen Cube.


Eventual bilden sich noch weitere Fragen.
Würde mich über Antworten freuen und DANKE in voraus.
Angehängte Dateien:
#4152804
Lesenswert?

muss das passiv erfolgen?

ich würde an RGB LED denken mit WS2812b, entweder als Stripes mit 
Arduino oder von mir aus auch mit Einzel RGB LEDs mit WS2812b 
integriert.

das wäre simpel

FastLED.LIB ein Arduino nach Wahl von nano bis miniPRO mit m328p oder 
den mighty m1284p

oder liebst du das verlöten?
Gast #4152810
Lesenswert?

Ilja A. schrieb:
> Die LEDs wollte ich mit  2,2V und 20ma betreiben daher habe ich ein
> Widerstand von 100ohm gewählt.
> Aber wenn ich alle 6 LEDs der reihe leuchten lasse reicht der Strom
> nicht aus. Sie benötigen dann 120ma. Mit dem Multiplexing könnt ich jede
> LED mit 120ma für kurze Zeit blinken lassen. Müsste dann ja ein 22ohm
> Widerstand wählen (für 100ma).

Wohl kaum.

Bei 36 x 6 kann man nicht alle 6 der Spalte zu einer leuchten lassen, 
man müsste 36 Spalten durcharbeiten,
sondern kann nur alle 36 einer Zeile leuchten lassen und muss die 6 
Zeilenen nacheinander durcharbeiten,,

Wenn du einen mittleren Strom von 20mA haben willst, brauchst du 120mA, 
und T1 muss dann 36*0.12 = 3.6A schalten. Das schafft von der 
Stromverstärkung her kein Bipoolartransistor und kein ULN2803, nimm 
LogicLevel MOSFETs.
Gast #4152829
Lesenswert?

Ilja A. schrieb:
> Aber ich könnte die ULN2803 für die Spalten benutzen

Eher ungünstig. Falsche Polarität und so viel Spannungsverlust dass man 
mit 5V nicht mehr auskommt. Ein BC337 schafft sogar als ungünstiger 
Emitterfolger 120mA. Eine TLC5916 Konstantstromquellensenke wäre 
natürlich schlauer, spart die Widerstände, da lohnt es sich dann auch, 
die Polarität umzudrehen.

Beitrag "Meine erste Platine"
(Firma: Torrox.de) #4152866
Lesenswert?

Dein XMega Controller hat doch bestimmt auch eine SPI Schnittstelle. 
Wenn Du jetzt alle Schieberegister für Deine Spalten und Zeilen 
kaskadierst und mit der steigenden Flanke von des slave select signals 
die Werte in den Schieberegistern Speichers, dann kommst Du auf 3 Pins, 
die Du dafür bräuchtest.

Die ganze Shifterei kannst Du dann der SPI Hardware überlassen.

Wenn Du Deine 6  6  6 LEDs nicht als 6 * 36 Matrix darstellst, sondern 
als 14,6969 * 14,6969 Matrix kämmest Du sogar mit 4 Schiftregistern aus 
;-)

mfg Torsten
Persönliche Seite #4152876
Lesenswert?

Torsten Robitzki schrieb:
> Dein XMega Controller hat doch bestimmt auch eine SPI Schnittstelle.

Und dort kann er gleich Konststrom-Schieberegister-ICs (Shift Register 
LED Driver) anschließen, dann spart er die Vorwiderstände und viele 
Transistoren und hat weniger Arbeit beim Aufbau.

Man könnte auch einen oder mehrere Colorduino nehmen.

Wobei der dort eingebaute unnötig teure DM163 PWM macht, das wäre aber 
gar nicht nötig. PWM kann der XMega auch selbst machen.

http://blog.iteadstudio.com/colorduino-schematic-and-demo-code/
-> Colorduino Schematic (26.3 KiB)
#4153550
Lesenswert?

Da Du ja genügend Portpins hast, kannst Du die Dateneingänge der 
Schieberegister duraus, einzeln, direkt auf Portpins führen, Clock, und 
Register-Clock trotzdem zusammenfassen. Wenn Du alle Dateneingänge der 
Schieberegister, und den Schieberegister-Clock auf einen Port führst, 
kann man die Zustände der Ausgänge sehr schnell setzen (Wenn man in 
Assembler programmiert, schneller als mit der, hier schon 
angesprochenen, SPI-lösung).

Deine Ebenen-Transistoren sind auf jeden Fall zu schwach, da solltest Du 
den Tip mit den Logic-Level-MOSFETs annehmen. Mit den 
Säulen-Transistoren als Emitterfolger könnte es spannungsmäßig knapp 
werden, wenn Du grüne oder blaue LEDs verwendest, bei Roten, Orangenen, 
oder Gelben sollte es reichen.

Du solltest dafür sorgen, daß die LEDs aus sind, wenn der 
Mikrocontroller im Reset ist, z.B. indem der Reset, oder der OE, der 
Schieberegister angesteuert wird. Dabei Pull-Up oder Pull-Down nicht 
vergessen, der zugehörige Port-Pin ist ein Eingang, wärend der 
Controller im Reset ist. Das ist besonders wichtig, wenn Du die 
Vorwiderstände der LEDs auf Impulsstrom berechnest, dann muß immer 
sichergestellt werden, daß nicht zu lange Strom durch eine LED fließt. 
Da muß man auch bei der Sortwareentwicklung und den dazugehörenden 
Softwaretests sehr aufpassen, kaputte LEDs innen im Cube sind gar nicht 
lustig ...

Betrieb mit Batterien kann man machen, die sind aber schnell 
leergesaugt, dann aber mindestens C- (Baby-) Zellen, oder den Cube auf 
weniger Helligkeit auslegen, z.B. 20mA pro Säule. Dann macht er aber nur 
noch am Abend Spaß, man hat dann auch nicht Gefahr, LEDs durch zu lange 
Bestromung zu zerstören.

Das von Jemandem der schon einen Cube gebaut hat.

Mit freundlichen Grüßen - Martin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren