Arduino Forum

International => Italiano => Hardware => Topic started by: toti94 on Apr 06, 2013, 05:03 pm

Title: [RISOLTO]Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 06, 2013, 05:03 pm
Salve ragazzi, per la tesina dell'esame di stato alla fine ho decios di portare un cubo led comandato tramite un sito in php.
Mi sapreste dire, o mandare il link, quali componenti servono per un cubo led 5x5x5?
inoltre sapreste dirmi a cosa serve ogni eventuale singolo componente? (naturalmente non i led e le resistenze perchè so a cosa servono xD)
ve lo chiedo per dovendo spiegare al professore tutto il circuito, non posso seguire le guide che ho trovato sul web dove a stento dicono i componenti necessari.
Grazie mille per l'attenzione
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: uwefed on Apr 06, 2013, 05:38 pm
Per spiegare al professore non serve che Ti spieghiamo, ma che Tu capisca la cosa. Senó Ti va come quello che in inghilterra mangia la mattina sempre pannini con il burro.
Ciao Uwe
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 06, 2013, 05:45 pm
si ma per capire la cosa, devo leggerla da qualche parte prima XD
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: uwefed on Apr 06, 2013, 09:18 pm
Si puó organizzare elettricamente il cubo come una matrice di LED dove i LED sono organizzati per esempio: LED di un strato x i strati.
Nel caso di un 5x5x5 hai una matrice 25x5 che viene multiplexata.

A secondo della scelta di voler collegare gli anodi o i catodi in comune su un strato si deve scegliere gli integrati per pilotarli.

Se si usa dei transistori per pilotare i strati é meglio usare dei NPN che pilotano i catodi a massa. Questi Transitori devono reggere 25 volte la corrente di un singolo LED. Visto che non é necessario avere la massima luminositá puoi scegliere la corrente del singolo LED a 5 o 10mA.
Se usi degli integrati puoi usare dei ULN2803 per i catodi comuni o dei A2981 per gli anodi comuni.

Gli anodi singoli (nel caso dei catodi comuni) senó catodi devono avere ognuno la suo resistenza per limitare la corrnete.
Per avere abbastanza uscite (e corrente) puoi usare dei Shiftregister per esempio 74HC595 (per correneti basse) oppure dei Port Extender con interfaccia I2C oppure SPI (per esempio MCP23017 oppure MCP23S17).

Ciao Uwe
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 07, 2013, 12:27 pm
Solo un suggerimento  ... vero, si possono usare degli HC574 o simili con delle resistenze, ma in questo modo la corrente e' comunque limitata ...

Invece usando integrati diversi, come ad esempio il DM135 http://www.daleschroeder.com/Ebay_Sales/DM135B/DM135B.pdf , oppure M66310 http://www.datasheetcatalog.org/datasheet/MitsubishiElectricCorporation/mXusttw.pdf , o CAT4016 http://www.onsemi.com/pub_link/Collateral/CAT4016-D.PDF . oppure STP16DP05 http://datasheets.picprojects.org/stp16dp05.pdf , o anche altri simili, che oltre ad avere all'interno gia sia lo shift register che il latch, hanno anche le uscite in corrente per pilotare i led, si possono ottenere risultati migliori ...

Oltretutto i vecchi DM135 li vendono a poco prezzo su ebay, il che non guasta ;)


EDIT: solo a titolo di informazione ... se pensate che quelli che vogliono costruirsi un cubo da 8x8x8 siano esagerati, date un'occhiata a questo ...

http://www.youtube.com/watch?feature=player_embedded&v=f1YNyQqbiF0

:smiley-eek: :smiley-eek: :smiley-eek: :smiley-eek: :smiley-eek: 32768 LED RGB !!!!!!!  :smiley-eek: :smiley-eek: :smiley-eek: :smiley-eek: :smiley-eek:
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 07, 2013, 04:52 pm
Il problema è che nn ho idea di come funzioni il DM135 :\, mente lo shift register forse è più semplice da spiegare,
ma i componenti da comprare, oltre ai 64 led (ho cambiato idea xD ho scelto di farlo 4x4x4), quanti shift register o DM135 mi servono? quanti npn? come si collegano?
Insomma non so particamente come mettere mano xD
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 07, 2013, 05:22 pm
Be', ogni shift register/driver pilota 16 led, quindi in teoria per un 4x4x4 te ne serve uno ... a quello vanno connesse le "colonne" di led ... poi ogni "strato" ha le sue linee di pilotaggio (comunque i chip migliori sembrano essere i CAT4016 e gli STP16DP05).

La configurazione piu usata (e credo piu semplice da pilotare, ma qui lascio la parola agli esperti in software :P ) e' quella in cui ogni strato ha un pin del led in comune (di solito usano l'anodo, con quei chip), e poi ogni "colonna" di led risultanti dalla sovrapposizione degli strati ha il catodo in comune connesso ad una delle uscite dello shift/driver ... cosi in pratica lo pilotano multiplexando gli strati, con dei transistor PNP ... ad esempio, mandando tutta la sequenza dei led on ed off del primo strato nello shift, latchando, poi accendendo il primo strato, poi mandando tutta la sequenza del secondo strato nello shift (intanto il primo rimane acceso perche latchato), poi spegni il primo, latchi ed accendi il secondo ... e cosi via (non ho idea cosa comporti in fatto di codice, ma a livello hardware sembrerebbe il sistema piu semplice).

In questo modo, ogni strato puo essere pilotato da un segnale (un pin di uscita), mentre ogni colonna da una delle uscite dello shift/driver ... quindi, se usi 4x4x4, cioe' 16 colonne, ti basta uno shift/driver ... se usi 5x5x5, cioe' 25 colonne, te ne servono 2 ... per 6x6x6, te ne servono 3 (be, 2 ed un quarto, ma non si puo tagliare via il resto :P :D) ... 7x7x7 diventano 4 (49 colonne ... un chip per una colonna sola :P) ... 8x8x8 sempre 4 (64 colonne) ... e cosi via ...

EDIT: tempo fa avevo abbozzato uno schema in eagle perr la connessione dei led (non per arduino, pensavo di usare un sistema diverso, ma poi non ne ho piu fatto nulla per mancanza di tempo) ... se lo ritrovo lo modifico per il 4x4x4 e te lo posto.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: brunello22 on Apr 07, 2013, 05:29 pm
il modo piu' semplice per fare un 4x4x4 e' usare un MAX7219, che gestisce da solo 64 led in multiplexer
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 07, 2013, 05:48 pm
Quindi la soluzione più semplice (per l'hardware) sarebbe il MAX7219, così che avrei bisogno di un solo componente e le spiegazioni difficili sarebbero di meno xD
Ma dal punto di vista software, come lo si usa assieme ad arduino?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 07, 2013, 06:52 pm
Non lo trovavo piu cosi l'ho ridisegnato :P

http://www.freeimagehosting.net/8888m

Non fare caso ai pin dell'IC, non c'e' il componente cosi ho usato un diverso IC ... serve solo per dare l'idea di come collegare i led.

Il max7219 puo andare bene per un cubo 4x4x4, ma se vuoi usare diverse configurazioni, devi connetterlo in questo modo.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 07, 2013, 08:13 pm
quindi tutti i catodi di ogni colonna vanno sui pin dell' IC, mentre gli anodi tutti sul'uscita npn giusto?
oltre a questi componenti (led,npn e IC) non ci vogliono resistenze? o condensatori richiesti dal circuito dell' IC o altro?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 08, 2013, 09:37 am
Si, altri componenti servono, questo era solo riferito alla parte delle connessioni dei led (a proposito, i nomi strani che ho dato ai led derivano dalla loro posizione ... L e' layer, strato, R e' row, riga, C e' column, colonna ... quindi ad esempio, L1R1C1 e' primo strato, prima riga, prima colonna, e cosi via )

Le resistenze sui led pero' con questo tipo di shift/drivers non servono, perche' i controlli di corrente sono gia integrati nelle uscite dei chip ... e la corrente viene impostata usando una sola resistenza per ogni chip ... ad esempio l'STP ti da al massimi 100mA, ma per i led ne servono molto meno, i led da 5mm hanno quasi tutti una corrente massima di 20mA ... se ci metti una resistenza da 240 ohm, ti da sui 14 / 15 ma, che e' piu che sufficente.

Inoltre, oltre ad avere il vantaggio di risparmiarti 64 resistenze, c'e' anche un'altro vantaggio ... la possibilita', ad esempio, di cambiare la luminosita' di tutti i led assieme mettendo semplicemente un'altra resistenza in parallelo alla prima con in'interruttore, o un'altro sistema simile ;)

Non ho disegnato il resto del circuito perche', come ho detto, quell'integrato NON e' lo shift/driver, il footprint di quello giusto per eagle non l'ho trovato, e non avevo il tempo di creade un nuovo footprint, quindi ne ho usato uno che avesse lo stesso numero di pin e le stesse 16 uscite ... quindi NON USARE quei numeri di pin, sostituiscili con quelli giusti che ci sono sul datasheet.

Sulle basi dei transistor ci vanno due resistenze cadauno, una che dalla base va al positivo (100K), e l'altra che dalla base va al pin di uscita dell'arduino (10K e' sufficente), ed ovviamente essendo PNP, un'uscita a 0 dell'arduino li accende, ed un'uscita ad 1 li spegne.

Ovviamente questo vale se usi la stessa linea a 5V per pilotare anche i led ... se usi un diverso sistema per alimentare i led, e' meglio disaccoppiarli con un'altro transistor usato in collettore aperto, o qualsiasi altro sistema tu preferisca (ULN, opto, ecc)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 17, 2013, 05:58 pm
scusate ho avuto da fare con la scuola.
Comunque venerdì andrò a comprare/ordinare i coponenti.
In sostanza quali componenti mi servono? ancora nn l'ho capito XD scusate l'ignoranza.
Io vorrei pilotare il cubo con arduino, ho visto che pe ril cubo 4x4x4 si puo fare anche solo con arduino.
mi potreste fare la lista dei componenti?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 19, 2013, 12:55 pm
up
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 19, 2013, 01:29 pm
Il problema non e' pilotare il cubo, e' la fluidita' di visualizzazione ed il fatto che durante i "cambi di stato" avresti piu led accesi di quello che vorresti ... e' questo il motivo per cui si usano dei drivers/shiftregister con le uscite a latch.

Mi spiego, per il semplice pilotaggio ti basterebbero 16 transistor NPN (o ancora meglio un paio di ULN2803) e 4 transistor PNP, piu ovviamente le resistenze adeguate ... ma in quel modo, ogni volta che cambi un "frame", avresti i led corrispondenti che cambiano in momenti diversi, o flickerano, o si accendono a coppie invece che da soli, e cosi via ... il latch delle uscite serve proprio per evitare quello, la sequenza e' la seguente:

Frame caricato, latch abilitato, led accesi ---> cambio dei registri dei latch/drivers (i led non cambiano, sono latchati, e rimangono accesi sui registri memorizzati durante tutto il tempo di aggiornamento dei nuovi valori)) ---> spegnimento dei led, impulso di latch (tutti i registri cambiano assieme), riaccensione dei led (tutta questa sequenza dura pochi microsecondi, quindi spegnimento e riaccensione non sono visibili come eventi disgiunti, e l'effetto ottico e' che tutti i led simultaneamente cambiano posizione dalle vecchie alle nuove) ---> ecc. per tutti gli altri frame

Inoltre, dato che lo scopo e' didattico, puoi inserire nella trattazione anche questo aspetto, cosi sembrera' che ti sia dato piu da fare ;) :D
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 19, 2013, 01:48 pm
Etemenanki direi che mi hai convinto ahah xD mi piace la tua idea :)
Ma poi mi chiedo, con arduino è possibile pilotare questo integrato?
posso chiederti un ulteriore favore?
potresti scrivermi le sigle dei componenti da acquistare?
Grazie mille per l'aiuto
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 19, 2013, 04:30 pm
I componenti dipendono dal tipo di realizzazione che vuoi fare, quindi prima decidi quella ... a proposito, il cubo vero e proprio lo hai gia costruito ? ... se no, qui ci sono alcuni utili suggerimenti sull'assemblaggio dei led, per costruirlo in modo che sembri effettivamente un cubo, e non una scultura astratta n-dimensionale :P :D (e' per l'8x8x8, quindi appare molto piu incasinato, ma i suggerimenti su misure e tecniche di piegatura e saldatura sono validi lo stesso) http://www.instructables.com/id/Come-costruire-un-led-cube-8x8x8/

Una volta realizzato quello, se vuoi pilotarlo direttamente con arduino senza gli shift register, ti servono 2 ULN2803, 4 transistor BC327, un po di resistenze assortite, un'alimentatore esterno da almeno un paio di ampere (meglio alimentare i led indipendentemente da arduino), un po di fili, e TAAAAAAANTA pazienza ... ah, gia, quella non la vendono :P :D ...

Se invece vuoi usare lo shift/driver, al posto dei due ULN ti serve uno di quegli shift/driver (hanno 16 uscite, quindi uno basta), devi vedere se trovi piu facilmente il CAT4016 oppure l'STP16DP05 in formato DIP (perche' suppongo tu non voglia metterti a lavorare con gli SMD, giusto ? ;) ) ... con questo, non servono le resistenze su tutti i led, perche' la corrente e' regolata internamente per ogni uscita dalla sezione driver, basta settare la corrente sull'apposito pin  ...

O in alternativa, c'e' la via di mezzo, se non trovi facilmente quei chip shift/driver, o se costano troppo ... potresti usare semplicemente degli shift register tipo il vecchio 74HC595 o simili, due connessi in cascata per avere le 16 uscite con la funzione latch, ed usare le resistenze sui led per limitare la corrente ... come vedi le configurazioni possibili sono parecchie, dipende tutto da quale scegli e dal software che poi usi ...

Poi c'e' gente che e' andata sulla scelta piu semplice ed ha costruito il tutto senza nessun driver, pilotando direttamente i led con le uscite dell'arduino, ma non so quanto sia sicuro farlo, dato che i pin di arduino hanno un massimo di corrente, e superandolo si rischia di bruciare qualcosa ... comunque, come esempio, c'e' questo http://www.elecfreaks.com/2452.html
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 19, 2013, 06:20 pm
ma il CAT4016 e il STP16DP05 si possono comandare con arduino giusto?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 20, 2013, 10:39 am
Sono in pratica degli shift register ... penso sia necessario che ti scrivi il software apposito per mandargli i vari segnali e le stringhe seriali nel giusto ordine, ma in questo campo non ne so molto, deve risponderti qualcuno piu in gamba di me con la programmazione (uno qualsiasi, considerato il mio livello :P :D).
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 20, 2013, 06:14 pm
mentre i shift register 74HC595 si possono controllare facilmente con arduino?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 20, 2013, 06:22 pm

mentre i shift register 74HC595 si possono controllare facilmente con arduino?

Certo, con ShiftOut:
http://arduino.cc/en/Reference/ShiftOut

Ecco un esempio:
http://arduino.cc/en/Tutorial/ShiftOut
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 20, 2013, 07:07 pm
Fondamentalmente, entrambi sono degli shift register ... la differenza maggiore non e' nel numero di bit (due 74HC in serie fanno 16 bit, tanto come uno solo degli altri) ... e' che gli shift/drivers, essendo gia progettati in partenza per applicazioni di pilotaggio di matrici a led, integrano anche 16 generatori di corrente costante, pilotabili tutti con una sola resistenza, tutto qui.

Quindi la scelta e' principalmente data dal fattore economico ... se trovi un paio di 74HC a prezzo inferiore ad uno degli altri, puoi tranquillamente usare quelli, tanto mi sa che il sistema di pilotaggio e' sempre lo stesso ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: proncito on Apr 23, 2013, 05:15 pm
Dopo aver letto questo ed altri post ed essermi informato un po sugli shift register non ho ancora capito una cosa però: perchè è meglio (se è meglio) usare gli shift register che un multiplex con il max7219? Ho usato quest'ultimo per il mio word clock, e ho avuto il problema che la luminosità è inferiore alle aspettative; con degli shift register avrei avuto una risposta migilore?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 24, 2013, 04:57 pm
I driver come il 7219 multiplexano le uscite per cui la luminosità è inferiore rispetto all'accensione fissa che ti garantirebbe un pilotaggio senza multiplexing.
Con gli shift register puoi pilotare i led sia in modalità fissa che in multiplexing, in quest'ultimo caso il mutiplexing lo devi fare tu via software.

E' una scelta personale, alla fine. Giorni fa quando ho progettato il mio Led Clock ho dovuto scegliere se multiplexarlo oppure no. Ho scelto quest'ultima via, ed ho usato 5 shift register e 5 Uln2803, un circuito sicuramente più complicato dal punto di vista dei collegamenti ma senz'altro più luminoso come effetto visivo.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 24, 2013, 07:59 pm
Avendo scelto di usare due 74hc595, devo comprare anche 64 resistenze da 180 ohm vero? (una per ogni led da 5mm blu )
Inoltre conoscete un sito online non caro? perchè i negozi nella mia zona non lo vendono il 74HC595
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 24, 2013, 11:36 pm

Avendo scelto di usare due 74hc595, devo comprare anche 64 resistenze da 180 ohm vero? (una per ogni led da 5mm blu )

Dipende da come colleghi il tutto.
Se intendi accendere tutti i 64 led di un piano per volta, allora sì.

Quote

Inoltre conoscete un sito online non caro? perchè i negozi nella mia zona non lo vendono il 74HC595

Ebay
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Apr 25, 2013, 12:31 am
ma due shift register sono sufficienti? e come vanno collegati?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 25, 2013, 10:17 am
16 resistenze, una per ogni colonna collegata alle uscite degli shift register ... 64 dovresti metterle sui led, non sulle colonne, ed il montaggio verrebbe un po piu complicato (ed inoltre le resistenze toglierebbero piu visibilita' ai led interni) ... e poi, comunque gli strati sono multiplexati, quindi avrebbe poco senso fare tutto quel lavoro per un cosi scarso vantaggio.

Gli shift register vanno connessi in cascata, ed ovviamente pilotati con 16 bit alla volta invece che con 8 ... per collegarli in cascata devi connettere il serial data output (14) del primo al serial data input (9) del secondo, e le linee di clock e data invece assieme sui due integrati, cosi la stringa viene passata attraverso entrambi, come se fossero un solo registro ... ho trovato in rete questa immagine, non e' uno schema elettrico vero e proprio ma da comunque un'idea delle connessioni.

http://bildr.org/blog/wp-content/uploads/2011/02/74HC595_4.png
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 25, 2013, 10:20 am
Ti ripeto la domanda: come vuoi collegare il tutto?
La risposta dipende da questo. ;)

Un led 8x8x8 fatto con gli shift register implica l'uso di 2 multiplexing, uno per le file di led di un piano, ed uno per la scelta dei piani.
2 shift register non possono in alcun modo pilotare 64 led, quindi devi selezionare la prima fila di un piano, accendere i led necessari, poi selezionare la seconda fila, accendere i led di quel piano ecc.. Terminate le 8 file, devi passare al piano successivo e ripetere l'operazione. Quindi ad occhio ti servirà un terzo shift register per selezionare il piano, e pilotare con questo shift o 8 transistor oppure un Uln2803 perché da un pin di un 595 non puoi prelevare la corrente necessaria ad accendere 8 led.

Se invece usi un 7219, puoi pilotare i 64 led di uno stesso livello con quell'unico integrato senza resistenze aggiuntive (è l'integrato stesso che regola la corrente per ogni led) e poi con un 595 selezioni il piano.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 25, 2013, 12:08 pm
Leo, scusa, ma sta parlando di 4x4x4, giusto ? ... in quel caso, deve multiplexare gli strati, non le colonne ... Ogni strato e' considerato come una fila di led ripiegata, non come una serie di colonne, ad esempio:

01     02     03     04

05     06     07     08

09     10     11     12

13     14     15     16

lo shift register memorizza la stringa di ogni strato, che viene considerato come una serie lineare di 16 led, e poi accende lo strato corrispondente, e cosi via ...

Non conosco le istruzioni per arduino, ma il principio e' questo:

mandi la stringa del primo strato allo shift register -> latchi le uscite -> accendi il primo strato -> mandi la stringa del secondo strato allo shift register -> spegni il primo strato, latchi le uscite ed accendi il secondo strato -> mandi la stringa del terzo strato allo shift register -> spegni il secondo strato, latchi le uscite ed accendi il terzo strato -> e cosi via ...

in questo modo, solo gli strati vengono multiplexati, e rimangono accesi durante l'invio della stringa dello strato successivo, creando un'effetto migliore grazie alla persistenza ...
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: LeonidRusnac on Apr 25, 2013, 01:31 pm
scusate, ma non è più facile usare dei decoder? ad esempio 74hc138? o non è il massimo?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 25, 2013, 02:31 pm
Perche' l'HC138 e' solo un decoder da binario a decimale, e ti da una sola uscita accesa per ogni singola combinazione in ingresso ... hai idea del casino che servirebbe per multiplexare ogni singolo led con uno specifico codice differente, tutti indipendentemente uno dall'altro e tutti in sequenza ? (ed in piu il tutto sarebbe almeno 16 volte piu lento :P)

