Leonardo mit TLC 5940

Hallo zusammen!

Habe von einem Arbeitskollegen ein Leonardo geschenkt bekommen und wollte einen TLC 5940 in Betrieb nehmen. Habe mir die Lib von Google geladen (R14_2). Lieder bekomme ich die Schaltung noch nicht mal mit dem Knight Rider zum laufen. Habe auch shcon einen Uno ausgekramt. Damit Läuft es auch nicht. Wenn ich an den PIN 3 mit dem Finger rangehe, flackert die LED kurz....ich denke ich hab was falsch verdrahtet, aber ich find es einfach nicht....bin schon seit 3 Tagen dran und es lässt mir Abends keine Ruhe :slight_smile:

Habt ihr ne Idee!?!?

Wie sieht der Sketch dazu aus? Der Leonardo hat keine Hardware SPI auf den oberen Pins. Dieser wird nicht auf die IOs herausgeführt sondern nur auf dem ISCP Header. Abgesehen davon ist der Schaltungsaufbau falsch!

Zu was braucht es in der Schaltung R4 und R5??
Grüße Uwe

@sschultewolter:

  • Sketch ist der Beispiel Sketch "Knight Rider" aus der LIB.
  • Wo ist der Fehler im Schaltungsaufbau? Habe das Gleiche nochmal aufgebaut....immernoch....auch mit dem Uno Board
  • Danke schonmal für die Info mit dem SPI an dem Leonardo, da werde ich mich nochmal zu schlau machen

VG Norb

Hallo Uwe, R4 und R5 bedarf es in der Schaltung nicht. (ist auch nicht von mir, aber sieht soweit korrekt aus)
Welche Schaltung hast du wieder aufgebaut? Meine oder die von dir?

Die TLC5940 Lib ist mir nur vom Namen bekannt, mehr nicht.

  1. Auf was hast du Iref eingestellt (Widerstand)
  2. Gehen die Ausgänge wirklich an die Kathoden der Knightrider Leds (-)?
  3. Pinkonfiguration richtig im Sketch?
  • Habe deine Schaltung nachgebaut....erst mit dem Leonardo dann mit dem Uno
  • Widerstand ist 2k, habe es aber auch schon mit 1k ausprobiert...ohne Erfolg
  • Verpolung der LEDs bereits ausgeschlossen --> auch schon eine Standard LED verbaut
  • Pinconfig habe ich nicht durchgeführt, da ich davon ausgehe, das es irgendwie in der LIB verhackt ist o.O, wenn es das sein sollte fress ich nen Besen...

Das Basic Sketch im Anhang

BasicUse.pde (4.08 KB)

Mit dem Leonardo kann es nach dem Schaltbild auch nicht funktionieren, siehe Beitrag oben.
Mit dem Leonardo dürfte es überhaupt nicht gehen, da das Pinmapping in der Libary nicht sehr komfortabel ist.

Holen wir etwas aus:
Der TLC5940 wird etwas komisch angesteuert.
Es werden 2 Parameter pro Ausgang erwendet: eine 12 Bit PWM Ansteuerung und eine 6 bit DOT Correction der den Konstantstrom der Stromsenke einstellt. Die Dot Correction kann für erste Versuche vernachlässigt werden. Sie diehnt dazu die Helligkeit verschiedener LED anzugleichen.

Der TLC hat einen seriellen synchronen Bus mit dem die Werte für PWM, DotCorrection und die Registereinstellungen übertragen werden. Dies kann, muß aber nicht, über SPI erfolgen.

Damit die PWM funktioniert muß sie bei jedem Zyklus gestartet werden. Es genügt nicht den PWM Takt auf das Pin GSCLK zu geben sondern eine PWM Zyklus muß mit einem HIGH- Impuls auf dem Pin BLANK beginnen gefolgt von 4096 Takten auf dem GSCLK Pin. Danach wieder BLANK ecc. http://www.tij.co.jp/jp/lit/ds/symlink/tlc5940.pdf Grafik Seite 12

Die Ansteuerung con GSCLK und BLANK erfolgt über Timer. Jetzt weiß ich nicht ob die Bibothek die verschiedne innere Struktur des ATmega32U4 berückschtigt und darum auf dem LEONARDO funktioniert. Auf dem UNO sollte sie schon funktionieren. Ich schlage Vor Du probierst mit dem UNO um dann auf dem LEONARDO weiterzumachen.

Grüße Uwe

Hi uwefed & sschultewolter

Manche Sachen sind echt zum :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:
Fehler in der Schaltung gefunden: Hatte nen verbogenen Pin 18 an dem TLC ::slight_smile: Ist nach innen weggeklappt....
Mit dem Uno läufts super, auch mit einem Mikro mit einer geänderten PIN Belegung

Am Mirco von rechts unten nach links unten durchgezählt:

Arduino Micro TLC5940
SCK (Pin 17) --> SCLK (Pin 25)
MOSI (Pin 18) --> SIN (Pin 26)
D9 (Pin 31) --> XLAT (Pin 24)
D10 (Pin 32) --> BLANK (Pin 23)
D5 (Pin 27) --> GSCLK (Pin 18)

Aber wenn ich die PIN Belegung auf das Leonardo Board Mappe läuft es nicht mehr.

Die PIN Belegung ist ja zum Micro identisch oder (Sprich D9 am Micro sollte auch auf den gleichen Port am 32U4 gehen wie am Leonardo, außer ich haben mich vertan)? Nur MOSI und SCK an den ICSP Header vorhanden ist....Was hab ich da nicht beachtet!?! Muss ich den ICSP Header erst im Code aktivieren?

Problem ist, dass du an den SS Pin so nicht rankommst. Den müsstest du von der SMD Led abgreifen. Belass es bei dem Uno. Der Leonardo ist für die Sache etwas komplizierter, da man hier einiges an der Lib umschreiben müsste.