Hallo zusammen, hab schon viel im Forum gesucht, jedoch leider keine Antwort gefunden. Das "Nachglimmen" wird ja hier ein paar Mal thematisiert. Zb. das man alle Ausgänge auf null setzt bevor man die nächste Zeile schreibt und den Transistoren genug Zeit gibt zum Abschalten. Dadurch ist es schwächer geworden, aber eben nicht weg. Ich habe Versuchsweise die Zeit zwischen Alles aus -- nächste Zeile auf 3sek gesetzt. War die LED in der Zeile davor an, sieht man nach 3sek die nächste kurz aufblitzen... Jetzt ist meine Frage, wo ich noch nach Fehlerquellen suchen kann. Danke schon einmal
Lex7 schrieb: > War die LED in der Zeile davor an, sieht man nach 3sek die nächste kurz > aufblitzen... das wird wohl ein Softwarefehler sein.
Hallo, ich habe gerade für diese 8x8 Led Matrix ein Demo geschrieben. http://www.youtube.com/watch?v=s-JaXmj6js0a Diese Funktion wird über einen Timer0 ISR alle 12,8kHz aufgerufen:
1 | void led_matrix_task(void) |
2 | {
|
3 | static uint8_t u_zeile = 0; |
4 | static uint8_t u_spalte = 0; |
5 | |
6 | CLEAR_ALL_COLUMNS(); |
7 | CLEAR_ALL_ROWS(); |
8 | |
9 | // aktuelle Spalten und Zeilen zwischenespeichern
|
10 | uint8_t zeile = u_zeile; |
11 | uint8_t spalte = u_spalte; |
12 | |
13 | // Erhöhen der Zählvariable
|
14 | if (++u_spalte == MAX_SPALTEN) // nächste Spalte |
15 | {
|
16 | u_spalte = 0; |
17 | if (++u_zeile == MAX_ZEILEN) u_zeile = 0; // nächste Zeile |
18 | }
|
19 | |
20 | // Test, wenn das Bit im Bit-Array gesetzt ist,
|
21 | // dann wird die zugehörige Spalte und Zeile eingeschaltet
|
22 | if ( LED_MATRIX_TEST(zeile,spalte) ) |
23 | {
|
24 | led_matrix_spalte_an(spalte); |
25 | led_matrix_zeile_an(zeile); |
26 | }
|
27 | |
28 | // Fertig
|
29 | }
|
Lex7 schrieb: > Jetzt ist meine Frage, wo ich noch nach Fehlerquellen suchen kann. Schaltplan? Wie sehen die Signale an den Ports+Transistoren aus (Oszi)?
@ Lex7 (Gast) >hab schon viel im Forum gesucht, jedoch leider keine Antwort gefunden. Dann hast du schlecht gesucht. >Dadurch ist es schwächer geworden, aber eben nicht weg. >Ich habe Versuchsweise die Zeit zwischen >Alles aus -- nächste Zeile >auf 3sek gesetzt. >War die LED in der Zeile davor an, sieht man nach 3sek die nächste kurz >aufblitzen... Klingt nach Hardwareproblem.
Klingt mir eher danach, als ob zu Beginn von "nächste Zeile" nochmal kurz die Daten der alten Zeile ausgegeben werden, z.B. weil "Alles aus" durch abschalten der Ausgänge per DDR passiert, diese aber vor dem Setzen der neuen Daten schon wieder eingeschaltet werden. @Lex7: Poste mal Deinen Code.
>und den Transistoren genug Zeit gibt zum Abschalten.
Das ist, bzw. wäre nur bei der Emitterschaltung nötig.
Die Kollektorschaltung spart Bauteile und ist schneller.
>Schaltplan? Klar, den hab ich ganz vergessen. Jetzt sollte er dabei sein. >Wie sehen die Signale an den Ports + Transistoren aus (Oszi)? Ich habe vor kurzem ein altes analoges Oszi bekommen. Falls ich es richtig bediene kommt aus dem MCP23017 ein sauberes Rechteck raus. Hinter den Transistoren fällt das Signal nicht mehr so steil ab. Sobald ich eine Kamera zur Hand habe, reiche ich Fotos nach. >Dann hast du schlecht gesucht. Mag schon sein ;)
Wozu Inverter, das kann man doch schon in der Software invertieren... Karl Heinz Buchegger schrieb: > Basiswiderständen Braucht man hier nicht, weil das die legendäre (und eigentlich ungeeignete) Kollektorschaltung ist und Vorwiderstände werden hoffentlich drin sein... Seis drum, ich sage jetzt: der Fehler liegt in der noch unbekannten Software...
>Mit Vorwiderständen oder Basiswiderständen hast du es nicht so, gell? Ehrlich gesagt, habe ich das aus LED-Matrix übernommen. Dort steht, dass wenn die Transistoren als Emitterfolge arbeiten, werden keine Basiswiderstände benötigt.
Lex7 schrieb: >>Inverter > Naja, als einfacher Mosfet-Treiber. Naja, was kann da ein Wald&Wiesen HC04 besser als dieser MCP?
Lothar Miller schrieb: > Wozu Inverter, das kann man doch schon in der Software invertieren... > > Karl Heinz Buchegger schrieb: >> Basiswiderständen > Braucht man hier nicht, weil das die legendäre (und eigentlich > ungeeignete) Kollektorschaltung ist und Vorwiderstände werden > hoffentlich drin sein... Ach das sind ja NPN. Da war wohl meine Erwartungshaltung zu groß, dort PNP vorzufinden. OK. Nehme alles zurück und behaupte das Gegenteil.
Hast du mal pull down Widerstände an den Gates versucht? edit: ich frag weil die können doch glaub ich auch nur so 20 mA 'saugen' vielleicht dauert das damit zu lange... nehme alles zurück, habe dein Eingangspost noch mal in Ruhe gelesen und 3s verinnerlicht. Gleiches gilt für den Schaltplan den lese ich gern mit auto-vervollständigung, also so wie ich es erwarten würde. Die p- und n Kanal fets sind die extra benutzt oder ist das zeichnerisch?
>Naja, was kann da ein Wald&Wiesen HC04 besser als dieser MCP? Hatte das auch in dem Mikrocontroller Artikel gelesen, dass man den HC04 als Treiber einsetzen kann. >Die p- und n Kanal fets sind die extra benutzt oder ist das zeichnerisch? Nene, das ist zeichnerisch, hatte wohl keine passende Bibliothek gefunden. Sind alles n Kanal fets.
Lex7 schrieb: > War die LED in der Zeile davor an, sieht man nach 3sek die nächste kurz > aufblitzen... Nach 3s ist jede Miller-Kapazität entladen. Das ist ein SW-Fehler. Peter
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite >Braucht man hier nicht, weil das die legendäre (und eigentlich >ungeeignete) Kollektorschaltung ist Warum ungeeignet? Denkst du, die 500mV mehr Spannungsabfall gegenüber einer Emitterschaltung mit PNP machen das Kraut fett? Ich nicht. > und Vorwiderstände werden hoffentlich drin sein... Wozu? >Seis drum, ich sage jetzt: der Fehler liegt in der noch unbekannten >Software... Oder einem Verdrahtungsfehler. >Hatte das auch in dem Mikrocontroller Artikel gelesen, dass man den HC04 >als Treiber einsetzen kann. Ist auch so. >>Die p- und n Kanal fets sind die extra benutzt oder ist das >zeichnerisch? >Nene, das ist zeichnerisch, hatte wohl keine passende Bibliothek >gefunden. Sind alles n Kanal fets. Schon wieder ne faule Ausrede, es gibt TONNENWEISE N-Kanal FETs. Und der Schaltplan ist auch MIES! Schaltplan richtig zeichnen
Falk Brunner schrieb: > Warum ungeeignet? Denkst du, die 500mV mehr Spannungsabfall gegenüber > einer Emitterschaltung mit PNP machen das Kraut fett? Ich nicht. Also gut, wenns funktioniert und sowieso nur 5V da sind. Das Unangenehme ist nur, dass dann irgendwelche Spezialisten drauf kommen, die Transen mit 12V zu versorgen und sich wundern, dass nur 4,3V rauskommen... >> und Vorwiderstände werden hoffentlich drin sein... > Wozu? Für die (nicht eingezeichneten) LEDs... Ich meinte explizit nicht Basiswiderstände. Diese beiden Begriffe wurden einen Post vor meinem von Karl Heinz eingeführt. Peter Dannegger schrieb: > Nach 3s ist jede Miller-Kapazität entladen. Schade, eigentlich... ;-)
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite >Also gut, wenns funktioniert und sowieso nur 5V da sind. >Das Unangenehme ist nur, dass dann irgendwelche Spezialisten drauf >kommen, die Transen mit 12V zu versorgen und sich wundern, dass nur 4,3V >rauskommen... Die gleichen Spezialisten vergessen auch den Pegelwandler für die PNPs und wundern sich, dass die nicht schalten.
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.