gestione 8 led con max 7219

Buongiorno a tutti dopo un po di tempo riprendo in mano Arduino e
ho realizzato un indicatore di velocita GPS in nodi per barca con visualizzazione su due display a 7 segmenti e funziona bene, progetatto da un radioamatore inglese, vorrei realizzare un display catodo comune, di maggiore dimensioni da sostituire a quello standard per maggiore visibilita da lontano e al sole.
La mia soluzione è 8 led bianchi ad alta luminosità diam 5 mm, V=3.0/3.2 I=20 mA collegati in serie per ogni segmento, per avere un carattere di almeno 10 cm di altezza.
Nelle Basic connection di arduino ho trovato la soluzione con un BC337 per collegare piu led in serie perche il MAX 7219 del progetto allegato non credo sostenga il carico di 8 led per segmento, poi lavorando in multiplexer poca osperienza ho e non cosa accada
Allego lo schema del circuito utilizzato
Grazie della collaborazione
Franco IZ3GGL

Scusate l'imperfezione, gli otto led dovrebbero essere collegati in parallelo o 2 gruppi da 4 perche il sistema deve funzionare a 12 Volt e con 8 led bianchi in serie e difficile che si accendano....
Grazie
Franco

Personalmente manterrei gli 8 led per segmento in serie e prenderei l'alimentazione da un buck converter come questo che converte la tua tensione da 12V a 28-30V. L'assorbimento massimo sarebbe di 20x14=280mA con un assorbimento di circa 8W che sarebbe ampiamente entro i limiti di quel dispositivo (20W, forse cinesi, diciamo 10W). Eviteresti strane configurazioni perché anche con i led 4 a 4 12V sarebbero proprio al limite con difficoltà di pilotaggio.

Ciao,
P.

Grazie pgiagno della tua rapida risposta, avrei un chiarimento che non comprendo, abbiamo 8 led per segmento quindi dovremmo avere 20 mA x 8 sono 160 mA se applico una tensione di 28 volt con il booster
8 led in serie 3,2 volt per led per 8 = 25.6 differenza tra 28 e 25.6 sono 2.4 volt
2,4/ 160 mA applichero una resistenza da 150 ohm.
Avro quindi una dissipazione in potenza di 25,6 x 0.160 = 4 watt
Mi sono incartato?
Il BC 337 e idoneo al tenere il carico ?
Grazie della tua risposta
Franco

Se i led sono in serie saranno attraversati dalla stessa corrente 20mA. Si sommano le correnti solo quando i led sono in parallelo (ATTENZIONE in questo casa va messa una resistenza di caduta per led e non una per tutti i led. Il motivo è che nel caso si dovesse bruciare un led aumenterebbe la corrente sui led restanti provocando una rottura a catena).
Tra le atre cose hai sbagliato il calcolo della resistenza per 160mA la resistenza sarebbe da 15 ohm.
Con 20mA la resistenza da mettere è di 120-150 ohm.

Sì, ti sei incartato.

8 led in serie fanno SEMPRE 20mA. Quindi tu consumi 20mA PER SEGMENTO. Essendo 7x2=14 segmenti tu consumi 14x20mA=280mA IN TOTALE (e AL MASSIMO con TUTTI i segmenti accesi), quindi assorbirai una potenza diciamo di 28x0,28=circa 8Wmax.

Un BC337 per ogni segmento va più che bene.

Per la resistenza in serie AD OGNI SEGMENTO da 8 led ci avevi quasi azzeccato (sbagliando perché 2,4/0,16=15), ma uno 0 in più può sfuggire. La resistenza mettila da 120 Ohm e poi regola la tensione dal buck converter intorno ai 28V in modo da far assorbire 20mA a ciascuna serie di led.

Ciao,
P.

Buonasera nel proseguoe del progetto mi trovo in difficolta per la gestione del catodo comune o uscita del MAX7219 DIG 0
Per pilotare i led funzionanti a 12/28 volt a seconda del numero sono uscito dal pin del primo segmento, resistenza da 2K2 poi in base ad un BC337 , collettore ai led e poi all'alimentazione 12-28 volt.
emettitore a massa. e fino a qui tuto funziona.
Ora mi sono incartato nell collegamento del DIG 0 che dovrebbe mettere a massa l'emettitore, quindi dovrei collegarlo li?,
ma non vorrei danneggiasse il MAX perche lui lavora a 5 Volt, se poi ho ben capito mette a massa (forse) multiplexando per le gestione dei led
Grazie della collaborazione
Franco

Non ho mai usato il MAX7219.

Mi sono letto un po' il datasheet da cui risulta che DIG0 (come uno qualunque degli altri DIGx) è in grado di assorbire AL MASSIMO ASSOLUTO 500 mA, un quarto dei circa 2A che i sette segmenti contemporaneamente accesi cercherebbero di fargli ingoiare.

Sempre leggendo il DS il comportamento del DIG0 è il seguente: digit selezionato = 0V (assorbe corrente); digit NON selezionato = +V (= alimentazione, in genere 5V). Occorre pensare a un circuito che con 0V in ingresso faccia passare verso massa circa 2A e con +5V in ingresso sia interdetto e si comporti come un circuito aperto. Purtroppo non sono molto esperto in questo campo. Penso si possa fare con un mosfet a canale P, ma conviene aspettare l'aiuto di qualcun altro o fare una ricerca sul web.

Ciao,
P.

P.S. Prova a leggere questo : Using the MAX7219/7221 to Drive Higher Vo - Maxim Integrated

Grazie pgiagno della tua celere risposta, in rete ho trovato questa soluzione che però non mi convince molto per la troppa corrente che comunque passa per DIG 0, preferisco attendere qualche soluzione dai vari componenti del forum per la soluzione tensione 0V contatto chiuso a massa e tensione 5V contatto aperto.
Ho circa 150 mA per segmento di assorbimento che moltiplicati per 7 fanno 1 Ampere, comunque resta il problema che ci sono due alimentazioni diverse 5 Volts per il MAX e 12 V per i led
Grazie
Franco
In allegato schema trovato in rete

Buongiorno a tutti,
ho studiato il circuito della Maxim allegato al post precedente figura 2 booster di corrente per tensioni superiori a 10 volt e mi sembra il piu idone all'uso
Nel mio caso ho 12,5 volt corrente 1 amp per tutti e sette i segmenti, tutti accesi
Mi sapete indicare o consigliare quale mosfet P potrei utilizzare?
Grazie
Franco

Scusate lo schema figura 2 lo trovate qui :slight_smile:

https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/1196.html

Per illuminare i segmenti ti consiglierei di usare dei pezzi di strip led con i 2835 (attenzione che NON siano 3528, NON sono uguali) ... per i mosfet, canale N ce ne sono decine di possibili, fra i 30-35A di corrente (corrente piu alta = RdsON piu bassa = minore caduta di tensione e minore dissipazione di calore) ... per i canale P invece e' un po piu difficile, c'e' molta meno scelta ...

Canale N, ad esempio, ci sono i vari IRLR2703, AOY423-ND, e decine di altri simili ... come canale P, si puo provare con i NTD25P03L ... ce ne sono alcuni altri, ma pochini pochini ...

Un'appunto, alcuni dicono di usare i canale N anche per il ramo positivo ... si puo fare, ma io non lo consiglio mai perche' serve una fonte indipendente di alimentazione per pilotare il gate piu alta del positivo, o un convertitorino isolato DC-DC e degli opto ... non e' impossibile, ma ci si complica il circuito e la vita inutilmente, per cui a meno che non sia indispensabile (carichi da un centinaio di Ampere e necessita' di bassissime RdsON), e' sconsigliabile ...

Grazie ragazzi delle preziose informazioni, ho appena realizzato il circuito descritto figura 3 nel link
https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/1196.html
e dopo una serie di tentativi funziona… pero:

se lascio la resistenza da 1K la tensione in uscita dal drive è di 4,5 volt con 12 di ingresso se cambio valore non cambia che di pochissimi milliVolts
se tolgo la resistenza e lasci sconnesso la tensiona sale a 12 volt con tutti i led accesi sale un po la temperatura ma si riesce a tenere il dito sopra
Ho trovato un IRF9610
altro aspetto l’assorbimento totale non supera i 300mA forse perche e in PWM? Non sono pratico
alimentando un segmento normalmente assorbe 150 mA sono 8 i led a segmento a 3 volt bianchi alta luminosita 150 x 7 = 1050 mA
Qualcosa non mi torna chiedo aiuto grazie :o :o
Franco

allego foto del prototipo

Il circuito di figura 3 e' per anodo comune ... tu non parlavi all'inizio di un display a catodo comune ? ... comunque non influisce molto, dato che i display te li fai tu, li colleghi come preferisci alla fine ...

Per avere piu luminosita' e minore assorbimento di corrente, hai considerato le strip che ti suggerivo prima ? ... ad esempio, queste e simili hanno 240 led per metro, collegati a gruppi di 3 in serie, ogni gruppo con la sua resistenza ... oltre a rendere parecchio piu dei normali led tondi, puoi tagliarli ogni 12.5mm ... usando, ad esempio, pezzi composti da 4 sezioni per segmento, avresti segmenti di 50mm di lunghezza, e dato che la strip e' dichiarata per 12W per metro, che a 12V fa 1A per metro di assorbimento, ogni segmento assorbirebbe 50mA (ci sono anche con meno led per metro, se serve meno luminosita', e se i segmenti servono piu lunghi, basta tagliare pezzi con piu di 4 gruppi ... inoltre, potrebbero incrementare la visibilita' in pieno giorno se invece che led bianchi si usassero quelli colorati, in caso di necessita' )

... Il problema al massimo e' che vanno a 12V ... ma basta usare mosfet N pilotati da inverter (o da banali BC337) verso massa, e mosfet canale P pilotati da BC337 verso il positivo ... i BC337 collegati ad emettitore comune, per invertire i segnali di pilotaggio ...

i driver dei catodi (segmenti) vengono collegati a massa quando il segmento e' acceso, per cui serve invertire il segnale per pilotarci il mosfet canale N in modo che colleghi a massa quando acceso ... per gli anodi comuni (intera cifra) che vengono collegati al positivo quando accesi, il mosfet canale P deve essere disaccoppiato dal driver a 5V, dato che piloterebbe i 12V, quindi il BC337 ad emettitore comune, oltre ad invertire il segnale portando il gate del canale P verso GND per accenderlo, separa il ramo a 12V dei led dal driver a 5V impedendo di friggerlo ...

Ciao
Etemenanki
ti ringrazio delle info, avendo però gia realizzato lo chassis in plastica del display per gli 8 led in parallelo con resistenza da 440 ohm per segmento vorrei provare in questa direzione, potrei pero usarlo per la bussola digitale maxi.
Ho realizzato il circuito in fig 2 per pilotare la gestione a massa dei DIG0-1-2 ecc e funziona, quello che non comprendo e che realizzando il circuito per pilotare i segmenti fig 4 il quale funziona ma purtroppo non riesco ad ottenere piu di 4 volt in uscita da BC337, ho provato in 100 modi ma non si riesce a salire in tensione e questo ovviamente a scapito della luminosità, considera che dal MAX escono 1 volt per accendere i segmenti
Di seguito il link della maxiim

https://www.maximintegrated.com/en/design/technical-documents/app-notes/1/1196.html

Grazie
Franco

E' normale avere 4v devi considerare la caduta di tensieone VCEsat.
Per avere una tensione maggiore occorre usare un mosfet.

Si, un mosfet e' meglio, ma da scegliere con la RdsON il piu bassa possibile, se si vuole ridurre la caduta, perche' contrariamente ai transistor, i mosfet funzionano come resistenze variabili ... un transistor in conduzione ha in media una caduta di 0.6V, che cambia poco quando cambia la corrente assorbita dal carico (entro i limiti del transistor ovviamente), e se il carico assorbe 1A o 10A, mettere un transistor che regge ad esempio 10A, e metterne uno che ne regge 100, poco cambia riguardo alla caduta di tensione ...

per i mosfet e' diverso ... il parametro piu importante da considerare quando li si usa come interruttori, e' la RdsON (oltre ovviamente a tensione e corrente massimi, che devono essere superiori a quelli comandati, ma questo vale anche per i transistor :P) ... un mosfet che regga 10A ha tipicamente fra i 140 ed i 180 milliohm, mettiamo ad esempio 160 di media ... con 12V e 1A di carico, provochera' una caduta di tensione di 160mV, dissipando in calore 160mW ... mentre con 10A di carico, la caduta di tensione diventa 1.6V, e la dissipazione 16W (bella differenza, neh ? :wink: ) ... un mosfet da 100A, per contro, ha in media circa 10milliohm di RdsON, alcuni modelli anche meno ... a 10A, provocherebbe una caduta di soli 0.1V, dissipando in calore solo 1W ...

Quindi si puo dire che i mosfet sono la scelta migliore in tre casi ... quando si ha una certa corrente da pilotare (perche' scegliendo opportunamente il tipo di mosfet e' possibile ridurre la caduta e la dissipazione al minimo) ... quando serve per forza minimizzare la caduta di tensione perche' il carico non funzionerebbe correttamente con una eccessiva ... e quando servono commutazioni molto veloci (i mosfet hanno tempi di commutazione parecchio inferiori ai transistor, ovviamente solo se correttamente pilotati)

un mosfet da 100A, per contro, ha in media circa 10milliohm di RdsON, alcuni modelli anche meno ... a 10A, provocherebbe una caduta di soli 0.1V, dissipando in calore solo 1W ...

Tra l'altro i mosfet si possono mettere bellamente in parallelo riducendo ancora la RdsON totale.

i mosfet sono la scelta migliore in tre casi ... quando si ha una certa corrente da pilotare (perche' scegliendo opportunamente il tipo di mosfet e' possibile ridurre la caduta e la dissipazione al minimo) ... quando serve per forza minimizzare la caduta di tensione perche' il carico non funzionerebbe correttamente con una eccessiva ... e quando servono commutazioni molto veloci (i mosfet hanno tempi di commutazione parecchio inferiori ai transistor, ovviamente solo se correttamente pilotati)

...e quando si vuole una corrente di pilotaggio praticamente zero in regime statico, mentre un transistor di potenza a basso guadagno può richiedere sulla base anche un ventesimo della corrente che deve circolare nel collettore (0,5A sprecati per per comandarne 10!)

Grazie ragazzi delle preziose informazioni, sono rimasto tre sere in laboratorio ma alla fine funziona,
adottato la soluzione con bc 337 e ho cambiato il valore delle resistenze dei led, per la parte del catodo comune ho utilizzato un mosfet come da voi consigliato e le indicazioni della maxim.
La soluzione a 8 led non e molto soddisfacente, per la bussola vorrei provare la barra a 240 led metro oppure mi dicono che ne esistono anche con i led praticamente continui, vediamo cosa trovo
Le dimensioni del display sono 19 cm di altezza vedete la foto prototipo allegata
Grazie a tutti per il prezioso aiuto, appena metto in cantiere la bussola ci risentiamo
Franco
IZ3GGL

Striscie led "continue" non ne conosco, ma considera che la 240 led per metro ha 3 led ogni 12.5mm ... considerando la larghezza dei led stessi, e' "quasi-continua" gia di suo :wink:

EDIT: oppure, se vuoi display ancora piu grandi, potresti usare questi per farci i segmenti (assorbono circa 500mA l'uno a 12V, meno se si riduce un po la tensione) ... pero' poi ti ritrovi con cifre alte quasi 30cm :stuck_out_tongue: :smiley: