如何驅動多色 LED
資料提供者:DigiKey 北美編輯群
2019-03-12
發光二極體 (LED) 能以簡單且具成本效益的方式提供狀態資訊。但對某些專案來說,只使用一個單色 LED 可能不夠,而使用多個 LED 又可能因空間、成本或功率的限制而不切實際。對於這類情況,多色 LED 能夠提供有效的解決方案,但前提是確保 LED 妥善連接到微控制器。
本文將介紹 LED 的基礎知識,並探討多色 LED 的優勢,然後介紹一些合適的多色 LED 解決方案。最後還會展示如何將 LED 連接至微控制器,以產生多達 1600 萬種不同的色彩。
將 LED 視為二極體
在設計含 LED 的電路時,請謹記這些元件不是白熾燈泡,而是二極體這樣的半導體元件,只不過碰巧會發光而已。二極體通常大部分只允許電流單向流動 (二極體並不完美,因此在逆向偏壓時會出現少量電流)。
一般 LED 的發光部分是位於組件中央的簡單半導體二極體,由單一 p-n 接面構成 (圖 1)。電流從連接到 p 型矽晶片的 LED 陽極,流向連接到 n 型矽晶片的 LED 陰極。在一般的二極體當中,p-n 接面通常是鍺 (Ge) 或矽 (Si)。但對 LED 而言,接面通常是透明的砷磷化鎵 (GaAsP) 或磷化鎵 (GaP) 半導體材料。
圖 1:LED 組件中會放置半導體 p-n 接面晶粒,可讓電流從陽極流向陰極。裝有透鏡的透明外罩能夠讓使用者清楚看到發出的光。(圖片來源:Wikipedia)
藉由透明的 GaAsP 或 GaP,沿著 p-n 接面施加順向電壓後,便會從半導體釋放出光子。p-n 接面裝在反射腔上,將光子聚焦到 LED 的透鏡。LED 的透鏡和主體由透明的環氧樹脂構成,而樹脂可根據發射光的顏色選擇性地進行上色。
反射性腔室位於稱為陰極接柱的導線架上,而陰極會由焊線連接到稱為陽極接柱的導線架上。陰極接柱和陽極接柱在塑形後與 LED 環氧樹脂主體形成穩固的連結,能夠確保陽極或陰極引腳無法從 LED 環氧樹脂主體中拔出,從而避免 LED 受損。
單色 LED
LED 有多種顏色,包含紅色、綠色、黃色、琥珀色、靛色、橘色、粉紅色、紫色,以及最近研發的白色與藍色。單色 LED 具有由能產生所需光線波長的材料組成的半導體晶粒,而 LED 環氧樹脂外罩組件通常採用同一種顏色。雖然透鏡的顏色不一定要與發射光同色,但為了防止與其他 LED 混淆,還是很有必要讓使用者輕鬆辨別 LED 元件的顏色。
多色 LED
如果使用一個 LED 就能發出多種顏色,將給某些空間、成本和功率受限的系統帶來極大的優勢。這些多色 LED 通常會在一個透明的環氧樹脂外罩中裝有三個 LED,即紅光、綠光和藍光 (RGB)。Adafruit Industries 的 2739 RGB LED 便是一個很好的例子 (圖 2)。這款元件專為多色指示燈而設計,具有方形的透鏡發光表面 (寬 2.5 mm、高 5 mm),並具有四個徑向引線,能在 PC 板上進行通孔安裝。
圖 2:Adafruit 的 2739 RGB LED 具有透明的環氧樹脂方形透鏡 (寬 2.5 mm、高 5 mm),並且具有四條徑向引線,能在 PC 板上進行通孔安裝。(圖片來源:Adafruit Industries)
通常,這三個內部 LED 既能單獨使用,也能搭配使用,以產生不同的顏色。
多色 RGB LED 通常有三種引腳配置:
- 所有 LED 共用一個陽極,每個 LED 有一個陰極,共有四個引腳
- 所有 LED 共用一個陰極,每個 LED 有一個陽極,共有四個引腳
- 每個陽極和陰極都配置獨立的引腳,共有六個引腳
使用多色 LED 進行設計
Adafruit 的 2739 RGB LED 採用共用的陽極,紅光、綠光以及藍光 LED 的每個陰極都配置引腳,共有四個引腳 (圖 3)。共用的陽極連接到電源正極,紅光、綠光及藍光 LED 則透過接地的方式開啟。
圖 3:Adafruit 的 2739 RGB LED 採用共用的陽極,紅光、綠光以及藍光 LED 分別配置一個單獨的陰極。(圖片來源:Adafruit Industries)
產生多種顏色
如果某個應用只需要顯示三種狀態的其中一種,那麼 2739 RGB LED 最簡單的使用方式就是一次點亮一個 LED,而使用者可以選擇紅光、綠光或藍光。
若想提供更多種顏色,設計人員可以簡單地將兩種顏色組合在一起,形成以下六種顏色選擇:
- 紅光
- 綠光
- 藍光
- 黃光 (紅光 + 綠光)
- 靛光 (綠光 + 藍光)
- 洋紅光 (紅光 + 藍光)
為達到清楚的專案紀錄,顯示的顏色應該獨一無二、容易辨識,而且方便以口語識別。例如,在 LED 規格書中,具有滿載電流的綠光 LED 應記錄為「萊姆色」。但是,當 LED 燈點亮時,若是問起大部分的消費者與開發人員,他們會將這個顏色稱為「綠色」。不管這個顏色的實際名稱為何,使用者都應能透過標籤和視覺輕鬆辨識出不同的顏色。很少人能夠馬上指出「綠色」和「萊姆色」的不同;如果把這兩種顏色擺在一起,則可能會將萊姆色當成「綠色」,把綠色當成「深綠色」。
對於更為複雜的應用,RGB 組合可透過改變強度產生多達 1600 萬種顏色。較可靠的做法是對每個 LED 施加脈寬調變 (PWM) 訊號,其中工作週期與強度對應。由於人眼能夠辨識 200 Hz (或更低) 的閃爍,因此為了避免閃爍,應使用 1000 Hz 或更高的 PWM 頻率。
顏色可輕鬆依照 RGB 色彩代碼進行選擇。這是以 RGB 加色模型作為基礎,將不同強度的紅光、綠光和藍光相互組合後,便可重新產生出幾乎任何色彩。此模型適用於燈光,構成了電視機與顯示器色彩再現的基礎。此模型也適用於呈現網頁上的顏色。
RGB 色彩代碼可簡略表達為 (R,G,B),其中 R、G 和 B 為紅光、綠光以及藍光強度的十進位值,範圍介於 0 至 255。例如,藍光的十進位 RGB 色彩代碼為 (0,0,255),紫光為 (128,0,128),銀光為 (192,192,192)。在確定每個顏色的 PWM 工作週期時,請用這些值除以 255,因此藍光的工作週期值為 (0,0,100%),紫光為 (50%,0,50%),銀光為 (75%,75%,75%)。
從理論上講,白光由 (255,255,255) 表示,並且可透過同時將紅藍綠光 LED 開到最大強度來產生。但實際上,這種做法所產生的顏色往往是帶有藍光色調的白光。之所以會出現這樣的色調,是因為產生的 LED 顏色並未完全契合理想的紅綠藍光的精確波長。
微控制器能夠輕鬆產生所需的 PWM 訊號。Microchip Technology 的 ATSAMC21J18A 便是一個很好的例子 (圖 4)。這是一款適用於 IoT 端點的低功率元件,是該公司 SAM C21 微控制器系列產品之一。該元件具有 48 MHz Arm® Cortex®-M0+ 核心,支援 5 V I/O 電壓。
圖 4:ATSAMC21J18A 微控制器設有計時器/計數器裝置,能夠自動產生三個同步的 PWM 訊號。(圖片來源:Microchip Technology)
為了驅動 LED,ATSAMC21J18A 設有計時器/計數器裝置,能夠自動產生三個同步的 PWM 訊號。SAM C21 系列具有高灌電流選項,允許四個 I/O 引腳分別灌入最大 20 mA 的電流。
使用 LED 時,選擇正確的串聯電阻來限制電流相當重要。電阻值過低可能會損壞 LED,電阻值過高則可能導致光線昏暗或無光。串聯電阻的值由每個 LED 的順向電壓以及所需的電流決定。
LED 是由電流控制的半導體。同時,請務必注意,由於材料的物理特性,LED 的工作電壓會隨著發射光波長的減少而增加。這是在使用多個 LED 時需要考慮的重要因素。
Adafruit 的 2739 RGB LED 順向電流若為 20 mA,那麼在 Adafruit 的圖表中,紅光的指定典型 LED 順向電壓為 2 V,綠光與藍光為 3.2 V。
若共用陽極連接到 5 V,則 LED 與 I/O 引腳間的電阻值由以下方程式決定:
方程式 1
其中:
VDD = 5 V
VOL = ATSAMC21J18A 的低輸出電壓 = 0.1 x VDD = 0.5 V
VF = 順向電壓 (典型)
I = 順向電流,單位為 A
R = 電阻值,單位為 Ω
將 I = 20 mA 套入這個公式,會產生 RRED (VF = 2 V) = 125 Ω,RGREEN = RBLUE (VF = 3.2 V) = 65 Ω。
若計算出的電阻無法用作標準的電阻值,開發人員可以選擇次低或次高的值 (建議採用次高的值)。若是選擇較低的值,必須小心不要超出該 LED 的最大順向電壓,或 ATSAMC21J18A I/O 埠的最大電流流入能力。雖然 LED 在超出這些最大值的情況下仍然可以運作,但可能會造成 LED 使用壽命縮短,或 I/O 埠隨著時間劣化或受損。如果應用能接受較暗的光線,則可選擇降低順向電流。例如,在 15 mA 的順向電流下,Adafruit 的 2739 RGB LED 指定順向電壓會降至 1.9 V (紅光) 和 3.1 V (綠光與藍光)。這會導致電阻值為 RRED = 173.3 Ω,RGREEN = RBLUE = 93.3 Ω。
由於 ATSAMC21J18A 透過控制接地連接來控制 LED,單個的 LED 會在 I/O 埠位於邏輯低位準時點亮,在處於邏輯高位準時熄滅。因此必須反轉所計算的 RGB 色彩代碼工作週期。例如,若某個顏色需要 25% 工作週期,則 PWM 必須產生 75% 工作週期,LED 持續開啟的時間才能達到 25%。另外,若 LED 必須在上電期間熄滅,則微控制器的啟動碼必須要讓三個引腳達到邏輯高位準。
ATSAMC21J18A 配有 256 kB 快閃記憶體、32 kB RAM,以及多個類比周邊裝置。此外,這款微控制器還設有六個序列通訊模組 (SERCOM),每個都能作為 USART、SPI、LIN 從屬介面或 I2C 介面使用。
智慧型 RGB LED
對 RGB LED 進行編程,也能產生出多種顏色。這種具有可編程序列介面的多色 LED,稱之為智慧型 LED。American Bright Optoelectronics 的 BL-HBGR32L-3-TRB-8 便是一個很好的例子;這款 5 mm 的方形 RGB LED 能夠進行編程來產生任何顏色,並且使用 800 kHz 的 I2C 介面 (圖 5)。
圖 5:American Bright 的 BL-HBGR32L-3-TRB-8 是一款 5 mm 的方形六引腳數位 RGB LED,採用 I2C 過孔引腳配置,允許多個元件在同一個 I2C 介面上進行菊鏈連接。(圖片來源:American Bright Optoelectronics Corp.)
I2C 介面使用起來相當方便,不僅能節省板空間,還可簡化微控制器的程式碼,繼而極大簡化了設計。ATSAMC21J18A 上的其中一個 SERCOM 埠可設定為 I2C 序列介面,從而輕鬆與 BL-HBGR32L-3-TRB-8 連接。請參見圖 5 中的引腳配置,ATSAMC21J18A 微控制器的 I2C 數據訊號會連接到引腳 1 數據輸入訊號,而 I2C 時脈會連接到引腳 2 時脈輸入。
在對 BL-HBGR32L-3-TRB-8 LED 的顏色進行編程時,需要傳送四個代表全域亮度設定以及 RGB 色彩代碼的位元組,做為一個 32 位元字組。此智慧型 LED 在引腳 6 上配置數據輸出直通,在引腳 5 上配置 I2C 時脈直通。這允許多個 LED 以菊鏈方式連接,從而可讓每個 LED 顯示不同的顏色。
結論
瞭解如何驅動多色 RGB LED,不僅能節省空間、成本及功率,還能增強終端系統、裝置、狀態指示器或照明系統的美感與使用者介面。開發人員可以選擇標準的 RGB LED,也可以選擇智慧型 LED;前者能夠完整控制每個 LED,後者能讓您對色彩控制進行編程。此外,對於常用來產生 PWM 控制訊號的微控制器,目前也有很多低成本且低功率的選擇。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。