Pages: [1]   Go Down
Author Topic: 6 display a 4 cifre  (Read 665 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, devo collegare ad arduino (per ora) 6 display a 4 cifre, per un totale di 24 cifre.
Avevo pensato di usare 3 max7219. Due cose non mi sono chiare:

- con che frequenza arduino riuscirà a gestire i max7219. Esiste un modo per calcolarlo considerando anche che in futuro potrei arrivare a dover gestire molti più max7219 ? Cioè posso incorrere in problemi di lentezza nel refresh dei led ?

- con i 3 max7219, avrò molto probabilmente 3 cifre delle 24 totali accese contemporaneamente, e calcolado che ognuna può assorbire fino a 400mA, avrò bisogno di 1200mA. In che modo dovrò alimentare arduino ? Basta utilizzare un alimentatore esterno ? E se dovessi aver bisogno di 3000mA, rischio di bruciare qualcosa ? C'è un limite di mA che posso fornire ad arduino ?

Grazie


Logged

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

L' interfaccia del MAX7219 funziona fino a 10MHz. Devi trasmettere 8 Byte per un refresh. Se lo colleghi al SPi con 1/2 clock ci metti un centinaio di µS per tutte 24 Cifre.

Come arrivi a 400mA?

Ciao Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Come arrivi a 400mA?

Bhe si in effetti meno di 400. Ho letto che un segmento può assorbire dai 20 ai 30mA quindi x8 = 160, 240mA.
Collegando le 24 cifre più una 20ina di led vari, da dove prendo la corrente per alimentare il tutto ? Dal pin dei +5v? O la prendo  direttamente dall'alimentatore ?
Logged

Italy (Venice)
Offline Offline
Edison Member
*
Karma: 22
Posts: 1262
Quello che non c'è non si può rompere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Molti pensano che il multiplexing di 20 - 30 cifre BCD carichi molto il mc a motivo del rinfresco ma in realtà il carico è piuttosto basso

esempio: 
24 display led anodo comune, basso consumo,
4 shift register esterni tipo 4094 , 3 sono usati come selezione cifra sul anodo comune  mediante 3 udn2981  e il quarto usato come valore cifre mediante uln2803 + 8 resistenze in modo da avere massimo 30 mA per ogni segmento,  in totale sul micro si usano 3 pin  :  ck, data e strobe

ciclo di scansione  in interrupt =   ogni 800usec circa  che corrisponde a 50hz di rinfresco totale
tempo di caricamento 32 bit in 4 shift register esterni a circa 1Mbit di ck = 40usec

-mc_duty (carico del microcontrollore)= 40/800 = 5%  , restano liberi per altre cose il 95% del tempo
-consumo totale 24 cifre = 240mA quando tutti i 192 segmenti accesi (compresi i punti decimali)
-impiego di un timer hardware a 8 bit impostato come periodic timer,  che è possibile utilizzare anche come RTC per il sistema
Logged

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

ciao icio
Sei partito.
La partenza sono 3 MAX7219.

Il MAX7219 fa il multiplexing 1 di 8 cifre a 7 segmenti. se non devono essere leggibili alla luce del sole puoi pilotare i display tra 5 e 10 mA. Visto che al massimo sono accesi sempre solo 8 (7 segmenti e punto decimale se usato) arrrivi a 40 a 80mA. Per tre sono allora 120 a 240mA per tutti i display.
La USB puó dare 500mA e percui hai tra 400 e 450 mA a disposizine per i LEd. Se non basta devi aliemntare i MAX7219 e i rispettivi LED con un aliemtnatore 5V esterno. Collega le masse.
Ciao Uwe
Logged

Offline Offline
God Member
*****
Karma: 8
Posts: 691
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, devo collegare ad arduino (per ora) 6 display a 4 cifre, per un totale di 24 cifre.
Avevo pensato di usare 3 max7219. Due cose non mi sono chiare:

- con che frequenza arduino riuscirà a gestire i max7219. Esiste un modo per calcolarlo considerando anche che in futuro potrei arrivare a dover gestire molti più max7219 ? Cioè posso incorrere in problemi di lentezza nel refresh dei led ?
Grazie

forse c'è  una terza cosa che non ti è chiara  smiley-twist  il max 7219 fa tutto lui   è come "se fosse" un lcd,
gli spedisci il dato da visualizzare e te lo visualizza fino a che non ne invii un altro diverso,
non vedo l'utilità di inviare un dato con una frequenza talmente alta che l'occhio fatica a vedere/distinguere,
« Last Edit: November 04, 2013, 12:06:04 am by gingardu » Logged


Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Italy (Venice)
Offline Offline
Edison Member
*
Karma: 22
Posts: 1262
Quello che non c'è non si può rompere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sono d'accodo con te uwefed, era solo una svisata smiley-grin
Logged

Offline Offline
God Member
*****
Karma: 8
Posts: 691
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Molti pensano che il multiplexing di 20 - 30 cifre BCD carichi molto il mc a motivo del rinfresco ma in realtà il carico è piuttosto basso
mah...  (secondo me)  ti sbagli    se fai multiplexing (vero)  devi dare  una pausa tra una cifra e l'altra
   e se ti abbassi troppo vedi una ciofeca

e se il micro deve fare anche qualcos'altro che prende più tempo di 10   millis ()  la visualizzazione  peggiora,
se usi interrupt  nello sketch non ne parliamo nemmeno

Logged


Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Italy (Venice)
Offline Offline
Edison Member
*
Karma: 22
Posts: 1262
Quello che non c'è non si può rompere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

convinto te gingardu convinti tutti
Logged

Offline Offline
God Member
*****
Karma: 8
Posts: 691
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

convinto te gingardu convinti tutti

ci mancherebbe ... lungi da me convincere qualcuno...  quello che dico me l'ha insegnato la (non molta)  pratica che ho fatto,
e che progetti campati in aria (solo scrivere lo sketch)  con la ferma convinzione che funzionano davvero c'è ne una marea,
ne ho fatti pure  un paio,   fortunatamente solo 2-3 di settimane di tempo libero perso  smiley-cry  ,
ho anche cercato di farli funzionare collegando dopo l'hardware smiley-confuse

poi magari abbiamo idee diverse sul  significato di multiplex   e alla fine hai ragione tu

 
« Last Edit: November 04, 2013, 10:52:12 am by gingardu » Logged


Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Italy (Venice)
Offline Offline
Edison Member
*
Karma: 22
Posts: 1262
Quello che non c'è non si può rompere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Adesso si ragiona gingardu, 

Questo video che ho fatto una decina di anni fà mostra un display (fino a 22 cifre) con un'aggiornamento di 9000 volte al secondo che corrisponde passi / secondo degli stepper, comunque posso aggoirnarlo fino a 35.000 volte al secondo senza sfarfallamenti

http://www.procommel.altervista.org/download/vpcb.3gp

è tutto in multiplexer con un unico processore motorola 68hc705p6  otp programmato in assembler, con una velocità 4 volte meno di arduino

Se ti leggi attentamente  il mio messaggio precedente capirai come si fà

Io però non uso il compilatore arduino , uso AVRSTUDIO + WinAVR e le librerie me le costruisco tutte da me,  ogni tanto uso una scheda arduino ma solo la scheda , non uso una sola riga di codice di arduino
Logged

Pages: [1]   Go Up
Jump to: