Forum: Mikrocontroller und Digitale Elektronik TLC5940 spinnt komplett, ich weiß nicht mehr weiter..


von Paul H. (powl)



Lesenswert?

Neuer Thread mit Fokus auf das Kernproblem:

Ich habe hier einen TLC5940 LED-Treiber, welcher durch einen ATtiny24 
gesteuert wird. Die ganze Zeit über lief das auch ganz gut, die LEDs 
haben gemacht was sie sollten, da hat nichts geflackert, alles lief 
bestens. Zuletzt, vor 2 Wochen, hatte ich eine Demoanimation 
implementiert, bei der einfach nur einen Helligkeitsverlauf durch die an 
den TLC angeschlossenen Bargraphanzeigen hindurchläuft. Lief einwandfrei 
flüssig ohne jegliches Flackern oder sonstwelche Auffälligkeiten.

Gestern wollte ich die Arbeit an diesem Projekt wieder aufnehmen aber 
seither spinnt diese Schaltung völlig! Die LEDs flackern nur noch wild 
rum, fast wie als würden sie mit random Helligkeitswerten belegt. Vom 
einen auf den anderen Tag quasi, ohne auch nur das geringste am Aufbau 
oder Programm zu verändern. Man kann die Demoanimation noch vage 
erkennen aber sie ist von unglaublich viel "rauschen" überlagert.

In einem anderen Thread habe ich schon berichtet, was ich zur 
Fehlersuche unternommen habe 
(Beitrag "Steckernetzteil fängt an zu spinnen") hier das wichtigste und 
noch mehr:
1) Spannungsversorgung mit dem DSO gemessen. -> VCC hat einen sehr sehr 
unruhigen Rauschteppich von bis zu 500mV Vpp. Da helfen auch 
Abblockkondensatoren nichts. Ist das normal beim TLC? Steckernetzteil 
und Labornetzteil verhalten sich hier gleichermaßen.
2) ATtiny24 einmal getauscht, TLC5940 zwei mal getauscht. -> Keine 
Veränderung.
3) Das Breadboard verdächtigt und die komplette Schaltung auf einem 
zweiten Breadboard neu aufgebaut. Keine Veränderung.
4) Den Code komplett entschlackt. Es wird nun nur noch zyklisch ein 
statisches Paket an Werten (auch ein versetzter Helligkeitsverlauf) in 
den TLC geshiftet um Fehlerquellen im Code auszuschließen. Das Flackern
5) Mit dem Logic-Analyzer überprüft, ob der AVR tatsächlich das tut, was 
er soll. Ja, das tut er! Der Logic-Analyzer liest per SPI immer das 
gleiche Datenpaket mit den Werten (siehe logic.png), die nun auch im 
Sourcecode des AVRs vorprogrammiert sind, nur der TLC scheint es ständig 
anders zu interpretieren und flackert. Alle anderen Signale sind auch 
stabil. Labornetzteil zeigt 260mA Durchschnittsstromverbrauch, geht 
jedoch oft mal für einen winzigen Augenblick in die 500mA 
Strombegrenzung.
6) Das Flackern ist erheblich minimiert wenn ich das zyklische Senden 
der SPI-Daten im AVR mal abschalte. Ein leichtes sporadisches Flackern 
so ca. 2x die Sekunde ist aber immer noch vernehmbar.
7) Den TLC noch weitere 2 mal getauscht -> Keine Veränderung.

Ich bin mit meinem Latein am Ende. Wenn ich es nicht besser wüsste würde 
ich sagen, die TLC5940 sind alle im Eimer und spinnen einfach. Anders 
kann ich mir nicht erklären dass ich trotz aller Maßnahmen keinen 
offensichtlichen Fehler finden kann UND die Schaltung zuletzt über Tage 
und Wochen hinweg funktionierte!

Der aktuelle Aufbau, Schaltplan und Sourcecode befinden sich im Anhang.

: Bearbeitet durch User
von S. M. (lichtmensch)


Lesenswert?

Ich habe vor einer weile mit dem TLC5940 einige Effekte aufgebaut und 
dafür ganz günstige TLC5940 auf Ebay gekauft. Einige waren schon von 
Anfang an kaputt andere sind nach einer weile ausgefallen.
Zudem scheinen die 5940 (auch die originalen) recht empfindlich gegen 
statische Aufladung zu sein.

von Amateur (Gast)


Lesenswert?

Schmeiß das Programm aus dem ATtiny24 raus und probier' ein paar 
einfache Sequenzen.

von Paul H. (powl)


Lesenswert?

Was meinst du mit einfache Sequenzen? Das Programm macht ja, was es 
soll, wie man auf dem Logik-Analyzer-Schrieb sehen kann. Weiter 
reduzieren kann man das eigentlich nicht. Außerdem ist das ja vor ein 
paar Wochen noch problemlos und auch über Stunden bzw. Tage zuverlässig 
gelaufen, d.h. grundsätzlich falsch kann das programmierte Timing der 
Signale ja auch nicht sein. Und an den fürs Timing verantwortlichen 
Programmteilen habe ich seither nicht das geringste geändert.

Ein Versuch hat zudem gezeigt, dass, auch wenn ich SIN, SCLK und XLAT 
komplett still lege (per Code oder auch per Hardware) und nur noch die 
von den Hardware-Timern erzeugten Signale BLANK und GSCLK aktiv sind, 
das Flackern zwar erheblich vermindert ist (da ja keine neuen Daten am 
TLC ankommen), aber die LEDs trotzdem noch allesamt flimmern und so ca. 
zwei mal die Sekunde unregelmäßig komisch flackern, was ja auch kein 
normales Verhalten ist.

: Bearbeitet durch User
von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Heute sind zwei "neue" TLC5940 gekommen. Die habe ich in folgender 
eBay-Auktion gekauft:

http://www.ebay.de/itm/371315115276

Die sehen anders aus als meine bisherigen. Die Pins vom DIP-Gehäuse sind 
verzinnt und der Stil des gelaserten Aufdrucks ist anders. Ich hab sie 
gleich eingebaut. Leider zeigen sie fast das gleiche Verhalten wie die 
vorigen TLCs. Das Flackern ist etwas weniger wild, das gewollte 
Leuchtmuster scheint eher mal durch. D.h. die Chips verhalten sich etwas 
anders als die vorigen.

Logik-Analyzer zeigt nach wie vor keine Probleme beim lesen der 
SPI-Daten. Auch das Timing von BLANK und GSCLK ist auf dem Schrieb 
absolut sauber.

So langsam weiß ich wirklich nicht mehr weiter. Es können doch nicht 
alle TLC5940 die man kaufen kann Schrott sein? Andererseits lief die 
Schaltung in exakt diesem Aufbau mit exakt diesem Programmcode vor ein 
paar Wochen noch fehlerfrei! Das kann doch alles nicht sein!

: Bearbeitet durch User
von Paul H. (powl)


Lesenswert?

Weitere Tests: Wenn ich die SPI-Kommunikation so richtig richtig übel 
langsam mach (90kHz SPI-Takt) wird das Flackern deutlich besser, d.h. 
der TLC versteht wesentlich öfter die richtigen Werte, aber bei weitem 
noch nicht immer. Es ist schon meisterhaft, bei einer so langsamen 
Kommunikation noch Werte falsch zu verstehen. Interessanterweise sind es 
eher die hinteren LEDs, die flackern. Das deutet darauf hin, dass der 
TLC einfach zusätzliche Taktflanken im Clock-Signal erkennt, wo keine 
sind. Es ist noch mal anzumerken, dass der Logic-Analyzer hier keinerlei 
Probleme hat.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@ Paul H. (powl)

>noch nicht immer. Es ist schon meisterhaft, bei einer so langsamen
>Kommunikation noch Werte falsch zu verstehen.

Eben weil die TaktFREQUENZ nebensächlich ist, die ANSTIEGSZEIT ist 
entscheidend, siehe Wellenwiderstand.

> Interessanterweise sind es
>eher die hinteren LEDs, die flackern. Das deutet darauf hin, dass der
>TLC einfach zusätzliche Taktflanken im Clock-Signal erkennt, wo keine
>sind.

Dann ist deine wilde Verdrahtung noch übler als es auf den Bildern zu 
sehen ist. Das Taktsignal sollte über ein verdrilltes Kabel vom AVR zum 
TLC gehen, wobei die Masse auf der 2. Ader nah am AVR sowie nah am TLC 
angeschlossen werden muss (<20mm).

> Es ist noch mal anzumerken, dass der Logic-Analyzer hier keinerlei
>Probleme hat.

Der tastet auch nur ab, der ist nicht flankensensitiv. Der TLC kann mit 
bis zu 30 MHz getaktet werden, die Takteingänge "sehen" aber locker noch 
"verbogene" Taktflanken, die im Bereich 100MHz liegen. Du kannst dich ja 
von diesem "HF-Experten" beraten lassen ;-)

Beitrag "Re: Serienwiderstand bei Hochfrequenz"

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


Lesenswert?

Paul H. schrieb:
> Es ist noch mal anzumerken, dass der Logic-Analyzer hier keinerlei
> Probleme hat.
Du siehst mit dem Logikanalyzer erst mal nicht, wie gut dein Signal ist. 
Oder andersrum: du sähest es nur dann, wenn du exakt die selben 
Leitungslängen und Schwellwerte hast.
In der Praxis bedeutet das: nimm ein Oszi und kontrolliere die Signale 
am Signalausgang und am Signaleingang.

: Bearbeitet durch Moderator
von Toto mit Harry (Gast)


Lesenswert?

Ich hatte schon eine Schaltung, die habe ich komplett eingegossen und 
der TLC hat manchmal aufgegeben..habs vorher 10 mal überprüft und da 
hatte er auch schon kleinere Problemchen auf dem Lochraster.. mit hier 
und da mal hindrücken war es auch weg, denke mitlerweile das war 
Flussmittel trotz Hochtemperatur NonClean.

Mit den billigen Brücken auf dem Steckbrett ist alles Zufall und eine 
saubere Funktion undenkbar.

von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Ich habe eben mal das Oszilloskop angeworfen und einige Messungen 
gemacht. Die Taktflanken sehen in der Tat alles andere als schön aus. 
Ich könnte mir vorstellen, dass der relativ starke Ripple Taktflanken 
erzeugt, wo keine hinsollen. Der scheint auf VCC drauf zu liegen, ich 
kann ihn an allen Stellen der Schaltung, welche auf VCC-Potenzial liegen 
sollen messen. Aber woher kommt der? Die Versorgungsschiene hat einen 
100µF Kondensator, ist mit relativ dicken Kabeln ans Netzteil 
angebunden. Zuvor hatte ich ja das Steckernetzteil verdächtigt aber mit 
dem Labornetzteil als Spannugsquelle ergibt sich kein Unterschied. Habe 
ich die Abblockkondensatoren direkt an den Versorgungspins von TLC und 
AVR schon erwähnt? Die Maximalstromaufnahme des TLCs dürfte bis zu 640mA 
betragen, jeder Konstantstrom-Ausgang ist über den 1kOhm 
Referenzwiderstand auf 40mA Strom eingestellt.

Der Ripple auf VCC sieht übrigens auch nicht besser aus, wenn ich die 
LEDs komplett deaktiviere. Man muss hier aber evtl. auch noch das nicht 
zu verachtende Grundrauschen des Oszis mit einbeziehen welches sich 
sicher mit der Messung überlagert.

Bemerkenswert ist auch die zeitweise sehr wellige Spannung am 
TLC-GND-Pin, welche schön um das GND-Niveau auf der Versorgungsschiene 
herumpendelt. Was ist denn hier los? Bilden hier die 
Zuleitungsinduktivität und der Abblockkondensator einen Schwingkreis? 
Das dürfte auch diese Welligkeit im Bild SCLK_am_TLC2.png und die 
Welligkeit auf VCC_am_TLC.png erklären.

Messe ich da mist oder warum ist das alles so unglaublich unsauber?

Was mir eben noch auffällt: Auf SCLK_am_AVR ist ja schon ein heftiger 
Ripple zu sehen, jedoch bin ich hier mit der Zeitauflösung schon bei 
10ns/Div. Die Grundfrequenz des Ripples scheint bei 100Mhz zu liegen und 
noch Komponenten zu haben, die weit darüber liegen. Mein DSO hat 
allerdings nur 100Mhz Bandbreite, d.h. der Ripple könnte in Wirklichkeit 
sogar noch weitaus übler aussehen als ich es hier messen kann.


Falk B. schrieb:
> Eben weil die TaktFREQUENZ nebensächlich ist, die ANSTIEGSZEIT ist
> entscheidend, siehe Wellenwiderstand.

Du sprichst von etwaigen Welleneffekten à la Reflexionen und ähnlichem? 
Das kann ich nun auf dem Oszi-Schrieb so überhaupt nicht erkennen. Es 
wäre mir ehrlich gesagt auch neu, dass ich bei der Arbeit mit AVR 
Mikrocontrollern solche Effekte tatsächlich eine Rolle spielen. Ich habe 
schon etliche digitale Kommunikationen mit noch viel wilderen 
Verkabelungen und längeren Leitungen auf Breadboards aufgebaut und das 
lief alles bisher immer problemlos. Ich will deinen guten Tipp hier 
mitnichten einfach in den Wind schlagen, da stehen ja sicher jahrelange 
Erfahrung dahinter! Nur erkenne ich hier leider nichts verdächtiges.

Toto mit Harry schrieb:
> Mit den billigen Brücken auf dem Steckbrett ist alles Zufall und eine
> saubere Funktion undenkbar.

Tja, rein zufällig lief die Schaltung vor ein paar Wochen mit genau so 
einem Drahtverhau noch vollkommen unkompliziert! Das ist m.E. doch 
wirklich ein nicht zu verachtender Aspekt. Das ganze Ding lief bis auf 
seltene kurze Zickereien wirklich über Tage hinweg ohne jegliche 
Probleme stabil. Ich habe am prinzipiellen Aufbau seither ja überhaupt 
nichts verändert. Trotz aller Probleme mit VCC-Ripple, Wellenreflexionen 
an Taktleitungen, zappelnden Flanken, die ich jetzt messe. Entweder 
diese Probleme sind nun neu aufgetreten oder die Schaltung war bislang 
tolerant genug, so dass sich diese nicht ausgewirkt haben. Nur momentan 
kann ich damit überhaupt keinen stabilen Betriebszustand mehr herstellen 
und ich wüsste vor allem gerne, warum es vorher gelaufen ist, und jetzt 
nicht mehr. Irgendetwas muss sich ja zwischenzeitlich verändert haben.

Natürlich ist der Aufbau so nicht optimal, aber jetzt einfach zu sagen 
"ja kann ja gar nicht gehen!" ist doch ein wenig arg unbefriedigend. 
Dass der Aufbau ja mal nahezu problemlos lief beweist, ja, dass diese 
Aussage so nicht stimmt.

Übrigens habe ich die Brücken selbst aus 0,14er Litze gelötet, keine 
billige Chinaqualität. Die stecken auch echt fest im Breadboard, 
Übergangswiderstände dürften hier recht gering sein.

Was kann ich als nächstes tun?

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@  Paul H. (powl)


>Die Taktflanken sehen in der Tat alles andere als schön aus.

Das sieht einfach nur übel aus! Hast du keine Masse? WIE misst du GENAU?
Was für einen Tastkopf und Oszi hast du?

>Kondensator, ist mit relativ dicken Kabeln ans Netzteil angebunden.

Was für ein Netzteil?

>Zuvor hatte ich ja das Steckernetzteil verdächtigt aber mit dem
>Labornetzteil als Spannugsquelle ergibt sich kein Unterschied.

Kann nicht sein, dann ist maximal was faul.

>Bemerkenswert ist auch die zeitweise sehr wellige Spannung am
>TLC-GND-Pin, welche schön um das GND-Niveau auf der Versorgungsschiene
>herumpendelt. Was ist denn hier los? Bilden hier die
>Zuleitungsinduktivität und der Abblockkondensator einen Schwingkreis?

Ist dein Steckbrett hinüber?

>Messe ich da mist oder warum ist das alles so unglaublich unsauber?

Gute Frage.

>Du sprichst von etwaigen Welleneffekten à la Reflexionen und ähnlichem?
>Das kann ich nun auf dem Oszi-Schrieb so überhaupt nicht erkennen.

Dort kann man so oder so kau was erkennen, außer daß da grundsätzlich 
schief läuft.

>Was kann ich als nächstes tun?

Alles abbauen und neu aufbauen. Mit etwas Glück werden die Kontakte 
gereinigt bzw. man erwischt andere, bessere Kontakte bzw. der 
"unsichtbare" Wackelkontakt verschwindet.

von Stefan K. (stefan64)


Lesenswert?

Wenn Deine SCLK so aussieht wie auf dem Bild SCLK_am_TLC1.png, dann 
wundert es nicht, dass der TLC manchmal aus dem Takt kommt. Der wertet 
diese Zacken wohl als mehrere SCLK-Impulse.
Auf Deinem Aufbau habe ich keine Abblockkondensatoren gesehen, 
jedenfalls nicht in der Nähe der ICs. Ein paar mehr schaden nur selten. 
Ein Elko zählt nicht als Abblockkondensator, sondern soll zusätzlich 
aufs Board.

Schon einmal ein anderes Netzteil probiert?

Ggf. kann es helfen, zum Test die Anzahl der gleichzeitig aktiven Leds 
zu reduzieren (bis auf 1). Werden die Probleme dann weniger, dann 
erzeugt der PWM-Strom einen Ripple, der Deine Signale stört.

Viele Grüße, Stefan

von Schorsch X. (bastelschorsch)


Lesenswert?

Ich hab mal den TLC5923 verwendet und auch ne Menge Störungen. Das lies 
sich erst mit getrennter Versorgung uP - LED und 4 Lagen mit Masselage 
in den Griff bekommen.

von Falk B. (falk)


Lesenswert?

@Schorsch X. (bastelschorsch)
              ^^^^^^^^^^^^^^

>Ich hab mal den TLC5923 verwendet und auch ne Menge Störungen. Das lies
>sich erst mit getrennter Versorgung uP - LED und 4 Lagen mit Masselage
>in den Griff bekommen.

Das braucht man sicher nicht. Eine normale Schaltung mit normaler 
Stromversorgung reicht aus, eine Masselage ist nicht zwingend 
erforderlich.

von Schorsch X. (bastelschorsch)


Lesenswert?

Bei mir ging es eben nicht anders und ich hab schon einige Baugruppen 
entwickelt. Der Controller (LPC1768) war einfach anders nicht ruhig zu 
bekommen.

von masseführung (Gast)


Lesenswert?

Klingt nach einem Problem der Masseführung, die mit der Extralage 
erschlagen wurde.

Der TO hat eher ein Wollknäulproblem.

von Paul H. (powl)



Lesenswert?

Ich habe die Schaltung zuvor mit einem 5V-Steckernetzteil betrieben das 
mal irgendwo bei einem USB-Hub dabei war. Jetzt habe ich gerade mal ein 
linear geregeltes Labornetzteil genommen. Damit hat sich das Verhalten 
auf VCC schon mal recht ordentlich verbessert. Der hochfrequente 
Störripple ist komplett weg. Das hätte ich besser mal vorher machen 
sollen um mögliche Fehlerquellen zu beheben. Allerdings liefs ja vorher 
auch mal so ohne Probleme.

Sämtliche Taktflanken am TLC sehen jetzt sehr sauber aus, VCC am AVR 
auch. Ich habe jetzt lediglich alle 8ms einen Spannungseinbruch. Der 
kommt aber daher, dass die PWM-Frequenz des TLC eben ca. 123,8kHz 
beträgt. Diesen Spannungseinbruch kann ich auch direkt am Labornetzteil 
messen. Scheinbar ist das einfach zu lahm um das gescheit auszuregeln. 
Aber wer billig kauft kauft halt zwei mal.

Siehe dazu:
SCLK_an_TLC.png
VCC_an_AVR1.png
VCC_an_AVR2.png



Jedoch funktioniert die Schaltung so immer noch nicht. Die LEDs flackern 
immer noch wie wild, obwohl der TLC jetzt eigentlich den Takt gerne mal 
gescheit erkennen könnte. Ich habe jetzt mal die Spannungsversorgung 
weiter ins Visier genommen. Dazu habe ich den gelben Tastkopf (Ch1) ganz 
links in die Versorgungs-Schiene gesteckt und mal der Reihe nach mit dem 
blauen Tastkopf (Ch2) verschiedene Punkte abgetastet um zu schauen, wo 
auf VCC Störungen auftauchen. Man betrachte dazu mal das Bild 
Aufbau.jpg. Oben ist die Versorungsschiene mit VCC und GND. Die dicken 
Leitungen in Rot und Schwarz die von oben kommen sind vom Labornetzteil. 
Direkt links daneben befinden sich die GND/VCC Leitung vom TLC. Weiter 
links daneben GND/VCC vom µC. die VCC_LED-Leitung für die Versorgung der 
LEDs (die Ausgangstreiber des TLC5940 leiten ja nach GND) ist ganz 
Rechts an der Versorungsschiene angeschlossen (die endet bei meinem 
Breadboard jedenfalls in der Mitte). Abblockkondensatoren habe ich 
übrigens mal markiert (da sie im Bild nicht zu sehen sind).

Man schaue sich jetzt das Bild CH1_VCC-Schiene_CH2_VCC_TLC_.png an. Hier 
habe ich mit dem blauen Tastkopf mal direkt am VCC-Pin des TLC gemessen. 
Extrem unruhige Schwingungen hier. Auf der Versorgungsschiene direkt am 
dünnen roten Kabelchen welches zum VCC-Pin des TLC führt kann ich dieses 
nicht messen, d.h. hier fließen irgendwelche hochfrequenten Ströme hin 
und her, welche hier auf der Zuleitung einen heftigen Spannungsabfall 
verursachen. Noch viel heftiger sieht es unten ben LEDs auf der VCC_LED 
aus, hierzu das Bild CH1_VCC-Schiene_CH2_VCC_LEDs.png. Hier finden sich 
Schwingungspakete von mehreren Volt Amplitude? Ich habe dann mal 
rangezoomt, so im Schnitt schwingt die Spannung dort mit ca. 8Mhz. Was 
zum Henker ist da los? Wo kommt das her? Habe ich hier auf dem 
Breadboard irgendwelche Oszillatoren gebaut ohne es zu merken?

Danach habe ich mal versucht, die VCC für die LEDs nicht direkt auf der 
Versorgungsschiene abzugreifen sondern direkt am TLC, also einfach das 
rote Kabelchen der LEDs direkt an den VCC-Pin des TLC gesteckt. Diese 
einfache Maßnahme hat viel Wirkung gezeigt. Die LEDs sind jetzt 
großteils ruhig, auch die Datenübertragung funktioniert jetzt 
zuverlässig. Verzeinzelt flimmern sie noch, aber das große 
unkontrollierte Flackern ist nun weg.

Danach habe ich an VCC_LED das Bild 
CH1_VCC-Schiene_CH2_VCC_LEDs_3_umgesteckt.png aufgenommen. Soeben hat 
sich jedoch gezeigt, dass das tückisch ist. Je nachdem, welches Muster 
die LEDs gerade anzeigen, verschwinden die Schwingungen hier fast völlig 
oder sind wieder genau so krass wie zuvor.

Woher kommen diese Schwingungen?! Übergangswiderstände schön und gut 
aber ist hier die Schuld nicht ein bisschen am TLC5940 zu suchen? Ich 
hatte noch nie einen Chip der derart viele Probleme verursacht. Aber wie 
schon festgestellt, möglicherweise handelt es sich ja um eine billige 
China-Kopie?

Im Zentrum meiner Verwirrung steht immer noch die Frage: Warum lief das 
vor 3 Wochen trotz aller Unzulänglichkeiten des Aufbaus(!) ohne jegliche 
Probleme aber hat irgendwann einfach angefangen, sich unglaublich bockig 
zu verhalten und zu spinnen? Ich meine ich hab ja keine Mainzelmännchen 
hier, die über Nacht meine Schaltungen umbauen. Es kommt mir vor wie als 
hätte der TLC innerhalb der 2 Wochen, in der das Projekt nur rumlag, 
intern auf "Zicke" umgeschaltet und akzeptiert jetzt nur noch eine 
sauber layoutete Platine und kein Breadboard mehr.

-----------------------------------------------
Hier noch Antworten auf die vorigen Fragen:

Falk B. schrieb:
> Das sieht einfach nur übel aus! Hast du keine Masse? WIE misst du GENAU?
> Was für einen Tastkopf und Oszi hast du?

Oszi inkl. Tastköpfe: Rigol DS1052E mit 100Mhz Hack. Labornetzteil ist 
übrigens von ELV, ein PPS5330. Messen: Masse-Abgriff an den gelben 
Tastkopf von Ch1 drangeklemmt und dann direkt neben die Massezuleitung 
vom Labornetzteil auf der Versorgungsschiene gesteckt.

Falk B. schrieb:
> Ist dein Steckbrett hinüber?

Das dürfte ziemlich ok sein. Ist eines der Pollin-Breadboards. Die 
Kontaktzungen sind recht fest, also man muss sich schon ein wenig Mühe 
geben um die Jumperwires reinzukriegen. Das Breadboard ist auch noch 
nicht allzu alt. Macht einen soliden Eindruck.

Falk B. schrieb:
> Alles abbauen und neu aufbauen. Mit etwas Glück werden die Kontakte
> gereinigt bzw. man erwischt andere, bessere Kontakte bzw. der
> "unsichtbare" Wackelkontakt verschwindet.

Wackelkontakte oder überhöhte Kontaktwiderstände kann ich ausschließen. 
Ich habe ja bereits schon mal alles abgebaut und auf einem neuem 
Breadboard (eben diesem hier) wieder aufgebaut. Mit dem gleichen 
Ergebnis. Und das letzte Breadboard hatte wesentlich ausgeleiertere 
Kontaktzungen.

Ich glaub ich geh jetzt erst mal ein Bier trinken.

: Bearbeitet durch User
von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wird denn eigentlich ein kompletter "Grayscale Cycle" abgewartet bevor 
neue Daten gelatcht werden? (XLAT Puls)
Nur alle 4096 GSCLK Takte darf XLAT aktiv werden sonst kommen die neuen 
Daten innerhalb eines solchen Zyklus -> flackern.

Steht sehr genau beschrieben im DB unter
8.3.1 Serial Interface

Hier hab ich dem TLC5940 SPI "beigebracht".
http://www.fritzler-avr.de/epro/licht_schaltplan.php

von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Aber klar. Das Timing passt schon, ist ja auch schon wochenlang 
vollkommen problemlos damit gelaufen.

von Philipp K. (philipp_k59)


Lesenswert?

Hier wird die Motte im Steckbrett gesucht...


Ich denke mal Massefehler.. ggf provisorisch durchlöten.

von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Pardon, mir fällt gerade auf, dass die Aufbau.jpg im letzten großen Post 
völlig fehlt.

Hier bitte.

von Inkognito (Gast)


Lesenswert?

Schon mal die Leitung Sclk still gelegt, ob Daten für das Flackern
verantwortlich sind?

von Paul H. (powl)


Lesenswert?

Inkognito schrieb:
> Schon mal die Leitung Sclk still gelegt, ob Daten für das Flackern
> verantwortlich sind?

Ja, siehe hier:

Paul H. schrieb:
> Ein Versuch hat zudem gezeigt, dass, auch wenn ich SIN, SCLK und XLAT
> komplett still lege (per Code oder auch per Hardware) und nur noch die
> von den Hardware-Timern erzeugten Signale BLANK und GSCLK aktiv sind,
> das Flackern zwar erheblich vermindert ist (da ja keine neuen Daten am
> TLC ankommen), aber die LEDs trotzdem noch allesamt flimmern und so ca.
> zwei mal die Sekunde unregelmäßig komisch flackern, was ja auch kein
> normales Verhalten ist.

von Inkognito (Gast)


Lesenswert?

Kann man Kabelbrüche ausschließen? Wenn ein Bruch einen offenen
Eingang bewirkt, macht die Schaltung, was sie will. Mit ein paar 
10k-Pulldowns (oder -ups) direkt an alle Eingänge vom TLC könnte
man dem auf die Schliche kommen. Die Steckboards wurden ja schon
getauscht.

Paul H. schrieb:
> und nur noch die
>> Signale BLANK und GSCLK aktiv sind,

Könnten die Ärger machen? Offene Eingänge dürften auch für solche
Fehler eine Möglichkeit sein. Das Auge könnte da getäuscht werden.

Macht vielleicht nicht die beste Idee sein, aber so würde ich
versuchen denkbare Fehler einzugrenzen.

von Paul H. (powl)


Lesenswert?

Inkognito schrieb:
> Kann man Kabelbrüche ausschließen?

Ich fürchte ja. Zum einen da ich alle Kabel selbst aus den stabilen 
0,14er Litzen selbst sorgfältigst gelötet habe, zum anderen weil ich sie 
bislang nur eine hand voll Male benutzt habe und nicht zuletzt, weil ich 
den gesamten Aufbau schon zum zweiten Mal gemacht habe mit exakt dem 
gleichen Fehlverhalten.

Inkognito schrieb:
>>> Signale BLANK und GSCLK aktiv sind,
> Könnten die Ärger machen?

Leider auch nein. Das Timing dieser Signale ist recht simpel. So wie es 
derzeit programmiert ist lief es ja schon mal sehr lange problemlos. An 
der Programmierung wurde bezüglich des Timings nichts verändert. Die 
Flanken sind nun sauber, der Logic-Analyzer bestätigt das korrekte 
Timing. Hier passt laut Messungen nun alles.

Wenn die VCC des TLCs jedoch so katastrophale Störungen hat ist es nicht 
verwunderlich, dass er die Timing- und Datensignale hin und wieder 
(vollkommen) falsch interpretiert.

Die Frage ist jetzt eher, warum erzeugt der TLC so heftige Störungen. 
Das sieht ja nicht nur nach kurzen Spannungseinbrüchen durch 
Stromspitzen aus sondern da ist irgendwas richtig heftig krass am 
schwingen. Das ganze ist ohnehin seltsam, denn der TLC selbst dürfte 
eigentlich überhaupt keinen großen, hochfrequenten Strombedarf über VCC 
haben, denn seine Ausgänge treiben nach Masse. D.h. er muss den Strom 
für die LEDs gar nicht selbst von VCC aus liefern sondern nur das, was 
über die Out-Pins über die LEDs reinkommt nach Masse umleiten. Daher ist 
es sehr verwunderlich, warum die Spannung direkt am VCC-Pin des TLC 
schon so dermaßen gestört ist. Die heftige Störspannung auf der 
VCC-LED-Schiene (siehe Aufbau.jpg) kann ja wohl nur durch den Stromfluss 
durch die LEDs (und durch die Ausgangstreiber des TLCs) in Form 
resistiver oder induktiver Spannungen am roten Verbindungskabelchen 
zwischen Versorgungsschiene und VCC-LED-Schiene entstehen. Das bedeutet 
für mich, dass der TLC Hauptverursacher der Störungen ist. Die gesamte 
Verdrahtung um ihn herum besonders Niederohmig zu machen und mögliche 
Schleifenstrompfade extrem kurz zu machen (wie bei einem Schaltregler) 
wäre zwar wohl ein funktionierender Workaround aber.. mal ganz ehrlich.. 
das kanns doch wohl nicht sein? Das ist ein linear geregelter 
Konstantstrom-PWM-Treiber. Der hat doch nicht so heftig zu schwingen? 
Ist es die freie Verdrahtung, die da irgendwelche Regelkreise in die 
Instabilität treibt woraufhin sie heftigst zu schwingen anfangen?

Ist das normal, dass ein derartiger Schaltkreis so dermaßen empfindlich 
ist? Oder liegts eben doch daran, dass ich es hier womöglich mit einem 
billigen China-Replikat zu tun hab, das eben Störungen verursacht, die 
sofort zum Tragen kommen, wenn das IC nicht in einer idealen Umgebung 
betrieben wird? Man könnte ja sonst quasi überhaupt nichts mehr mit 
einem Breadboard machen wenn alles gleich anfangen würde, heftig zu 
schwingen und alles zu stören.

Ein Versuch wäre wohl mal, ein original TLC5940 IC aus einer sicheren 
Quelle zu beschaffen. Allerdings sind die in PDIP wohl nicht so leicht 
zu kriegen?

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


Lesenswert?

Paul H. schrieb:
> Das Timing dieser Signale ist recht simpel.
Zieg doch mal dein Datensignal zusammen mit dem Clock.

Paul H. schrieb:
> PWM-Frequenz des TLC eben ca. 123,8kHz beträgt. Diesen
> Spannungseinbruch kann ich auch direkt am Labornetzteil messen.
> Scheinbar ist das einfach zu lahm um das gescheit auszuregeln.
Diese Frequenz muss nicht vom Netzteil ausgereglet werden, dafür sollte 
ein Pufferkondensator (dein 100uF) zuständig sein. Denn z.B. ein 
Schaltnetzteil mit 100kHz Schaltfrequenz kann prinzipiell so schnell gar 
nicht regeln. Und auch das Labornetzgerät kommt da sicher nicht 
hinterher...

> Noch viel heftiger sieht es unten ben LEDs auf der VCC_LED aus, hierzu
> das Bild CH1_VCC-Schiene_CH2_VCC_LEDs.png.
Miss einfach mal noch an den Massepins der beteiligten Komponenten. Ja, 
richtig gelesen: Masse gegen Masse messen. Mich würde mal interessieren, 
was dabei herauskommt...

von Ludger (Gast)


Lesenswert?

... und erst mal die GND - Leitungen massiv einkürzen.
Die Betriebsspannung muß schon stabil und halbwegs sauber sein.

Ludger

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Sind denn inzwischen 100nF und 10µ direkt am VCC Pin des TLC?
Der Elko am Steckbrett links oben ist schon zu weit weg ;)
Der TLC hat ja nun schon VCC und GND direkt nebeneinander um da mal 
schön Kapazitäten reinzustecken.

Paul H. schrieb:
> Die
> Flanken sind nun sauber, der Logic-Analyzer bestätigt das korrekte
> Timing. Hier passt laut Messungen nun alles.
Also laut deinem letzten LA Screenshot kommt XLAT nicht während des 
BLANK Puls, sondern kurz danach.
Das sollte eigentlich kein Problem sein, weil GSCLK da noch nicht 
angefangen hat, aber wer weis?

Mein TLC Testaufbau war noch viel chaotischer und das lief:
http://www.fritzler-avr.de/epro/gallery/main.php?cmd=imageview&var1=Testgeraete%2Ftlc_test2.jpg
Links unter dem Display ist der AVR zur Signalerzeugung.

edit:
Welche Frequenz hat GSCLK jetzt eigentlich?
Bei 4096 Graustufen der PWM und sagen wir 60Hz Wiederholfrequenz sollten 
das nicht weniger als 250kHz sein.

edit2:
Wie ich sehe wird oben links beim Steckbrett eingespeißt, aber deine 
Last ist rechts auf dem Steckbrett.
Speise das STeckbrett doch mal direkt am GND des TLC und an deinen 
quickndirty VCC Brücken der LED Bargraphen ein.
Sonst geht der Spannungsabfall über AVR und TLC.

: Bearbeitet durch User
von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Vorab mal: Unklugerweise habe ich bei der zweikanaligen Messung am 
blauen Probe die Masseklemme gar nicht angeschlossen gehabt, d.h. die 
zweikanaligen Messungen bisher sind nicht aussagekräftig. Das habe ich 
jetzt mal geändert und beiden Probes einen Masseabgriff spendiert, der 
genau neben der Masse-Zuleitung vom Labornetzteil im Breadboard steckt. 
Jetzt zeigen auch Ch1 und Ch2 beim Messen das gleiche an. Ebenfalls habe 
ich dem AVR und dem TLC mal kürzere Massekabel spendiert. Durch die nun 
bislang umgesetzten Maßnahmen funktioniert das reinshiften der Daten 
jetzt schon mal zuverlässig, das Flackern dabei ist verschwunden. Ich 
kann jedoch noch ein leichtes Flimmern, eine Variation der Helligkeit 
aller LEDs im Gesamten, erkennen. Interessanterweise verschwindet das 
Flimmern, sobald ich die Masse des Oszilloskops an die Schaltung 
anschließe und sie damit erde, obwohl an der Schaltung ansonsten nichts 
weiter angeschlossen ist als die zwei Stromversorgungsleitungen vom 
Labornetzteil. Das macht es nicht ganz einfach, das Flimmerphänomen 
weiter zu untersuchen.



Lothar M. schrieb:
> Paul H. schrieb:
>> PWM-Frequenz des TLC eben ca. 123,8kHz beträgt.
> Diese Frequenz muss nicht vom Netzteil ausgereglet werden, dafür sollte
> ein Pufferkondensator (dein 100uF) zuständig sein.

Pardon, ich meinte 123.8Hz, nicht kHz, so wie es auf dem Oszischirm 
stand.



Lothar M. schrieb:
> Zieg doch mal dein Datensignal zusammen mit dem Clock.

Guter Tip! Auf dem Oszi ergab sich sofort folgendes Bild: 
GSCLK+BLANK_am_TLC.png. Ein deutlicher Jitter, siehe auch jitter.png, wo 
ich das mit dem Logic Analyzer mal angeschaut habe. Dieser Jitter dürfte 
dadurch entstehen, dass im Programmcode die Timer zum OC1B Compare 
Match, welcher per Software abgefragt wird, auch per Software neu 
konfiguriert werden, um den nächsten Blank-Impuls und das nächste Paket 
an 4096 GSCLK Takten zu erzeugen. Timerzustand und Programmzustand sind 
dabei nicht synchronisiert. Evtl. würde es helfen, wenn ich den Compare 
Match mal in eine ISR packe. Ich denke aber, der Jitter wirkt sich nur 
wenig störend aus. Ich kann, so lange die Oszimasse dran hängt, kein 
Flimmern bei den LEDs ausmachen.



Lothar M. schrieb:
> Miss einfach mal noch an den Massepins der beteiligten Komponenten. Ja,
> richtig gelesen: Masse gegen Masse messen. Mich würde mal interessieren,
> was dabei herauskommt...

Habe gerade mal nachgemessen. Mit den bereits getätigten Umbaumaßnahmen 
sind hier mit dem Oszi überhaupt keine Störungen mehr zwischen allen 
möglichen Massepunkten des Aufbaus zu messen.



Mw E. schrieb:
> Sind denn inzwischen 100nF und 10µ direkt am VCC Pin des TLC?
> Der Elko am Steckbrett links oben ist schon zu weit weg ;)
Jup die 100n Abblock-Cs direkt am AVR und direkt am TLC sind da! Man 
sieht sie nur wegen den Kabeln nicht. Ein zusätzlicher Elko direkt am 
TLC hat bisher keine Verbesserung gebracht. Der Elko der sich auf der 
Versorgungsschiene befindet, den kann ich auch an eine beliebige andere 
Stelle setzen und er erfüllt seinen Zweck genau so. Lasse ich ihn jedoch 
komplett weg funktioniert die Schaltung überhaupt nicht mehr. Die LEDs 
flackern und blitzen dann nur noch vollkommen wild rum und nach 2s hängt 
sich alles auf.

Zur VCC: Da besteht noch ein seltsames Phänomen. Je nachdem, welches 
Muster gerade auf den LEDs angezeigt wird verhält sich VCC an den LEDs 
eher ruhig (bis auf einen kleinen Einbruch zu Beginn eines jeden 
Taktzyklus) oder hat wieder diese hochfrequenten Störungen. Siehe 
muster.jpg. Ich frage mich, was das soll.



Mw E. schrieb:
> Welche Frequenz hat GSCLK jetzt eigentlich?
> Bei 4096 Graustufen der PWM und sagen wir 60Hz Wiederholfrequenz sollten
> das nicht weniger als 250kHz sein.

ca. 516kHz

Mw E. schrieb:
> Wie ich sehe wird oben links beim Steckbrett eingespeißt, aber deine
> Last ist rechts auf dem Steckbrett.
> Speise das STeckbrett doch mal direkt am GND des TLC und an deinen
> quickndirty VCC Brücken der LED Bargraphen ein.
> Sonst geht der Spannungsabfall über AVR und TLC.

Hab ich mal testweise gemacht, hat aber überhaupt nichts verändert. Vor 
3 Wochen hatte ich ganz links mit dem Steckernetzteil eingespeist, lief 
problemlos.



Weiterhin offen bleibt die Frage, warum das vorher auch ohne all diese 
Maßnahmen wunderbar funktioniert hat und jetzt erst durch solche 
pedantischen Umbauten zum Laufen zu bringen ist. Das kann doch wohl 
nicht sein, dass der TLC jetzt auf einmal so eine Sonderbehandlung 
braucht und vorher nicht. Vor 3 Wochen lief noch mit wildestem Aufbau, 
mit langen Leitungen, mit willkürlich zusammengesteckter Versorgung, mit 
jedem beliebigen Code, alles einfach nur auf einem labbrigen Breadboard, 
lieblos zusammengetüdelt, durch das gleiche Steckernetzteil betrieben 
das mit dem jetzigen Aufbau zu erheblichen HF-Problemen führt. Und es 
lief perfekt. Kein Flimmern. Kein Flackern. Gar nix. Einfach nur 
perfekte störungsfreie Funktion. Das muss man sich mal auf der Zunge 
zergehen lassen. Ich würds selbst nicht mal glauben wenn ichs nicht 
selbst erlebt hätte :-/ Das macht definitiv keinen Spaß.

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Lesenswert?

Paul H. schrieb:
> Weiterhin offen bleibt die Frage, warum das vorher auch ohne all diese
> Maßnahmen wunderbar funktioniert hat und jetzt erst durch solche
> pedantischen Umbauten zum Laufen zu bringen ist

In manchen Steckbrettern darf man nur einmal Stecken und dann sind die 
Buchsen verbogen.. einmal in die Ecke gestellt/etwas draufgelegt dann 
ist die Kontaktsicherheit dahin soweit diese überhaupt da war..