Con gli shift, ogni volta che spegni uno strato ed accendi il successivo, tutti i led di quello strato che devono essere accesi si accendono insieme ...
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 25, 2013, 02:32 pm

Leo, scusa, ma sta parlando di 4x4x4, giusto ? .

Mi ha fregato quando diceva di voler comprare 64 resistenze, pensavo si riferisse ad un cubo 8x8x8. Non vedo il motivo di comprare 64 resistenze per un cubo 4x4, basta prenderne 4 e poi multiplexare sia i piani che le file.

Confermo che col metodo che suggerisci tu, si possono usare 2 shift register soltanto, ma perché appunto si ha un cubo 4x4x4 dove ogni livello sono solo 16 led. Se si avesse un cubo 8x8x8, servirebbero 8 shift register per piano, allora conviene di più ricorrere al doppio multiplexing file/livello.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: LeonidRusnac on Apr 25, 2013, 11:07 pm

Perche' l'HC138 e' solo un decoder da binario a decimale, e ti da una sola uscita accesa per ogni singola combinazione in ingresso ... hai idea del casino che servirebbe per multiplexare ogni singolo led con uno specifico codice differente, tutti indipendentemente uno dall'altro e tutti in sequenza ? (ed in piu il tutto sarebbe almeno 16 volte piu lento :P)

Con gli shift, ogni volta che spegni uno strato ed accendi il successivo, tutti i led di quello strato che devono essere accesi si accendono insieme ...


ma in questo modo non hai che se accendi un solo led di una riga è più luminoso del caso in cui accendi tipo 6 led? con il decoder invece faresti ogni led separatamente e così tutti avranno la stessa luminosità, magari anche sbaglio, e magari non si riesce a gestire tutto con i decoder, era solo un mio pensiero che pensavo pure di provare con uno 8x8x8

e cmq usare un decoder per selezionare i piani è abbastanza intuitivo in quanto devi selezionare un solo piano alla volta :)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 26, 2013, 09:50 am
Per selezionare i piani bastano 4 transistor PNP con relative resistenze, non serve alcun decoder ... per il discorso della luminosita', no, perche' le resistenze vanno messe sulle colonne, non sui transistor degli strati ... quindi, anche se in uno strato accendi tutti i led, ognuno di questi led e' alimentato dalla resistenza della relativa colonna, quindi che ce ne sia acceso uno o sedici, ogni led riceve la stessa corrente ed ha la stessa luminosita' (sempre ovviamente che l'alimentatore regga il carico, ma questo e' sottinteso ;) )

>Leo72: anche con l'8x8x8 hanno fatto cubi multiplexati solo sugli strati, con gli shift register in cascata ... dipende tutto dalla velocita' con cui si puo inviare la stringa di bit agli shift register ... poi considera che se ti metti a multiplexare anche le colonne, dovresti pilotare per forza un solo led alla volta, quindi il tempo in cui rimane acceso si divide per il numero delle colonne, e lo stesso la velocita' ... ad esempio, se multiplexi un cubo 8x8x8 sulle colonne, il tempo di accensione, e la relativa luminosita' apparente, diventano 1/64 di quelle di un cubo identico multiplexato a strati soltanto ... ed anche la velocita' complessiva diventa 64 volte piu lenta (oppure se preferisci, per avere la stessa velocita' di animazione, dovresti pilotare il cubo 64 volte piu velocemente ;) ).
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: LeonidRusnac on Apr 26, 2013, 12:33 pm

Per selezionare i piani bastano 4 transistor PNP con relative resistenze, non serve alcun decoder


si d'accordo ma se si tratta di un cubo 8x8x8 non puoi più farlo in quanto ti servono 8 uscite
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 26, 2013, 02:36 pm
@Etemenanki:
sì, chiaro.
Ma io facevo un ragionamento sull'ottimizzazione dei componenti, per capire qual era il rapporto fra luminosità e complessità più vantaggioso.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 26, 2013, 03:10 pm
> Leonid : sembra che non gli crei molti problemi, ad arduino, anche a pilotare gli 8x8x8 ;)

http://www.youtube.com/watch?v=GUcX41pokZY

senza parlare di realizzazioni decisamente piu fuori dal comune ;)

http://www.youtube.com/watch?v=CWgjijcnJ1Q



> leo : a livello di ottimizzazione, secondo me', piu aumenti il numero di led, piu diventa conveniente usare gli shift/drivers, che hanno gia 16 uscite ognuno ... ad esempio, per un 5x5x5, ti bastano 5 transistor PNP con resistenze relative, 2 shift/driver e 2 resistenze ... con gli shiftregister ti servono 5 transistor PNP (e resistenze),  4 shiftregister e le 25 resistenze dei led ... con il multiplexing delle colonne ti servono 4 transistor PNP e 25 transistor NPN (con resistenze), piu le 25 resistenze delle colonne, o le 125 resistenze su ogni singolo led, se scegli quella soluzione per poter multiplexare "a blocchi" anziche' a singolo led .

