Come pilotare LED multicolore

Di Bill Giovino

Contributo di Editori nordamericani di DigiKey

I diodi a emissione luminosa (LED) sono un mezzo semplice ed economico per fornire informazioni sullo stato. Per alcuni progetti, tuttavia, un LED monocromatico potrebbe non essere sufficiente e, a causa di vincoli di spazio, costo o potenza, utilizzare più LED potrebbe essere un'opzione non praticabile. In queste situazioni i LED multicolore offrono una soluzione efficace, a condizione che vengano interfacciati correttamente con un microcontroller.

Questo articolo illustrerà i principi base dei LED e i vantaggi di quelli multicolore prima di presentare soluzioni di LED multicolore idonee. Infine, mostrerà come li si può interfacciare con un microcontroller per produrre fino a 16 milioni di colori diversi.

Trattare i LED come diodi

Quando si progetta un circuito con un LED, è importante tenere presente che questi dispositivi non sono lampadine a incandescenza ma dispositivi a semiconduttore - diodi - che emettono luce. Essendo dei diodi, in genere consentono il flusso di corrente principalmente in una sola direzione (i diodi non sono prodotti ideali, quindi quando sono polarizzati in senso inverso presentano un piccolo flusso di corrente).

In un LED comune la parte che emette la luce è un semplice diodo a semiconduttore posto al centro dell'assieme, costituito da una singola giunzione PN (Figura 1). La corrente scorre dall'anodo del LED, che è collegato al semiconduttore di tipo p, al catodo del LED, che è collegato al semiconduttore di tipo n. Nei diodi comuni la giunzione PN è solitamente in germanio (Ge) o silicio (Si). Nel caso dei LED, invece, in genere è in fosfuro arseniuro di gallio (GaAsP) trasparente o fosfuro di gallio (GaP).

Schema dell'assieme LED

Figura 1: Un assieme LED contiene il die di giunzione PN a semiconduttore che permette alla corrente di scorrere dall'anodo al catodo. Un alloggiamento trasparente dotato di lente consente all'utente di vedere facilmente la luce emessa risultante. (Immagine per gentile concessione di Wikipedia)

Con GaAsP o GaP trasparente, la tensione diretta applicata attraverso la giunzione PN libera i fotoni dal semiconduttore. La giunzione PN è montata su una cavità riflettente che indirizza i fotoni verso la lente del LED. La lente e il corpo del LED sono composti da una resina epossidica trasparente che, opzionalmente, può essere colorata in funzione del colore della luce emessa.

La cavità riflettente poggia su una struttura chiamata incudine, ovvero il catodo che è collegato da un filo saldato ad un altro componente detto paletto, che corrisponde all'anodo. Incudine e paletto hanno una forma tale per cui sono strettamente connessi con il corpo epossidico del LED ed è impossibile estrarli senza distruggere il LED.

LED monocromatici

I LED sono disponibili in molti colori, tra cui rosso, verde, giallo, ambra, ciano, arancione, rosa, viola e, più recentemente, bianco e blu. I LED monocromatici hanno un die a semiconduttore composto da un materiale che genera la lunghezza d'onda della luce desiderata e da un alloggiamento in resina epossidica che spesso ha lo stesso colore del LED. Anche se la lente non deve necessariamente essere dello stesso colore della luce emessa, è importante che lo sia per identificare facilmente di che colore sarà la luce emessa dal LED ed evitare confusione con altri LED.

LED multicolore

Per alcuni sistemi con vincoli di spazio, costi e potenza, avere un LED che può emettere più di un colore è un vantaggio. Di solito questi LED multicolore comprendono tre LED - uno rosso, uno verde e uno blu (RGB) - racchiusi in un unico alloggiamento epossidico trasparente. Un buon esempio è il LED RGB 2739 di Adafruit Industries (Figura 2). Studiato per luci indicatore multicolore, ha una superficie di emissione della lente rettangolare di 2,5 mm di larghezza per 5 mm di altezza e viene fornito con quattro conduttori radiali per montaggio a foro passante su una scheda a circuiti stampati.

Immagine del LED RGB 2739 di Adafruit

Figura 2: Il LED RGB 2739 di Adafruit ha una lente rettangolare epossidica trasparente di 2,5 mm di larghezza per 5 mm di altezza. Viene fornito con quattro conduttori radiali per montaggio a foro passante su una scheda a circuiti stampati. (Immagine per gentile concessione di Adafruit Industries)

In genere, è possibile utilizzare separatamente uno qualsiasi dei tre LED interni o combinarlo con gli altri per produrre diversi colori.

I LED RGB multicolore sono comunemente disponibili in tre piedinature:

  1. Un anodo comune per tutti i LED, con ogni catodo disponibile per un totale di quattro conduttori
  2. Un catodo comune per tutti i LED, con ogni anodo disponibile per un totale di quattro conduttori
  3. Tutti gli anodi e i catodi hanno i rispettivi conduttori, per un totale di sei

Progettare con LED multicolore

Il LED RGB 2739 di Adafruit ha un anodo comune e tutti i catodi per i LED rosso, verde e blu con conduttore individuale per un totale di quattro conduttori (Figura 3). L'anodo comune è collegato all'alimentazione positiva, mentre ognuno dei singoli LED rosso, verde e blu viene acceso collegandolo a terra.

Schema degli anodi e catodi del LED RGB 2739 di Adafruit

Figura 3: Il LED RGB 2739 di Adafruit ha un anodo comune e un catodo separato per i LED rosso, verde e blu. (Immagine per gentile concessione di Adafruit Industries)

Generare più colori

Se un'applicazione deve visualizzare solo uno dei tre stati, il modo più semplice per utilizzare il LED RGB 2739 è accendere un solo LED alla volta, permettendo all'utente di scegliere tra rosso, verde o blu.

Per aumentare la varietà di colori, un progettista può semplicemente combinare due colori, offrendo le seguenti sei opzioni di colore:

  • Rosso
  • Verde
  • Blu
  • Giallo (rosso + verde)
  • Ciano (verde + blu)
  • Magenta (rosso + blu)

Per una chiara documentazione del progetto, i colori visualizzati dovrebbero essere separati, facili da riconoscere e da identificare verbalmente. Ad esempio, un LED verde alla massima corrente può essere documentato in una scheda dati come "lime". Ma quando è acceso, la maggior parte dei consumatori e degli sviluppatori lo identificherebbe come "verde". Indipendentemente dal nome effettivo del colore, gli utenti dovrebbero poter distinguere facilmente i vari colori sia a occhio che guardando l'etichetta. Poche persone possono distinguere facilmente un colore "verde" da un colore "lime" e, se i due sono affiancati, potrebbero identificare il lime come "verde" e il verde come "verde scuro".

Per applicazioni più complesse, è possibile variare l'intensità delle combinazioni RGB per generare fino a 16 milioni di colori. Un metodo affidabile per farlo è applicare un segnale modulato a larghezza di impulso (PWM) a ogni LED, in cui il ciclo di lavoro corrisponde all'intensità. L'occhio umano può identificare uno sfarfallio di 200 Hz o più lento. Quindi, per evitarlo si dovrebbe usare una frequenza PWM di 1000 Hz o più.

I colori possono essere facilmente selezionati in base al loro codice colore RGB. Tale codice si basa sul modello di colore additivo RGB in cui la luce rossa, verde e blu varia individualmente per intensità e viene combinata per riprodurre quasi tutti i colori. Questo modello si applica alla luce e costituisce la base per riprodurre il colore nei televisori e nei display. È usato anche per rappresentare i colori sulle pagine Web.

L'acronimo per un codice colore RGB è rappresentato da (R, G, B) dove R, G e B sono sostituiti con i valori decimali per l'intensità del rosso, del verde e del blu in un intervallo compreso tra 0 e 255. Ad esempio, il codice colore RGB decimale per il blu è (0,0,255), per il viola è (128,0,128) e per l'argento è (192,192,192). Quando si determina il ciclo di lavoro PWM per ogni colore, questi valori vengono divisi per 255, quindi i valori del ciclo di lavoro per il blu sarebbero (0,0,100%), per il viola (50%,0,50%) e per l'argento (75%,75%,75%).

