ho un problema con il circuito esposto in QUESTO link, a parte lo stadio di alimentazione il circuito restante è del tutto simile, ma ho un problema:
quando il led del segmento X digit Y si accende, si accendono in maniera lieve anche tutti gli altri led dello stesso segmento sugli altri digit. L'immagine seguente espone chiaramente il problema
le ho provate tutte ma il problema persiste sempre.
L'alimentazione consiste in un alimentatore universale settato a 12V (alimentazione dei led attraverso UDN2981) dotato anche di uscita USB a 5V (alimentazione arduino e restanti integrati).
Spero riusciate a darmi una mano perchè finora chiunque abbia sentio non è stato in grado di trovare una soluzione.
uwefed:
Non mi quadra il Tuo circuito con quello del link segnalato. Tu hai una resistenza per ogni LED mentre secondo lo schema.
Ciao Uwe
si hai ragione ma la foto è stata scattata precedentemente alla rimozione della seconda fila di resistenze.
triac60:
Non si capisce niente, facci vedere il tuo schema di montaggio, altrimenti viene difficile darti una mano.
Quello di seguito è il mio attuale circuito di test. Ovviamente il progetto finale prevede più led, ma per risolvere il problema citato nel primo post sto effettuando delle prove con solamente un led per segmento, e due soli digit.
Lo sketch caricato su arduino prevede l'accensione in sequenza di un led alla volta, per 5s ognuno. Ebbene il mio problema, lo ripeto nel caso non si fosse capito, è il seguente: nel momento in cui uno qualsiasi dei led si accende (secondo sequenza), anche i led degli altri digit, che corrispondono allo stesso segmento di quello acceso, si accendono in maniera lieve, quando invece dovrebbero essere totalmente spenti.
dallo schema qui sopra risulta a quanto pare che i led son messi in parallello "SEGA, SEGb" ecc ma fanno capo ad una sola resistenza!! questo non è bene, perchè il led con meno "resistenza" si illumina prima e meglio laltro rimane con poco e si illumina meno!
ogni led una resistenza alemeno che non siano in serie, cosa che non è nel tuo caso!
Martinix:
dallo schema qui sopra risulta a quanto pare che i led son messi in parallello "SEGA, SEGb" ecc ma fanno capo ad una sola resistenza!! questo non è bene, perchè il led con meno "resistenza" si illumina prima e meglio laltro rimane con poco e si illumina meno!
ogni led una resistenza alemeno che non siano in serie, cosa che non è nel tuo caso!
Inizialmente avevo una resistenza per ogni segmento, per ogni digit, ma la cosa non ha senso se il tutto è pilotato in multiplexing. O sbaglio?
quanto detto è quello che si "vede" dal tuo schema... se parliamo di segmenti e disply, sarebbe utile fornire lo schema con il display ;).
in un display solitamente, nel segmento ci con 2 o 3 led in serie (che puoi vedere come uno)
ah ok ora ho capito(avevo inteso il la feccia come massa sorry).... controlla bene allora lingresso del ULN (quello di multiplexing) sembra che uno conduca (poco ma lo fà)
io adirittura proverei a pilotare direttamente il disply con un mosfet (IRL5xx) senza usare tutti quei integrati!
Martinix:
quanto detto è quello che si "vede" dal tuo schema... se parliamo di segmenti e disply, sarebbe utile fornire lo schema con il display ;).
in un display solitamente, nel segmento ci con 2 o 3 led in serie (che puoi vedere come uno)
Non capisco, che si tratti di display piuttosto che di una matrice o di led messi alla rinfusa, il principio di funzionamento è lo stesso, ho dei segmenti (o righe) e dei digit (o colonne), pilotati in multiplexing dal MAX7219.
Forse è passato inosservato il link al progetto originale che ri-allego qui di seguito in chiaro:
Allego anche l'articolo presente sul playground di Arduino riguardante il MAX7219:
controlla ULN2803 (2 line usate, multiplexing) sembra che per qualche motivo conduca, qiondi controlla bene i segnali che lo pilotano e i collegamenti che siano fatti bene)
controlla ULN2803 (2 line usate, multiplexing) sembra che per qualche motivo conduca, qiondi controlla bene i segnali che lo pilotano e i collegamenti che siano fatti bene)
Esatto, escludendo che ci siano ritardi nello switching poichè tutti gli integrati lavorano a frequenze molto superiori agli 800Hz (frequenza di lavoro del MAX7219), l'idea era che gli ingressi del ULN2803 non fossero corretti, ma ho provato sia a cambiare inverters (ho provato con gli integrati CD40106, 74HC04 e 74LS04), sia a porre delle resistenze di pull-down tra gli inverters e l'ULN2803, sia sostituendo l'ULN2803 con ULN2003 o con dei semplici transistor BC338.
Il risultato è stato sempre il medesimo. Aggiungo che il solo MAX7219 con resistenze e led direttamente collegati funziona correttamente, quindi il problema è sicuramente da imputare ai transistor posti sui digit.
Purtroppo mi manca un oscilloscopio per poter fare misure più approfondite (ma di sto passo credo che lo comprerò a breve).