Pages: [1]   Go Down
Author Topic: Pilotaggio di grandi display 7 segmenti con MAX7219  (Read 1856 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buongiorno a tutti,

ho intenzione di costruire un pannello segnapunti composto da n.3 cifre a 7 segmenti alte almeno 20cm, indipendentemente dalla composizione delle cifre in termini di led 5mm, vorrei proporvi lo schema che avevo pensato per il pilotaggio tramite l'interfaccia seriale di arduino. Tale soluzione dovrebbe essere valida anche per la regolazione della luminosità dei display tramite tecnica pwm. I valori di transistor e resistenze saranno scelti in funzione della configurazione dei led che sceglierò di adottare (sto studiando vari siti internet per capire come funziona un NPN in saturazione e come calcolare la resistenza di saturazione).

Pensate sia una buona idea o ci sono soluzioni migliori?


* schema.jpg (54.78 KB, 1197x528 - viewed 82 times.)
« Last Edit: January 08, 2013, 01:56:15 pm by f_giorgio » Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 66
Posts: 1944
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

BuonGiorno anche a te.

Non mi pare che il MAX7219, sia pilotabile in PWM.... anzi, non lo e' proprio, dato che gestisce i display in mutliplexing.
Poi c'e' un errore sul transistor collegato alla linea DIGIT. Li' hai un livello logico LOW quando viene pilotato il digit interessato ( il MAX7219 vuole display a Catodo comune ) e se metti un solo NPN condurra' quando dovrebbe essere spento.

poi c'e' questa cosa che non ho capito
Quote
vorrei proporvi lo schema che avevo pensato per il pilotaggio tramite l'interfaccia seriale di arduino
il MAX7219 Serially Interfaced, 8-Digit LED Display Drivers, non e' che va' colllegato alle line Rx e Tx , ma forse ti riferivi al poter gestire il display, attraverso la seriale di Arduino collegata a un PC.

Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie per essere intervenuto, seguo passo passo le tue indicazioni:

Non mi pare che il MAX7219, sia pilotabile in PWM.... anzi, non lo e' proprio, dato che gestisce i display in mutliplexing.
Io pensavo che la luminosità fosse gestita tramite pwm, se non è possibile con quale tecnica viene regolata la luminosità da questa libreria (vedi il video)
http://www.icanmakeit.de/2012/06/20/icmi-max7219-arduino-library/

Poi c'e' un errore sul transistor collegato alla linea DIGIT. Li' hai un livello logico LOW quando viene pilotato il digit interessato ( il MAX7219 vuole display a Catodo comune ) e se metti un solo NPN condurra' quando dovrebbe essere spento.
Hai ragione, sorry, errore mio nel disegnare il circuito. Dovrei sostituirlo con un PNP giusto?

il MAX7219 Serially Interfaced, 8-Digit LED Display Drivers, non e' che va' colllegato alle line Rx e Tx , ma forse ti riferivi al poter gestire il display, attraverso la seriale di Arduino collegata a un PC.
Io avevo pensato collegare i piedini DIN CLK e LOAD del MAX7219 a tre qualsiasi output pwm dell'arduino .... ma a parte questo, ora mi è sorto un dubbio. Che differenza ce tra un output PWM e la linea Rx/Tx?

edit: all'ultima domanda credo di potermi rispondere da solo in quanto Rx e Tx utilizzano il protocollo UART che non è la stessa cosa di un semplice I/O pwm.
« Last Edit: December 26, 2012, 01:26:15 pm by f_giorgio » Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 66
Posts: 1944
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Io pensavo che la luminosità fosse gestita tramite pwm, se non è possibile con quale tecnica viene regolata la luminosità da questa libreria (vedi il video)
In effetti c'e' una regolazione in PWM della luminosita', ma gestita direttamente dal chip e non con un pin PWM di arduino, bensi' scrivendo in un registro del chip il valore ( da 0 a 15 ) di riduzione rispetto alla limitazione di corrente data dalla scelta della resistenza di carico.
In genere a gestirla c'e' un apposito comando della libreria

Quote
Hai ragione, sorry, errore mio nel disegnare il circuito. Dovrei sostituirlo con un PNP giusto?
Anche. Ma sulla linea di alimentazione positiva, non sulla massa

Quote
Io avevo pensato collegare i piedini DIN CLK e LOAD del MAX7219 a tre qualsiasi output pwm dell'arduino .
Non ti servono specificatamente dei Pin PWM, ma dei qualsiasi Pin.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve, in questi giorni mi sono arrivati i led e ho potuto fare una prova di un digit per verificarne l'intensità luminosa, configurando i led in serie-parallelo come previsto.
Ora rispetto allo schema iniziale ho sostituito i BJT con dei MOSFET, pilotati dal MAX7219, e mi trovo a dover scegliere quale modello adottare.

Mi serviranno dei MOSFET N per i singoli segmenti, e dei MOSFET P per ogni digit. In giro ho letto che per il mio scopo mi serviranno dei MOSFET Logic Level, ma mentre di tipo N son riuscito a trovarne (vedi NTD5867NL), per il tipo P non sono riuscito a trovare niente negli store online. Avete qualche suggerimento?
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 250
Posts: 21215
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non mi pare che il MAX7219, sia pilotabile in PWM.... anzi, non lo e' proprio, dato che gestisce i display in mutliplexing.
Io pensavo che la luminosità fosse gestita tramite pwm, se non è possibile con quale tecnica viene regolata la luminosità da questa libreria (vedi il video)
http://www.icanmakeit.de/2012/06/20/icmi-max7219-arduino-library/
nel link da Te citato é scritto:
Quote
The MAX7219 offers a built-in brightness control for the display with a 16 step resolution. This method allows you to set the brightness level for the display and accepts value from 1 (darkest) to 16 (brightest).

Condivido l' idea di brunello che non é sensato aggiungere transistori.

Ciao Uwe
« Last Edit: January 08, 2013, 03:23:18 pm by uwefed » Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non mi pare che il MAX7219, sia pilotabile in PWM.... anzi, non lo e' proprio, dato che gestisce i display in mutliplexing.
Io pensavo che la luminosità fosse gestita tramite pwm, se non è possibile con quale tecnica viene regolata la luminosità da questa libreria (vedi il video)
http://www.icanmakeit.de/2012/06/20/icmi-max7219-arduino-library/
nel link da TE citato é scritto:
T
Quote
he MAX7219 offers a built-in brightness control for the display with a 16 step resolution. This method allows you to set the brightness level for the display and accepts value from 1 (darkest) to 16 (brightest).
Ciao Uwe

Si ti ringrazio, questa cosa è stata confermata, si era solo creato un fraintendimento sul modo in cui fosse gestita la luminosità, ma la cosa importante è che sia fattibile.

Ora il problema sono i MOSFET che gestiscono le serie di LED a partire dal MAX7219. Per i segmenti una soluzione potrebbe essere il seguente MOSFET N Logic Level

https://www.sparkfun.com/products/10213

mentre il MOSFET P che gestisce i digit non son riuscito a trovarlo Logic Level, pertanto sono in cerca di soluzioni.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora, ho letto diverse cose sui mosfet sia su internet che su un libro di elettronica. A volte mi son trovato di fronte anche a informazioni discordanti, tuttavia cerco di fare un ragionamento che spero vogliate correggere se sbagliato.

Prendiamo un MOSFET N Channel e lo polarizziamo come previsto nel progetto. I normali mosfet hanno una Vth massima di 4V, quindi teoricamente potrei applicare una Vgs di 4.5 V o 5 V e il mosfet dovrebbe accendersi con una Id che possiamo valutare dal datasheet. Proprio perché con mosfet generici e Vgs "logiche" la Id disponibile è bassa (anche se forse per il mio scopo, cioè max 150mA, potrei farcela ) scegliamo di adottare dei Mosfet Logic Level, con Vth massima di 2V, capace di accendersi già con 3.3V e con Id già di diversi Ampere.



Per non mettere troppa carne sul fuoco, prima di procedere sul ragionamento sui MOSFET P, vorrei sapere se quanto detto finora è corretto. Vi ringrazio per l'aiuto datomi fin'ora.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 66
Posts: 1944
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma perche' vuoi usare dei MOSFET ?

Non ho ben capito quanti led avrai per segmento, neppure se li alimenti a 12V o 24V, ma non mi pare che ci sia bisogno di cosi' tanta corrente per scomodare un MOSFET .
un ULN2003 basta e avanza per pilotare i segmenti.
Ci gestisci i sette segmenti e ti costa pure meno di un solo MOSFET
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non sono un esperto di elettronica, determinati componenti se non li trovo in qualche ricerca o se non me li indica qualcuno sono del tutto a me sconosciuti.
Inizialmente avevo pensato a dei BJT, poi un amico mi ha fatto notare che i MOSFET non consumano corrente e sono più facili da implementare per un neofita.

Venendo ai segmenti, ognuno è composto da due serie da 9 led (quindi 18 led in totale), e i led consumano 18mA, quindi 36mA per segmento, il tutto alimentato a 24V.
Nel display, però, la situazione peggiore che dovrò gestire (allo stesso modo dei digit) sarà 8 serie da 8 led, quindi 8x18=144mA.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho rivisto completamente lo schema del mio progetto grazie al consiglio di brunello, ora dovrei avere diversi mA di consumo in più, ma a fronte di un risparmio sulla spesa economica notevole.

Edit: Piccola distrazione, il ULN2003 in basso in realtà è un UDN2981.


* 758e0cd3b5b4fc149260a25b1502f7378fafb794_3.png (136.44 KB, 4149x2250 - viewed 54 times.)
« Last Edit: January 10, 2013, 06:48:10 pm by f_giorgio » Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 66
Posts: 1944
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ho rivisto completamente lo schema del mio progetto grazie al consiglio di brunello, ora dovrei avere diversi mA di consumo in più, ma a fronte di un risparmio sulla spesa economica notevole.

Perche' mA in piu'.. ?
il Max7219 gestisce il tutto in multiplexing, quindi al massimo avrai il consumo di una cifra.
Non e' che se usavi dei Mosfet ci potevi mettere il bollino "Green Energy"

Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
il Max7219 gestisce il tutto in multiplexing, quindi al massimo avrai il consumo di una cifra.

 smiley-eek Quanto hai ragione .... ero talmente concentrato su ciò che seguiva il MAX7219 che mi ero proprio dimenticato di questo particolare.

Quote
Non e' che se usavi dei Mosfet ci potevi mettere il bollino "Green Energy"

Si il discorso nasce dal fatto che un amico mi consigliava dei mosfet per il consumo di corrente praticamente nullo rispetto agli iniziali BJT previsti, considerando la cosa conveniente visto che all'inizio il progetto doveva essere alimentato a batteria (e forse lo sarà in un secondo momento). Non so quanto questo sia vero nella realtà perchè non sono un esperto però facendo due conti con tutti i soldi che avrei speso x i mosfet potrei comprare delle eventuali batterie piu grandi. Quindi il gioco non valeva la candela alla fine.
Logged

Pages: [1]   Go Up
Jump to: