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.
:
Bearbeitet durch User
Die Transistoren kannst Du auch mit einem ULN2003 ersetzen, die können mehr Strom und brauchen nicht so viel Platz wie die Transistoren, Widerstände, usw. Die Schieberegister steuerst Du falsch an. Die kann man kaskadieren, dadurch benötigt man weniger Ports am uC. Lies Dir das einmal durch: http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI
OldMan schrieb: > Die Schieberegister steuerst Du falsch an. Die kann man kaskadieren, > dadurch benötigt man weniger Ports am uC. .nach bearbeitet. Solle alle an ein Schieberegister verbinden(48 Bit)? Dann brauche ich ja nur 3 Ausgänge ma uC. Oder Aufteilen?
:
Bearbeitet durch User
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?
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.
Joachim B. schrieb: > muss das passiv erfolgen? Verstehe die frage leider nicht > ich würde an RGB LED denken Benutze diese LEDs nicht. Hätte ich dazu schreiben sollen am Anfang.
MaWin schrieb: > 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. Aber ich könnte die ULN2803 für die Spalten benutzen und 6 MOSFETs für die Ebenen oder nicht ?
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"
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
:
Bearbeitet durch User
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)
:
Bearbeitet durch User
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.