Du hast jetzt soviel geschrieben, diverse Tips mit "lief doch" 
abgestempelt und hast Dich hundert mal gewundert.. das nen 
Lochrasteraufbau das sicherste und bewährteste gewesen wäre.

von Paul H. (powl)


Lesenswert?

Philipp K. schrieb:
> In manchen Steckbrettern darf man nur einmal Stecken und dann sind die
> Buchsen verbogen.. einmal in die Ecke gestellt/etwas draufgelegt dann
> ist die Kontaktsicherheit dahin soweit diese überhaupt da war..

Das merkt man dann aber beim Einstecken. Solche Steckbretter kommen bei 
mir direkt in die Tonne. Außerdem stelle ich auf meine 
Steckbrettaufbauten nichts drauf. Aber das gerede darüber ist sowieso 
irrelevant, da ich ja den ursprünglichen Steckbrettaufbau auf einem 
neuen Steckbrett noch mal komplett nachgebaut habe, wo er genau 
gleichartig gesponnen hat.

Philipp K. schrieb:
> Du hast jetzt soviel geschrieben, diverse Tips mit "lief doch"
> abgestempelt und hast Dich hundert mal gewundert.. das nen
> Lochrasteraufbau das sicherste und bewährteste gewesen wäre.

Ich habe hier gar nichts abgestempelt mein lieber. Die Tips haben ja 
gegen die Symptome geholfen, die Schaltung läuft jetzt bis auf 
sporadisches Flimmern, ja wieder. Mit einem vernünftigen 
Lochrasteraufbau lässt sich dann wahrscheinlich auch dieses Problem noch 
umschiffen und selbverständlich haben Steckbrettaufbauten ihre Tücken 
und Lochrasteraufbauten deutlich bessere Kontaktierung und kürzere 
Leitungslängen. Aber würdest du dich aber nicht wundern, wenn bei deiner 
Elektronik quasi über Nacht wilde Fehlfunktionen auftreten, die nur 
durch ausgeklügelte Gegenmaßnahmen wieder in den Griff zu kriegen sind, 
ohne dass du jemals das ursprüngliche Verhalten deiner funktionierenden 
Schaltung wieder hättest reproduzieren können, nachdem diese aber mal 
über Tage und Wochen problemlos so gelaufen ist? Ich habe sogar ein 
Beweisvideo, wo der wilde Steckbrettaufbau vom Anfang noch zu sehen ist.


Ich habe mir direkt von TI mal einen wirklich originalen TLC5940 
geordert. Den werde ich mal in den Steckbrettaufbau einsetzen bzw. den 
Aufbau wieder so umbauen wie er ursprünglich mal war. Dann schauen wir 
mal ob die Schaltung damit nicht doch wieder läuft.

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Angehängte Dateien:

Lesenswert?

Schon wieder zuviel geschrieben....... ;)

Hier mal mein einmaliges TLC5940 Projekt..
Die Schaltung hat auch einen Fehler, man darf nicht mit dem Finger an 
die Unterseite kommen.. spinnt sofort der TLC ;)

Paul H. schrieb:
> Aber würdest du dich aber nicht wundern, wenn bei deiner
> Elektronik quasi über Nacht wilde Fehlfunktionen auftreten

Hab ich auch, sitze ich komischerweise gerade nach der Fehlersuche 
dran..
Eine selbst gebaute Uhr mit Pollin DCF-1 Modul, gut ein Jahr stand die 
Uhr stolz da und nach 3 Wochen in die Ecke stellen synchronisierte nix 
mehr.. ein halbes Jahr bis gestern wieder weggestellt. Dabei hatte ich 
Gehäuse, einfach alles sauberst mit Epoxy fixiert und verklebt und das 
so vorsichtig und mit viel Kleber das ich mit guten Gewissens den 
Rückdeckel vom Selbst lackierten Gehäuse auch noch auf Ewig festklebte.

Die letzte Tat war die Female-Jumper gegen feste Lötungen zu tauschen 
und siehe da das war es auch noch nicht. Es war das Pad vom DCF-Quarz 
das schon vorher abgerissen sein muss... da steckt man halt nicht drin.



Sei Dir sicher was Du weißt, nicht was Du denkst.


Viel Spaß mit dem echten!!

: Bearbeitet durch User
von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Kurzer Bericht: Vor kurzem kam mein original TLC5940 von TI und ein paar 
passende Adapter-Boards vom Chinesen. Ich habe den Breadboardaufbau mal 
auf das Niveau des alten, ursprünglichen Aufbaus gebracht (siehe Bild) 
und den neuen TLC, auf der Adapterplatine mit Abblockondensator 
aufgelötet, dort eingebaut.

Fazit: Macht auch Probleme. So ziemlich die selben wie die China-TLCs. 
Er ist auch nur mit den gleichen Maßnahmen ans Laufen zu kriegen wie sie 
hier im Thread von vorgestellt worden sind. Also kürzere Leitungen. 
µC-VCC&GND direkt an den TLC-VCC&GND, LED-VCC direkt an den TLC-VCC. Ich 
würde sagen er verhält sich minimal gutmütiger, kaum der Rede wert.

Das hat nun mehrere Konsequenzen:
(+) Die China TLCs sind offenbar nicht wesentlich schlechter als die 
Originale von TI und mit entsprechend durchdachtem Layout wohl ganz 
brauchbar.
(-) Warum das ursprünglich auf dem Breadboard mal komplett problemlos 
lief wird dadurch noch mysteriöser. Hätte ich kein Beweisvideo würde ich 
denken, ich hab das nur geträumt.
(-) Der TLC5940 ist somit tatsächlich wesentlich empfindlicher als 
zunächst vermutet und erfordert ein richtig gut durchdachtes Layout.

Warum macht eigentlich die Sternförmige Versorgung hier solche Probleme? 
Warum darf ich nicht einfach µC und TLC separat an der quer verlaufenden 
Versorgungsschiene des Breadboards anschließen? Klar, da sind überall 
Übergangswiderstände aber die Ströme halten sich doch auch sehr in 
Grenzen. Vor allem die Masse macht hier offenbar Probleme. Aber sollten 
nicht die Abblock-Cs die Stromspitzen welche sonst über die 
Masseleitungen fließen würden abfangen? Und warum darf der VCC-Pin der 
LEDs nicht sonstwo liegen sondern muss direkt beim TLC-VCC-Pin liegen? 
Dem TLC kann doch völlig schnurz sein, wo die LEDs ihre 
Versorgungsspannung herbekommen, der muss ja nur mit seinen KSQs nach 
Masse ziehen. Aber wenn die Spannung nicht direkt vom TLC kommt rastet 
der komplett aus.

---------------------------------------------

Und es besteht immer noch ein seltsames Problem:
Gelegentlich flimmern die LEDs allesamt. Das tun sie nicht mehr wenn ich 
das ISP-Kabel (welches NICHT angeschlossen ist!) abziehe. Ich kann das 
Flimmern ziemlich heftig provozieren in dem ich ein kurzes, offenes, 
isoliertes Leiterstück in die Hand nehme und damit immer zu die 
Masseschiene antippe. Tak tak tak tak. Bei fast jedem Tak flackert es 
kurz auf, teilweise ist sogar das Muster für einen Zyklus gestört. 
"Wackelkontakt!!", hör ich es schon aufschreiben, aber ich kann das 
Flimmern auch wie von Geisterhand beeinflussen, in dem ich mich einfach 
mit der Hand dem ISP-Kabel nähere oder es mit der Hand umfasse. Nebenbei 
flimmert es auch wenn man die Schaltung völlig in Ruhe lässt. Ich 
verstehe das nicht. Der ganze Aufbau sollte doch sehr niederohmig sein. 
Auch am TLC gibt es keine offenen Eingänge mehr. Der µC arbeitet auch 
weiterhin sein Programm ab, der Reset-Pin kann es nicht sein. Die 
Schaltung wird mittlerweile wieder aus dem Steckernetzteil betrieben.

Ideen? Wie kann das denn noch so Störanfällig sein? Ist doch alles nicht 
hochohmig.

Ich will das da zum laufen kriegen und auf dem Weg dort hin möglichst 
viel lernen, bevor ich dann schlussendlich eine Platine dazulayoute.

: Bearbeitet durch User
von Paul H. (powl)


Lesenswert?

Übrigens scheint es keinen Unterschied zu machen, wenn der GSCLK die 
ganze Zeit einfach durchläuft, man muss ihn nicht zwischendrin 
abschalten. Das macht die ganze Sache schon einfacher. Der GSCLK könnte 
somit theoretisch sogar aus einer anderen Taktquelle kommen. Der TLC5947 
erzeugt GSCLK sogar komplett von alleine.

von F. F. (foldi)


Lesenswert?

Paul H. schrieb:
> Tja, rein zufällig lief die Schaltung vor ein paar Wochen mit genau so
> einem Drahtverhau noch vollkommen unkompliziert!

Das heißt gar nichts.
Ich hatte mal eine Led blinken lassen und habe den Tisch nicht mal 
berührt. Nach einigen Tagen war die Led aus und ich dachte, recht haben 
sie und meine Annahme war falsch, aber es lag nur am Steckbrett.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Paul H. schrieb:
> Gelegentlich flimmern die LEDs allesamt. Das tun sie nicht mehr wenn ich
> das ISP-Kabel (welches NICHT angeschlossen ist!) abziehe.

Reset des AVR ordentlich beschalten!

von Old P. (Gast)


Lesenswert?

@Paul H.
Du hampelst mit einem Stacheldrahtaufbau an einem Bauteil herum, dass 
bis zu 30MHz-Signale verarbeiten kann und wunderst Dich über wundersame 
Reaktionen?
In der Zeit, in der Du hier ganze Romane geschrieben hast, hättest Du 
längst eine Platine gezeichnet und fertigen lassen. Oder aber das Ganze 
zumindest auf einer Lochplatte mit kurzen Leitungen und überlegter 
Masse- und Signalführung verdrahtet.
Bei Deinem Aufbau reicht es schon, wenn Der Nachbar (oder sein 
polnischer Handwerker) ein CB-Funkgerät anwirft, dass die Schaltung 
merkwürdige Lichtsignale wirft. Wahrscheinlicher ist allerdings, dass 
das ganze Drahtknäul schon immer kurz vorm Schwingeinsatz war. Dann 
reicht die kleinste Lageänderung zum Spinnen. Oder Temperuränderung oder 
Luftfeuchte oder Verschiebung des Erdmagnetfeldes oder Dollarkurs oder 
weis der Geier was noch alles. So ein Aufbau ist immer wacklig, erst 
recht bei Bauteilen die hohe Frequenzen (bzw. steile Impulse) 
verarbeiten können. Dabei ist es wurscht, ob Du tatsächlich mit so hohen 
Frequenzen arbeitest.
Steckbretter habe ich inzwischen mehrere (sind irgendwie zu mir 
gekommen) verwendet habe ich die höchstens mal für erste Gehversuche mit 
Mikrocontrollern (LED blinken lassen). Ansonsten liegen die seit ihrem 
Zulauf (also seit Jahrzehnten) irgendwo im Regal.
Wozu gibbet Loch- und Punktrasterplatinen?

Old-Papa

von Paul H. (powl)


Angehängte Dateien:

Lesenswert?

Ich gebe dir ja recht! Vermutlich war es einfach ein Glücksfall, dass 
das überhaupt mal so gut gelaufen ist. Wundern tuts mich dennoch, dass 
ich das nie wieder reproduzieren konnte, immerhin haben die Kontakte des 
zweiten Breadboards, auf dem ich die Schaltung aufgebaut habe sehr feste 
Kontaktzungen in die sämtliche Pins nur mit Mühe reinzukriegen sind, 
ergo minimale Übergangswiderstände. Vielleicht ist es ja tatsächlich die 
CB-Funke des Nachbarn ;-) Würde zumindest erklären warum die Schaltung 
quasi vom einen auf den anderen Augenblick nicht mehr lief.

Nur ein paar Dinge die ich eben noch nicht verstehe: Auch wenn das IC 
30Mhz verarbeiten kann, alle Eingänge sind fest und einigermaßen 
niederohmig verschaltet. Das IC produziert selbst extreme Störungen auf 
der Versorgung trotz Abblock-Cs. Die Schaltung ist sehr empfindlich 
dagegen, wo die angeschlossenen LEDs ihre VCC herkriegen. Das lässt sich 
für mich momentan nicht nur durch "ja das Breadboard taugt halt nix" 
erklären, das sind doch Linearregler und keine Schaltregler. Da darf 
überhaupt nix schwingen. Auch auf einer richtigen Platine kann es ja mal 
sein, dass die LEDs ihre VCC nicht direkt vom VCC-Pin des TLC bekommen 
sondern erst über einen kleinen Umweg, über ein Kabel, eine lange 
Leiterbahn, die Gemeinsame, sternförmig verlegte Versorgung. Warum 
erzeugt das dann hochfrequente Störungen? Ich würde nur gerne verstehen, 
was da passiert! Das sind doch linear geregelte 
Konstantstromausgangstreiber. Die sollten doch normalerweise keine 
Probleme mit heftigen Schwingungen haben, auch wenn die Zuleitungen der 
Last halt eben mal länger sind und sich daher etwas induktiv verhalten. 
Siehe muster.jpg, im linken Bild hängen die LEDs am VCC-Pin des TLCs, im 
rechten Bild hängen die LEDs an der VCC-Schiene des Boards und schon 
gibt es Schwingungen wie blöde, auch noch abhängig davon, welches Muster 
die LEDs gerade anzeigen. Meinetwegen ist das Breadboard schuld aber.. 
was geht da genau vor sich? Ich sehe Übergangswiderständ+Induktivität 
zwischen Versorgungsschiene und TLC sowie zwischen Versorgungsschiene 
und LEDs. Die Induktivitäten hätte ich dann u.U auch auf einer großen 
Platine mit langen Leiterbahnen. Die Übergangswiderstände nicht, alles 
wäre wesentlich niederohmiger. Aber in den Ausgangstreibern befinden 
sich doch Linearregelungen, warum schwingt das denn dann so blöd, dass 
es die ganze Schaltung außer Takt bringt?

Ich sage schon mal danke an alle, die sich mit der Thematik bisher 
befasst haben!

: Bearbeitet durch User
von Pete K. (pete77)


Lesenswert?

Kannst Du die LED Anzahl reduzieren und die Kabel erst einmal entfernen? 
Also erst einmal ein Minimal-Setup prüfen und dann erweitern.

von Old P. (Gast)


Lesenswert?

Paul H. schrieb:
> Ich gebe dir ja recht! Vermutlich war es einfach ein Glücksfall, dass
> das überhaupt mal so gut gelaufen ist. Wundern tuts mich dennoch, dass
> ich das nie wieder reproduzieren konnte, immerhin haben die Kontakte des
> zweiten Breadboards, auf dem ich die Schaltung aufgebaut habe sehr feste
> Kontaktzungen in die sämtliche Pins nur mit Mühe reinzukriegen sind,
> ergo minimale Übergangswiderstände.

Die Übergangswiderstände sind eher unwichtig! Es ist die Induktivität 
Deiner Verbindungsstrippen!

> Vielleicht ist es ja tatsächlich die
> CB-Funke des Nachbarn ;-) Würde zumindest erklären warum die Schaltung
> quasi vom einen auf den anderen Augenblick nicht mehr lief.

Vielleicht ;-)

> Nur ein paar Dinge die ich eben noch nicht verstehe: Auch wenn das IC
> 30Mhz verarbeiten kann, alle Eingänge sind fest und einigermaßen
> niederohmig verschaltet.

s. oben...

> Das IC produziert selbst extreme Störungen auf
> der Versorgung trotz Abblock-Cs.

Wenn die Abblock-Cs meterweit von den Poweranschlüssen des ICs entfernt 
sind, sind die wirkungslos (Induktivität, s. oben) max. 10mm sind 
anzustreben.

> Die Schaltung ist sehr empfindlich
> dagegen, wo die angeschlossenen LEDs ihre VCC herkriegen.

Da ist fast jedes IC empfindlich!

> Das lässt sich
> für mich momentan nicht nur durch "ja das Breadboard taugt halt nix"
> erklären, das sind doch Linearregler und keine Schaltregler. Da darf
> überhaupt nix schwingen.

Schwingen selber ist linear! Und ja, selbstverständlich schwingen auch 
(und gerade) lineare Schaltungen.

> Auch auf einer richtigen Platine kann es ja mal
> sein, dass die LEDs ihre VCC nicht direkt vom VCC-Pin des TLC bekommen

Nö, die sollten eine eigene Betriebsspannung haben!

> sondern erst über einen kleinen Umweg, über ein Kabel, eine lange
> Leiterbahn, die Gemeinsame, sternförmig verlegte Versorgung. Warum
> erzeugt das dann hochfrequente Störungen? Ich würde nur gerne verstehen,
> was da passiert! Das sind doch linear geregelte
> Konstantstromausgangstreiber.

