没有电子产品,无论是业余爱好者还是专业人士,都不会与 LED 打交道。这些是基本组件之一,尽管它们的作用只是照明和信号。在我看来,构建您自己的“闪光灯”和其他照明效果是一项令人满意的活动,也是使用烙铁或编程器的一个很好的理由。
不管怎样,时不时有人会问如何计算 LED 的电阻……
什么是 LED?
发光二极管是半导体二极管的一种,电流流过PN结的副作用是发射一定长度的光。每个 PN 结都会发光,但通常很少。在 LED 的情况下,通过选择合适的元素和化合物,这种效果可以提高很多倍。
每个LED的基本参数是它的正向电压Vf和正向电流If。LED 是电流控制元件,而不是电压控制元件。正向电压对于正确选择限流电阻很重要。在彩色 LED 的情况下,我们还有发射光的长度 ?。白光 LED 具有给定的色温和 CRI 值,即显色指数。我们还会发现各种二极管的其他典型参数,例如反向电流、击穿电压或功耗。
第二组重要的 LED 参数是关于外壳的信息。这里的选择非常多,从直径为 3 和 5 毫米的传统圆形二极管,到各种尺寸的微型 SMD 二极管,再到高度专业化的二极管。后者包括,例如,一个 SMD 二极管发光“到板” - 这个想法是板应该在这个地方有一个洞。为什么要混呢?好吧,因为您可以用带有 LED 灯孔的薄膜键盘覆盖面板 - 我在飞利浦新安怡吸乳器的面板上遇到了这样的解决方案。右侧是圆形 3mm/5mm 外壳中典型小型 LED 的示意图。以下是通孔外壳中各种 LED 的示例。
LED 也以集成模块的形式提供,在这一类中,我们会找到 LED 条、七段、十四段和十六段显示器或 5x7 或 8x8 LED 矩阵。下面是一个四位七段显示器的例子。功率 LED 可以由许多串并联配置的较小二极管组成,类似于假装传统的白炽灯的二极管条。此外,在一个外壳中可以有多个不同颜色的独立二极管,以及集成电路,但更多内容在下面。无论如何,选项太多了,很难在一篇文章中涵盖所有内容。
如何为LED选择电阻?
一般公式为:
R = (Vcc - Vf) / If
其中 Vcc 是电源电压,Vf 是 LED 的正向电压,If 是 LED 所需的正向电流。后一个参数影响二极管的亮度。以及如何知道二极管的正向电压?正如我提到的,此信息在二极管数据表中。如果我们没有注释,那么我们可以测量这个值。我们通过 220 电阻为二极管提供 5V 电压?并测量阳极和阴极之间的电压。万用表中的二极管测试以类似的方式工作,尽管并非每个万用表都能很好地应对 LED。
为了让初学者的生活更轻松,下面列出了各种 LED 颜色的典型正向电压值,以及 12.5mA、15mA 和 20mA 典型正向电压和 3.3V 典型电源电压的计算电阻值表, 5V, 9V, 12V, 15V 和 24V。如果我们想要获得比表中更低的电流,我们将电阻乘以二,对于低三倍的电流,我们乘以三。电阻值应四舍五入到 E24 系列中最接近的值。对于 20mA,最好四舍五入。选好电阻后,根据公式计算其损耗功率:P = R *
If^2 红外线:1.9V
二极管主要用于无线电遥控器和用作在假定的黑暗中看东西的照相机的照明器。
If (1.9V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 112 | 248 | 568 | 808 | 1048 | 1768 |
15毫安 | 93.3 | 206.6 | 473.3 | 673.3 | 873.3 | 1473.3 |
20毫安 | 70 | 155 | 355 | 505 | 655 | 1105 |
红色:1.6-2V
最早发明的 LED 二极管之一。经常出现在显示器中并用作电源指示器。这种颜色在晚上不会使眼睛疲劳,并且从很远的距离也不太明显。
如果 (1.9V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 112 | 248 | 568 | 808 | 1048 | 1768 |
15毫安 | 93.3 | 206.6 | 473.3 | 673.3 | 873.3 | 1473.3 |
20毫安 | 70 | 155 | 355 | 505 | 655 | 1105 |
琥珀色/橙色:2-2.1V
我强烈推荐电源指示灯的颜色——它有点像老式的霓虹灯,和红色一样不刺眼。
If (2.1V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 96 | 232 | 552 | 792 | 1032 | 1752 |
15毫安 | 80 | 193.3 | 460 | 660 | 860 | 1460 |
20毫安 | 60 | 145 | 345 | 495 | 645 | 1095 |
黄色:2.1-2.2V
我很喜欢这个颜色。它非常适合七段显示器,白天和晚上都可读,尽管在黑暗中它可能有点刺眼。
If (2.1V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 96 | 232 | 552 | 792 | 1032 | 1752 |
15毫安 | 80 | 193.3 | 460 | 660 | 860 | 1460 |
20毫安 | 60 | 145 | 345 | 495 | 645 | 1095 |
绿色:1.9-4V
人眼最能分辨的颜色(这就是为什么真正的夜视镜给出绿色单色图像的原因)。颜色清晰可见,因此晚上的电源指示灯可能会有些烦人。这种颜色的七段显示器总是让我想起收银机。广泛的可用电压范围源于所用材料的多样性。
If(2.5V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 64 | 200 | 520 | 760 | 1000 | 1720 |
15毫安 | 53.3 | 166.6 | 433.3 | 633.3 | 833.3 | 1433.3 |
20毫安 | 40 | 125 | 325 | 475 | 625 | 1075 |
蓝色:2.5-3.7V
我个人讨厌的颜色。在所有功率指示器和七段显示器中都非常受欢迎。多年以来,它总是会伤害眼睛并在晚上烦人。在业余建筑中使用它对我来说是媚俗和无味的标志。它也与中国垃圾有关。
If (3V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | 24 | 160 | 480 | 720 | 960 | 1680 |
15毫安 | 二十 | 133.3 | 400 | 600 | 800 | 1400 |
20毫安 | 15 | 100 | 300 | 450 | 600 | 1050 |
紫罗兰色:2.8-4V
到目前为止,我只见过这种颜色的 LED 一次,但印象不深。它不像蓝色 LED 灯那么烦人,但我认为这些 LED 灯除了作为“装饰品”之外没有任何其他用途。
If (3.3V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | - | 136 | 456 | 696 | 936 | 1656 |
15毫安 | - | 113.3 | 380 | 580 | 780 | 1380 |
20毫安 | - | 85 | 285 | 435 | 585 | 1035 |
紫外线:3.1-4.4V
这些二极管主要来自检查钞票真伪的钥匙链。它们也可以作为在黑暗中看到并执行消毒功能的相机的照明器的替代形式。用这些 LED 建造消毒站已成为近来颇受欢迎的项目。
If (3.7V) | 3.3V | 5V | 9V | 12V | 15V | 24V |
12.5毫安 | - | 104 | 424 | 664 | 904 | 1624 |
15毫安 | - | 86.6 | 353.3 | 553.3 | 753.3 | 1353.3 |
20毫安 | - | 65 | 265 | 415 | 565 | 1015 |
白色 LED
在上面的陈述中,我没有包括重要的颜色,即白色。这不是我的疏忽,而是故意的。首先,您需要回答一个非常重要的问题:
白色 LED 是什么颜色?
不,它不是白色的。此外,白色 LED 在很多方面都不是白色的。我们将从更简单的方法开始,即使用红色、绿色和蓝色 LED 来获得白色。这就是白色在彩色电视和 CRT 显示器中的形成方式。这很好用,但显色指数可能不是最好的。可以使用第二种更流行的方法对其进行改进,但代价是性能略有下降。
后一种的白色LED是什么颜色?
它不是白色,而是黄色或橙色。它是黄色或橙色的,因为它是蓝色或紫外线。与表象相反,这是有道理的。简单地,蓝色或 UV 二极管覆盖有荧光灯已知的对这些颜色敏感的磷光体混合物,以便以二次发光的形式获得白色。因此,白色二极管应像蓝色或 UV 二极管一样对待。正如德州仪器在其白光 LED 电源应用说明中所述,正向电压可以为 3-5V,但典型的 LED 在 3.1-3.7V 范围内。为了走捷径,上面列表中的蓝色、紫色和紫外线二极管的表格将是合适的。
LED串联
电阻法
这种方法简单且便宜,但由于 dipd 参数的分布,这些 LED 可能无法以相同的亮度发光。计算时,使用最低的正向电压,而不是最高的。计算电阻的公式如下所示:
R = (Vcc - ( Vf1 + Vf2 + Vf3 + ... + Vfn )) / If
这个公式在连接不同颜色的 LED 时特别有用。对于相同类型的二极管,公式如下所示:
R = (Vcc - ( Vf min * n )) / If
其中 n 是串联二极管的数量。实际电流将低于假定值。
当前来源
在此解决方案中,我们稳定了电流,因此我们(几乎)根本不关心正向电压。重要的是所用晶体管的发射极-集电极电压高于电源电压,并且二极管的最大正向电压之和比电源电压低约 1V。让我们看看左边的图表。
图中只有三个 LED,但可能更多。理论上最大供电电压为45V,实际中受限于Q1三极管的损耗功率,进而受限于最大集电极-发射极电压Vce。R2 的值根据所需的电流来选择。下表将对此有所帮助,其中包含典型电流、E24 5% 系列的电阻值,以及 BC547C 晶体管可提供的最大功率下的最大 Vce 电压。
Prąd | R2 (E24) | VCE |
12.5毫安 | 51? | 40V |
15毫安 | 43? | 33V |
20毫安 | 33? | 25V |
25毫安 | 27? | 20V |
如果我们想用微控制器控制二极管,将 R1 连接到输出就足够了,而不是连接到 Vcc。如果我们需要更高的电源电压,那么我们选择具有相应更高 Vceo 电压的晶体管,并且 Q1 也应该具有更高的允许耗散功率。我们还根据电压的增加按比例增加 R1 的值。
LED 显示屏和矩阵
如果我们想同时控制许多 LED 或使用显示器或 LED 矩阵传达信息,我们需要解决控制问题。将每个二极管连接到微控制器的一个输出以单独控制它是没有意义的。例如,四位七段显示器需要 32 个输出(包括点)。这个问题在真空管时代已经解决了,更具体地说,是数码管和 VFD 管。这些管有一个公共阳极和一组阴极,每个阴极在数码管中打开一个数字或字符,或一个VFD 管中的段(或称为 Panaplex 的七段数码管变体)。各灯的阴极并联,阳极依次导通。以这种方式构造的显示器需要与其中的管子一样多的阳极线,以及与阴极线一样多的阴极线,其中最多的灯有多少。二极管和 LED 显示器的出现使事情变得更容易,因为它可以降低电源电压,从而简化控制系统。它还提供了一种通过将阴极而不是阳极连接在一起来控制显示器的替代方法
共阴极还是共阳极?
一般驱动共阳极和共阴极显示器没有太大区别。只有用于从组中选择显示器的晶体管类型和控制信号的极性会改变。我们以一组四个七段显示器为例。 一、共阳极:
电阻器 R1-R4 和 PNP 晶体管 Q1-Q4 用于选择四个显示器之一。电阻器 R5-R12 选择要点亮的二极管的各个阴极。它们的值是根据显示器中二极管的电流 If 和电压 Vf 选择的。R1-R4 的典型值为 10kΩ。晶体管的最大允许电流应为 8 * If。在该电路中,信号极化反转,阳极(到 R1-R4)和阴极(R5-R12)输出默认为高电平。控制序列如下所示:
1. 我们将低状态设置为 R1。
2. 在选定的阴极输出上设置低状态。
3. 我们在等。
4. 将所有阴极输出设置为高状态。
5.我们将高状态设置为R1。
我们如此快速地重复每个阳极输出的序列,以至于整个显示器的序列每秒重复 20-25 次。最好在由微控制器定时器之一触发的中断中实现输出状态的变化。让我们看一下共阴极显示器的示意图:
这次 R1-R8 选择显示器的阳极,而 R9-R12 通过 NPN 晶体管 Q1-Q4 选择它们的公共阴极。这一次,是所选阳极和阴极输出的高电平状态点亮了显示段,而低电平状态将它们关闭。微控制器部分的控制序列实际上是相同的,仅在极化方面有所不同。对我来说,这是首选的控制方式,但可以使用逻辑电平和低 Rdson 类型的 MOSFET-N 晶体管代替 NPN 晶体管,特别是当我们控制的不是显示器,而是许多 LED 的矩阵时,它是下面讨论。
带移位寄存器和 MOSFET-N 晶体管的 RGB 矩阵
它是一种专用于通过最少数量的微控制器引脚轻松控制大量 LED 的解决方案。下面我展示了我一直在研究的系统的示意图片段,更准确地说是 64 个 RGB LED 矩阵的控制系统。它是一个 8x8 LED 矩阵,其中行有公共阳极,列有公共阴极。从技术上讲,它是一个 24x8 矩阵,因为每个 LED 都有一个用于红色、绿色和蓝色的公共阴极。
这里我们有四个 74HC595 移位寄存器链接在一起。它们由三个信号控制:时钟、数据和传输。每次Clock引脚由低变高时,Data引脚的当前状态被加载到74HC595内部寄存器的Q0位置,Q7S从Q7寄存器位置输出状态。由于这个寄存器输出连接到下一个寄存器的输入,我们可以在一个序列中将 32 位传输到寄存器。将传输引脚的状态从低电平更改为高电平会将寄存器的状态加载到它们的输出 Q0-Q7。前三个寄存器控制红色、绿色和蓝色阳极。第四个通过逻辑电平 MOSFET-N 晶体管控制阴极。为什么?因为它们每个都能流过24*If的电流,也就是480mA之多。
矩阵的状态以三张表(R、G 和 B)的形式存储在内存中,每张表八个字节。每个字节代表矩阵的一列。每五毫秒(由于定时器中断),程序会组装一个字节,从八个阴极输出中选择一个,并从 R、G 和 B 数组中选择三个值,并尽快将它们一起发送到寄存器中。最后,传输引脚变高了一会儿,将加载的数据加载到输出端,相应的 LED 亮起。每 5 毫秒中断一次,保证每秒刷新整个矩阵 25 次。顺便说一句,它是该程序中唯一完美
运行的部分……是否需要晶体管来操作显示器或矩阵?
不是。我们可以将公共阴极或阳极直接连接到微控制器的输出。该解决方案工作的条件是确保一次只有一个 LED 点亮。否则,我们会使二极管的公共引脚过载并损坏微控制器。大多数微控制器允许每个引脚的最大电流为 -25mA,他们在数据表中吹嘘这一点。由于一次只有一个 LED 点亮,其余的都关闭,因此整个显示屏的总亮度会降低。
矩阵和显示器专用系统
市场上有专门的 LED 驱动器系统,既可用于单个二极管,也可用于显示器和 LED 矩阵。7400 和 4000 芯片系列具有从二进制或 BCD 码到七段显示的专用 LED 解码器。还有专用于与 Nixie 和 VFD 管配合使用的电路,可抵抗其运行所需的高压。它们就像灯本身一样,受到复古手表制造商的高度追捧。结果,不止一个像样的长凳被洗劫一空并被彻底毁坏。
例如,STMicro 有 STP08DP05 和 STP16CPC05 芯片,它们的工作方式与 74xx595 系列寄存器类似。它们可以用串行信号控制并串联连接。然而,当输出为高电平时,它会被一个电流源短路到地,该电流源的最大电流由单个外部电阻设置。因此,它是一个用于控制单个 LED 以及 LED 矩阵的出色系统。第一个系统有八个电流输入,第二个系统有十六个。Micrel 反过来提供了一个类似的系统,即 MIC5400,它允许您以两组八个二极管的形式控制连接在共阳极系统中的十六个二极管。它需要一个限流电阻和两个PNP三极管来驱动阳极工作。相反,它提供粗略(4 位)和精细(10 位)LED 亮度调节。相似地,
Microchip 提供分别具有 34 或 36 个输出的 MM5450/-51 芯片。这些芯片不能串联,但在典型应用中没有必要,因为在笔记中我们将找到使用两个 PNP 晶体管将八个七段显示器连接到 MM5450 芯片的示例。理论上,这些系统可以控制 17x17 或 18x18 LED 矩阵,即分别为 289 或 324 个独立的 LED。与上述系统一样,电流和亮度由电阻器限制和调节。Microchip 推荐使用电位器。Maxim 提供专用芯片 MAX7219/MAX7221,用于驱动多路复用七段显示器和 LED 矩阵。它们支持使用 SPI 协议及其衍生协议的 8x8 矩阵或八个 LED 显示器。这些系统提供了许多附加功能并减轻了微控制器的负担——必要的值可以作为 BCD 码发送。在 Alledrogo,您可以使用中国的 MAX7219 克隆购买带有 8x8 矩阵的现成电路板。
说到中国,值得关注的是泰坦微电子的两款系统,主要以现成模块的形式销售。这些是 TM1637 和 TM1638 芯片。TM1637 支持多达六个共阳极七段显示器,并同时扫描 8x2 布局中的按键矩阵。TM1638 支持多达 10 个共阳极七段显示器和一个 8x3 键矩阵。两个系统均由双向串行接口控制。不幸的是,这些系统主要以现成(廉价)模块的形式提供,因此如果您需要与中国工程师提出的配置不同的配置,您将不得不拆焊系统。
对于简单万用表的爱好者,Maxim 仍然生产 ICL7107 和 ICL7117 系列,而 Microchip 以符号 TC7107/TC7117 生产它们的等效产品。LCD控制版本为ICL/TC7106/7116。基于它们的各种仪表和万用表的图表可以在目录和应用说明以及许多杂志和图表集中找到。
LED 闪烁 LED
即具有内置集成电路和限流功能的LED二极管。它们有一种、两种和三种颜色的变体。单色 LED 经常出现在简单的“圣诞树金属丝”套装中,其中 LED 被插入带有圣诞树图片的硬纸板中,并从另一侧连接。额外的电阻器和晶体管允许一个闪烁的 LED 控制其他 LED。双色 LED 交替点亮两种颜色。RGB LED 重复所有可能颜色组合的序列或仅重复主要颜色的序列。他们的使用仅限于在来自中国的各种廉价小玩意和玩具中添加这额外的媚俗部分。
LED 平滑地改变颜色
内置芯片的 RGB LED 可无缝循环显示整个彩虹色。在预算计算机外围设备和小工具中找到。它们仍然很俗气,但仍然没有闪光的竞争对手那么俗气。由于这些 LED 中使用的 RC 谐振器的参数分散,它们中的每一个都以略微不同的速度改变颜色。这就是为什么我的超便宜电脑扬声器在打开电源后仅短时间内发出相同颜色的光。同样,带有四个这种类型二极管的稍微贵一点的鼠标会以一种非常有趣的方式改变颜色。
这些 LED 的一个有趣子类型是模拟烛光的 LED。我没有在现场看到这样一个二极管的乐趣,但我认为效果不是很令人兴奋,而且通常取决于为购买这种二极管分配的预算。然而,获得合理的效果可能需要使用 RGB LED 和微控制器。
LED 灯 - 微型灯泡的替代品
有点小众的产品,因为它适用于较旧的设备和车辆。微型灯泡的替代品将用于修复复古设备作为刻度和指示器的背光,以及用于旧车的微型 12-24V 灯泡用作控制装置。这些灯有一个隐藏在底座中的电源系统,它通常可以在相当宽的电压范围内接受任何极性的直流电和交流电。您通常需要为这种灵活性付出更高的代价,但这种灯很可能会“比”它所在的设备“寿命更长”。作为刻度和指示器的照明器,暖白灯是最好的,除非最初使用的是彩色灯泡。在带有内置滤色器的汽车仪表中,值得检查指示器颜色的两个灯,
激光二极管
以光驱和钥匙链指示器而闻名,这些小组件可能对健康有害。这些二极管产生特定波长的光,其中所有光子都“同相”,但仍需要透镜来聚焦光束。它们有红外线、红色和蓝色。其他颜色,例如绿色,是通过复制光子振动频率获得的 - 为此,使用功率高于所获得的不同颜色光束功率的红外二极管。
激光二极管非常脆弱 - 它们不能承受静电放电、高工作温度和超过允许的额定电流。更强大的二极管发出的光很容易损坏数码相机和相机的光学传感器,也很容易损坏动物和人。因此,不建议初学者玩激光二极管,好的安全眼镜是必需品,而不是一时兴起。眼睛不是蘑菇——它不会再长出来。
可编程 LED WS2812x 和 WS2813
在所有 RGB LED 中,WS2812x 和 WS2813 系列多年来一直深受国外爱好者的欢迎,在波兰也受到好评。这些二极管很容易以各种形状的条带和模块形式提供,其中 WS2812B 是最受欢迎的变体。但这些二极管是什么,为什么如此受欢迎?
WS2812x 和 WS2813 是采用 SMD 外壳的可编程 RGB LED。一个非常简单的串行接口用于编程,它允许您连接长链中的 LED 并使用单个引脚控制它们。每个 LED 都有一个内置控制器,可以控制 R、G 和 B 的各种颜色,提供 256 级亮度(8 位)。. 每个连续的二极管用低状态替换其自身的数据,并进一步发送其余的字节流。发送完整个数据包后,插入一个短暂的暂停以标记传输结束并再次开始。我将在下面更详细地描述该协议。下面是 WS2812B 二极管的两张照片,第一个显示二极管的结构,其中导线连接集成电路和金属场,将信号引入外部和二极管。在第二张图片上,我们可以看到集成电路本身的特写镜头(使用中国 USB 显微镜拍摄的照片)。
WS2812x和WS2813有什么区别? 这些二极管系列之间的主要区别在于 WS2813 二极管中存在 BIN 输入。我在上面提到过,每个二极管都会用低状态替换其自身的值数据包,然后发送其余部分,直到出现 RST 状态。在数据进入正确的寄存器之前,BIN 输入与链中的前一个 LED 的作用相同。这意味着通过如下所示连接二极管,其中一个二极管的故障不会中断到下一个二极管的数据传输。只有两个相邻二极管发生故障才会断开链。对于 WS2812x,二极管故障会导致链中的其余二极管无法接收数据,因此无法控制。WS2813二极管的连接方式如下图所示:
WS2813 的第二个优势是更高的 PWM 频率,2kHz,而 WS2812x 的 PWM 频率为 400Hz,较长的串和各种额外的编程效果可能会导致令人不快的闪烁。WS2813 也有更长的数据包结束时间,300 秒而不是旧版本的 50 秒——这在使用较慢的微控制器时很有用。缺点是价格略高,知名度较低。在这种情况发生变化之前,WS2812B 二极管是爱好者的更好选择。如果 LED 灯带中的一个二极管损坏,通常可以切掉整个段,插入一个新的,从灯带上切下,然后焊接支腿上的跳线以将“插入”与地带的其余部分。
WS2815, WS2811, SK9822, SK6812RGBW
WS2815在功能上与 WS2813 没有区别,除了电源电压。该变体由 12V 供电,结构中的二极管串联连接,而不是像其他变体那样并联。在长串的情况下,更高的电源电压意味着串中间没有亮度下降,也不需要每隔几米焊接额外的电源线。也有市售的WS2811芯片,它们是不带 LED 的控制器,可在便宜的 12V 灯条中使用,每个芯片控制一组三个 LED。操作方法类似于 WS2812,但系统提供了一个 SET 输入,允许您将 LED 刷新率设置为 400Hz 或 800Hz。
SK9822是 WS2812x 二极管的替代品,提供更好的通信协议。这些二极管具有时钟输入和输出,因此您不必担心每个位的高电平和低电平时间。因此,数据传输的频率可以比其他系统高几倍。它也可以慢得多。数据包由 32 位帧组成,其中第一个是起始帧,最后一个是停止帧。其他包含有关各种颜色亮度的数据。除了调整个别颜色的亮度(8 位)外,还有 32 级(5 位)的公共亮度调整。在我看来,添加这种粗调只是为了使帧成为 32 位。在所有其他方面,这些芯片类似于 WS2812。
SK6812RGBW是 WS2812 的替代品,在其结构中它包含一个额外的白色 LED。有冷白、中性白和暖白可供选择。这些 LED 成本更高,耗电量更大(如果是灯条,您需要在更多地方连接电源),但它们提供比标准 RGB LED 更好的白色质量。控制方法类似于 WS2812x 二极管,但每个数据包包含 32 个字节而不是 24 个字节。一个额外的字节控制白色二极管。
如何控制LED?
现成的库可用于控制 WS2812x 和类似的二极管。最受欢迎的三种是 FastLED、Neopixel 和 WS2812FX。这些库是为 Arduino 环境编写的,因此在不兼容的环境中使用它们可能需要进行大量修改。我计划使用 PIC18F45K50 微控制器在 MPLAB-X 环境中测试这些库,尤其是 WS2812FX。
第二种选择是编写您自己的库来处理这些 LED。这在没有使用微控制器库,或者我们需要高度优化的代码来实现特定效果时尤其有意义。您还可以将从头开始编写这样的库视为编程技能的练习——尤其是经验不足的爱好者(如我)应该这样做。现成的模块便宜得离谱,效果的视觉表现很好地激发了自我提升。
WS281xx和类似设备使用单行数据,协议二进制值0和1用高持续时间编码。低持续时间不太重要,只需要满足最小长度标准。所有时间如下表所示:
Ton | Toff | Tolerancja | |
0 | 350ns | 800ns | ?150ns |
1 | 700ns | 600ns | ?150ns |
RST | - | >50?s |
对于 WS2813,时间如下所示:
Tonmin | Tonmax | Toffmin | Toffmax | |
0 | 100ns | 450ns | 300ns | 100?s |
1 | 750ns | 1000ns | 300ns | 100us |
RST | - | - | >300?s |
对于 WS2812B,Toff 时间可以达到 5?s。数据作为绿色、红色和蓝色的三个连续字节发送。SK6812RGBW 在末尾为白色 LED 添加了第四个字节。第一个二极管将第一个序列写入寄存器,使输出处于低电平状态。直到下一个 LED 的数据序列开始。传输结束由持续时间长于 RST 时间的低状态表示。只有在其到期后,第一个 LED 才会开始接受新数据。
微控制器的最小指令执行时间必须至少为 400ns,微控制器才能发送“零”。换句话说,它应该能够以至少 2.5 MHz 的频率“挥舞腿”。为什么是 400ns 而不是表中的 450ns?这是因为二极管中的电路和微控制器的振荡器都应该有一定的误差范围。无论哪种方式,这都意味着太慢的微控制器将无法处理 WS281xx 和类似的东西。幸运的是,市场上并不缺乏快速微控制器。
电源 LED
在过去的 10-15 年中,功率 LED 获得了非凡的普及。业余爱好者首先在手电筒中遇到它们,它们是 HPS 或 CFL 灯的替代品,用于照亮植被茂盛的水族箱或在壁橱中种植植物。我第一次接触他们是在一个朋友让我为他组装一个红外线灯用于摄影时。成品灯包含 7 个红外二极管,每个红外二极管的功率为 1W,一个工厂电源和工厂制造的聚光透镜。使用具有夜视模式的摄像机进行的测试使我的范围超过 30 米,并且能见度良好。回顾这些年,我可以说我本可以做得更好。
可供选择,颜色
就像“传统”LED 一样,我们在功率 LED 方面有多种选择。白色二极管是最受欢迎的,但除此之外,我们还有光谱从红外到紫外线的彩色二极管,还有一组用于植物育种的独立二极管,以及 RGB 和 RGBW 二极管。典型的瓦数为 1W、3W、5W 和 10W。还有更大的二极管,从 20W 到 100W,等等。我自己有一个 100W 的 LED,是为了修理投影仪而买的(我一直想弄清楚如何把它全部塞进去,但现在我有了以前没有的工具)。业余爱好者通常会购买已经焊接到特殊印刷电路板(粘在铝基板上的非常薄的层压板)上的二极管,下面是几个此类二极管的照片。
可以购买裸二极管来修理和改装手电筒和其他设备。我自己做过一次,修理我的第一个 LED 手电筒,无论如何我在两个月后丢失了它。但是,用在波兰购买的二极管替换中国Cree二极管,亮度提高了约30%。为什么会这样?好吧,因为功率 LED 在工厂根据效率进行分类,对于白光 LED,还根据色温和显色指数进行分类。“劣质”二极管比最好的便宜得多,因此被中国手电筒制造商抢购。更好的可以在价格相应更高的高级产品中找到。在为您的项目选择二极管时值得记住这一点。
电源 LED 电源
与普通LED一样,功率LED也是电流元件。然而,电流要高得多——典型的 1W 二极管需要 350mA 的电流,而小型 LED 需要最大 20-25mA 的电流。一个 10W 的二极管可能需要 3A 的电流。如此大电流的副作用是电阻器的标准选择或在晶体管上建立电流限制根本没有意义。为什么?因为电阻或限流电路上的功率损耗会相当大,有时甚至比二极管本身的功率损耗还要大。
实际上,电流源配置中的脉冲转换器用于为功率二极管供电。对于市电,这些是简单的变压器转换器,最常见的是反激式、正激式或 RCC 类型。对于低压电源,降压、升压和 SEPIC 转换器很受欢迎。为了方便设计人员的工作,制造商提供了范围广泛的专为 LED 供电的集成电路。在业余实践中,从头开始设计系统可能没有意义,因为现成的模块相对便宜。例如,对于 PLN 5,您可以购买基于具有电压和电流调节功能的 LM2596S 系统的降压转换器。以类似的价格,您可以购买 4-7 个 1W LED 的 230V LED 电源模块,以及 1-3 个 1W LED 的更小的 LED 电源模块。
然而,在某些情况下,值得尝试构建您自己的转换器或线性限流器。例如,当我们要控制一个或多个二极管的亮度时。下图显示了与微控制器的 PWM 输出或 DAC 输出配合使用的 LED 1W 线性电源的简单实现:
系统的核心是运算放大器 LM358 (U1)。U1.1 放大器以差分配置工作,它通过电阻 R2 控制 Q1 晶体管(BD135,但它可以是另一个中功率 NPN 晶体管或 MOSFET-N 晶体管),其任务是防止激励。在这种配置中,放大器旨在以两个输入端的电压相等的方式控制晶体管。非反相输入 U1.1 由 PWM 或 DAC 信号通过低通滤波器 R1/C3 控制,频带约为 1.55kHz。电容C1和C2是放大器的电源滤波器。电源电压应为 7-12V。如果我们用轨到轨放大器替换 LM358,例如 MCP6022,我们可以用 5V 为整个东西供电。
U1.2放大器工作在同相配置下,增益为65.7倍(由R4/R5分压器决定)。它放大在电阻器 R3 上建立的电压。在〜346mA的电流下,〜76.1mV将沉积在其上,放大65.7倍后将在反相输入U1.1处提供5V的电压。因此,要获得(几乎)二极管的全亮度,必须在 C3 上施加 5V 电压。
电源 LED 散热
大功率 LED 发光效率很高,但即便如此,仍有 10-40% 的能量会转化为需要处理的热量。二极管的功率越高,种类越差,能量转化为热能的百分比就越大。因此,LED 需要某种形式的冷却。养殖水族箱和橱柜植物的爱好者将带“星星”的 LED 安装到金属扁条上,这就足够了。在手电筒中,1-10W 的 LED 以不同程度的效率将热量散发到外壳。对于我拥有的 100W 二极管,我从 15 年前买了一个带风扇的散热器,专用于 AMD 处理器。在大功率的演播室LED灯中,我们会发现大尺寸的散热器和风扇强制冷却。
与任何半导体一样,功率 LED 可以在高达 150°C 的温度下工作。但实际上,高于 85°C 的结构温度会对二极管寿命产生负面影响。特别痛苦的是其中结构连接在串并联系统中的二极管。我们将通过 6V 以上的正向电压来识别这些。这些结构可以简单地不均匀地加热。此外,在白色 LED 的情况下,它们仍然覆盖着一种不能很好地导热并且会自行降解的磷光体。
镜片
功率二极管通常具有相当宽的光束角,因此有时可能需要添加光学系统。对于大多数功率在 1W 到 5-10W 之间的小型 LED,您可以购买具有各种光聚焦角度的透镜。为了红外照明器的需要,我买了7个角度为5°的透镜,以便更好地集中光线。效果非常满意。对于更高功率(例如 100W)的 LED,也可以使用透镜,通常带有额外的反射器,但它们的价格可能要高得多。在这种情况下,业余爱好者可能会想使用 PAR 灯的菲涅尔透镜。
审核编辑:汤梓红
评论
查看更多