Led Driver per molti LED

Ciao a tutti, recentemente sto lavorando ad un'idea che richiede l'utilizzo di molti LED RGB (saranno 64)
E' una matrice 88, quindi di singoli LED ne ho 88*3 = 192 LED da controllare.

Al momento ho trovato questo driver, ma è solo per 16 canali e quindi me ne servirebbero 12..
Io stavo cercando qualcosa di veloce, in quanto devo aggiornare molto frequentemente i LED. Ho visto che esistono dei driver da 48 canali, quindi ne servirebbero solo 4, ma sono tutti con dei package molto piccoli e molto difficili da saldare senza fare errori.

Ho trovato questo progetto (dovrebbe essere open source da due anni ma non si vede ancora nulla; ho fatto anche varie email indirizzate a loro ma non rispondono) e se guardate il video riescono ad utilizzare 64 LED RGB con 4 integrati (avrete capito che voglio provare a fare una cosa simile) e si vede in più che c'è un chip DIP molto simile a un 328P-PU...

Avete per caso qualche consiglio su uno/più integrati molto veloci per in controllo PWM di LED attraverso (magari) l'SPI?

Grazie mille!

  • Stefano

Se vuoi dei LED RGB la cosa piú semplice sono i WS2812. Li trovi sia in forma di SMD 5050 che in forma LED da 5mm e 8mm.
Hanno il controller integrato e serve solo un pin per pilotarli.
Ciao Uwe

Scusa, ma perche’ li vuoi pilotare uno per uno ? … non puoi multiplexarli, cosi ti servono solo 24 canali per i tre colori. ed altri 8 per le righe ?

Effettivamente hai ragione; mi conviene rivedere un po' lo schema...
Sei sicuro però che il TLC5940 riesca a fare da catodo per gli 8 pin della terra dei LED?
In alternativa ho pensato di utilizzare dei transistore..

La massima corrente che puo garantire per ogni uscita e' 60mA (con i led alimentati a piu di 3.6V), e la massima dissipazione totale del chip dipende ovviamente dal tipo di case e dal montaggio, come si vede nel riquadro "dissipation ratings" del datasheet ... quindi per sapere quanta potenza complessiva ti potra' dare, serve sapere prima quale case usi ed in che modo lo monti ...

Etemenanki:
quale case usi ed in che modo lo monti ...

Per facilità di saldatura, voglio utilizzare il classico case DIP; cosa vuoi dire con "in che modo lo monti"?

Quello SMD con il pad termico inferiore, se lo monti saldandolo sul piano di rame che dissipa calore puo dissipare quasi il doppio che montandolo senza saldare il pad termico, questo intendevo (inoltre, ovviamente, un conto e' montarli in un punto in cui circola aria, un'altro in un contenitore piccolo e stagno, anche per gli altri case, per cui anche usando i DIP, cerca di metterli in una posizione in cui giri aria, o di usare una ventolina per farla circolare nel contenitore se e' chiuso)

Se usi i dip, la massima potenza dissipabile dipende dalla temperatura, quindi per sicurezza considera quella minore, che ti da per 70 gradi, che e' circa 1.5W ... il circuito equivalente delle uscite lo da come quello di un normale transistor NPN, quindi la caduta si puo presumere sui 0.7V (ed anche dai grafici sembrerebbe quella) ... mettiamo quindi che possa dissipare circa 50mW per uscita a 60mA ... per 16 fa 800mW, direi che ci stai dentro senza problemi (questo per i led completamente accesi) ... se invece devi usare il fading, bisogna calcolare anche la dissipazione dello stadio regolatore di corrente, ma se li usi solo come driver acceso/spento, non interessa ...

EDIT: dimenticavo, che led usi ? ... se sono quelli da 5mm, la corrente va limitata per forza a 20mA massimi per ogni chip dei led, altrimenti li bruci ... se sono diversi, dipende dai led ...

Sì, sono quelli da 5MM Catodo Comune (versione con la plastica offuscata, non trasparente)

Quindi ogni integrato può al massimo far uscire 20 mA per canale o totali? Io ho bisogno che si illuminino abbastanza bene (utilizzerò il PWM, altrimenti bastavano dei transistors)

I LED RGB a catodo comune non puoi usare col TLC5940. Il TLC ha come uscite dei Transistori open collector che limitano a una corrente costante impostat sul pin Iref. Ti servono LED RGB ad anodo comune.

Ciao Uwe

Non esiste qualche variante che vada bene con i LED catodo comune? E' che a casa en ho veramente tanti, li avevo acquistati tempo fa e non volevo doverne comprare altri...

Ormai non e' che costino piu un gran che ... ad esempio, http://www.ebay.com/itm/100PCS-Tri-Color-5mm-4-pin-RGB-Diffused-Common-Anode-Light-Emitting-Diode-LEDs-/111427884493?pt=LH_DefaultDomain_0&hash=item19f19e95cd , 5 Euro per 100 pezzi spedizione compresa ...

Non ho idea se ci siano degli equivalenti per l'uso con catodo comune di quei driver, io non ne ho mai trovati, ma in genere driver con regolazione della corrente integrata ho sempre usato quelli per anodo comune ...

Per la corrente, no, i pin potrebbero dare al massimo 60mA per canale, ma siccome tu usi led da 5mm, che hanno una corrente massima di funzionamento di 20mA, devi usare sull'integrato una resistenza di limitazione della corrente calcolata per limitarla a massimo 20mA (e sarebbe meglio qualcosina in meno, tipo 17 o 18mA, cosi si rischiano meno led bruciati sul lungo periodo) ... correnti superiori sono utilizzabili in caso di multiplexing, perche' ogni led rimane acceso per tempi brevi, ma vanno calcolate in base alla frequenza di multiplexing ed ai tempi di accensione ...

Ok, quindi alla fine faccio prima a tenermi sui 18mA, sempre se non faccio alternare più velocemente tra le otto colonne..

Mi sorge un dubbio: se è ad anodo comune significa che per i LED passa la corrente proveniente dalla terra; come faccio a chiudere il circuito con l'integrato in più?

Cioe', scusa ?

Per pilotare le linee verso massa si usano quei driver, e per pilotare gli anodi in multiplexing si usano degli UDN2981A o simili (sono come gli ULN2803, solo che invece di "chiudere a massa" con dei transistor in opencollector, "chiudono" il carico verso il positivo ;))

Ah, ok! Grazie per la soluzione, di sicuro non mi ero espresso bene :sweat_smile:
Appena riesco provo a fare uno schema; è un problema se vi chiedo di visionarlo?

Ecco quà lo schema che ho progettato. Secondo voi funziona?

Per le connessioni al TLC5940 mi sono riferito a questa libreria

l'UDN pilotalo direttamente con altri pin digitali, non con un'uscita dei driver (che fra l'altro non e' adatta a fare quel lavoro, dato che in pratica sono uscite a collettore aperto con limitazione della corrente, non uscite digitali)

Ora non ce la faccio, sono in negozio e sto tentando di uccidere un virus (di quelli carogna, che criptano tutto il disco), ma domani provo a buttarti giu uno schemino di base se vuoi.

non funziona.
il TLC5940 mette l' uscita a massa e ha bisogno che circoli una certa corrente, mentre il UDN2981 mette l' uscita a + alimentazione quando riceve +5V.

Ciao Uwe

Quindi potrebbe essere utile uno shift register per controllare l'UDN?
Non potrei sostituirlo con 8 transistor di qualche genere che funzionino col mio circuito?

A livello indicativo, una cosa tipo quella allegata (e’ uno schema di principio, non e’ detto che devi per forza usare quei pin, li ho segnati cosi solo per lasciare quelli che avevi gia segnato tu come pilotaggio dei driver)

Ovviamente serve un’alimentazione in grado di reggere la corrente dei led, sul vcc :wink:

Ok, allora è come avevo pensato.

Come ho già chiesto prima, esiste qualche tipo di transistor utilizzabile direttamente con il TLC? Così occupo meno pin del processore possibile, in quanto mi servirebbero anche per altre cose e in più controllare altri 8 output velocemente non è la cosa più facile da fare (vorrei usare un 74HC595, ma dovrei utilizzare due volte i timer e il programma si complicherebbe...)

EDIT: Ho provato con dei BC327 e ipotizzo che dato che il TLC fa da terra, posso utilizzarlo così! Oggi provo a modificare lo schema...