[RISOLTO]Guida e spiegazione componenti per Cubo led

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

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

si ma per capire la cosa, devo leggerla da qualche parte prima XD

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

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 Mitsubishi Electric Corporation mXusttw datasheet 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 :wink:

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

:astonished: :astonished: :astonished: :astonished: :astonished: 32768 LED RGB !!!!!!! :astonished: :astonished: :astonished: :astonished: :astonished:

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

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 :stuck_out_tongue: ) 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 :stuck_out_tongue: :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.

il modo piu' semplice per fare un 4x4x4 e' usare un MAX7219, che gestisce da solo 64 led in multiplexer

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?

Non lo trovavo piu cosi l'ho ridisegnato :stuck_out_tongue:

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.

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?

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 :wink:

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)

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?

up

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 :wink: :smiley:

Etemenanki direi che mi hai convinto ahah xD mi piace la tua idea :slight_smile:
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

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 :stuck_out_tongue: :smiley: (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 :stuck_out_tongue: :smiley: ...

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 ? :wink: ) ... 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 4x4x4 LED-cube based Arduino and Flower protoboard - Blog

ma il CAT4016 e il STP16DP05 si possono comandare con arduino giusto?

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 :stuck_out_tongue: :D).

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