Tag zusammen, Ich hab ein Problem mit meinem 4x4x4-LED-Cube, aufgebaut ist dieser mit 3x 74HC595 Schieberegistern und 4x BD140 Transistoren. Die Daten werde von einem Arduino an die kaskadierten Schieberegister geschickt, was auch super funktioniert. Zuerst wird das Erdgeschoss geschalten, dann der 1., 2. und der 3. Stock. Schalte ich jetzt z.B. eine LED im 1. Stock an glimmt die LED im Erdgeschoss. Gleiches passiert wenn ich den 3. Stock schalte im 2. Stock oder im 4. Stock wenn ich das Erdgeschoss schalte. Erste Vermutung war, dass der Transistor zu langsam ist, aber dann würde ja ein Leuchten der folgenden LED und nicht der vorherigen entstehen. Die einzelnen LEDs werden mit ~8mA gespeist, der DutyCycle jeder Ebene ist nahezu perfekt 25%, die Frequenz der SPI-Übertragung verändern führte auch zu nichts, lediglich ein delay zwischen jeder Übertragung brachte Besserung, diese müsste aber zu hoch sein um das vor leuchten einigermaßen gut zu unterdrücken.
Hallo! Dieser Effekt kommt fast immer von der falschen Abfolge der Ansteuerung.
Casio schrieb: > Erste Vermutung war, dass der Transistor zu langsam ist, aber dann würde > ja ein Leuchten der folgenden LED und nicht der vorherigen entstehen. "Kinder, stellt euch mal im Kreis auf!" > Zuerst wird das Erdgeschoss geschalten, dann der 1., 2. und der 3. > Stock. Nur am Rande: sie wird geschaltet. Erst in Österreich wird sie geschalten... > Schalte ich jetzt z.B. eine LED im 1. Stock an glimmt die LED im > Erdgeschoss. Die im Erdgeschoss leuchtet also nachher immer noch. > Gleiches passiert wenn ich den 3. Stock schalte im 2. Stock oder im 4. > Stock wenn ich das Erdgeschoss schalte. Also leuchten die LED doch nach: der "alte" Transistor sperrt noch nicht, und der "neue" leitet schon... Könnte durchaus auch an der Software liegen. Schaltest du die LEDs des "aktuellen Stockwerk" aus, bevor du zum "nächsten Stockwerk" wechselst? BTW: sehr hilfreich wäre es, wenn man Schaltplan und Software hätte...
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > Also leuchten die LED doch nach: der "alte" Transistor sperrt noch > nicht, und der "neue" leitet schon... Klingt plausibel, gehen wir mal davon aus es liegt am Transistor, gibt es dann eine Lösung bei der sich die Frequenz nicht der eines Sekundenzeigers annähert oder der DutyCycle noch mehr verringert wird? > Könnte durchaus auch an der Software liegen. Schaltest du die LEDs des > "aktuellen Stockwerk" aus, bevor du zum "nächsten Stockwerk" > wechselst?
Casio schrieb: > Lothar Miller schrieb: >> Also leuchten die LED doch nach: der "alte" Transistor sperrt noch >> nicht, und der "neue" leitet schon... > > Klingt plausibel, gehen wir mal davon aus es liegt am Transistor es liegt zimelich sicher nicht am Transistor sondern an deinem Programm. Konkret an der Reihenfolge, in der du in der ISR die Dinge machst um von einer Ebene zur nächsten weiterzuschalten.
Karl Heinz schrieb: > es liegt zimelich sicher nicht am Transistor sondern an deinem Programm. > Konkret an der Reihenfolge, in der du in der ISR die Dinge machst um von > einer Ebene zur nächsten weiterzuschalten. Komisch, dass es ohne Transistoren super funktioniert hat, dafür natürlich mit geringerem Strom.
Casio schrieb: > Karl Heinz schrieb: >> es liegt zimelich sicher nicht am Transistor sondern an deinem Programm. >> Konkret an der Reihenfolge, in der du in der ISR die Dinge machst um von >> einer Ebene zur nächsten weiterzuschalten. > > Komisch, dass es ohne Transistoren super funktioniert hat, dafür > natürlich mit geringerem Strom. Dann zeig deinen Schaltplan und Code her ! Wie lange sollen wir denn noch herum raten? Du bist völlig beratungsresistent und mehr als uns zu sagen was deine Fehler nicht sind hast du bis jetzt nicht hervorgebracht. Eines ist sicher: du hast irgendwas verbock. Wenn wir dir helfen sollen, dann versorge uns mit Informationen.
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.