mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED-Matrix -> Nachleuchten -> Timingproblem?!


Autor: narzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey...also ich habe folgendes Problem.

Habe ein paar 5x7 LED-Matrizen angesteuert und will die Reihen 
multiplexen - soweit so gut, aber wenn ich jetzt z.B. die Reihe mit den 
"X" leuchten soll, leuchtet die links daneben ("o") nicht ganz so hell, 
aber doch auch. Kann es sein, dass ich da programmiertechnisch mich mit 
der Geschwindigkeit des Multiplexens oder habt ihr andere Vorschläge?


|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|
|   |   | o | X |   |
|---|---|---|---|---|

Danke im Voraus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Source, Schaltplan!

In einem davon ist der Fehler drin.


Peter

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Steuertransistoren haben eine gewisse Abfallzeit, diese kannst Du 
verringern, indem Du zwischen Basis und Emitter Widerstände schaltest 
(so etwa 1kOhm). Du kannst aber auch softwaretechnisch die 
Zeilenleitungen für die Zeit kurz vor bis kurz nach dem Umschaltvorgang 
der Spalten dunkeltasten. Die Helligkeit der angesteuerten Spalte wird 
dadurch nur unmerklich geringer. Auch solltest Du darauf achten, die 
Multiplexfrequenz nicht zu hoch zu wählen, da dadurch der 
Verwischungseffekt noch stärker wird.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:
> Deine Steuertransistoren haben eine gewisse Abfallzeit, diese kannst Du
> verringern, indem Du zwischen Basis und Emitter Widerstände schaltest
> (so etwa 1kOhm).

Oder gleich die Kollektorschaltung nehmen, wenn Du richtig hellgesehen 
hast. Spart sogar 10 Widerstände ein.


Peter

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich kenne das Problem.

wenn die LEDs links von den eigentlichen leuchten und du von links nach 
Rechts scannst, lädst du den Port mit den Daten der Spalte und lässt 
dann die Spalte hochzählen.
Also:
- Daten an Spalte (LED-Port) ausgeben
- Spaltenposition hochzählen

Wenn du es umgekehrt machst, leuchtet immer die rechte Spalte mit den 
Daten der aktuellen Spalte.

Die Lösung ist einfach wie wirkungsvoll ;)

Die LEDs einfach kurz auf dunkel setzen:

- Spalte dunkel setzen
- Spaltenposition hochzählen
- Daten an Spalte (LED-Port) ausgeben

das ist alles ;)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder so :-).

Autor: narzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke an alle für die fixen Antworten, hab jetzt das mit dem Spalte 
davor dunkelsetzen geändert und es funktioniert - wirklich einfach aber 
wirkungsvoll ;) vielen vielen Dank - ihr glaubt nicht wie lang das 
gefuchst hat...

Wünsch allen noch einen schönen Abend...danke ;)

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Chris war schneller, das ist richtig, das hat lediglich was mit der 
Reihenfolge der Aktionen zu tun ;) Die Transistoren sind viel zu schnell 
als dass man da was sehen koennte.

Ein Auszug aus der Firmware fuer meine Uhr: Ich musste ebenfalls erst 
den PORT auf 0 setzen, bevor ich sie Zeile wechseln (ich mach nen 
Zeilen-Multiplex).
   /* do the multiplexed display update */
   if (!(++multiplex_counter%4) && !(status_flags & STATUS_FLAG_MSTATUS_DIRTY))
   {
     PORTD = 0x00; // <-------------------------

     PORTC = (PORTC & 0xf0) | (1 << i);
     PORTD = matrix_status[i];  
     
     if (++i > 3)
     {
       i = 0;
     }
   }

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael G. (linuxgeek) Benutzerseite

>Chris war schneller, das ist richtig, das hat lediglich was mit der
>Reihenfolge der Aktionen zu tun ;) Die Transistoren sind viel zu schnell
>als dass man da was sehen koennte.

Irrtum. Bei den üblichen, eher schlecht als recht dimensionierten 
Schaltstufen hat man mal fix 500..1000ns Storage Time am Hals, 
währendessen bei ungeeigneter Programmierung die nächste Spalte LEDs 
schon eingeschaltet wird. Bei einer Multiplexfreqeunz von beispielsweise 
800 Hz (8 Anzeigen x100Hz) macht das immerhin ein Tastverhältnis von 
~1/1250..1/2500. Da das menschliche Auge eine ausserordentliche Dynamik 
besitzt, kann man auch so schwach leuchtende LEDs im abgedunkelten Raum 
noch sehen.

MfG
Falk

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem nennt sich Sättigung. Der Transistor ist dabei mit 
Ladungsträgern "geflutet" und muss davon sozusagen wieder freigeräumt 
werden. Erst dann kann er wieder sperren. Das kann man z.B. mit den von 
Travel Rec. erwähnten Widerständen machen. Oder halt dem Transistor mehr 
Zeit geben.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mike wrote:
> Das kann man z.B. mit den von
> Travel Rec. erwähnten Widerständen machen. Oder halt dem Transistor mehr
> Zeit geben.

Oder mit der Kollektorschaltung.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.