inoltre, se multiplexando, ad esempio, ad 1 KHz, i led di ogni strato restano accesi ogni volta per circa 1ms, multiplexando i singoli led, ti rimarrebbero accesi per circa 40 microsecondi l'uno ... un po pochino ... per avere la stessa luminosita' apparente di un led alimentato, diciamo, a 10mA con il primo sistema, dovresti alimentarlo a 250mA con il secondo sistema ... non so quanto sia conveniente ...

Quanto invece a livello di software, di sicuro ne sai piu di me in fatto di programmazione, ma ho il sospetto che multiplexare tutte le colonne indipendentemente sia leggermente piu incasinato che limitarsi a spedire stringhe di bit agli shiftregister fra un'accensione e l'altra ... ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: LeonidRusnac on Apr 26, 2013, 03:27 pm

> Leonid : sembra che non gli crei molti problemi, ad arduino, anche a pilotare gli 8x8x8 ;)


ok ho sbagliato, non ho mai usato i shift registers ma intendevo usare 8 shift registers e un decoder per selezionare gli enable dei shift registers uno alla volta poi invece di usare 8 uscite per selezionare gli strati usare un altro decoder cosi ne uso 3 di uscite, sapendo che devo accendere solo un strato per volta
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Apr 26, 2013, 03:40 pm
Be', in teoria potresti farlo, ma bisognerebbe vedere poi che fluidita' si riuscirebbe a dare all'animazione ...

Con 8 shift register, o 4 shift/drivers, potresti gestire un cubo 8x8x8 senza tanti problemi in fatto di hardware (il software e' un'altra cosa) ... potresti pilotarli nel modo che hai descritto tu (usando i decoder per abilitare ogni singolo registro e mandando le stringhe separatamente, oppure collegando tutti i registri in cascata e mandando un'unica stringa di 64 bit (qui dipende dal programma, quindi per la fattibilita' devi chiedere ai programmatori) ... diciamo che usando un decoder e dividendo i registri, oltre ovviamente alle 8 linee degli strati, ti servono, anche il clock, il data, e le linee per pilotare il decoder ... mentre se colleghi i registri in cascata, ti servono solo il clock ed il data ... a livello software invece non so quale sia la soluzione piu semplice ... arduino puo generare stringhe binarie di 64 bit e spedirle in modo seriale da un'uscita  ?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: LeonidRusnac on Apr 26, 2013, 03:52 pm
allora un decoder per selezionare i strati è la cosa migliore poi bisogna decidere se mettere 8 shift registers in cascata oppure dividerli e abilitarli con un decoder, per il numero di uscite cambia solo che separandoli si usano 3 pin in più per il decoder :)

da quanto ho visto in giro usano la prima opzione cioè mettere i 8 shift registers in cascata
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Apr 26, 2013, 04:09 pm
Tempo fa qualcuno disse che più di 8 74HC595 in cascata non si potevano mettere. Io sinceramente non ho provato, sono arrivato a 5 e non ho avuto problemi: con 40 bit, 5 byte, comando le singole uscite.
Ovviamente come dice Etemenanky, poi il software è il secondo problema.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 24, 2013, 10:55 pm
Scusate ragazzi, gli shift register li ho già acquistati, ora mi mancano i 64 led che comprerò domani e i transistor, qual'è la silga dei transisto da comprare? quelli per selezionare le colonne o i livelli ora non ricordo? XD inoltre sulle colonne (16) vanno bene le resistenze da 180ohm? userò led blu da 5mm ad alta luminosità
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 24, 2013, 11:05 pm
I led blu di solito hanno una Vf di 3,5V.
Se sono comuni led necessitano di solito di circa 20 mA. Però controlla le loro caratteristiche.
Li alimenti a 5V? Se sì, con 180 ohm gli fornisci 8 mA di corrente, è poca. Ti faranno poca luce.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 24, 2013, 11:07 pm
si li alimento con i 5v di arduino
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 24, 2013, 11:12 pm
Ti sei fatto un po' di conti delle correnti in gioco?
Se l'Arduino è collegato al PC non può erogare più di 500 mA dal pin 5V, a cui devi scalare la corrente consumata dal chip.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 24, 2013, 11:29 pm
no non ne ho idea di come fare questi conti :S, potrei alimentarlo con una pila da 9v nel caso
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 25, 2013, 12:18 am
Devi sommare la corrente consumata dal numero massimo di led che staranno accesi contemporaneamente.
Per calcolare la corrente consumata da un led, usi la formula I=(V-Vf)/R dove V è la tensione di alimentazione, Vf la tensione di giunzione del led e R la resistenza usata. I la corrente.
Con l'esempio di prima:
(5-3,5)/100 = 0,015A

Per capire, se tu accendessi tutti i 64 led insieme, consumeresti quasi 1A di corrente! Il doppio di quello che l'Arduino ti può offrire. Una batteria da 9V eroga generalmente sui 200 mAh.

Ora ad esser sincero io non mi ricordo più come questi 64 led tu li volevi accendere... quindi non so cosa c'è in ballo.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on May 25, 2013, 09:26 am
Fai presto a calcolarlo ... se i layer sono multiplexati, il massimo numero possibile di led accesi contemporaneamente e' 16 (tutti quelli del layer acceso a turno), e considerando che in media quei circuiti sono calibrati per circa 15mA per led (per una buona visibilita' del tutto), 15 * 16 = 240mA ( piu il consumo del resto del circuito, ovviamente ;) )

