Arduino Forum

International => Italiano => Generale => Topic started by: relinquished on Feb 27, 2012, 01:37 pm

Title: tlc5940
Post by: relinquished on Feb 27, 2012, 01:37 pm
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 
Title: Re: tlc5940
Post by: automator on Feb 27, 2012, 02:32 pm
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



Title: Re: tlc5940
Post by: leo72 on Feb 27, 2012, 02:47 pm

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
Title: Re: tlc5940
Post by: relinquished on Feb 27, 2012, 02:51 pm
in pratica e cosi


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

o sbaglio???
Title: Re: tlc5940
Post by: relinquished on Feb 27, 2012, 02:57 pm
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
Title: Re: tlc5940
Post by: leo72 on Feb 27, 2012, 03:01 pm
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.
Title: Re: tlc5940
Post by: relinquished on Feb 27, 2012, 03:06 pm
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
Title: Re: tlc5940
Post by: brainbooster on Feb 27, 2012, 05:08 pm
Diventa amico di google translate :)
Title: Re: tlc5940
Post by: uwefed on Feb 27, 2012, 07:08 pm
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

Title: Re: tlc5940
Post by: relinquished on Feb 27, 2012, 09:26 pm
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
Title: Re: tlc5940
Post by: uwefed on Feb 27, 2012, 10:15 pm
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
Title: Re: tlc5940
Post by: relinquished on Feb 27, 2012, 10:56 pm
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
Title: Re: tlc5940
Post by: uwefed on Feb 28, 2012, 12:55 am
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
Title: Re: tlc5940
Post by: relinquished on Feb 28, 2012, 08:11 am
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
Title: Re: tlc5940
Post by: lucadentella on Feb 28, 2012, 08:52 am
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
Title: Re: tlc5940
Post by: relinquished on Feb 28, 2012, 11:37 am
sfortunatamente quel progetto e scritto in pascal  e non pasic
Title: Re: tlc5940
Post by: lucadentella on Feb 28, 2012, 12:02 pm
Sicuro? L'autore dice:

Firmware is written in mikroBasic - mikroelectronica has free compilers (to 2K).

e scaricando lo zip trovo codice tipo:

Code: [Select]
program Controlv10

dim PCF8574A, PCF8574B, B1HOLD, B2HOLD, BRIGHT, PWM_NOW, PWM_DEST as byte
dim B_SEL, i, T0FLAG, T1FLAG, dest_color as byte
dim tem_color, a, b as byte


che mi sembra tanto (pur non conoscendo il MikroBasic) basic...
Title: Re: tlc5940
Post by: relinquished on Feb 28, 2012, 09:06 pm
Quote
che mi sembra tanto (pur non conoscendo il MikroBasic) basic...

questo non e basic ma il pascal
Title: Re: tlc5940
Post by: leo72 on Feb 28, 2012, 10:56 pm
Ed un file che per estensione ha .pbas secondo te è scritto in Pascal?
Title: Re: tlc5940
Post by: lucadentella on Feb 28, 2012, 11:37 pm
boh ammetto di non aver mai usato MikroBasic ma quei "Dim..." e il fatto che lo stesso autore dica che è scritto in Basic  ]:D mi fanno pensare... da cosa capisci che è Pascal?
Title: Re: tlc5940
Post by: leo72 on Feb 29, 2012, 12:08 am
Non è Pascal... Ci sono una serie di costrutti per dichiarare le funzioni ed il blocco principale che lì non ci sono.
var, const, begin..end.... Dove sono?
Guarda il Pic Micro Pascal:
http://www.pmpcomp.fr/