TLC 5940 E LED DI POTENZA

Ciao a tutti,
sto cercando di far funzionare dei led di potenza con tlc 5940, ma qualcosa non va per il verso giusto, avete qualche suggerimento o consiglio da darmi?
Ho creato un brevissimo filmato che mostra il problema: ARDUINO MINI TLC5940 - YouTube
Qui sotto vi descrivo il lavoro fatto:

PROGETTO: Scorrimento Led di Potenza

TEST PRELIMINARI ESEGUITI: Arduino Mini con TLC 5940 con 16 LED collegati, (scorrimento di un led acceso in sequenza, Vedi Filmato). Il funzionamento è corretto.

PROGETTO FINALE (foto1):
Pilotaggio LED di potenza con i seguenti componenti:

  1. Arduino Mini
  2. TLC5940
  3. Optoisolatore 4N35
  4. Stadio Mosfet Regolatore in corrente
  5. Led 1w/350 mA

(vedi schema elettrico foto 4)

PROBLEMA:

L'accensione dei led a scorrimento regolare non avviene in maniera corretta, presenta invece, una sequenza disordinata (random).
I controlli di pilotaggio sono stati eseguiti manualmente “senza TLC”, con risultato positivo.
Dopo aver inserito il TLC ed acceso il sistema si verifica una emissione “random” di luce.
Tutti i componenti (Arduino, TLC, Piloti) sono stati testati singolarmente e sono tutti funzionanti.

Nel caso vi dovessero servire vi allego delle foto:


schema elettrico:

Grazie a tutti!

Cosi al volo mi viene in mente solo una cosa ... hai controllato che l'assorbimento dei led di potenza (ed i relativi picchi di assorbimento) non ti sballino l'alimentazione del micro, o introducano cadute e picchi di sottotensione che mandino in crisi il programma ?

L'alimentazione del lato di potenza e' disaccoppiata da quella della logica e con condensatori separati ed adeguatamente dimensionati ? (come ovviamente l'alimentatore ? )

Grazie per la (veloce) risposta,

Il programma cosi' come è stato fatto (per ora) accende un led alla volta in sequenza (350mA) , gia' all'avvio si ha un accensione random con piu' led accesi simultaneamente. Tenderei ad escludere questa ipotesi.

L'alimentazione +5v dei led di potenza è in comune con quella digitale, potrei quindi tentare come dici tu, una suddivisione dei 2 rami per verificare il corretto funzionamenti di i micro e potenza.

Ti faccio sapere qualcosa lunedi'.

Grazie ancora,
Un saluto.

Il dubbio mi era venuto vedendo nel filmato alcuni brevissimi lampeggi di alcuni dei led ... in quel caso potrebbe fartelo anche allo start, perche' il primo impulso gia ti sballerebbe tutto ...

Prova cosi, dall'alimentatore (che deve essere in grado di erogare abbastanza corrente per tutto, diciamo almeno 1A, meglio se di piu), esci con due diodi, uno lo mandi alla logica, con un condensatore da 470uF ed uno da 100nF in parallelo, l'altro lo mandi al positivo dei led, sempre con un condensatore da 470uF ed uno da 100nF in parallelo (scegli il diodo perche' ti regga la corrente, per provare al volo puoi usare anche diodi 1N4007 o simili comunque) ... gia in questo modo dovresti riuscire a disaccoppiare le due alimentazioni, e se il problema fosse quello, dovrebbe sparire ...

EDIT: sullo schema elettrico, l'ho appena notato, non vedo resistenze in serie ai led degli opto, spero che ci siano ... inoltre usare opto in quel modo mi sembra non abbia molto senso, metti l'opto ma poi colleghi il positivo della logica anche al lato transistor, allora che senso ha usare un'optoisolatore ?

Etemenanki , il tlc5940 pilota 16 led in corrente costante quindi non serve la resistenza in serie, alll'autore del progetto serviva un pilotaggio di 350mA per led quindi invece del led ha pilotato un optocoupler.

Dallo schema non si riesce a capire la frequenza di GSclk , se troppo alta 4n35 non lavora bene

Dato che non piloti VPRG si desume che non programmi la eeprom interna, ti fidi che i Dot corrections siano tutte a 0x3F?

icio: a parte le resistenze (ed a parte il fatto che per pilotare degli opto non ti serve un driver in corrente costante, ma ho capito che lo ha usato per avere 16 uscite, quindi questo e' ininfluente), io mi riferivo all'uso dell'opto connesso in quel modo ... guarda lo schema, usa un'opto e poi connette il +5V della logica alla parte che regola la corrente del led di potenza, sull'uscita dell'opto, invece di utilizzare il positivo del carico ... la cosa in se non e' molto logica, dato che l'opto serve per isolare il tutto, almeno in teoria :wink:

Una connessione logica dell'opto sarebbe quella di connettere il transistor di uscita sul ramo di alimentazione del carico, ed usare due alimentatori distinti (sezioni isolate galvanicamente, ma li non ne ha bisogno) ... oppure tenere gli opto con un solo alimentatore, ma connettere il transistor al positivo dei carichi, disaccoppiando i due positivi (isolamento parziale e separazione non galvanica, ma comunque funzionante) ... oppure eliminare gli opto, usare dei BC327 e pilotarli dalle uscite con delle resistenze dirette (ma non gli conviene perche' dovrebbe rifare tutto) ... connessi cosi, non hanno senso.

Etemenanki:
EDIT: sullo schema elettrico, l'ho appena notato, non vedo resistenze in serie ai led degli opto, spero che ci siano ... inoltre usare opto in quel modo mi sembra non abbia molto senso, metti l'opto ma poi colleghi il positivo della logica anche al lato transistor, allora che senso ha usare un'optoisolatore ?

Il TLC5940 limita la corrente percui non servono resistenze in serie ai LED/ Optocopler.

Dallo schema non si riesce a capire la frequenza di GSclk , se troppo alta 4n35 non lavora bene

la frequenza GSCLK é almeno 4000 volte maggiore della frequenza PWM delle uscite LED. con un arduino a 16 Mhz arrivi al massimo a ca 1 kHz di PWM ma la libreria che conosco pilota a una frequenza PWm di 100Hz. Entrambe troppo basse per creare problemi al optocoppler.

Non vedo la necessitá della isolazione galvanica tramite gli optocoppler. Al posto del TLC potresti usare un PCA9685 e risparmiarti sia il pilotaggio complicato del TLC che gli optocoppler.
Ci dai il Sketch con cui non Ti funziona il circuito.

Puoi darci la sigla del LED?

Ciao Uwe

uwefed:
... Al posto del TLC potresti usare un PCA9685 ...

Pero', se vuole tenere i finali a mosfet configurati come limitatori di corrente da 350mA per i led di potenza, ha comunque bisogno di pilotarci almeno dei transistor, e con quelle schedine gli toccherebbe modificarle, anche se non molto ...

O tu intendi nel senso di usare l'uscita in totem-pole del 9685 per pilotarci direttamente i regolatori di corrente ? ... in source possono dare al massimo 10mA per uscita, ma probabilmente ricalcolando le resistenze potrebbero essere sufficenti ...

I led a vederli dalla foto sembrano i classici 1W bianchi su dissipatore star, se e' cosi sono dati per 350mA di funzionamento "normale" e 650 di picco sulla maggior parte dei datasheet che ho in giro ...

Ciao a tutti.
Prima di tutto volevo ringraziarivi per i suggerimenti, vi aggiorono sulle ultime cose fatte:

L'isolamento galvanico delle alimentazioni ed il sucessivo filtraggio non ha dato i risultati che ci aspettavamo, il comportamento dei led è ancora "random".
Penso che il pilotaggio dei 4n35 (diodo led controllato in PWM) non vada d'accordo con il generatore di corrente costante cosi' com'è stato progettato, che prevede il pilotaggio diretto da parte di arduino senza l'uso del PWM.
Una delle possibilta' è quella di abbandonare il TLC 5940 ed utilizzare direttamente le porte I/O di arudino (ovviamente aumentandone il numero...questo progetto morira' cosi' =()

Vi allego cmq lo sketch:

    Tlc.clear();


    if (channel == 0) {
      direction = 1;
    } else {
 //     Tlc.set(channel - 1, 500);
 //     Tlc.set(channel - 2, 100);
    }
    Tlc.set(channel, 4095);
    if (channel != NUM_TLCS * 16 - 1) {
 //     Tlc.set(channel + 1, 500);
 //     Tlc.set(channel + 2, 100);
    } else {
      direction = -1;
    }


    Tlc.update();

    delay(75);
  }

Se usi dei LED bianchi da 1W e 350mA hanno una tensione di ca 2,9V che é bassa. I LED bianchi sono a minimo 3,4V. Se togli i 0,7V che devi essere sulla resistenza che legge la corrente allora per la regolazione restano solo 0,9V.
Secondo me quel circuito per corrente costante non funziona con 5V ma Ti serve una tensione di alimentazione piú alta. Dropbox - File Deleted
La rersistenza R3 é troppo bassa. Per mandare in conduzione il transistore BC546 devi avere 0,7 V e percui circolano non 350mA ma 520 mA.

Tutto questo spiegherebbe un malfunzionamento durante l'accensione del LED ma non un accensione casuale dei LED.

Ciao Uwe