Mi sa che una pila da 9V durerebbe 10 minuti o poco piu :P ... meglio un pacchetto di alkaline o di ricaricabili :)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 25, 2013, 02:45 pm
Quote
Ora ad esser sincero io non mi ricordo più come questi 64 led tu li volevi accendere... quindi non so cosa c'è in ballo.

In pratica è un cubo led 4x4x4 pilotato con 2 74hc595, mi server per pilotarlo  tramite sito web per un progetto da portare all'esame di maturità
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 25, 2013, 03:35 pm
Quindi al max accenderai 4x4=16 led, cioè un piano, giusto?
Ammettendo l'uso di R da 100 ohm, per avere 15 mA per led, avrai 15x16=240 mA di corrente per i led di un piano, più quella necessaria al circuito e all'Arduino. Ci dovresti rientrare con la corrente fornita dalla porta USB.
Come transistor, se vuoi usare gli NPN prendi i BC337-40 o i 2N2222 che reggono 800 mA l'uno, così stai sicuro  ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 25, 2013, 09:55 pm
e quanti transistor?
ma quindi se io voglio accendere ad esempio 20 led su livelli diversi, non posso?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 25, 2013, 09:58 pm

e quanti transistor?

Ma ti sei fatto uno schemettino di come fare i collegamenti?

Quote

ma quindi se io voglio accendere ad esempio 20 led su livelli diversi, non posso?

Puoi anche accenderli tutti e 64, ma multiplexandoli. Ossia accendendo i led di ogni singolo livello per un breve tempo e poi passare a quelli successivi.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 25, 2013, 10:22 pm
Si ma ho improvvisato un disegnino a matita XD
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 25, 2013, 10:28 pm
Comunque lo schema ce l'ha, compra i componenti in base ad esso. Io posso suggerirti una cosa e tu volerne fare un'altra  ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 25, 2013, 10:53 pm
ok appena possso vado subito a comprarli XD
Dici che ce la faccio in 1 mese? :S
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on May 25, 2013, 11:11 pm
Il codice sarà il tuo problema principale, se non hai mai fatto questo genere di progetti basati sul multiplexing.
Ti conviene, intanto che aspetti i componenti, di cercare "arduino led cube 4x4x4" su internet e studiarti un pò di sorgenti. ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 31, 2013, 04:41 pm
Mentre costruivo il cubo led, mi è venuta in mente un'idea pazza XD
E se facessi una piramide led a posto del solito cubo? XD
La logica sarebbe la stessa, ma l'effetto magari sarebbe migliore.... voi che dite?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on May 31, 2013, 05:23 pm
Be', la forma a cubo di solito la si sceglie per emulare uno "pseudo display tridimensionale", poi uno i led li puo mettere come vuole ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on May 31, 2013, 05:42 pm
il fato è che non saprei bene come collegare gli anodi e i catodi di ogni livello, visto che non combaciano..... quindi dato che il tempo è già poco, mi llimito a fare un cubo xD
Cmq la piramide la posso "disegnare" nel cubo asd
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 02, 2013, 02:43 pm
Ok il cubo è a buon punto, mi manca solo da saldare gli ultimi due livelli sopra i primi due.
Dopo che ho connesso le 16 uscite degli shift register alle 16 colonne, come devo collegare i transistor ai livelli?
e come si fa a scegliere un livello piuttosto che un altro?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Jun 02, 2013, 11:14 pm
Ma te lo sei fatto lo schema elettrico? Come collegare i transistor non è una cosa che si sceglie in corso d'opera, va fatta prima di partire col saldatore e poi ci si regola sulla base di come vuoi assemblare il cubo (sinceramente non mi ricordo come avevi deciso).
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 03, 2013, 12:27 am
collego due shift register in serie, e con le 16 uscite a disposizione, piloto le colonne.
Mentre con i transistor scelgo quale livello attivare
Il cubo ora è pronto
mancano solo i collegamenti con i transistor e gli shift register.
Così poi passo alla programmazione

p.s: il cubo ha gli anodi in comune su ogni colonna e i catodi in comune su ogni livello.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 03, 2013, 05:42 pm
up (è urgente XD)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Jun 03, 2013, 05:51 pm
Le colonne sono 4 in un cubo 4x4x4.
Hai 4 righe (orizzontali), 4 colonne (verticali) e 4 piani.

