Che vuol dire Light Emitting Diode, o Diodo Luminoso in italiano.
E’ una giunzione, come quella di un diodo o di un transistor che, quando attraversata da una corrente, emette energia sotto forma di radiazioni nello spettro visibile (o invisibile).
Per quanto affascinante, lasceremo alla fisica quantistica il dibattito se la luce sia fatta di onde o di particelle: quello che ci interessa è che ci attacchiamo una tensione, e fanno luce. Bellissimo.
Vediamo come prendercene cura.
Questo articolo fa parte di una piccola serie che tratta di componenti elettronici discreti e di come usarli, in base alla mia esperienza con Arduino e piattaforme MCU in generale.
Non ha la pretesa di essere una guida onnicomprensiva o di sostituire un corso di elettronica; tocchiamo gli argomenti più comuni per le architetture con MCU, ma troviamo anche informazioni utili per sviluppare ulteriormente il soggetto in modo autonomo, tramite test e ragionamento.
Se dobbiamo fare un test per un progettino che smonteremo domani, non è importantissimo, ma se dobbiamo fare una cosa con l’intenzione che duri, è necessario prenderci cura di questi componenti.
(Questo articolo è sponsorizzato dalla “Lega contro la violenza sui componenti elettronici” e “LED Lives Matter”)
Conoscere l’animaletto
Il LED ha questo simbolo:
e normalmente ha questa forma:
Il più diffuso è il T-1 3/4 (5mm di diametro) che vediamo a sinistra, dove abbiamo:
alta luminosità ad angolo crescente (10, 50, 120);
IR alta potenza;
RGB (si notino i 4 pin);
esistono anche più piccini: in centro T-1 da 3mm (infrarossi);
un Laser;
a destra i T-3, che sono dei ciccioni da 10mm
Ovviamente esistono anche come SMD:
molto meno voluminosi e più semplici da saldare; qui vediamo i piccoli in formato standard PLCC-4 che hanno 4 pin e si trovano in diverse configurazioni; questi in particolare sono fatti per la ridondanza ed hanno 3 giunzioni verdi; i quadratini invece sono per illuminazione e contengono ognuno una combinazione di 16 diversi LED in unico contenitore, tarati per ottenere luce bianca calda.
I LED, a parte il colore, hanno sostanzialmente due parametri importanti, che si trovano sul datasheet:
- Vf: Forward Voltage: la caduta di tensione quando il LED è alimentato correttamente
- I: (Intensità di) Corrente: la corrente massima che può attraversare il LED se non vogliamo danneggiarlo permanentemente
Portano anche un Vr (Reverse Voltage, o tensione inversa) che è la massima tensione contraria applicabile: comunque, normalmente, non sopportano più di 5V.
Infatti i LED sono diodi, quindi hanno un anodo e un catodo; per usarli correttamente l’anodo deve trovarsi ad una tensione superiore rispetto al catodo. Se applichiamo il contrario, essendo un diodo, si opporrà al passaggio di corrente; ma, non essendo un diodo raddrizzatore, sopporta una piccola tensione inversa, oltre la quale il danno che si provoca è terminale. L’errore di polarità è il più grande LED-killer della storia.
Sul datasheet normalmente c’è un paragrafo che parla di Absolute Maximum Parameters, oltre i quali i danni al componente sono catastrofici. Può succedere di notare che per un LED con corrente massima di 20mA il massimo assoluto sia di 50mA.
La corrente massima da applicare è comunque 20mA; se si sfora nella zona grigia tra 20 e 50 il LED continua a funzionare, ma questo abbrevia proporzionalmente l’aspettativa di vita del componente. Oltre il valore massimo, parliamo di meteore: molto brillanti, ma dalla vita estremamente breve.
Come facciamo a stabilire come alimentare un LED in modo corretto?
Prima di tutto, la polarità: salvo rare eccezioni l’anodo è sempre il piedino più lungo e va collegato verso il Vcc (+), mentre il catodo va verso il GND (-).
Nota: non si può collegare direttamente, altrimenti: meteora.
Per assicurare al nostro caro LED una vita lunga e prospera dobbiamo dosare la corrente che ci passa attraverso, ed il metodo più rapido ed efficace è utilizzando un Resistore in serie, che dovrà essere dimensionato con un valore particolare, a seconda di ogni caso.
Qui gioca un ruolo chiave il Vf (Forward Voltage) ovvero la caduta di tensione a cavallo del LED.
Nota: una volta i colori erano orribili perché i LED avevano tutti lo stesso tipo di giunzione e cambiava solo il colore della plastica dell’involucro; oggi il colore giusto viene generato direttamente dalla giunzione e la plastica può quindi essere bianca. Ma ogni colore è ottenuto con giunzioni fatte con metalli (sali/ossidi) diversi, e questo porta ad avere Vf diversi per colore, anche all’interno della stessa marca e famiglia di modelli. Quindi questo calcolo va fatto per ogni LED (diverso).
OK, d’ora in poi diamo per scontato che la nostra alimentazione è a 5V, salvo diversamente specificato.
Ipotizziamo che Vf sia 3.1 Volt e la corrente massima sia 20mA.
Questo significa che abbiamo 1.9V di spazio di manovra con cui giocare per dosare la corrente. Siccome il resistore è in serie, la stessa corrente che attraversa il resistore attraverserà anche il LED.
Prendiamo la legge di Ohm:
V = I * R
Tensione in Volt = Corrente in Ampere * Resistenza in Ohm
Noi abbiamo la tensione e la corrente, ma non la resistenza, quindi dobbiamo girare la formula:
R = V / I = 1.9 / 0.02 = 95 Ohm
che come valore non è molto diffuso, ma si può acquistare del valore esatto in negozi specializzati.
Comunque non è un problema, anzi, è anche meglio: allunghiamo la vita del nostro LED e mettiamoci un resistore da 100, che invece è un valore standard, e vediamo quanta corrente fa: giriamo ancora la formula:
I = V / R = 1.9 / 100 = .019 = 19mA
..poco sotto i 20mA desiderati. Accettabile.
Perfetto! Pronti a collegare? NOOO!
La potenza!
Il resistore, come descritto nell’articolo apposito, è come un freno: se continui a usarlo si scalda, ed oltre una certa soglia.. effetto valanga, morte del resistore, possibile cortocircuito, corrente elevata nel LED, esplosione della giunzione, possibile corto, sovraccarico del canale di alimentazione, surriscaldamento dell’alimentatore, fusione dell’alimentatore, possibile corto sul primario a 220V, possibile malfunzionamento del magnetotermico, fusione dell’isolamento dei conduttori nelle canaline a muro, sovraccarico alla centrale di trasformazione, e così via fino al blackout completo nazionale.
Questo, ovviamente, è lo scenario più catastrofico, è probabile che ci fermiamo alla la perdita del resistore, o al massimo del LED.
Però, diciamocelo, un po’ infastidisce.
Meglio capire prima se il resistore che usiamo è adatto: dobbiamo calcolare la potenza dissipata; ogni resistore ha una potenza massima che può gestire e che non va superata (anzi, meglio tenersi del margine), altrimenti: vedi sopra.
Quindi, come calcolare la potenza:
P (Watt) = V * I
quindi
P = 1.9 * 0.019 = 0.0361 o 36mW
e siamo salvi: infatti quando parliamo di componenti dalle dimensioni ragionevoli è difficile andare sotto i 75-100mW, quindi qualunque resistore andrebbe bene.
Tanto per sport, vediamo cosa succederebbe se il LED andasse alimentato a 24V invece di 5V.
La tensione da gestire è 24 – 3.1 = 20.9
R = 20.9 / .02 = 1045 Ohm
Il valore standard più vicino è 1200 Ohm, usiamo quello:
I = 20.9 / 1200 = .0174 = 17.4mA
basso, ma accettabile per il nostro esperimento.
vediamo la potenza:
P = 20.9 * 0.0174 = .364~ o 364mW
che è più di 1/3 di Watt. Per gestire questo LED ci servirebbe un resistore da 500mW, che era un valore di potenza comunissimo come sa chi è anziano come me, ma che ad oggi va richiesto appositamente.
Lo accendiamo?
Dimensionato il resistore per applicare tensione ed accendere il LED in sicurezza, adesso ci chiediamo come lo accendiamo, e specialmente come lo accendiamo con Arduino.
Colleghiamo il GND ed un piedino, così:
Poi carichiamo dalla libreria di base blink.ino, impostiamo il piedino che abbiamo usato (qui ho usato il 3), ed eccolo lì; siccome abbiamo fatto un buon lavoro possiamo vederlo splendere intermittentemente per anni e anni a venire, o fino a quando ci serve la breadboard per fare altro.
In coro: vogliamo fare di meglio
Se lo vogliamo accendere a metà luminosità, ad esempio, o farlo partire da zero e crescere e poi calare di nuovo?
La corrente non la posso più gestire, ci ho già messo un resistore di valore fisso. E non è stato un errore: i LED non sono lampadine, e non reagiscono linearmente alle variazioni di corrente. Una variazione di corrente da 20% a 40% ed una da 80% a 100%, non corrispondono ad una equivalente variazione di luminosità in termini di luce emessa. Voler variare la luminosità di un LED variando la corrente (tramite un resistore, quindi variando la tensione applicata) è un errore da principianti.. e noi invece siamo veterani!
Per far variare la luminosità di un LED con Arduino dobbiamo utilizzare un altro principio fisico, molto più affidabile.
La corrente non la tocchiamo: la quantità di luce emessa quando il LED è acceso sarà sempre allo stesso massimo livello; se ce ne serve meno del 100%, facile: ogni tanto lo spegniamo.
Esempio: teniamo il LED acceso per mezzo secondo, e teniamolo spento per un altro mezzo secondo. La quantità di fotoni emessa è la metà rispetto a tenerlo acceso per l’intero secondo senza mai spegnerlo, su questo siamo d’accordo?
OK, c’è solo un piccolo problema: che lo vediamo acceso e poi lo vediamo spento.
Qui ci viene in aiuto il parametro della persistenza delle immagini sulla retina, che equivale a circa 1/23 di secondo.
Nota: tornando agli albori della cinematografia, in un filmato, ogni immagine era seguita dal “nero” di un otturatore che ostruiva la proiezione mentre il proiettore preparava il fotogramma successivo; questo è successo fino a non molto tempo fa quando i proiettori utilizzavano pellicole; la ragione per cui un filmato risulta “fluido” alla vista è perché è realizzato con (almeno) 25 immagini statiche al secondo, che si susseguono costantemente, rimpiazzando l’immagine memorizzata sulla retina con una nuova proprio un attimo prima che la memoria sulla retina della precedente “svanisca”. Il buio viene “cancellato” dal cervello grazie alla successione sufficientemente rapida.
Volendo applicare questo principio a noi, ci basta che questo ciclo di luce/buio o LED acceso/spento non sia più lungo di 1/25 di secondo, o 40ms. Cambiamo quindi la frase di prima:
“Teniamo il LED acceso per mezzo millisecondo, e teniamolo spento per un altro mezzo millisecondo”. Il totale del ciclo dura 1 millisecondo che è ben sotto i 40 richiesti per non vedere lo sfarfallamento. Ma il principio dell’affermazione di prima rimane: la quantità di fotoni che colpisce la retina è la metà di quando il LED è acceso al 100% per un intero millisecondo.
Arduino ci fornisce nativamente un grande strumento per fare questo; lo approfondiremo in uno dei prossimi articoli, ma intanto lo accenniamo: si chiama PWM e significa Pulse Width Modulation, o Modulazione dell’Ampiezza dell’Impulso.
Semplicemente indicando un valore compreso tra 0 (completamente spento) e 255 (completamente acceso) abbiamo 256 sfumature che non si basano sul dosaggio della corrente in modo analogico, ma la suddividono tra acceso e spento in base al tempo, in modo che la media della corrente erogata sia quella che desideriamo. Una rappresentazione grafica:
Come si vede la quantità di energia erogata varia, così variano i fotoni emessi, e siamo ad una frequenza che inganna la retina, la quale non sarà mai in grado di capire che il LED si sta accendendo e spegnendo 1000 volte al secondo.
Casi particolari
LED Multipli
Ovvero più LED che dobbiamo accendere indipendentemente.
Dovendo accendere più di un LED dello stesso tipo, o diversi ma con Vf compatibili, potrebbe anche venir voglia di fare una cosa del genere:
Nota: chi sa già che non si fa, non inorridisca
in questo circuito accendo il primo LED a 10ms, il secondo a 30ms ed il terzo a 50ms; vediamo la corrente che attraversa il primo LED:
hmm.. no buono. Ma perché?
Il resistore R1 con un LED acceso è attraversato da una corrente, e conoscendo R (220ohm) ed I (~8.7mA), tramite la legge di ohm possiamo stabilire la differenza di potenziale ai due capi del resistore, che è:
V = I * R = 0.0087 * 220 = 1.914V
Ma quando la corrente aumenta, a causa del fatto che abbiamo acceso LED2, la differenza di potenziale ai capi del resistore aumenta, diminuendo quindi quella ai capi dei due LED accesi. Ancora peggio quando accendiamo LED3.
Inoltre, MOLTO IMPORTANTE: in questo caso stiamo alimentando i LED con 5V, quindi ammesso che Vr sia 5V, siamo salvi.
Ma facciamo un’ipotesi:
- l’alimentazione è a 24V
- il Vf dei LED è 3V
calcolo il resistore per 20mA:
R = V / I = (24 - 3) / .02 = 21 / .02 = 1050
Lasciamo stare il calcolo della potenza del resistore: sicuramente è alto, ma abbiamo ben altri problemi di cui preoccuparci. Eccoli.
Quando accendiamo LED1, ai capi del resistore si forma la differenza di potenziale calcolata, 21V.
Se l’anodo di LED2 e quello di LED3 sono a 0V, significa che stiamo applicando un Vr di 21V, ben oltre i 5V standard.
Come va a finire? Che finché è tutto spento, tutto bene. Non appena accendiamo LED1 , guardiamolo bene in faccia, poiché sarà l’ultimo che vedremo acceso: al millisecondo 10.001 le giunzioni di LED2 e LED3 saranno incenerite; LED2 e LED3 si troveranno a galoppare nei pascoli RGB del paradiso dei LED, senza mai aver avuto la gioia di accendersi una volta nella vita terrena.
Credo a questo punto saremo tutti d’accordo sul perché ogni LED pretende il suo resistore.
A meno che.. 2 casi:
Caso 1: LED in parallelo
in teoria, se sono in parallelo si accendono tutti insieme, quindi funziona; siamo salvi? No, le differenze nel processo costruttivo fanno sì che ogni componente sia lievissimamente diverso da suo fratello.
Se sono costretto a mettere in opera un parallelo di LED con resistore unico per la regolazione della corrente, per abitudine metto sempre un piccolo resistore per ogni LED (1-10 ohm):
Si noti che ho aggiustato il valore del resistore unico per portare la corrente di tutti i LED. Ma se non sono costretto a regolare la corrente con resistore unico, la via da seguire è un resistore per LED, punto.
Infatti questa configurazione, in realtà, non si usa mai. Ma ho fatto l’esempio perché per pilotare LED esistono dei componenti che si chiamano LED Driver, e che hanno la caratteristica di essere dei generatori non di tensione, ma di corrente: se gli diciamo di far transitare 20mA, loro aggiusteranno la tensione in modo da soddisfare le nostre richieste.
Tuttavia, a causa delle differenze costruttive di cui sopra, è sempre buona regola mettere un Resistore di valore molto basso in serie ad ogni LED.
Più dettagli sui Driver li trovi sotto.
Caso 2: LED in serie
se i LED hanno una piccola caduta di tensione, o se abbiamo un’alimentazione alta per gestirli, buttare via tutta quell’energia in un resistore, che in più si scalda pure, non è la migliore delle idee.
Facciamo un esempio, che è meglio di 1024 parole: facciamo finta di dover fare un illuminatore IR (infrarossi) fatto di parecchi LED. Diciamo 100.
Facciamo finta che il nostro alimentatore sia da 24V.
Normalmente i LED IR hanno una caduta di tensione molto bassa; ipotizziamo 1.1V, portano 50mA e si rompono a 100mA.
Se mettiamo un resistore per LED:
R = V / I = (24 - 1.1) / .05 = 22.9 / .05 = 458 ohm
usiamo un resistore standard da 470ohm:
I = 22.9 / 470 = .0487 o 48.7mA
ottimo; la potenza:
P = 22.9 * 0.0487 = 1.115W
che moltiplicato per tutti i LED che vogliamo accendere (100) fa ~111W, e questi sono interamente sprecati in calore; il che, a parte il punto di vista dell’ambiente, significa che l’alimentatore va dimensionato molto grande, per erogare però solo una frazione di quell’energia nella forma che ci siamo prefissi, ovvero in infrarossi.
Nota: sì, lo so che calore = infrarossi, ma noi li vogliamo solo di una certa lunghezza d’onda, e sparati solo in una direzione.
Brevemente:
48.7mA x 100 = 4.87A
considerando l’efficienza di un alimentatore switching, un alimentatore da 24V 5A sul primario non è difficile che consumi 150W;
non è la fine del mondo, ma è profondamente sbagliato il principio.
Ecco allora la soluzione: li mettiamo in serie.
questo potrebbe funzionare: vediamo quanti riusciamo a farcene stare:
24 / 1.1 = ~21.818
molto bene, diciamo che ne mettiamo 20 per fila, così facciamo il conto tondo:
20 * 1.1 = 22V
ed abbiamo 24 – 2 = 2V da gestire per regolare la corrente con un resistore:
R = V / I = 2 / .05 = 22.9 / .05 = 40ohm
40 non è un valore standard, ma per questo progetto vogliamo essere precisi, quindi sleghiamo i cordoni della borsa e compriamo ‘sti 5 micragnosi resistori.. o se proprio vogliamo pidocchiare, possiamo sempre fare una serie di resistori con uno da 18 più uno da 22.
Potenza? Non sarà molta, stavolta:
P = 2 * .05 = 0.1W o 100mW
Considerando che 100 LED totali su file da 20 fanno 5 file, l’energia buttata via in calore è mezzo Watt, decisamente meglio di prima. E ci va molto meglio anche con l’alimentatore: 5 canali da 50mA ciascuno fanno 250mA; per stare dalla parte sicura ne compriamo uno da 500mA, e probabilmente sul primario finiremo col consumare 10-12W massimo; una differenza abissale con i 150W di prima.
LED Multigiunzione
Era probabilmente il 79 quando mi sono svenato per comprare il mio primo LED bicolore rosso/verde. Non mi serviva, ma era il piacere di averlo in mano. Credo di averlo ancora, da qualche parte.
Da allora sono cambiate un paio di cose con la tecnologia, ed il LED più completo che abbiamo a disposizione è l’RGB con il quale, dosando opportunamente i tre colori, possiamo ottenere tutte le sfumature dell’arcobaleno.
Sul come usarli con Arduino, vedremo in un articolo apposito, ma per il momento mi premeva specificare un paio di cose;
1) a seconda se lo vogliamo usare in sourcing o sinking, dobbiamo scegliere se è a Catodo o Anodo comune;
- se vogliamo accendere i singoli LED tramite un segnale positivo (alto) serve un LED a Catodo comune che andrà collegato a GND; i vari Anodi saranno collegati a diversi pin (tramite resistore) per poter accendere indipendentemente le varie giunzioni; (sourcing)
- se vogliamo invece accenderli tramite un segnale negativo, ovvero portando ogni singolo Catodo a GND, ci servirà un LED ad Anodo comune, che verrà collegato a Vcc (positivo) ed i vari Catodi saranno collegati, tramite resistore, ognuno ad un piedino; (sinking)
2) come è già chiaro da sopra: un resistore per ogni canale!
per accendere ogni colore, nel caso dell’Anodo comune sarà necessario abbassare (portare a LOW) i piedini 11, 12 o 13; nel caso del Catodo comune, invece, i piedini 8, 9 o 10 andranno alzati (portati a HIGH).
Nota:
Sourcing: (to source: procurare, originare, fornire)
Quando un carico è connesso fisso a GND e, per alimentarlo, viene fornita all’altro capo una tensione positiva (Vcc).
Sinking: (to sink: affondare)
Quando un carico è connesso fisso a Vcc e, per alimentarlo, l’altro capo viene “abbassato” a GND.
LED Driver
Visto che il parametro più importante per quanto riguarda un LED è la corrente che lo attraversa, non è più facile dire OK, voglio che di qui passino 20mA, non uno di più, non uno di meno?
Sì, lo è. Infatti esistono dei componenti che permettono di fare proprio questo: stabilire quanta corrente deve passare, e poi che ci siano collegati uno, nessuno, o centomila LED, costoro cercano di fare in modo che fluisca la corrente che abbiamo richiesto. Salvo se i LED sono “nessuno”: se ne accorgono, e smettono di provarci.
I LED Driver semplificano il disegno di circuiti in cui ci sono parecchi LED in batteria da gestire: che siano da accendere insieme o singolarmente, rendono la progettazione estremamente più semplice.
Esistono in una pletora di configurazioni, con controllo analogico o digitale, ed hanno un numero di canali compreso tra 1 a 32, e più in casi particolari.
Integrati nel componente si trovano quasi sempre controlli di circuito aperto oppure corto, gestiti a livello di canale (un canale in corto non pregiudica il funzionamento degli altri); inoltre possono inoltrare questa informazione all’elettronica di controllo, affinché essa, con questa informazione in mano, possa fare ragionamenti e prendere decisioni.
Il controllo digitale ci permette di comunicare al Driver la corrente che desideriamo tramite un segnale digitale, tipicamente seriale, e le interfacce disponibili sono varie (UART, Wire, I2C);
il controllo analogico richiede sul piedino di controllo una tensione all’interno di una certa “gamma” (solo a titolo di esempio: tra 1 e 3 Volt) per dosare la corrente; un particolare interessante, che esploriamo qui sotto, è che quando quella tensione va a zero (GND) i LED sono spenti.
Ognuno dei due metodi ha i suoi pro e contro; tipicamente, i Driver con controllo digitale sono più comodi poiché non richiedono calcoli e componenti extra per fornire la tensione specifica per il nostro caso; tuttavia, per variazioni frequenti di luminosità diventano meno pratici, poiché la nuova corrente desiderata va comunicata, e questo crea ulteriore lavoro per la MCU che pilota il Driver.
Per contro, i controlli analogici hanno sì la necessità di tarare esattamente la tensione, proporzionale alla corrente che si desidera, tramite un partitore resistivo; ma hanno il vantaggio di poter usare un trucco grazie al quale è possibile variare la luminosità molto spesso, e ciò senza portare carico eccessivo per la MCU: anziché collegare il partitore tra 5V e GND, va collegato tra un piedino della MCU e GND; una volta che il partitore è dimensionato per dare la massima corrente consentita al (o ai) LED, pilotando quel piedino con un segnale PWM possiamo dosare la luminosità a piacere: infatti quando l’impulso PWM è ON, i LED saranno accesi al massimo stabilito, mentre quando è OFF saranno spenti.
A livello di carico sulla MCU, un cambio di duty cycle del PWM è un soffio, e non è neanche minimamente comparabile al mandare una sequenza via seriale inclusi handshaking e controllo che sia andato tutto bene.
Ecco un esempio tra tanti, della cui affidabilità sono certo: XP Power LDU24 che richiede alimentazione, una tensione di controllo (quindi controllo analogico) per stabilire la corrente, ed in uscita ha un LED+ (Anodo) e LED- (Catodo). La circuiteria è isolata, quindi i LED non andranno collegati a Vcc o GND, ma solo ai + e – in uscita dal Driver.
In questa scheda ci sono due Driver che comandano due pannelli indipendenti, in ognuno dei quali ci sono 12 canali paralleli con 5 LED in serie per canale; in serie ad ogni canale c’è un piccolo resistore; si notino R21/31 e R22/32; sono i partitori resistivi che creano la tensione che a sua volta “indica” al Driver la corrente che desideriamo; in più i partitori sono comandati da un segnale PWM per poter variare la luminosità dei pannelli.
Alimentare un LED a 220V
Nota: maneggiare la rete elettrica significa pericolo di folgorazione, per questo richiede competenza e attenzione: realizza questi circuiti solo se sai esattamente cosa stai facendo.
Per anni mi sono chiesto perché le spie per uso domestico, ad esempio da incasso in una scatola elettrica con interruttori, avessero dentro un bulbo al neon dalla luce traballante e appena visibile. I LED esistono da sempre, perché non usare quelli?
Eh, perché. Perché sono delle mezze calzette, sono delicati, e sopportano malamente le tensioni alte. Comunque si può fare: ci sono sempre nuove guide su Internet che spiegano come farlo, e quando ho bisogno di fare due risate faccio una ricerca su Google sull’argomento. L’ultimo che ho trovato, ad esempio, ha pubblicato un articolo ma non ha poi dato seguito scrivendo per quanto tempo è durato. Diciamo che questa è una piccola guida per difendersi dai cattivi consigli che si trovano in rete, ma soprattutto per capire perché sono cattivi.
Qui cominciamo dai rudimenti; inciampando, e dopo qualche LED scoppiato (solo sulla carta, o meglio sul blog) arriviamo alle soluzioni accettabili.
POP 1
Nota: ho fatto un errore nella prima stesura, complice il fatto che sto facendo dei calcoli per la trifase americana e ho i numeri in palla, chiedo scusa per la disattenzione.
La teoria: prendiamo la presa di corrente di casa: la tensione di rete di 220V è citata in RMS, quindi (moltiplica per radice di 2) ho una tensione che rispetto a terra (o al neutro) oscilla da +311/325 a -311/325. Siccome il LED è un diodo, lascerà passare solo una semionda, quindi lo colleghiamo in modo da doverci preoccupare solo dei 311V di quella positiva.
Questo LED è un indicatore, non deve “fare luce”, quindi ci accontentiamo di farci passare attraverso 10mA; la caduta di tensione Vf a queste tensioni è trascurabile, quindi assumiamo che sia zero; calcoliamo il resistore:
R = V / I = 311 / 0.01 = 31100 = 31.1K prendiamo il più vicino valore standard, 33K: I = V / R = 311 / 33000 = 0.0094 = ~9.4mA
ottimo. Cosa potrà mai andare storto?
OK perché è esploso?
siccome il diodo conduce solo in un verso, quando non conduce, ovvero quando la tensione si sposta verso i -311V, attraverso il resistore non passa corrente. E cosa ci dice la legge di Ohm a proposito della caduta di tensione a cavallo di un resistore?
V = I * R = 0 * 33000 = 0V
quindi, se la caduta di tensione a cavallo del resistore è 0V, significa che i 311V (0 sul catodo e -311 sull’anodo) sono tutti sul groppone del LED sotto forma di Vr; in precedenza dicevamo che normalmente il Vr di un LED è di 5V e se gliene diamo trecento, se è un LED cinese non dura neanche una semionda, se è un LED tedesco fabbricato dalla KRUPP con una lega di acciaio e silicio teutonica forse tre o quattro semionde le prende, prima di arrendersi. Totale un bel 100ms di vivida sorpresa.
POP 2
Proprio qualche giorno fa, alla ricerca di umorismo, sono capitato su un articolo dove veniva illustrata la soluzione finale per questo problema: Visto che il LED è deboluccio per quanto riguarda Vr, mettiamoci un raddrizzatore in serie, no? hahahahahaha infatti..
Nel mondo ideale, teoreticamente funziona, ma appena uno ha usato qualche diodo nella vita vera, sa già che questa non è la soluzione finale. Vediamo con questo raddrizzatore al silicio da 400V nominali cosa succede:
Il Vr stavolta lo superiamo solo di un centinaio di Volt, quindi va molto meglio e forse per qualche millisecondo i più il LED funziona.
Maaaaa.. perché il diodo al silicio non fa il suo lavoro?
Perché un diodo c’è già: il LED.
Il diodo al silicio al suo interno ha una giunzione che, in assenza di differenza di potenziale tra i capi, è inerte; volendo vederlo come una “valvola”, finché non c’è pressione sul catodo, non “chiude”.
Mettere il diodo davanti o dietro il LED non fa differenza.
Quindi, anche questa è da scartare.
POP 3
Qui cominciamo ad avvicinarci alla soluzione finale, anche se il fumino uscirà lo stesso. Il diodo di protezione dobbiamo usarlo meglio:
In questo modo facciamo sì che il diodo in silicio sia un bypass per la semionda negativa: non appena la tensione gira al contrario, la corrente passerà attraverso il diodo in silicio, lasciando stare il LED. Vediamo:
Vr ai capi del LED non va oltre il Vf del diodo in silicio, quindi alla peggio 0.7V che è ampiamente all’interno dei 5V massimi. Molto bene.
Allora cos’è che scoppia stavolta?
Guardiamo la corrente attaverso il resistore:
Al picco sono i ~9.4mA che avevamo detto, e quindi? Supponiamo l’ipotesi peggiore, ovvero che la corrente di picco sia costante, e chiediamo a Giovanni Ohm:
P = V * I = 311 * 0.0094 = ~2.9W
Se consideriamo la corrente reale va leggermente meglio, ma di poco.
Visto che molto probabilmente il resistore che abbiamo messo non è da 5W, è solo questione di tempo (poco), prima che il resistore vada in fumo. Sempre che si fermi lì: se il resistore è vendicativo e decide che se deve morire vuole portarsi altri con sè, col calore fonde le guaine protettive dei cavi intorno, e magari provoca un bel corto sulla rete elettrica.
Soluzione? Nessuna, a parte metterci un resistore che porti quella potenza.
Oppure allarghiamo i nostri orizzonti e pensiamo a un approccio alternativo.
Non ne abbiamo parlato in precedenza, poiché in digitale non serve a molto, tuttavia i condensatori hanno una particolarità: un valore, che si chiama reattanza, si esprime in Ohm, ed è la resistenza opposta al passaggio della corrente quando il condensatore è esposto ad un a determinata frequenza (e in base alla quale varia).
La formula semplificata per calcolare la reattanza è:
Xc = 1 / (2πfC) f = frequenza in Hertz C = Capacità in Farad
Ho scelto a caso dal cassettino virtuale un condensatore non polarizzato poliestere da 100nF 400V, vediamo come quaglia:
Xc = 1 / (2πfC) = 1 / (2 * 3.1416 * 50 * 100 / 1000 / 1000 / 1000) nota: le tre divisioni per 1000 sono semplicemente per illustrare meglio il passaggio da Farad a milli, micro, nano, ma potevo scrivere un miliardo = 1 / 0.000031416 = 31831 Ohm circa
Ho aggiunto un resistore in serie -di valore molto inferiore a prima- per alzare il valore, ma anche per smorzare gli “spigoli”, effetto dell’aver introdotto un condensatore nell’equazione:
vediamo come reagisce:
OK, non è esattamente come prima, poiché il condensatore introduce uno sfasamento in anticipo, ma a parte la prima semionda, il resto è tutto regolare. Qui vediamo la differenza di questo circuito con uno che ha solo il condensatore:
Come si vede, il resistore smorza le asperità dell’onda, ed inoltre riduce leggermente lo sfasamento rispetto alla tensione.
Ma perché aggiungere un componente anziché usare un resistore solo?
In un resistore la potenza va dissipata, e va dimensionato adeguatamente. Ma un condensatore l’energia non la dissipa, semplicemente la immagazzina per poi restituirla in un ciclo di carica e scarica. Infatti per un condensatore il parametro “potenza” non è specificato; d’altra parte al suo interno non c’è connessione elettrica tra un terminale e l’altro.
Questo fa sì che il resistore, se presente, possa essere di valore ridotto, la caduta di tensione ai suoi capi limitata, e quindi possa essere un normalissimo 250mW (o 500mW per sicurezza); nel circuito qui illustrato il resistore dissipa circa 151mW, un valore più che normale.
Si può fare di meglio?
Sempre.
Finora il LED si accendeva solo durante la semionda positiva, e “dormiva” durante quella negativa. Allora, anche se è un po’ come sparare a una mosca con un cannone, sfruttiamo anche la negativa grazie ad un ponte di diodi (a valle della limitazione di corrente):
tensione al punto A:
Ottimo, abbiamo costruito un castello per accendere un LED, però adesso che non salta semionde è molto bello da vedere.
Ma.. si può fare ancora meglio? Certo!
Appendice
Come faccio se trovo un LED in casa che ho comprato tre anni fa al mercatino dell’elettronica di Sarmembro di sopra e quindi non c’è nessun datasheet?
In questo caso bisogna invocare la spannometria, ma il LED si può ancora usare.
Prima di tutto, due assunti:
- Vf aumenta con l’aumentare della corrente
- è raro che un LED (esclusi indicatori SMD) porti meno di 20mA. Molto raro. Mai visto uno dal vero, ad essere sincero
Per quanto riguarda Vf, se lavoriamo a 5V è importante trovarlo, anche se approssimato. Infatti, considerando che Vf può variare selvaggiamente da 1 a ~3.4 Volt, il suo valore incide su 5V per una grossa percentuale.
Ammettiamo di sbattercene e di assumere che Vf sia un mediano 2.2V.
5 - 2.2 = 2.8
Se vogliamo 20mA, il resistore sarà da:
R = 2.8 / .02 = 140
il valore standard più vicino è 150, usiamo quello.
Il risultato è che se il LED aveva un Vf di 3.4V, la corrente in realtà sarà di:
I = (5 - 3.4) / 150 = 1.6 / 150 = ~11mA
non proprio un lumino da cimitero, ma si può fare di meglio.
Ma se il LED aveva un Vf basso, ad esempio 1.2V, succede che:
I = (5 - 1.2) / 150 = 3.8 / 150 = ~25mA
il che non farà scoppiare la giunzione, ma ne accorcerà la vita.
Conviene fare uno sforzo e capire quale è il valore approssimato: è necessario collegare il LED in questa configurazione, usando un resistore da 220 che, nella peggiore delle ipotesi (Vf = 1V), lascia passare 18mA circa:
Tra B e C colleghiamo un tester impostato su V (continua).
La tensione che leggiamo sul tester è un valore piuttosto vicino al Vf che stiamo cercando.
Nota: nella stragrande maggioranza dei casi sarà al di sotto del Vf reale, pertanto è già conservativo di per sè.
Alcuni esempi di cadute di tensione approssimative:

si noti il fascio, invisibile all’occhio umano, ma che non scappa alla telecamera del telefono (questo infatti è il trucco per determinare quando un telecomando ha le pile scariche: guardarlo attraverso un telefono e pigiare tasti)
In questo ultimo caso, ho voluto approfondire: il datasheet dice che la caduta di tensione tipica è di 3.2V, ma noi ufficialmente non lo sappiamo; però sappiamo che Vf aumenta con l’aumentare della corrente. Abbiamo letto circa 2.85V di caduta. Vediamo quanta corrente ci stava passando:
I = (5 - 2.85) / 220 = 2.15 / 220 = ~9.8mA
quindi possiamo provare ad abbassare il resistore e vedere cosa succede. Il resistore adatto per questa caduta sarebbe:
R = (5 - 2.85) / .02 = 2.15 / .02 = 107.5 ohm
sapendo che Vf aumenta con l’aumentare della corrente, rischiamo e mettiamoci un 100 Ohm; ecco il risultato:
abbiamo una stima più precisa della caduta di tensione. Non è ancora quella reale, ma ci siamo più vicini, e possiamo già prenderla per buona; infatti, nella nostra ipotesi:
I = (5 - 3) / 100 = 2 / 100 = .02 o 20mA
quando in realtà, considerando il Vf da datasheet, la corrente vera sarà:
I = (5 - 3.2) / 100 = 1.8 / 100 = .018 o 18mA
Non sarà utilizzato al massimo delle sue possibilità, ma sappiamo che lo stiamo usando in sicurezza, ed abbastanza vicini alle sue specifiche.