Accensione di più led con arduino tramite transistor


8

Voglio essere in grado di accendere 50 LED rossi con un pin di un Arduino. Non voglio il controllo individuale, voglio solo essere in grado di accenderli tutti o tutti.

Ho trovato questo esempio . Utilizza un transistor 2N3904. È questo l'approccio che voglio adottare? Presumo che avrei bisogno di un transistor di potenza superiore?

Sto usando un alimentatore esterno che è collegato a una scheda personalizzata con un regolatore di tensione 5v, quindi sto alimentando i LED direttamente da questo regolatore.

I LED si presentano sotto forma di questo array di barre luminose a LED (o almeno molto simili) ...

Avevo menzionato in un commento in una risposta di seguito che stavo usando una resistenza da 330 ohm con ciascun LED. In un'altra parte di questo progetto, utilizzo le barre luminose come misuratori di livello e ogni LED separato è controllato tramite un registro a scorrimento, quindi il resistore separato. Mi rendo conto dopo averci pensato che non ho bisogno di avere un resistore in serie con ogni LED per questo ora perché sono tutti accesi o spenti (hmmm .... scusate per i miei commenti piuttosto casuali!).

Pensavo di poter avere una sorta di interruttore elettronico in grado di scollegare la terra o 5V. Questo è praticabile?


Questo è per un controller software che sto realizzando. Le luci devono essere in grado di rispondere relativamente rapidamente (cioè ogni 200 millisecondi)
Adam

1
Il software è facile da capire. Penso che un po 'più di spiegazione sull'hardware sarebbe di aiuto. Che tipo di barra LED stai usando? I LED sono in serie, in parallelo, catodo comune, anodo comune o tutti indipendenti? "Alimentare i LED direttamente dalla rete" significa dal regolatore 5V? Perché ciò potrebbe significare molte altre cose. Hai citato un resistore da 330 ohm per LED ... quindi ogni LED (tutti e 50) ha un resistore in serie? Sto solo cercando di chiarire in modo che possiamo darti la migliore risposta possibile.
Kurt E. Clothier,

Ciao Kurt, ho modificato il mio post originale con le informazioni. Saluti
Adam,

Risposte:


7

Un transistor è fondamentalmente un interruttore che può disconnettere la terra o 5V. Esistono transistor di ogni tipo e alcuni possono commutare carichi davvero enormi. 50 LED non sono un grosso problema.

Quindi, la domanda è questa: un singolo 2N3904 può commutare 50 LED?

Per rispondere a ciò, dovremmo prima sapere che tipo di LED. Ma supponiamo che tu stia usando la solita varietà niente di speciale. Una stima ragionevole della corrente massima di questi è20mA. Se ne hai 50, la corrente massima è20mA50=1000mA. Guardando la scheda tecnica vedo che la corrente massima del collettore per 2N3904 è200mA. Quindi la risposta è no: non è possibile commutare 50 LED con un 2N3904.

Suppongo che tu abbia diverse opzioni:

  • utilizzare più 2N3904
  • usa meno LED
  • usa gli stessi LED, ma guidali con meno corrente
  • usa un transistor più grande ( TIP121 è molto facile da trovare)
  • usa qualche altro dispositivo di commutazione

Di questi, penso che ridurre la corrente del LED o usare un transistor più grande sia probabilmente la soluzione più probabile. Altri dispositivi di commutazione (come un relè) sono probabilmente più costosi e più lenti.


1
* Usa un MOSFET IRLML2502, il mio componente preferito della giornata. :-)
Anindo Ghosh,

Sto usando 5 barre luminose a LED rosse (10 LED ciascuna). Sto usando una resistenza da 330 ohm in serie con ogni LED, quindi sto cercando circa 2 mA per LED. Questo è inferiore alle specifiche del transistor (penso - mi confondo sempre un po 'nel calcolare l'utilizzo corrente totale!)
Adam

Sembra improbabile. La tua resistenza rappresenterebbe una caduta di tensione di 330 Ω x 0,002 A = 0,66 V, quindi a meno che i tuoi LED non abbiano una Vf di 4,34 V (che sarebbe insolitamente alta per i LED rossi), la tua corrente sarà probabilmente molto più alta.
microtherion,

