本文將首先闡述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結芯片,可使電流從陽極流到陰極。帶透鏡的透明外殼可以讓用戶輕松看到產生的發射光。(圖片來源:維基百科)
利用透明的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)。該LED專為多色指示燈而設計,配有一個寬2.5mm、高5 mm的矩形透鏡發光表面,以及四根可在PC板上進行通孔安裝的徑向引線。
圖2:Adafruit的2739 RGB LED采用寬2.5mm、高5mm的透明環氧樹脂矩形透鏡,并帶有四根徑向引線,用于在PC板上進行通孔安裝。(圖片來源:Adafruit Industries)
通常情況下,三個內部LED中的任何一個均可以單獨使用,也可與其他LED結合使用,以產生不同的顏色。
多色RGB LED通常有三種引腳布局:
1)所有LED共用一個陽極,每個LED有一個陰極,總共四個引腳
2)所有LED共用一個陰極,每個LED有一個陽極,總共四個引腳
3)每個陽極和陰極都分配引腳,總共六個引腳
使用多色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萬種顏色。實現這一目的的可靠方法是:將脈沖寬度調制 (PWM) 信號應用于每個LED,其中占空比與強度相對應。人眼可以識別出200赫茲 (Hz) 或更慢的閃爍頻率,因此,為了避免閃爍,應使用1000Hz或更快的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)。該微控制器是一款用于物聯網端點的低功耗器件,是該公司SAM C21微控制器系列產品之一。它配有48MHz Arm® Cortex®-M0+內核,支持5伏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伏(紅色)和3.2伏(綠和藍色)。
如果共陽極連接到5伏電壓,那么LED和I/O引腳之間的電阻值由以下等式確定:
其中:
VDD = 5伏
VOL = ATSAMC21J18A 的輸出低壓 = 0.1 x VDD = 0.5伏
VF = 正向電壓(典型值)
I = 正向電流,單位:安培
R = 電阻值,單位:歐姆 (Ω)
在I = 20mA的情況下使用該公式,結果是:RRED (VF = 2 V) = 125Ω,RGREEN = RBLUE (VF = 3.2V) = 65Ω。
如果計算出的電阻不能作為標準電阻值,開發人員可以選擇下一個較低值,或者下一個較高值(首選)。如果選擇較低值,則必須注意,不得超過該LED的最大正向電壓或ATSAMC21J18A I/O端口的最大電流灌入能力。雖然在超過這些最大值時LED仍然可以工作,但可能會降低LED的使用壽命,也可能隨著時間的推移,降低I/O端口的性能或損壞該端口。或者,如果應用仍能接受較暗光線,則可以降低正向電流。例如,當正向電流為15mA時,Adafruit的2739 RGB LED指定正向電壓會降至1.9伏(紅色)和3.1伏(綠色和藍色),這樣會導致電阻值RRED = 173.3Ω,RGREEN = RBLUE = 93.3Ω。
由于ATSAMC21J18A可通過控制接地連接來控制LED,當I/O端口為邏輯低電平時,單個LED亮起;當I/O端口為邏輯高電平時,單個LED熄滅。因此,必須倒置計算出的RGB色碼占空比。例如,如果顏色需要25%的占空比,則PWM必須能產生75%的占空比,才能使LED在25%的周期時間內工作。此外,如果LED必須在上電時熄滅,則微控制器啟動代碼必須能使三個引腳處于邏輯高電平。
ATSAMC21J18A配備256Kb閃存、32Kb RAM和各種模擬外設。該微控制器還配有六個串行通信模塊 (SERCOM),每個模塊都可以作為USART、SPI、LIN從器件或I2C接口
智能RGB LED設計
使用RGB LED生成多種顏色的另一種方法是對其進行編程。智能LED是一個術語,用來描述這種帶有可編程串行接口的多色LED。American Bright Optoelectronics的BL-HBGR32L-3-TRB-8就是一個很好的例子。它是一款5mm方形RGB LED,可以使用800千赫 (kHz) I2C接口進行編程,從而產生任何顏色(圖5)。
圖5: American Bright的BL-HBGR32L-3-TRB-8是一款尺寸為5mm的方形六引腳數字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的驅動方式之后,不僅可以節省空間、成本和功耗,還可以增強終端系統、設備、狀態指示燈或照明系統的美觀性及用戶界面。開發人員既可以選擇能對每個LED進行完全控制的標準RGB LED,也可以選擇能對顏色進行編程控制的智能LED。此外,當涉及到通常用于產生PWM控制信號的微控制器時,目前有許多低功耗、低成本選項可供選擇。