Und genau auch diese können bei ungünstiger Leitungsführung 
(Stacheldrahtverhau) ins schwingen kommen.

> Die sollten doch normalerweise keine
> Probleme mit heftigen Schwingungen haben, auch wenn die Zuleitungen der
> Last halt eben mal länger sind und sich daher etwas induktiv verhalten.

Warum nicht?

> Siehe muster.jpg, im linken Bild hängen die LEDs am VCC-Pin des TLCs,

Das ist der falscheste Anschlusspunkt ever!

> Die Induktivitäten hätte ich dann u.U auch auf einer großen
> Platine mit langen Leiterbahnen. Die Übergangswiderstände nicht, alles
> wäre wesentlich niederohmiger. Aber in den Ausgangstreibern befinden
> sich doch Linearregelungen, warum schwingt das denn dann so blöd, dass
> es die ganze Schaltung außer Takt bringt?

Weil gerade lineare Schaltungen zum schwingen neigen (widerhole mich...)

> Ich sage schon mal danke an alle, die sich mit der Thematik bisher
> befasst haben!

Bitte (berücksichtige mal endlich alle Tipps der Kollegen hier und fass 
Dich zukünftig kürzer)

Old-Papa

von stromtuner (Gast)


Lesenswert?

Hi,
ich lese mir das jetzt nicht alles durch...
Deine Phasenlage zwischen Takt und Daten stimmt vielleicht nicht.
Das es funktioniert ist dem Umstand zu verdanken, das Du mit deinen 
Strippen eine Verzögerung  - etweder des Taktes - oder des Datensignals 
herbeiführst. Oder sowas in der Art.
Also die SPI initialiserung mal ansehen.
Ahso: ich seh gerade... dann hier evtl.

shift_gs_values();

Die Flanke andersrum takten?

StromTuner


StromTuner

von Paul H. (powl)


Lesenswert?

Danke!

Old P. schrieb:
> Das ist der falscheste Anschlusspunkt ever!

Dass es nicht unbedingt der beste ist dachte ich mir, aber warum so 
falsch? Weil hier Digital- und Analogschaltungsteile dann auf dem 
gleichen Versorgungspunkt liegen? Dieser Anschlusspunkt war jedoch der 
einzige, mit dem die Schaltung nicht mehr komplett gesponnen hat.

Old P. schrieb:
> Und genau auch diese können bei ungünstiger Leitungsführung
> (Stacheldrahtverhau) ins schwingen kommen.

Es liegt aber hoffentlich nicht an den langen Zuleitungen zu den LEDs 
generell? In meinem damaligen Testbetrieb hatte ich kurzzeitig 2m 
Zuleitung zu den LEDs am Laufen, so soll es am Ende auch sein. Oder 
sollte bzw. muss der TLC so nahe wie möglich an die Last? Das schränkt 
die Anwendungsflexibilität ja ziemlich ein. Derzeit sind es pro LED ja 
nicht mal 20cm an Leitung.

Old P. schrieb:
> Wenn die Abblock-Cs meterweit von den Poweranschlüssen des ICs entfernt
> sind, sind die wirkungslos (Induktivität, s. oben) max. 10mm sind
> anzustreben.

Es werden wohl derzeit so 15mm pro Anschlusspin sein, ich korrigiere das 
im Folgenden mal und setze den C direkt an die IC-Pins.

Vom Breadboard verabschiede ich mich demnächst auch und migriere das 
ganze mal auf folgendes: http://www.ebay.de/itm/282077533798 Da kann ich 
dann auch kürzere Leitungen fest verlöten. Der Chip ist scheinbar auf 
Breadboard nicht stabil zum Laufen zu kriegen.

Versteh mich bitte nicht falsch warum ich einige Tips nicht direkt 
umgesetzt habe aber ich wollte auch ein wenig das Verhalten der 
Schaltung so wie sie ist diskutieren und erforschen. Ich möchte ja daran 
auch etwas lernen und nicht nur diese eine Schaltung auf Teufel komm 
raus wieder zum Laufen kriegen ;-)


stromtuner schrieb:
> shift_gs_values();
> Die Flanke andersrum takten?

Danke, das Eintakten der Daten funktioniert jedoch (bei sauberer 
Versorgungsspannung) offenbar Problemlos. Die beschriebenen Probleme 
bestehen nämlich auch, wenn überhaupt keine Daten übertragen werden.

: Bearbeitet durch User
von Paul H. (powl)


Lesenswert?

Ah interessant. Ich habe mal gerade kurz mit dem aktuellen Aufbau die 
VCC-Versorgungsleitung der LEDs noch mal an andere Punkte gesteckt. 
Irgendwie funktioniert das jetzt und macht keinerlei Probleme mehr. Auch 
die Versorgung aus einem zweiten Netzteil macht nun überhaupt keinen 
Unterschied mehr. Mit dem China-TLC im DIP gab es da erhebliche 
Probleme.

Lediglich das Phänomen, dass die LEDs im gesamten Flimmern, das 
sporadisch aufrtitt und sogar gehäuft, sobald ich mit der Hand das 
ISP-Kabel berühre, besteht immer noch. Sobald ich Zeit habe mach ich mal 
ein paar neue Oszi-Messungen.

Der Abblock-C sitzt mittlerweile übrigens direkt an den VCC&GND-Pins des 
TLC, keine 3mm entfernt. Hat aber nichts geholfen.

von Ludger (Gast)


Lesenswert?

Hallo,

sind Deine Stecker-Netzteile SNT's ? Die lassen gerne mal zig uA von der 
Netzspannung durch. Meß mal die AC-Spannung zwischen Deinem GND und dem 
PE.


Ludger

von Philipp K. (philipp_k59)


Lesenswert?

Dieser Thread wird immer mehr der Beweis das es doch noch 
funktionierende Glaskugeln gibt!

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Ich hab doch schonmal gesagt, dass der Reset des AVR ordentlich 
beschalte gehört.
Am ISP Kabel rumfummeln und es blitzt klingt nach AVR geht kurz in reset 
wegen offenen CMOS Eingang.

von Markus K. (Firma: Companion 41) (markus5000)


Lesenswert?

Mir fällt da gerade was ein, was mich vor gut einen Jahr fast in den 
Wahnsinn getrieben hat:

Seltsame Störungen, die das DUT gar nicht erzeugen kann, und die es es 
vorher nicht gab. Die Fehlerquelle war eine neue Arbeitsplatzlampe mit 
schlechten Benehmen. Eine HF-Schleuder vom feinsten. Getauscht und es 
ward Ruhe.

Schalt also mal das Licht aus

von Paul H. (powl)


Lesenswert?

Mw E. schrieb:
> Ich hab doch schonmal gesagt, dass der Reset des AVR ordentlich
> beschalte gehört.
> Am ISP Kabel rumfummeln und es blitzt klingt nach AVR geht kurz in reset
> wegen offenen CMOS Eingang.

Das ist es leider nicht, sorry dass ich darauf nicht eingegangen bin. 
Ich berühre die Kontakte des ISP-Kabels ja nicht direkt. Es lassen sich 
auch allerlei lustige Effekte erzeugen indem ich mit der Hand nur in die 
Nähe der Schaltung komme. Wenn der AVR in Reset gehen würde dann würde 
ja das Programm neu starten und dementsprechend würde der AVR ein neues 
Muster an den TLC senden, welches ich auf den LEDs sehe. Das Muster 
bleibt aber die ganze Zeit bestehen. Testweise habe ich den Reset aber 
auch mal auf VCC gelegt nur um alles ausschießen zu können. Hilft 
nichts.

Markus K. schrieb:
> Die Fehlerquelle war eine neue Arbeitsplatzlampe mit
> schlechten Benehmen. Eine HF-Schleuder vom feinsten. Getauscht und es
> ward Ruhe.

Leider habe ich in letzter Zeit keine neuen Geräte in Betrieb genommen 
aber ich könnte das mal untersuchen!


Ludger schrieb:
> sind Deine Stecker-Netzteile SNT's ? Die lassen gerne mal zig uA von der
> Netzspannung durch. Meß mal die AC-Spannung zwischen Deinem GND und dem
> PE.

An so etwas dachte ich auch nicht, aber nur weil die Schaltung hochomig 
auf Netzpotenzial liegt muss das ja nicht heißen, dass sie rumflackert 
wenn sie einfach nur ruhig auf dem Tisch steht oder man mit der Hand in 
die Nähe kommt.

Alles weitere, Messungen usw. folgen die nächsten Tage wenn ich wieder 
richtig Zeit dazu habe.

: Bearbeitet durch User
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.