Go Down

Topic: tlc5940 (Read 997 times) previous topic - next topic

relinquished

salve a voi del forum , mi chiedevo se qualcuno di voi tanto gentilmente  sarebbe capace di spiegarmi come fare per  far funzionare il tlc5940 , so che esiste una libreria gia pronta ma a me serve scriverne una propia  , l'unico problema e che ho difficolta a capire come funziona la trasmissione dei dati  e quali pin abilitare e quali non abilitare , insomma se voglio far funzionare il tlc in modalita grayscale  come devo settare i pin 

Ciao
anche io sono nuovo e mi sto approcciando ad arduino

vediamo se ti posso dare una mano
intanto ti posto il link del datasheet del tlc

http://www.ti.com/lit/ds/symlink/tlc5940.pdf


allora funzione grosso modo come uno shift register sol che in più ha in uscita il controllo pwn

quindi usa 3 ingressi
uno di alimentazione che è il Vi
uno per il clock che è il SCLK
e uno che è l'input per i dati da shiftare che è il SIN
poi cè il pin XLAT che è il pin di abilitazione dei valori in uscita ovvero quando attivato
riporta i dati dello shifter register sulle uscite e attiva un nuovo ciclo di GSCLK

come funziona, direi che il funzionamenti sia molto similare a quello che scriverò almeno per la parte di ingresso.

al pin SIN  si applica tensione o meno in modo da avere stati alti e bassi (0 e 1)
l'informazione viene registrata nel primo bit dello shiftregister

quando il clock agisce sul componente il valore del bit 0 viene shiftato sul bit 1 ed il valore corrente di SIN viene registrato sul bit 0 e così via sino ad avere i 192 bit o meno in base all'applicazione.
Di fatto ogni uscita ha una risoluzione di 12bit e quindi la tensione in pwn varia con 4096 step.
quindi ogni 12 bit si da il codice in uscita ad un'uscita.
per essere chiaro :

l'uscita zero viene controllata con i primi 12 bit
così si arriva
che l'uscita 15 viene copntrollata dai bit dal 180 al 191.

applicando al termine dell'ingresso dei dati tensione su XLAT si riportano i dati dello shift register sulle uscite che usato ocme clock l'uscita GSCLK (grey scale clock)

se la sequenza di immissione bit non è completa e si attiva XLAT in uscita si avranno i nuovi valori parziali inviati  col comando che sovrascriveranno i precedenti


spero di essere stato chiaro




leo72


salve a voi del forum , mi chiedevo se qualcuno di voi tanto gentilmente  sarebbe capace di spiegarmi come fare per  far funzionare il tlc5940 , so che esiste una libreria gia pronta ma a me serve scriverne una propia  , l'unico problema e che ho difficolta a capire come funziona la trasmissione dei dati  e quali pin abilitare e quali non abilitare , insomma se voglio far funzionare il tlc in modalita grayscale  come devo settare i pin 

Prima regola: cercare. ;)
Se tu avessi scritto nella casellina "Search" in alto a DX la stringa tlc5940 come primo risultato sarebbe venuto fuori questo:
http://www.arduino.cc/playground/Learning/TLC5940

relinquished

in pratica e cosi


gsclk=1
gsclk=0
192 bit
xlat=0
xlat=1

o sbaglio???

relinquished

Quote
Prima regola: cercare.
Se tu avessi scritto nella casellina "Search" in alto a DX la stringa tlc5940 come primo risultato sarebbe venuto fuori questo:
http://www.arduino.cc/playground/Learning/TLC5940


sfortunatamente non capisco l'inglese quindi ho difficolta a capire   cioe che dice quel paragrafo , altrimenti non recavo disturbo

leo72

Peccato che in quella pagina ci sia anche la libreria già pronta...  :P

Cmq senza inglese vai da poche parti, il 99% dei progetti per l'Arduino sono in inglese, dato che Arduino ha diffusione internazionale.

relinquished

lo so ma ormai ho 30 anni e la testa di imparare un inglese tecnico non ce lo  quindi cerco di arrangiarmi , e magari trovare delle persone di buon cuore disposte a darmi un aiutino

BrainBooster

Diventa amico di google translate :)

uwefed

Secondo me la difficoltá non é la trasmissione dati al TLC5940 ma la generazione del clock per il PWM. La libreria usa dei counter/timer del ATmega.  Prendi la libreria e modificala per le Tue necessité.
Ciao Uwe


relinquished

sfortunatamente non capisco il c , cmq a me basterebbe che qualcuno di buona volonta mi dica come vengono impostati i pin

tipo cosi

blank=1
bop
blank=0
invio 192 bit
xlat=1
nop
xlat=0


tipo una cosa del genere pero nella giusta sequenza , solo questo voglio sapoere, lavrei fatto io ma il c non lo conosco quindi mi viene difficile tradurre il codice

uwefed

Questo non porta a niente.

Il TLC5940 deve essere pilotato in una certa maniera dal programma e questo di continuo anche se non varii la luminositá dei LED collegati.

Se pensi che bastano delle tensioni statiche sui pin Ti sbagli.
Se non sai e non vuoi imparare ne l'inglese ne il C e non vuoi usare una libreria vedo impossibile per Te pilotare un TLC5940.

Ciao Uwe

relinquished

questo lo so che non ci vogliono tensioni statiche
ecco perche avevo chiesto semplicemente quale e la procedura di come si settano i pin man mano
la teoria del tlc5940 la conosco solo che non sono capace di tradurre c per creare cosi una libreria per basic

uwefed

Quote
solo che non sono capace di tradurre c per creare cosi una libreria per basic

Non Ti capisco, cosa vuoi fare con BASIC?
Ciao Uwe

relinquished

semplice una libreria per tlc5940 , la libreria sara per il compilatore mikrobasic della mikroelettronica

dato che librerie ufficiali non esistono ne voglio creare una niente di piu

lucadentella

ciao

primo link in google:
http://si-light.sourceforge.net/

un progetto di illuminazione con led gestito dal PC che utilizza il TLC5940 con firmware scritto proprio in MikroBasic... ho dato una occhiata veloce ai sorgenti pubblicati su sourceforge e sembrano facilmente comprensibili.
bye
lucadentella.it

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy