Hey, seit gestern zeigt mein led cube sehr seltsames Verhalten, obwohl er vorher ausgezeichnet hat und ich ihn zwischen durch nur kurz weggeräumt habe... Der 4x4x4 cube wird mit einem arduino uno (atmega328) betrieben, vor den Led-Spalten/Säulen sind Widerstände mit 100Ohm geschaltet. Die Ebenen sind direkt mit dem MC verbunden. Die 20 I/O Pins reichen genau aus, daher wurden keine Schieberegister oder ähnliches verwendet. Gestern habe ich nun gesehen, dass eine Eck-Led in der untersten ebene nicht mehr leuchtede . Bin ich jedoch mit Masse und 5V direkt an die Beine der led gegangen, hat sie funktioniert. Habe mehrere Programme laufen lassen, alle anderen Leds der selben Spalte/Ebene funktionieren einwandfrei... nur wenn alle 4 ebenen gleichzeitig an sind, bleibt die komplette Spalte dunkel. Außerdem ist mir aufgefallen, dass die untereste ebene leuchtet/aktiv ist, obwohl keine Verbindung zw. Ebene und I/O Pin besteht, was eigentlich garnicht funktionieren sollte(da offener Stromkreis). Dabei bleibt die Problem Led als einzige dunkel auf der unteren Ebene. Teilweise funktionert die Led nach neuem anschliesen/ Programm start kurz zeitig, wird jedoch immer dunkler, bis sie garnicht mehr leuchtet. Meine Vermutung: da die Leds durch einen Potentialunterschied zw. Spalte(high zum leuchten) und Ebene (low) gesteuert werden, entsteht an besagter led ein ungewollter Potentialunterschied bzw die Led wirkt als Masse ?! Schon getestet/probiert(ohne erfolg): - anderer Pin am MC - neue led verlötet - andere verbindungskabel/vorwiderstand etc - habe auch die Verkabelung mehrfach überprüft, aber da is alles isoliert. Ich hoffe die Erklärungen sind nicht zu verwirend und ihr könnt mir helfen, da ich keine Ahnung habe wieso der Cube aufeinmal spinnt :( Achja, ich programmier mittlerweile (um noch etwas zu lernen) mittels direktem ansprechen der Ports und Pins (zb PORTB = 0x01 und so) ka ob es da Zusammenhänge gibt
Hallo hobo, die Ports des Arduino sind ausgelegt auf einen maximalen Dauer-Strom von 40mA. Die 16 LED-Leitungen haben bei 100 Ohm LED-Vorwiderstand jeweils ca. 20-30mA, je nach LED-Spannung. Die Ports, an denen die 4 Ebenen direkt angeschlossen sind werden aber durchaus überlastet, denn die LED-Ströme der einge4schalteten LEDs in der jeweiligen Ebene addieren sich. Da der Stromfluss durch das Multiplexen nicht konstant ist, verkraftet der Portausgang zwar etwas mehr, aber gesund ist das auf Dauer nicht und führt durchaus zu dem von Dir beobachteten Effekt. Ich habe das so gelöst. 4 Stücke NPN-Transistor BC548 mit jeweils 100 Ohm an die Ports angeschlossen, die Emitter an Masse und die Colektoren mit den 4 Ebenen verbunden. Ich hoffe, Dein Proz hat noch keine Dauerschädigung! Gruß elektrolutz
danke für deine hilfe :) der Übeltäter ist mittlerweile gefunden, selbst die neu eingelötete LED muss irgendwie eine zu große Spannung abbekommen haben, denn sie hat am Ende garnicht mehr funktioniert, war durchlässig in beide Richtungen... nun zu dem Problem mit dem zu hohen Strom... Berechnung des Stromes einer einzelnen LED an einem Pin: Spannung: 5v Vorwiderstand: 100 Ohm Dioden Flussspannung/Vorwärtsspannung: mit 3,02-3,11 V angegeben I = (U - U_led)/R I = ca 19mA Da immer nur eine Ebene "aktiv" ist, sind maximal 16 leds an, also I_gesamt = 300mA zulässig sind glaube ich 200-220mA, also noch im Rahmen so lange nicht ständig alle leds an sind... die besagten 40mA sind aber maximal Werte für die Pins und werden nicht erreicht... Jedoch habe ich mit einem digital Multimeter nur 8mA gemessen (nur eine led mit 100 Ohm Vorwiderstand auf breadbord) Hat der MC schon Schäden davon getragen, oder warum ist der gemessene Storm so klein ? noch eine Frage zu den Transistoren, was bedeutet elektrolutz schrieb: > an die Ports angeschlossen die Basis eines Transistors muss doch mit einem Pin verbunden werden, oder nicht ?! steh da grad aufm schlauch ... mfg hobo
Hallo hobo, die Vorwärtsspannung einer LED ist von der Farbe abhängig. Bei blauen LEDs liegt sie im Bereich 3 - 3,5 V, bei roten, grünen und gelben LEDs bei 1,8 - 2,5 V. Das findest Du im jeweiliegen Datenblatt. Das mit dem Strom ist etwas tückisch. Der angegebene Durchlassstrom einer LED bezieht sich auf den Dauerstrom, der fließt, wenn die LED an eine konstante Stromquelle angeschlossen ist. Bei der Cube-Ansteuerung werden die LEDs aber immer nur kurzzeitig eingeschaltet, das passiert aber so schnell, dass das Gehirn über das Auge das flackern nicht wahr nimmt. Also fließt der Storm auch nur in der Zeit, in der die jeweilige LED eingeschaltet ist, bei ausgeschalteter LED fließt auch kein Strom. Ein Messgerät ist aber genauso träge wird Gehirn und Auge, es zeigt nur den Effektivwert des gemessenen Stromes an. (Mit einem Oszilloskop könntest Du den wahren Stromverlauf betrachten und ermitteln.) Bei PWM-Betrieb einer LED kann man den Durchlassstrom deutlich erhöhen, um die Leuchtstärke der LED nutzen zu können, dabei darf aber ein maximaler Strom nicht überschritten werden und auch die Verlustleistung der LED nicht überschritten werden. (Das nur als erweiterte Info.) Die Portanschlüsse der Anoden-Leitungen der LEDs sind auch nicht kritisch. Dort fließ nur der Strom der jeweils eingeschlteten LED. Gefahr besteht an den 4 Ports, an denen die Kathoden-Ebenen der LEDs angeschlossen sind. Wenn in einer Ebene alle 16 LEDs eingeschaltet sind, dann fließt durch jede LED ein Strom. Diese Ströme addieren sich im Portanschluss des Ebenen-Ports, bei 16 LEDs mit je 19mA macht das also 304mA und das ist deutlich mehr als die zulässigen 40mA. Hier wirkt nun aber der Vorteil, dass die LEDs einer Ebene immer nur kurzzeitig eingeschaltet sind. Mess mal mit Deinem Multimeter den Strom in einer der Ebenen-Portleitungen. Schau Dir mal dieses Scaltbild an: http://www.flickr.com/photos/knaka/4072693764/ Die beiden ICs 74HC595 denk Dir mal weg, die Widerstände sind ja direkt mit Deinem Arduino-Board verbunden. Die jeweilige Basis der Transistoren wird über jeweils 1 Widerstand an einen Portausgang angeschlossen. Und wichtig ist, wenn der Portausgang "HIGH" ist, wird der Transistor durchgesteuert und die LEDs der Ebene leuchten. Du musst also bei Verwendung der Transistoren die "LOW"- und "HIGH"-Ansteuerung der Ebenenports invertieren. Da typischerweise bei einem animierten LED-Cube nur selten alle LEDs einer Ebene dauernd eingeschaltet sind, wird gerne und häufig auf die Transistoren verzichtet. Gruß elektrolutz
Hallo ich wollte mich auch mal an so einen 4x4x4 LED-Cube wagen bin leider noch nicht so lange dabei und habe deshalb noch ein paar Probleme. Also ich habe Stromlaufplan und Anleitung von folgender seite http://www.instructables.com/id/LED-Cube-4x4x4/?ALLSTEPS Also meine erste frage ist wegen der Beschaltung der LED´s jeweils eine 4er reihe liegt an einem der Port Pins an und gibt es da kein Problem mit der Spannung oder dem Strom ? Bzw. wie komme ich rechnerisch auf den wert ? (Tut mit leid für die Unwissenheit) Ich würde nämlich gerne 3mm LED´s ultrahell, klar wie auch in der Beschreibung verwenden. Weiterführend zu den Anschlüssen der Kathode zu dem Transistor. Und für was brauch ich den Crystal 14.7456 zwischen Pin 12 und 13 ? Um schnelle Hilfe würde ich mich sehr freuen.
Darf ich noch eine Kleinigkeit aus dem 1. Post kommentieren: hobo schrieb: > Bin ich jedoch mit Masse und 5V direkt an die > Beine der led gegangen, hat sie funktioniert. Das macht man einfach nicht, davon kann die LED auch kaputtgehen bzw. beschädigt werden. Immer mit Vorwiderstand. Mit ein paar hundert Ohm an 5 Volt, macht man nichts falsch.
Hallo Andreas, eigentlich ist alles in der Beschreibung recht gut beschrieben. Zu den LEDs: Die 4*4 LEDs der jeweiligen Ebene werden an den Kathoden verbunden und zusammen jeweils dem Kollektor eines Transistors zugeordnet. Die Anoden der jeweils übereinander liegenden LEDs werden verbunden und über einen Vorwiderstand an den Proz angeschlossen. Funktionsablauf: Die 4 Transistoren werden über das Programm der Reihe nach einzeln angesteuert, das bedeutet, es ist immer nur eine Ebene mit den Kathoden auf Masse geschaltet. Die LED-Ausgänge am Proz, die zu diesem Zeitpunkt "high" sind, bringen die entsprechende LED der auf Masse geschalteten Ebene zum Leuchten. Besser gesagt, sie blinken, dieses aber so schnell, dass das Auge und das Gehirn das Blinken nicht mehr wahrnehmen können (wie bei einer Leuchtstoffröhre). So fliesst also durch die Vorwiderstände immer nur der Strom für 1 LED, weil ja immer nur eine Ebene auf Masse geschaltet ist. Der Vorwiderstand der LED soll den Strom durch die LED begrenzen, damit diese nicht beschädigt wird. Hier muss nun gerechnet werden und man benötigt den zulässigen max. Dauer-Strom der Diode (typ. 20mA, bei lowcurrent-Dioden auch 2-4mA, zu finden im Datenblatt), sowie die Schwellespannung der Diode (zu finden im Datenblatt, denn die Höhe ist von der Farbe der LED abhängig). Mit R=U/I ergibt sich R = (Ubatt - Udiode - Uce) / Idiode R = Widerstand in Ohm Ubatt = Versorungsspannung (5VDC) Udiode = Schwellspannung der Diode (blau = ca. 3,5V) Uce = Spannungsfall am Transistor (ist sehr klein und kann vernachlässigt werden) Idiode = max. Diodenstrom (bei ultrahellen Dioden in der Regel 20mA) R = (5V - 3,5V - 0V) / 20mA = 75 Ohm Da nun die Dioden aber nicht dauernd eingeschaltet sind (bei 4 Ebenen also nur 25% der Laufzeit) kann man, um die Leuchtkraft der LED voll nutzen zu können, den Strom durch die LED problemlos verdoppeln oder auch verdreifachen. Wichtig: Es muss sicher sein, dass das Umschalten der LED-Ebenen auch wirklich funktioniert, das sonst die LEDs durch den zu hohen Dauerstrom beschädigt oder zerstört werden können. Meine Erfahrung ist, bei ultrahellen LEDs reicht die Auslegung auf den normalen einfachen max. Dauerstrom aus, ohne große Rechnereien setze ich 100 Ohm Widerstände ein und komme auf zufriedenstellende Ergebnisse. Die LEDs erreichen dabei zwar nicht die max. Leuchtstärke, blenden aber immer noch so stark, dass es in den Augen unangenehm ist. Je nach dem, wie preiswert / billig die LEDs eingekauft werden, macht es Sinn, sie auf Funktion und gleiche Leuchtkraft zu testen. Ideal dafür ist ein Steckbrett, für jede LED ein Vorwiderstand 100 Ohm und einige gleichzeitig an 5V anschließen und nun nach Helligkeit selektieren. Der Quarz (Crystal) wird vom Prozessor benötigt und dient als Taktquelle. Der Proz taktete also mit 14.7456MHz (14,7456 Millionen mal pro Sekunde). Gruß elektrolutz
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.