Dubbi sull'alimentazione

Salve a tutti, sono nuovo del forum e non sono ancora così esperto in elettronica :| . Premetto dicendo che sto cercando di costruire insieme ad un mio amico un cubo led 8x8x8. Come magari già sapete si utilizzano registri (io uso 8 74HC164N) per il controllo delle colonne e transistor(8 transistor 2N2222 ) per il controllo dei vari livelli. Quello che mi chiedevo è: Posso mettere in comune per ogni registro Vcc, Clk e Clear considerando che il segnale che dovranno memorizzare lo riceveranno uno alla volta e non tutti insieme? In poche parole volevo sapere se con un solo pin, per esempio quello dei 5V posso alimentare tutti i registri assieme.. Non ci sono problemi di corrente a quel punto contando che ci saranno anche un pin di output per clk, uno per il clear, uno per il segnale a 8 bit e un altro per un transistor che necessiteranno di corrente? Grazie in anticipo a tutti! (:

Che corrente vuoi dare ai LED? Ciao Uwe

Direi al massimo 20 mA

Ti invitiamo a presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0 e a leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0 - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0 - qui le pinout delle varie schede by xxxPighi: http://forum.arduino.cc/index.php?topic=151646.0 - qui una serie di link utili: http://forum.arduino.cc/index.php?topic=126861.0

Il cross-posting è vietato. Anche se la domanda la poni in due lingue diverse.

Stupido da parte mia chiedo venia.. Mi sono presentato e ho letto il regolamento! (:

ClapClap: Direi al massimo 20 mA

con 64 LED accesi in contemporanea (un livello) il transistor dovrebbe reggere 1,3A

Ciao Uwe

Aspetta non mi sono spiegato bene :stuck_out_tongue: Il transistor che uso stando a quello che ho letto dal datasheet mi permette di tenere un massimo di 800mA, e quindi io accenderò sempre e solo un una riga di led per volta. Ma quello di cui non ero sicuro era un’altra cosa: Arduino riesce a darmi abbastanza corrente per alimentare al contempo 8 registri, dare corrente a un solo transistor, dare un segnale in ingresso a solo uno dei registri e anche fornire clk e clear per tutti i registri? Quella che ho appena descritto in poche parole dovrebbe essere la situazione in cui è richiesta più corrente, e appunto mi chiedevo se arduino potesse erogarla da solo… Allego anche lo schema elettrico per chiarire la situazione! Grazie ancora (:

ClapClap: Aspetta non mi sono spiegato bene :P Il transistor che uso stando a quello che ho letto dal datasheet mi permette di tenere un massimo di 800mA, e quindi io accenderò sempre e solo un una riga di led per volta.

Non credo che funzioni bene. Se alimenti sempre solo una riga a 8 LED con un CUBO da 8x8x8 hai 64 righe. In multiplexing diventano troppo deboli e sfarfallano. Alimentare 8 integrati Cmos non é un problema.

metterei tutti i 8 Shift-register in casacata. é piú semplice la programmazione.

Ciao Uwe

uwefed:

ClapClap: Aspetta non mi sono spiegato bene :P Il transistor che uso stando a quello che ho letto dal datasheet mi permette di tenere un massimo di 800mA, e quindi io accenderò sempre e solo un una riga di led per volta.

Non credo che funzioni bene. Se alimenti sempre solo una riga a 8 LED con un CUBO da 8x8x8 hai 64 righe. In multiplexing diventano troppo deboli e sfarfallano. Alimentare 8 integrati Cmos non é un problema.

metterei tutti i 8 Shift-register in casacata. é piú semplice la programmazione.

Ciao Uwe

Scusa la mia ignoranza ma cosa intendi dire col diventano troppo deboli e sfarfallano?

Se interpreto l'affermazione, avrai un rapporto acceso/spento della singola riga di 1/64. Pertanto avrai una luminosità dei led ridotta dello stesso fattore. In genere, led permettendo, si aumenta la sua corrente, ma nel tuo caso la vedo difficile compensare un rapporto così alto.

Quello che invece mi premeva di dirti era sull'argomento dei shift-register. Non è tanto la corrente che assorbe la logica dell'integrato, quanto quella che dovrà controllare per alimentare i led. Per certe tensione, il regolatore di Arduino è già al limite di suo, pertanto ti consiglio di utilizzare un bel 7805 esterno e ci dormi sopra.

lelebum: Se interpreto l'affermazione, avrai un rapporto acceso/spento della singola riga di 1/64. Pertanto avrai una luminosità dei led ridotta dello stesso fattore. In genere, led permettendo, si aumenta la sua corrente, ma nel tuo caso la vedo difficile compensare un rapporto così alto.

Scusa ma non penso di aver capito che cosa vuoi dire :\ O meglio, ho capito che per come ho fatto io la luminosità di ogni riga va diminuendo, ma non capisco perchè.. Insomma considerando che sarà attivo (ovvero riceverà il segnale in ingresso) un solo registro per volta non dovrebbe essere indipendente dagli altri?

lelebum: Quello che invece mi premeva di dirti era sull'argomento dei shift-register. Non è tanto la corrente che assorbe la logica dell'integrato, quanto quella che dovrà controllare per alimentare i led. Per certe tensione, il regolatore di Arduino è già al limite di suo, pertanto ti consiglio di utilizzare un bel 7805 esterno e ci dormi sopra.

Vuoi dire che il pin di uscita di arduino tenderà a dare la corrente necessaria per ogni led ovvero un totale di 160mA? Scusa se sembro ignorante ma non sono così esperto :P

ClapClap: Scusa ma non penso di aver capito che cosa vuoi dire :\ O meglio, ho capito che per come ho fatto io la luminosità di ogni riga va diminuendo, ma non capisco perchè.. Insomma considerando che sarà attivo (ovvero riceverà il segnale in ingresso) un solo registro per volta non dovrebbe essere indipendente dagli altri?

Tu alimenti una riga di 8 LED alla volta e tieni le altre 63 righe spente. Per fare il giro di tutte le 64 rige Ti servono 64 periodi di accensione LED. Esempio pratico Se accendi una riga per 0,5mS (milisecondi) e le altre spente ogni riga sará accesa per 0,5mS e spenta per 31,5mS. Ogni riga la accendi ca 30 volte al secondo (per non vederli sfarfallare). Questo vuol dire che in un secondo avrai acceso un LED complessivamente per ca 1/64 di secondo ovvero ca 15,6 mS e spento per ca 984,4mS. Il led sará 64 volte piú debole rispetto averlo acceso di continuo.

Ciao Uwe

Quindi è un problema di tempi giusto? In tal caso non basterebbe rendere più veloce l’accensione di tutte le righe e poi ripetere quest’operazione tot volte per far si che sia visibile ad occhio?
Comunque a parte quest’aspetto la mia preoccupazione sull’alimentazione è infondato giusto? Arduino può fornire clk, clear e alimentazioni a tutti i registri contemporaneamente o forse ho capito male?

Per Arduino non è un problema alimentare in parallelo le linee clk e clr, in quanto ingressi CMOS.

Un'altra cosa è utilizzare i 5V di Arduino per alimentare i pin Vcc dei shift-register e di conseguenza i rispettivi led ad essi collegati. Il regolatore a bordo di Arduino non è dimensionato per alimetarli.

Sulla storia di alimentare i led in modalità multiplexer, ti consiglio di documentarti su tale tecnica.

Ah ok ora penso di aver capito il discorso! Quindi se io aggiungessi una batteria che mi alimenti i vari registri dovrei aver risolto no?

ClapClap:
Quindi è un problema di tempi giusto? In tal caso non basterebbe rendere più veloce l’accensione di tutte le righe e poi ripetere quest’operazione tot volte per far si che sia visibile ad occhio?

Con 30 volte al secondo é abbastanza invisibile per l’ occhio. Aumentando migliori lo sfarfalio ma peggiori i tempi di accensione perché a ogni cambio die riga serve un po di tempo. Indipendentemente dalla velocitá di ripetizione non avrai mai un LED piú di 1/64 del tempo acceso.

Se accendi al massimo 8 LED con 20mA puoi alimentare il tutto attraverso la USB del PC.
Ciao Uwe

uwefed: Se accendi al massimo 8 LED con 20mA puoi alimentare il tutto attraverso la USB del PC. Ciao Uwe

Quindi posso mettere in comune tutte le Vcc stando allo schema elettrico che ho postato? Non è che sapresti consigliarmi qualche post o pagina web dov'è spiegato bene il discorso di alimentare in multiplexing? Perchè non capisco che relazione c'è tra corrente e tempi di accensione. Non capisco perchè la corrente debba diminuire se saranno accesi uno alla volta.. Grazie ancora dell'aiuto!

Un LED mediamente regge senza problemi fino a 20 mA, che tu lo accenda per 1/100 di secondo o per 1 minuto, la corrente è sempre di 20 mA. Casomai è la luminosità che diminuisce perché come ti ha detto Uwe se lo accendi e spengi velocemente, avrai un effetto diverso di quello ottenibile tenendolo fisso acceso.

Ah ok ora ho capito il discorso! Scusate se sono un po' duro di comprendonio :\ Quindi ricapitolando lo schema elettrico così com'è funziona ma appunto porta a questo problema della poca luminosità giusto? Per risolvere come potrei fare? Mettere i registri in cascata come mi consigliavano qualche giorno fa?

lelebum ti aveva consigliato di documentarti un pò sul multiplexing, per capire come funziona. Vedrai che la minor luminosità dovuta al pilotaggio alternato dei led è insito nella tecnica stessa, per cui o fai così oppure devi realizzare un circuito che vada a pilotare i led singolarmente, stravolgendo il progetto ed aumentando di molto la complessità di tutta la baracca (sia dal punto di vista dell'hardware che del software).