1
Questa risposta considera solo i led collegati in parallelo. I led potrebbero essere due in serie. Quindi la corrente sarebbe di 20 mA * 25 catene. Ma @Adam 2mA è basso per un led, si accendono addirittura a quell'assorbimento di corrente?
Passerby

1
@Passerby, comprensibile. Sono sicuro che alcuni di quelli ad alta potenza richiedono un po 'di più per accendersi. Ma i LED comuni con cui ho lavorato sono molto contenti delle piccole correnti (anche molto inferiori a 1 mA), anche se non brillano molto. In effetti, i LED in questo mio progetto usano solo 1,8 mA ciascuno. E poiché sono multiplexati e solo su 1/3 del tempo, la corrente effettiva è più simile a 0,6 mA. Anche fermo, il display è facilmente visibile in piena luce da una discreta distanza. projectsbykec.com/projects/miscellaneous/…
Kurt E. Clothier,

3

Considerando le informazioni fornite (50 LED rossi rilevati a 1,95 V, sorgente 5 v, corrente 2 mA, resistori 330 Ω), funzionerebbe quanto segue.

Tenendo conto del comune calcolo del resistore a Led:
(Vcc - Tensione
diretta ) / Corrente Dove Vcc è 5 v, la tensione diretta è 1,95 v per led, poiché ne abbiamo due in serie, 1,95 v * 2 e la corrente desiderata è 2 mA.
(5 - (1.95 * 2)) / 0.002 o (5 - 3.9) / 0.002 o 1.1 / 0.002 = 550.
Dato che hai resistori da 330Ω, la regolazione per questo darebbe 3mA per serie. Non per led, ma per serie, poiché la corrente è uguale in un percorso di serie. Ogni serie di resistori, in questo caso due, utilizzerebbe gli stessi 3 mA di corrente. Quindi questo semplifica l'equazione alle catene della serie 3mA * 25, solo 75mA che devono essere commutate.

Qualsiasi transistor di segnale piccolo comune come il 2n3904 può gestire 75mA senza problemi. Un resistore di base da 1kΩ viene utilizzato tra la base del transistor e il pin MCU.

Nota, lo schema seguente mostra solo una barra a led, aggiungerebbe il resto nello stesso modo. Collegare il catodo del primo led all'anodo del led successivo e un resistore per coppia.

schematico

simula questo circuito - Schema creato usando CircuitLab


-3

Dovresti usare il pin su Arduino per controllare un transistor che attiva un relè e i contatti del relè accendono tutti i LED applicando la massa. Se devi usare un transistor, allora sì, devi trovarne uno in grado di gestire tutta la corrente. Anche con un relè, assicurarsi di controllare i valori nominali della corrente di contatto. Vedi circuito di esempio di seguito. A seconda della corrente nominale e della resistenza della bobina del relè selezionato, potrebbe essere necessario o meno R2.

inserisci qui la descrizione dell'immagine


Un relè ha un tempo di commutazione relativamente elevato e una durata meccanica limitata. Potrebbe valere la pena chiedere a OP di confermare che non vogliono cambiare i LED molto rapidamente o troppo spesso.
Anindo Ghosh,

Grazie. Penso che un relè sarebbe troppo lento per la mia applicazione. Ho aggiunto un commento al mio post originale.
Adam,

Non ha assolutamente senso utilizzare un relè quando sono disponibili così tanti transistor che possono commutare correnti molto grandi! A parte la bassa velocità e le enormi dimensioni dei relè, le soluzioni elettriche sopravvivono quasi sempre e superano quelle meccaniche.
Kurt E. Clothier,

Mentre i relè potrebbero non essere l'opzione migliore, sono un'opzione praticabile (velocità non resistere). +1 per compensare chi ha effettuato il downgrade.
Passante dal

Questo è quello che intendevo dire: non è l'opzione migliore, ma non vorrei votarlo in basso ... Se viene utilizzato un qualsiasi tipo di controllo pulsato, un relè avrà una durata molto breve se è in grado di gestire la velocità del polso.
Kurt E. Clothier,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.