Problema con MAX7219

Buongiorno a tutti, mi trovo a dover testare il circuito in figura con l'intento di pilotare in multiplexing dei led (singoli nel test ma in serie nel progetto reale), attraverso un MAX7219 e dei darlington per poter alimentarli con 12V. Per poter effettuare la prova ho utilizzato QUESTA libreria con il relativo script di esempio, visibile anche nel video.

Il tutto sembra funzionare correttamente ma in alcuni passaggi i led che dovrebbero essere completamente spenti si accedono leggermente, forse è il caso che vediate con i vostri occhi il problema:

VIDEO

Grazie a chi mi darà una mano per risolvere l'inconveniente.

Francesco

Perché usi l'accoppiata tra UDN2981 e CD40106 e non 4 transistor?

Perchè mi trovo a gestire i led in anodo comune, mentre il max7219 è pensato x gestirli in catodo comune.

Vorrei segnalare che il problema credo sia dovuto proprio alla sezione di alimentazione dei led, quindi alla catena MAX7219-CD40106-UDN2981, infatti se metto gli ingressi del CD40106 a massa il problema scompare.

Anche io sto pilotando dei display a anodo comune da 24V.

--> http://arduino.cc/forum/index.php/topic,155561.0.html

il video è ora disponibile, lo reinserisco qui per comodità, il problema è abbastanza visibile.

Hai messo i due condensatori sull'alimentazione del max7219?
Avevo il tuo stesso problema e ho risolto aumentando la capacità dell'elettrolitico; nello schema del playground è da 10uF e l'ho messo da 220uF. Il problema è sparito.
L'altro condensatore va bene da 100nF,
Mettili più vicini che puoi ai pin dell'integrato e vedrai che il problema scompare

No non li avevo messi, ma ho provveduto a inserirli come mi hai detto, nessun miglioramento purtroppo =(

Per i led ad anodo comune esiste il TCL5940, completo di libreria.
https://code.google.com/p/tlc5940arduino/

leo72:
Per i led ad anodo comune esiste il TCL5940, completo di libreria.
Google Code Archive - Long-term storage for Google Code Project Hosting.

si ma ho già comprato i chip, non mi va di spendere altri soldi e attendere altro tempo, di per se il tutto funziona, l'unico problema sono questi led che si accendono lievemente quando non dovrebbero.

Ho fatto una prova, lasciando il circuito così com'è ho aggiunto due resistenze da 550ohm rispettivamente dal pin OUT1 del UDN2981 a massa e dal pin OUT2 a massa. Cosi facendo ho risolto il problema ma solo sulla fila di led collegata al OUT2. Infatti sulla fila di led collegata all'OUT1 il problema persiste nonostante il collegamento simile all'OUT2.

Le resistenze ( da 1 K ) non le metterei all'OUT del UDN2981, ma tra le uscite DIG0 e DIG1 ( del MAX7219) e massa

o da provare tra le uscite del 40106 ( e il UDN2981 ) e massa

Servono a spegnere piu' velocemente il darlington alla fine del ciclo di multiplexing

brunello:
Le resistenze ( da 1 K ) non le metterei all'OUT del UDN2981, ma tra le uscite DIG0 e DIG1 ( del MAX7219) e massa

Provato, non succede nulla, il problema persiste.

brunello:
o da provare tra le uscite del 40106 ( e il UDN2981 ) e massa

uscite 40106: non succede nulla, il problema persiste.
uscite UDN2981: problema risolto solo sull'OUT2. Quindi una delle due serie di 7 led (sempre quella sull'OUT1 indipendentemente dal collegamento) continua a presentare il problema nonostante la resistenza di pull-down.

EDIT: confermo che il problema nell'ultima configurazione permane costantemente sulla prima delle serie collegate in ordine, infatti se stacco la prima serie, il problema che precedentemente era sparito sulla seconda si sposta su quest'ultima ...

Ho provato a invertire l' ULN2003 e l'UDN2981 in modo da passare dalla configurazione ad anodo comune a quella a catodo comune, il problema rimane invariato.

Ho ri-provato la configurazione col solo MAX7219 e mi sono accorto che i led che dovrebbero essere spenti rimangono impercettibilmente accesi, a questo punto mi verrebbe da pensare che il problema sia del MAX7219 accentuato dal fatto di usare i 12V. Ho anche provato due max7219 diversi con lo stesso risultato.