Forse hai collegato i 16 led direttamente ai 16 pin dei 2 shift register, come qualcuno aveva detto?
Sono NPN i transistor? Allora devi pilotare gli anodi dei led, e con gli shift register metti a massa i led che intendi accendere. Quindi gli anodi di tutti i led di un piano vanno all'emettitore di un transistor mentre i catodi vanno agli shift. Per selezionare il piano devi saturare il transitore relativo.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 03, 2013, 06:14 pm
No aspetta è tutto diverso, o fors eio non ho capito niente xD.
Allora io avevo capito che con i due shift register pilotavo le colonne (che ne sono 16, 4x4).
Mentre con i transisto (che ancora non ho e quindi posso comprare sia npn che pnp) controllavo i livelli, dato che da ogni livello fuoriesce un catodo che è connesso a tutti gli altri catodi del livello.
Quindi in pratica gli shift register accendevano il led corrispondente a quella colonna e tramite il transistor sceglievo il livello.
4 livelli e 16 colonne
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Jun 03, 2013, 06:29 pm
Le tue colonne sono in realtà composte da 1 solo led. In realtà sarebbe più giusto dire che hai una singola fila di 16 led attaccati agli shift register tramite i loro anodi. A questo punto, gli NPN vanno bene per mandare a massa i led perché il catodo comune del piano lo colleghi al collettore del pin, poi l'emettitore a massa. Per accendere i led di un piano, darai corrente agli anodi tramite i pin degli shift register e poi selezionerai il piano tramite il relativo transistor.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 03, 2013, 06:53 pm
Scusa ma io quando ho provato a mettere la tensione sulla colonna e ho messo a massa tutti e 4 livelli, si sono accesi tutti e 4 i led di quella colonna.
Ti chiedo scusa se non sto capendo, ma ho un miscuglio di 7 tesine d'esame in testa tra informatica sistemi italiano storia eccc...
Dato che tutti e 4 livelli erano a massa tramite i 4 catodi, si accendevano tutti e 4 led giusto?
Quindi se metto a massa un solo livello, si accende solo il led corrispondente a quella colonna e al livello a massa no?
Quindi il transistor ha il compito di mettere a massa il livello o sbaglio?
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 03, 2013, 07:08 pm
Mi sono appena accorto di avere già i transistor BC337-40 - B13
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Jun 04, 2013, 09:10 am
I 4 transistor multiplexano i 4 livelli, o strati ... gli shift register collegano al positivo i led che devono rimanere accsi su quello strato per quel ciclo di multiplexing.

quindi in pratica tu prima mandi la stringa allo shift register, poi accendi il livello corrispondente per il tempo desiderato, poi spegni il livello, mandi la stringa corrispondente al livello successivo, accendi il livello successivoo, ecc.

Se vuoi controllare che i dati sullo shift register ti arrivino correttamente, il sistema piu semplice e' lasciare acceso un solo livello mentre fai le prove, con il trasferimento dei dati allo shift a bassa velocita' (intervalli lunghi fra un'invio e l'altro, intendo)

Quando ti si sono accesi tutti e 4 i led della colonna, e' perche' ovviamente hai messo a massa tutti e 4 gli strati assieme ... durante il multiplexing ovviamente solo uno strato alla volta dovra' essere acceso ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 04, 2013, 04:56 pm
Ok allora avevo capito bene XD
Ma sapresti dirmi come collegare e comandare i transistor? perchè gli shift register ho capito come collegarli, ma i transistor non so nemmeno come comandarli da arduino
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Jun 04, 2013, 05:37 pm

Scusa ma io quando ho provato a mettere la tensione sulla colonna e ho messo a massa tutti e 4 livelli, si sono accesi tutti e 4 i led di quella colonna.

Ed hai rischiato di fondere i 2 shift register.
Uno shift register è dato per max 80 mA di corrente in uscita dai suoi pin. Se ogni pin ha alimentato 4 led, anche se tu avessi limitato la corrente a 15 mA (esempio), avresti avuto 60 mA per pin, che moltiplicato per 8 pin sarebbero stati 240 mA, cioè 3 volte la massima corrente erogabile da uno di quei chip... attento a fare prove "a caso"  ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: Etemenanki on Jun 04, 2013, 05:59 pm
Allora, i transistor li colleghi a collettore aperto.

tutto chiaro, giusto ?

:P :D

Scherzi a parte ... dato che devi alimentarci delle colonne di led chiudendo il catodo a massa, usando transistor NPN, l'emettitore del transistor va a massa, il collettore va ai catodi in comune dello strato, e la base va: con una resistenza da 100K fra base e massa, e con una resistenza da 1K fra base e piedino dell'arduino ... uno per ogni strato, ovviamente.

Ricordati che in questa configurazione il transistor va in conduzione (e quindi chiude lo strato a massa) quando sul piedino che lo pilota hai un'uscita alta.

Hai gia messo tutte le resistenze fra le uscite degli shift register e le colonne di led, giusto ?


>leo72: se ha gia collegato le resistenze, non ha rischiato molto ... dato che in pratica i 4 led rimangono in parallelo dopo una sola resistenza, in pratica la corrente che avrebbe attraversato un led, si e' semplicemente suddivisa attraverso i quattro, rimanendo la stessa ;) (questo, ovviamente, se c'e' una sola resistenza per ogni colonna ;) )
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: leo72 on Jun 04, 2013, 06:03 pm

(questo, ovviamente, se c'e' una sola resistenza per ogni colonna ;) )


Non so da quant'è che chiedo lo schema....
io personalmente sto tirando ad indovinare perché alle volte capisco cos'ha fatto, altre no. E' senz'altro un mio limite però non credo che altri che lo aiutano siano messi tanto meglio di me  ;)
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 04, 2013, 07:07 pm
Non avevo capito volessi la foto dello schema >_< scusa leo.
te lo allego.
Comunque la prova l'ho fatta senza shift register xD ho preso 2 fili (GND e V+) e li ho mossi a mano per testare se le saldature erano fatte bene.
Title: Re: Guida e spiegazione componenti per Cubo led
Post by: toti94 on Jun 23, 2013, 02:02 pm
Dopo tutto l'aiuto che mi avete dato voglio almeno mostrarvi il progetto finito XD
Grazie mille ragazzi, siete stati indispensabili :D

(http://i44.tinypic.com/e5pbae.jpg)

Certo il cubo non è perfettamente dritto xD però è il massimo che ho potuto fare