Batteria da 9 volt collegata al transistor che controlla i LED con Arduino


8

Sto cercando di aggiungere una configurazione di illuminazione a LED personalizzata al mio computer da gioco desktop. In questa configurazione, voglio che piccoli set di LED possano essere accesi separatamente da altri set. Questo è così che posso accendere set diversi in momenti diversi per fare uno "spettacolo di luci".

Sto usando i pin I / O digitali di un Arduino per controllare un transistor (BC547B) che fornirà energia da una batteria da 9 volt ai LED. I LED sono classificati a 1,9 V e ho più set di 5 LED (5 * 1,9 = 9,5 - non è necessario un resistore ... giusto?) Collegati in serie e quei "set multipli" devono essere collegati in parallelo.

Tuttavia, a causa di una semplice mancanza di transistor, sono temperatamente (fino a quando non ottengo più transistor) collegando 2 set di 5 LED per transistor. Confuso? Vorrei metterlo insieme in uno schema usando solo 1 transistor (nella versione finale ce ne saranno altri):

schematico

simula questo circuito - Schema creato usando CircuitLab

Quindi, fondamentalmente, il problema è che quando accendo il pin 5 sul mio Arduino, i LED non si accendono. Perchè è questo? . Potrei fare qualcosa di sbagliato qui, ma, se lo sono, non riesco a capirlo.

Ecco il codice temporaneo per Arduino che sto usando, nel caso in cui qualcuno voglia vederlo:

void setup() {
    pinMode(5, OUTPUT);
}

void loop() {
    digitalWrite(5, HIGH);
    delay(1000);
    digitalWrite(5, LOW);
    delay(1000);
}

Tutto ciò che fa è attivare il pin 5, attendere un secondo, spegnerlo, attendere un secondo e ripetere.

Grazie in anticipo.

PS si scusa per il titolo imbarazzante.

MODIFICARE:

Dovrei anche notare che sono molto nuovo in questo genere di cose. Lo sto facendo per una sorta di progetto di apprendimento (e quindi il mio computer può sembrare bello).


Riprendo la mia bandiera. Ciò richiede una risposta più approfondita. Inoltre, +1 per aver posto una domanda chiara completa di un buon schema, codice, buona grammatica e una spiegazione approfondita!
uint128_t

Hai troppi led in serie per il tuo 9 V. Prova 3. Non usare il tuo follower perché non ci saranno abbastanza volt dal micro per guidarlo. Usa un collettore aperto e fai un corretto affondamento di corrente per le stringhe della serie.
Autistico

Risposte:


13

Prima di tutto, l'intero "5 * 1,9 V = 9,5 V -> nessuna necessità di un resistore" non funzionerà. La tensione diretta non è esatta e nemmeno il tuo 9V. Ecco una spiegazione del perché la tensione diretta == la tensione di alimentazione è un problema . Inoltre, ci sarà una caduta di tensione sul transistor.

Il tuo circuito ha molti problemi.

  1. Per accendere il transistor, l'Arduino dovrebbe emettere 5 * 1,9 V + ~ 0,7 V = ~ 10,2 V. I pin Arduino emettono 5 V, quindi è assolutamente impossibile. Se si mette a terra l'emettitore e si collegano i LED al collettore, è molto più probabile che funzioni.

  2. Il transistor ha bisogno di un resistore di base per limitare la corrente attraverso di esso. Rischi di danneggiare il tuo Arduino e il tuo transistor. Quando si satura il transistor (che è ciò che si desidera fare per farlo agire come un interruttore), la base sarà a ~ 0,7 V. Senza un resistore di base, il pin di Arduino lo porta a 5 V e molta corrente fluisce nella base, bruciando il povero Arduino. Quindi, è richiesta una resistenza di base; il suo valore dipende dalla quantità di corrente desiderata attraverso i LED e dal guadagno corrente del transistor. Senza fare i conti, qualcosa tra 220 Ω e 1 kΩ è probabilmente buono.

  3. I LED o i fili di LED in parallelo richiedono resistori individuali. Ci sono molte risposte su questo sito che possono spiegare perché in modo più dettagliato; fondamentalmente, la tensione diretta netta tra i diversi fili LED differirà, causando uno squilibrio di corrente. Matematicamente, , dove è la tensione di alimentazione, è il numero di LED in un filamento di serie e sono rispettivamente la tensione del LED e la corrente desiderata.VsnVfIf=RVsnVf,If

  4. Quando riuscirai a farlo funzionare, la batteria da 9 V probabilmente non sarà adeguata (le batterie da 9 V hanno una capacità molto bassa e una capacità a bassa corrente). Una verruca a parete da 9 V o simile sarebbe molto più appropriata. Inoltre, quel transistor è valutato solo per una corrente di collettore massima di 100 mA. Alcuni fili di LED supereranno quello e il tuo transistor sarà brindato. Un transistor più grande, o meglio ancora, un bel MOSFET robusto, ti garantirà di poter commutare in sicurezza molti LED. Per un singolo filo, o forse due, quel transistor va bene. Se stai usando un alimentatore per PC da 12 V, va bene, assicurati di calcolare le resistenze di limitazione attuali con 12 V invece di 9 V.

Quindi, utilizzare quattro LED in serie e una resistenza di limitazione della corrente appropriata, modificare le connessioni del transistor e aggiungere una resistenza di base. Questo dovrebbe almeno iniziare.


Ok grazie! Alcune domande però. Innanzitutto, per il punto 2, dove deve andare quella resistenza? Sul perno di base del transistor? Inoltre, per il punto 3, stai dicendo che ho bisogno di una resistenza di fronte a ciascun filo LED? E sì, la batteria da 9 v era temporanea; Ho dimenticato di menzionarlo. Ho intenzione di collegarmi a un connettore molex 12v sull'alimentazione del mio computer.
Robert R,

1
Sì, la resistenza di base va tra la base e l'ATmega. E sì, è necessario un resistore in serie con ogni filo LED per limitare la corrente. Espanderò la mia risposta per coprire alcune delle tue domande.
uint128_t,

1
wrt point 4: se i LED devono essere fatti lampeggiare con un ciclo di funzionamento abbastanza basso, un grande condensatore elettrolitico in parallelo con la batteria potrebbe aiutare. Assicurati solo di ottenere una potenza nominale di 15 V o superiore (es. Sovra-specifcata).
Chris H,

Ok, quindi un'altra domanda: quale sarebbe la resistenza del resistore menzionata al punto 3? Usando la Legge di Ohm tramite l'equazione che hai fornito, sarebbe (9 - 9.5) / 0.04 = -12.5 . Il valore di 0,04 viene utilizzato per la corrente diretta poiché ogni LED ha una tensione nominale di 20 mA e ho 2 fili in parallelo, quindi la corrente diretta totale è 40 mA o 0,04 A.
Robert R,

1
Sì, questo è il motivo per cui non dovresti usare 5 LED in serie. Come ho detto prima, dovresti avere un resistore separato per ogni filo, quindi se dovessi usare 4 LED in serie con un resistore la matematica sarebbe (9V-4 * 1.9V) / 20mA = 70Ω.
uint128_t,
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.