TLC5947 ansteuern, dass kein Flackern entsteht

Gast #1294000
Hallo,

ich habe 8 Stueck RGB Leds an einem TLC5947 hängen. Gefüttert wird der 
TLC5947 von einem ATMega. Nun ist es lt. Datenblatt des TLC5947 so, dass 
alle Ausgänge bis zur nächsten PWM Periode auf LOW gesetzt werden wenn 
neue Daten in den TLC5947 übernommen werden.

Ich toggele also meine gewünschten Helligkeiten in den TLC5947 ein und 
zieh XLAT zum übernehmen der Daten HIGH und alle LEDs sind bis zum 
nächsten Zyklus aus. Das macht sich als Flackern bei Fades bemerkbar.

Das Datenblatt bestätigt dies:
1
The data in the grayscale shift register are moved to the grayscale data latch with a low-to-high
2
XLAT transition on this pin. When the XLAT rising edge is input, all constant current outputs are forced off until the next grayscale display period. The grayscale counter is not reset to zero with a rising
3
edge of XLAT.

Das kann doch nicht Sinn der Sache sein?

Was kann ich dagegen tun? Nur kurz vor Ende einer PWM Periode XLAT 
setzen um das Flackern zu minimieren? Woher weiss mein ATMega wann eine 
PWM Periode um ist?


Any Ideas?


N:F
@  Naturfreund (Gast)

>alle Ausgänge bis zur nächsten PWM Periode auf LOW gesetzt werden wenn
>neue Daten in den TLC5947 übernommen werden.

>nächsten Zyklus aus. Das macht sich als Flackern bei Fades bemerkbar.

>Das kann doch nicht Sinn der Sache sein?

Doch, denn sonst würden sie auch komisch flackern. Müsstem zusätzlich 
zwischenpuffern, das kostet FlipFlops und damit Siliziumfläche.

>Was kann ich dagegen tun? Nur kurz vor Ende einer PWM Periode XLAT
>setzen um das Flackern zu minimieren? Woher weiss mein ATMega wann eine
>PWM Periode um ist?

Indem du BLANK nutzt, um den PWM-Zähler IM TLC zurückzusetzen. Siehe 
Datenblatt. Das Problem ist dabei aber, dass der ansteuernde IC eine 
definierte Anzahl Takte ausgeben muss, um eben dieses Schema 
einzuhalten. Ein AVR könnte dabei ein wenig ins Schwitzten kommen. Man 
kann aber sicherlich einen Timer mit Output Compare dazu nutzen. Ist 
aber ein wenig tricky.

MFG
Falk
Gast
Da würde ich gern nochmal nachhaken! Kann man also mit dem TLC5947 also 
eine einzelne LED an einem seiner Ausgänge bis "auf 0" dimmen?

Am besten natürlich ohne Flackern :-)

THX!
@Christian H. (netzwanze) Benutzerseite

>Ich bin heute wohl nicht ausgeschlafen: Wie kann man das Flackern beim
>Faden (TLC...) verhindern? Ich stehe wohl gerade etwas auf dem Schlauch
>bezüglich BLANK.

Indem man es einfach so macht, wie es im Datenblatt beschrieben ist.

;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.