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
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!
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.
Auf was hast du Iref eingestellt (Widerstand)
Gehen die Ausgänge wirklich an die Kathoden der Knightrider Leds (-)?
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...
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.
Manche Sachen sind echt zum
Fehler in der Schaltung gefunden: Hatte nen verbogenen Pin 18 an dem TLC : 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:
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.