In teoria, la luce bianca è rappresentata da (255,255,255) e può essere generata accendendo simultaneamente i LED rosso, verde e blu alla massima intensità. In pratica, però, il colore prodotto da questo metodo è solitamente bianco con una sfumatura bluastra. Questa colorazione è dovuta al fatto che i colori dei LED generati non corrispondono esattamente alle lunghezze d'onda precise di un rosso, verde e blu perfetti.

I segnali PWM richiesti vengono generati facilmente da un microcontroller. Un esempio calzante è ATSAMC21J18A di Microchip Technology (Figura 4). Si tratta di un dispositivo a basso consumo per endpoint IoT e fa parte della famiglia di microcontroller SAM C21 della società. Ha un core Arm® Cortex®-M0+ a 48 MHz e supporta 5 V per I/O.

Schema del microcontroller ATSAMC21J18A di Microchip

Figura 4: Il microcontroller ATSAMC21J18A dispone di unità timer/contatore in grado di generare automaticamente tre segnali PWM sincroni. (Immagine per gentile concessione di Microchip Technology)

Per pilotare i LED, il microcontroller ATSAMC21J18A dispone di unità timer/contatore in grado di generare automaticamente tre segnali PWM sincroni. La famiglia SAM C21 ha un'opzione di sink elevato che consente a quattro pin di I/O di dissipare fino a 20 mA.

Quando si utilizza un LED, è importante scegliere il resistore in serie corretto per limitare il flusso di corrente. Un resistore con un valore troppo basso può distruggere il LED, un valore troppo alto può non produrre luce o produrre una luce scarsa. Il valore del resistore in serie è determinato dalla tensione diretta di ogni LED e dal flusso di corrente desiderato.

I LED sono semiconduttori controllati in corrente. Inoltre, è importante notare che a causa della fisica dei materiali, la tensione di funzionamento del LED aumenta man mano che la lunghezza d'onda della luce emessa diminuisce. Occorre tenerne conto quando si utilizzano più LED.

Con una corrente diretta di 20 mA per il LED RGB 2739 di Adafruit, le tensioni dirette tipiche dei LED specificate dai grafici di Adafruit sono 2 V per il rosso e 3,2 V per il verde e il blu.

Se l'anodo comune è collegato a 5 V, i valori del resistore tra i LED e i pin I/O sono determinati dall'equazione:

Equazione 1 Equazione 1

Dove:

VDD = 5 V

VOL = Uscita a bassa tensione per ATSAMC21J18A = 0,1 x VDD = 0,5 V

VF = tensione diretta (tipica)

I = corrente diretta in ampere

R = valore del resistore in ohm

L'applicazione di questa formula per I = 20 mA dà RRED (VF = 2 V) = 125 Ω e RGREEN = RBLUE (VF = 3,2 V) = 65 Ω.

Se la resistenza calcolata non è disponibile come valore del resistore standard, lo sviluppatore può scegliere il valore successivo più basso o quello successivo più alto (preferito). Se si seleziona un valore inferiore occorre prestare attenzione a non superare la tensione diretta massima per quel LED o la capacità massima di assorbimento della corrente della porta I/O di ATSAMC21J18A. Il LED può funzionare anche se vengono superati questi valori massimi ma vi è il rischio che la sua durata si accorci o che, nel tempo, la porta I/O si deteriori anche in modo irreparabile. Opzionalmente, è possibile ridurre la corrente diretta, a condizione che la quantità di luce dimmerata sia ancora accettabile per l'applicazione. Ad esempio, con una corrente diretta di 15 mA, le tensioni dirette specificate per i LED RGB 2739 di Adafruit scendono a 1,9 V per il rosso e a 3,1 V per il verde e il blu. Ne conseguono valori del resistore di RRED = 173,3 Ω e RGREEN = RBLUE = 93,3 Ω.

Poiché ATSAMC21J18A controlla i LED controllando la connessione a terra, un singolo LED è acceso quando la logica della porta I/O è bassa ed è spento quando è alta. Per questo motivo, occorre invertire i cicli di lavoro del codice colore RGB calcolati. Ad esempio, se un colore richiede un ciclo di lavoro del 25%, PWM deve generare un ciclo di lavoro del 75% perché il LED sia acceso per il 25% del periodo di tempo. Inoltre, se il LED deve essere spento all'accensione, il codice di avvio del microcontroller deve abilitare i tre pin per una logica alta.

