Hallo, ich habe ein vertikales POV-Display mit 6 TLC5940 Chips (16-Kanal LED-Treiber) gesteuert durch einen stm32f4 gebaut. Das Display arbeitet mit 32 RGB-LEDs. Jede Farbe (32 LEDs) wird direkt durch zwei TLC Chips angesteuert, d.h. ohne Multiplexing. Der TLC5940 ist ein 16-Kanal LED-Treiber, der mit einer 12-Bit PWM arbeitet und bis 28 MHz spezifiziert ist. Alle TLC hängen parallel am stm32f4. Der TLC erhält hierbei die Grayscale-Daten für die 16 LEDs in 16*12 Bit Paketen. Diese werden an den TLC gesendet und im Anschluß durch ein Latch-In Signal auf die Ausgabe übernommen. Ich weiß, dass man die TLC auch in Reihe schalten kann, habe ich aber wegen des höhern Zeitbedarfs zum Latch-In der Daten nicht umgesetzt. Das klappt auch alles hervorragend und das Display schafft eine 180 "Pixel" breite Darstellung bei ca. 24 Hz Bildwiederholfrequenz, sprich Umdrehungsgeschwindigkeit der LEDs. Daraus ergibt sich eine "Blinkfrequenz" der LEDs von ca. 18,4 Mhz. - 24 Umdrehungen pro Sekunde mal - 180 Positionen pro Umdrehung mal - 4096 Helligkeitsstufen pro Position (per PWM) Nach dem Latch-In der Werte an die TLC-Chips hat der stm32f4 so noch genug Zeit sich um Bildverarbeitung, Page-Switching, Kommunikation etc. zu kümmern. Nun zum Problem: Die einzelnen Farben werden durch die TLC-Chips nicht exakt zeitgleich geschalten. Dadurch ist ein "weiß" auf dem Display durch die schnelle Drehbewegung, mit leichten blauen Verschiebungen nach einer Seite und leichten roten Verschiebungen zur anderen Seite zu sehen. Die Schaltung ist aber so aufgebaut, dass das "BLANK" Signal, dass die TLC-Ausgänge aus- und einschaltet sowie das "XLAT" Signal, dass die Datenübernahme vom stm32 steuert parallel an alle TLC gegeben wird. Das "BLANK" Signal vom stm32, dass die LED letztlich ein- und ausschaltet, wird an einem PIN des stm32 erzeugt und geht parallel an die 6 BLANK-Eingänge der TLC-Chips. Jeder Eingangspin ist mit einem 10K-Pull-Up ausgestattet. Das XLAT-Signal geht direkt in die 6 Eingänge der TLC. Was kann diese Verzögerung verursachen? Bei der gleichen Farbe gibt es bei allen Farben keine Verzögerung zwischen den "oberen" und "unteren" 16 LEDs, die ja ebenfalls durch zwei getrennte TLC-Chips angesteuert werden. Ich hoffe ich konnte das Problem einigermaßen beschreiben und freue mich über Hilfen. Ein Oszi habe ich leider nicht zur Verfügung, um die konkrete Verzögerung zu messen. Man sieht Sie aber beim POV-Display leider deutlich. Natürlich kann ich theoretisch drei getrennte BLANK-Signale für RG und B erzeugen und hier eine Verzögerung einbauen, aber wodurch entsteht diese überhaupt? Schalten RGB-LEDs die einzelnen Farben etwa unterschiedlich schnell? Datenblatt der verwendeten LEDs im Anhang. Mario
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.