本文将首先阐述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控制信号的微控制器时,目前有许多低功耗、低成本选项可供选择。
编辑:wenwei来