Hallo, ich baue gerade einen led cube und habe mich dabei an folgendem link orientiert: http://www.mikrocontroller.net/articles/LED_cube Anstatt der Mosfets habe ich allerdings transistoren (PN2222) genommen. Mein Aufbau ansich funktioniert, dass heißt ich bekomme die leds zum leuchten. als nächsten schritt wollte ich den cube multiplexen. Aber genau da ist das Problem. Nehme ich den quellcode von der Seite (http://www.mikrocontroller.net/articles/LED_cube) sehe ich nur irgendein geflacker oder nichts. an den transistoren liegt es glaub ich nicht, da ich auch keine ausgangsspannung am uC messen kann. Ich würde das Problem eher auf den Timer und dem Interrupt eingrenzen, allerdings fehlt mir da der richtige Lösungsansatz. Habt ihr irgendeine Idee, wie ich den cube mit multiplexing zum laufen bekomme?
...vielleicht ist deine Muxfrequenz zu niedrig. ggf das div8 Bit mal begutachten!? M.
Danke das hat mich schon einen riesen Schritt vorangebracht. Was mich nur jetzt wundert ist, dass nur ein Teil der Animationen abgespielt werden kann bzw. man sieht nur einen Teil, da beim rest keine led leuchtet. Das heißt ich kann den schriftverlauf sehen und das männchen, welches geht geht. Bei der Timereinstellung steht: void cube_show_init( void ) { TCCR0 |= (1 << CS02) | (0 << CS00); TIMSK |= (1 << TOIE0); } wie sieht es dort mit cs01 aus? 1 0 0 CPU-Takt / 256 für 0<<cs01 1 1 0 Externer Pin TO, fallende Flanke für 1<<cs01
cuve schrieb: > wie sieht es dort mit cs01 aus? > 1 0 0 CPU-Takt / 256 für 0<<cs01 > 1 1 0 Externer Pin TO, fallende Flanke für 1<<cs01 Steht in deinem Code irgendwo, dass CS01 gesetzt wird? Wenn nein, dann hat dieses Bit immer noch den Zustand nach dem Einschalten der Versorgunsspannung und ist daher 0.
> Was mich nur jetzt wundert ist, dass nur ein Teil der > Animationen abgespielt werden kann bzw. man sieht nur > einen Teil, da beim rest keine led leuchtet. Eine Strategie, die sich bei mir extrem bewährt hat lautet: Mach nicht gleich das komplexeste Beispiel, das du finden kannst, sondern fang erst mal mit einfachen Sachen an. Dabei fallen dann Dinge auf, die behoben werden müssen. Und beim nächsten, möglicherweise komplexeren Beispiel fallen dann wieder andere Dinge auf, die ebenfalls behoben werden. Nach einigen Runden sind dann die Kinderkrankheiten alles beseitigt und siehe da, dann funktionieren auch die komplexen Beispiele alle auf Anhieb. Im Falle eines LED-Cube wäre mein erstes Testprogramm ein Programm, welches nacheinander alle LED einschaltet. Zuerst jede LED einzeln, danach immer 1 LED mehr, damit ich sehe, ob die Spannungsversorgung in die Knie geht. Und erst dann, wenn ich sicher bin, dass jede LED für sich alleine angesteuert werden kann und auch die Spannungsversorgung mitmacht, erst dann geh ich auf Animationen. Edit: Die Funktion "cube_full" hast du gesehen? Das ist mehr oder weniger genau eine der ersten Funktionen die ich benutzen würde. Ihr Zweck: Alle LED aufdrehen. Wenn dann nicht alle LED leuchten, gibt es ein Hardware-Problem, dem man nachgeht
Also ich hatte schon mal alle LEDs zum leuchten gebracht. Ich kann mir vorstellen, dass es an den Transistoren liegt, die ich anstatt der Fets gewählt hatte. Wie dimensiert man den Widerstand vor den Fets (habe den IRLIZ44N)? http://www.irf.com/product-info/datasheets/data/irliz44n.pdf
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.