Ciao a tutti, sono nuovo del forum e spero di aver scritto nella sezione giusta.
Ho in progetto la costruzione di un cubo led 6x6x6. Ogni colonna è collegata ad un'uscita di un 74hc595, in questo modo devo utilizzare al massimo 5 uscite dell'arduino, quindi la corrente totale in uscita corrisponderebbe ai 200mA massimi.
Se volessi però accendere un intero livello dovrei sfruttare tutti i 74hc595, per accendere un totale di 36 led. Considerando 20mA per ogni led superei i 200mA, quindi non è possibile farlo e dovrei accendere meno led in modo da avere un effetto POV? Oppure questa condizione vale solo per le uscite dei pin dell'arduino?
Sto rispondendo con il cellulare quindi lo schema ora è un po' un problema..
Comunque i pin di uscita dell'arduino sono collegati ai 5 74hc595, ogni uscita di ogni shift register controlla una colonna di led.. quindi per accendere tutti i led al primo livello dovrei impostare tutte le uscite degli shift register a livello alto e correntr a 20mA.
Poichè per accendere tutti i led sono necessari più di 200mA, volevo sapere se era possibile..
Cioe se la limitazione di 200mA riguarda solo l'arduino o anche il circuito a cui questo è connesso.
I 200mA riguardano solo il ATmega sul Arduino. per ogni 74HC595 é la corrente massima 70mA. Devi usare un driver come il ULN2803 dopo i 595 oppure limitare la corrente per ciascun LED a 8mA. (comunque 20 x36 son 720mA che non puoi avere tramite USB. Ti servirebbe un alimentatore 5V esterno.)
Gli anodi comuni di ogni piano lo piloti con dei transistori oppure con un A2983 se hai limitato la corrente a 8mA.
Ciao Uwe
I 200mA riguardano solo il ATmega sul Arduino. per ogni 74HC595 é la corrente massima 70mA. Devi usare un driver come il ULN2803 dopo i 595 oppure limitare la corrente per ciascun LED a 8mA. (comunque 20 x36 son 720mA che non puoi avere tramite USB. Ti servirebbe un alimentatore 5V esterno.)
Gli anodi comuni di ogni piano lo piloti con dei transistori oppure con un A2983 se hai limitato la corrente a 8mA.
Ciao Uwe
per limitare la corrente posso utilizzare delle resistenze .. per alimentare il tutto va bene l'alimentatore dell'arduino uno oppure, oltre ad alimentare arduino, devo alimentare anche i vari shift register con un'alimentazione esterna?
La cosa che non capisco è perché devo limitare la corrente per ciasciun LED a 8mA e non a 20mA.
Considerando poi che tutti i led dello stesso livello sono accesi, la corrente che poi va a massa è 720mA, volevo sapere se anche il pin di massa ha un limite (cioè 200mA).
Ogni colonna ha anodo in comune, ogni livello catodo in comune. i livelli vengono controllati tramite dei transistor, quando questi sono da considerarsi come un tasto on, i catodi sono collegati a massa (circuito chiuso), permettendo il passaggio di corrente su tutto il livello.
All'uscita di ogni shift register metto una resistenza in modo da limitare la corrente a 20mA (corrente tipica per far accendere un solo led)
Mi sono un po' informato leggendo vari post, dimmi se quello che dico è corretto:
la limitazione dei 40mA riguarda solo i pin di I/O
la limitazione dei 200mA riguarda solo i pin del microcontrollore, quindi massa non ha limitazioni poiché il pin GND fa riferimento alla massa dell'alimentazione
Se utilizzassi un alimentatore per arduino, collegato tramite jack o tramite i pin Vin e GND, che mi fornisce la corrente necessaria non avrei problemi ad accendere un intero livello contemporaneamente (tenendo conto anche della corrente richiesta da arduino per poter lavorare).
Giusto, questa condizione l'avevo omessa.
Quindi è impossibile in questo modo accendere contemporaneamente 36 led, ma al massimo 3 led (20mA x 3 = 60mA) per ogni 74HC595.
Potrei ovviare a questo problema con dei TPIC6B595 ? ( forniscono una corrente totale massima di 500mA)
Io per essere sicuro, anche se complichi il circuito, per ogni colonna/riga (non ho ben capito come sono collegati), metterei un transistor per "accenderle" !
Ovvero, la base del transistor la colleghi ai registri, così in base a quale usi, non hai problemi di fornitura di corrente !
Da quello che ho capito le possibili soluzioni sono le seguenti:
ad ogni shift register collego un uln2803 in modo da gestire una corrente maggiore
utlizzare gli shift register TPIC6B595
utilizzare solo i 74hc595 e accendere pochi led alla volta ad un'elevata velocità, in questo modo non supero l'amperaggio massimo degli integrati ed, essendo comandato tutto ad alta velocità, tutti i led sembrerebbero accesi contemporaneamente.