Go Down

Topic: tlc5940 (Read 934 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 

automator

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