Forum: Mikrocontroller und Digitale Elektronik LED Cube - Ebenen leuchten vor


von Casio (Gast)


Lesenswert?

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.

von Stutzig (Gast)


Lesenswert?

Hallo!
Dieser Effekt kommt fast immer von der falschen Abfolge der Ansteuerung.

von 123 (Gast)


Lesenswert?

... und nennt sich Ghosting.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Casio (Gast)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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.

von Casio (Gast)


Lesenswert?

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.

von 123 (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.