Acties:
  • 0 Henk 'm!

  • matthijs33
  • Registratie: Oktober 2010
  • Laatst online: 06-10 16:04
Ik probeer met een fpga 16 leds aan te sturen met de TLC5940NT.
ik heb vhdl code geschreven die (volgens mij) voldoet aan de signalen om de TLC5940NT te sturen, maar de leds blijven gewoon uit. Ik wil de ic in grayscale mode gebruiken en heb dus de pinnen VPRG en DCPRG aan massa gelegd. ook heb ik SCLK en GSCLK met elkaar verbonden.

De volgorde die ik gebruik:

-------om te programmeren bij power up----------------------
SIN = 1 (alle waarden op 1 om te testen)
192 pulsen op SCLK
BLANK = 1
XLAT = 1
XLAT = 0
BLANK = 0

-----------na het programmeren continu-----------------------
4096 pulsen op SCLK
BLANK = 1
BLANK = 0

Dit alles loopt aan 12,5MHZ

Ik dacht dat dit zou moeten werken na het lezen van de datasheet (http://www.ti.com/lit/ds/symlink/tlc5940.pdf), maar alle leds blijven uit.

Heeft iemand ervaring met deze ic die mij kan helpen?

alvast bedankt

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Ik heb ervaring met de TLC5947. Deze heeft geen GSCLK maar een interne OSC (4MHz).
Je moet de data gewoon inschuiven zoals een 74HC595 schuifregister. De XLAT hoog maken om data te latchen, en vervolgens de GSCLK genoeg pulsjes geven om de PWM te doen.
De blank pin is irritant eigenlijk, en ik heb er volgens mij een 1kHz PWM op gezet van uit m'n controller (was een PIC32). Het waren korte pulsen.
Maargoed, jij levert nu zelf de GSCLK aan dus dat is goed.
Wat heb je met IREF gedaan?

VPRG moet aan GND idd.
Volgens mij moet DCPRG echter aan VCC hangen. Kijk maar op pagina 21 en bovenaan specs tabel 4. Het is voor de EEPROM programming, die is actief als je daar 22V op zet. Die is inactief als je die aan VCC hangt. Volgens mij hoort GND daar niet bij.
Het is dus beetje verwarrend maar volgens mij moet je DCPRG=L lezen als VCC, en DCPRG=H lezen als +22V.
Blank pin moet tijdens GSCLK volgens mij ook laag blijven. (BLANK=1 is alle outputs off).

Acties:
  • 0 Henk 'm!

  • matthijs33
  • Registratie: Oktober 2010
  • Laatst online: 06-10 16:04
aan IREF hangt een 680 ohm resistor naar GND.

De dot correction wil ik niet gebruiken en dus de data (die standaard 1 is) uit de eeprom lezen. moet DCPRG hiervoor aan VCC hangen?
BLANK hou ik laag tijdens de 4096 pulsen van GSCLK, daarna een BLANK pulse om de gray scale counter te resetten.

Ik heb nu DCPRG aan VCC (3,3V) gehangen, maar de leds willen nog steeds niet oplichten.

[ Voor 36% gewijzigd door matthijs33 op 20-07-2012 15:52 ]


Acties:
  • 0 Henk 'm!

  • Ganzz
  • Registratie: Mei 2004
  • Laatst online: 23-10-2021
Ik heb een keer met een atmel zo'n ding aangestuurt vanuit C, als je googlet op de naam van het IC kom je een PDF tegen met een uitgebreide howto. Dan moet het vast lukken :)

[www.ganzz.nl]


Acties:
  • 0 Henk 'm!

  • matthijs33
  • Registratie: Oktober 2010
  • Laatst online: 06-10 16:04
Die pdf heb ik gebruikt en nu ik er bijna zeker van ben dat de aansturing goed is, was ik beginnen meten met een oscilloscoop. Nu merkte ik dat het kloksignaal GSCLCK geen 3V3 haalde en ook niet tot 0V terug keerde. Over de serieweerstand van die uitgang stond veel te veel spanning. De GSCLK pin trok bijna 200 keer zoveel stroom als in de datasheet als maximum staat aangegeven. En de IC wordt ook behoorlijk warm zonder dat er leds branden.
Ik veronderstel nu dat de IC dus kapot is.

Is de IC onbruikbaar en hoe zou ik die IC kapot gekregen kunnen hebben zodat ik dit niet nog eens tegen kom?

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • Ganzz
  • Registratie: Mei 2004
  • Laatst online: 23-10-2021
Ik heb zelf een TLC59116 (ook een leddriver) ook kapot gekregen zonder dat ik eigenlijk wist waarom. Gewoon alles checken en dan een nieuwe erin.

[www.ganzz.nl]


Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Wellicht een schema zou handig zijn.
Een IC kan soms erg snel stuk zijn als je eventjes er iets verkeerds mee doet.. b.v kort veels te veel spanning of omkeren enz.
Check altijd op sluitingen. Daardoor kan het spul ook heet worden..

Hoe weet je trouwens dat je GSCLK pin 200 x zo veel stroom trok? Je stuurt hem toch van een FPGA? Kan die dat wel leveren?

Acties:
  • 0 Henk 'm!

  • matthijs33
  • Registratie: Oktober 2010
  • Laatst online: 06-10 16:04
op de uitgang van de fpga pin staat een serie weerstand van 200ohm, daar stond 0,7V over.

De leddriver gebruikt een apparte voeding van 3,3V en de massa's van de fpga en de leddriver hangen samen. Kan het kwaad dat de leddriver gestuurd wordt als de leddriver geen voeding krijgt?

Vlug even een schema: (de pinnummers komen overeen met de nummers uit de datasheet)
Afbeeldingslocatie: http://img221.imageshack.us/img221/7991/schema.jpg

Zoals je kunt zien heb ik de 2 kloksignalen van elkaar gehaald omdat dit de software eenvoudiger maakt.
De header met 2 pinnen is de externe voeding(3V3 en massa)
De header met 7 pinnen is de verbinding naar de fpga(links 5 data kannalen, massa, en ongebruikte 3V3)

[ Voor 7% gewijzigd door matthijs33 op 22-07-2012 23:44 ]

Pagina: 1