ATSAMC21J18A è dotato di 256 kbyte di memoria flash, 32 kbyte di RAM e di diverse periferiche analogiche. Il microcontroller ha anche sei moduli di comunicazione seriale (SERCOM), ognuno dei quali può fungere da interfaccia USART, SPI, LIN slave o I2C.

LED RGB intelligente

Un modo alternativo per generare più colori con un LED RGB consiste nel programmarlo. LED intelligente è un termine usato per descrivere questo tipo di LED multicolore che è dotato di un'interfaccia seriale programmabile. Un buon esempio è BL-HBGR32L-3-TRB-8 di American Bright Optoelectronics, un LED RGB di 5 mmq che può essere programmato per generare qualsiasi colore utilizzando un'interfaccia I2C da 800 kHz (Figura 5).

Schema di BL-HBGR32L-3-TRB-8 di American Bright

Figura 5: BL-HBGR32L-3-TRB-8 di American Bright è un LED RGB digitale di 5 mm2 a sei pin con una piedinatura a foro passante I2C che consente di collegare in serie più dispositivi sulla stessa interfaccia I2C. (Immagine per gentile concessione di American Bright Optoelectronics Corp.)

La comodità dell'interfaccia I2C facilita enormemente il progetto risparmiando spazio su scheda e semplificando il codice del microcontroller. Una delle porte SERCOM di ATSAMC21J18A può essere configurata come interfaccia seriale I2C per interfacciarsi facilmente con BL-HBGR32L-3-TRB-8. Facendo riferimento alla piedinatura in Figura 5, il segnale dati di I2C proveniente dal microcontroller ATSAMC21J18A è collegato al segnale Data In del pin 1 e il clock I2C al pin 2 Clock In.

Il colore del LED BL-HBGR32L-3-TRB-8 viene programmato inviando quattro byte che rappresentano l'impostazione di luminosità globale e i codici colore RGB come una parola a 32 bit. Il LED intelligente permette il foro passante per il conduttore 6 dell'uscita dati e quello del clock I2C per il conduttore 5. Ciò consente di collegare in serie più LED così che ognuno di essi possa mostrare un colore diverso.

Conclusione

Se si capisce come pilotarli, i LED RGB multicolore possono far risparmiare spazio, costi e consumi, migliorando al contempo l'estetica e l'interfaccia utente di un sistema terminale, un dispositivo, un indicatore di stato o un sistema di illuminazione. Gli sviluppatori possono scegliere tra LED RGB standard che consentono il controllo completo di ciascun LED o LED intelligenti che forniscono il controllo programmabile dei colori. Per quanto riguarda i microcontroller normalmente usati per generare segnali di controllo PWM, esistono molte opzioni a bassa potenza e a basso costo.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Bill Giovino

Bill Giovino

Bill Giovino è un ingegnere elettronico con un BSEE ottenuto a Syracuse University, ed è uno dei pochi ad essere passati con successo da progettista, a ingegnere delle applicazioni sul campo, al marketing tecnologico.

Da oltre 25 anni, Bill promuove le nuove tecnologie per un pubblico tecnico e non tecnico a nome di molte aziende, tra cui STMicroelectronics, Intel e Maxim Integrated. In STMicroelectronics, Bill ha contribuito a guidare i primi successi dell'azienda nel settore dei microcontroller. Con Infineon, Bill ha orchestrato i primi successi di progettazione di microcontroller dell'azienda nel settore automotive statunitense. In qualità di consulente di marketing per la sua società CPU Technologies, Bill ha aiutato molte aziende a trasformare prodotti di secondo grado in storie di successo.

Bill è stato uno dei primi ad adottare l'Internet delle cose, compresa l'integrazione del primo stack TCP/IP completo su un microcontroller. Bill è fedele al motto "Le vendite guidate dall'educazione" e tiene molto alla crescente importanza di comunicazioni chiare e ben scritte nella promozione di prodotti online. È moderatore del famoso gruppo Sales & Marketing di LinkedIn Semiconductor e parla correntemente di B2E.

Informazioni su questo editore

Editori nordamericani di DigiKey