低功耗中LED指示灯的应用问题

科技   2024-11-14 12:04   北京  
关于低功耗设备中 LED 指示灯应用的一些细节说明 ...... by  矜辰所致

前言

在低功耗产品的设计中,LED 灯算得上是一个高功耗的元器件,但是有时候需要LED作为指示灯,让人们知道设备的工作状态。所以,本文的我们就来了解一下在低功耗设备中,LED 灯作为指示灯我们需要知道的一些细节。

我是矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!


  • 前言
  • 一、 LED 灯的选择

    • 1.1 LED 灯的电流

    • 1.2 LED 灯的电压

    • 1.3 LED 灯串联电阻的计算
  • 二、51 单片机控制 LED 的技巧
  • 结语


一、 LED 灯的选择

首先要说的就是 LED 灯的选择,或许有些朋友平时应用都不存在 LED 灯选型这么一个流程,实际上对于一般的应用,只需要选好对应的封装,管它什么颜色的 LED 灯,确实都能用,都无所谓。但是在做低功耗产品上 LED 灯选型也是有讲究的。

1.1 LED 灯的电流

我们知道 LED 灯发光的强弱是根据流过它的电流大小决定的,当然是要在它能正常工作的范围内。若要降低功耗,可以适当降低电流,但同时亮度也会下降。

对于不同的 LED 灯他们的亮灯电流也有所不同的:

LED 灯种类工作电流 (通常)
红色LED10mA ~ 20mA(部分低功耗 2mA ~ 10mA)
黄色/橙色LED10mA ~ 20mA
绿色LED10mA ~ 20mA (高亮度 15mA ~ 30 mA)
蓝色LED15mA ~ 30 mA
白色LED15mA ~ 30 mA

上面表格可作为一般参考,具体的电流需求可能因 LED 的具体型号和制造工艺而有所不同。

单从电流上来看,一般红灯和黄灯甚至是绿灯功耗相对来说都低一些,红灯甚至有些专门针对低功耗设计的。

但是对于我们选型,除了电流,还需要考虑电压,因为平时应用都会给 LED 灯串联一个电阻使用。

实际上平时应用起来我们也不会特意的去计算,应该串联多大的电阻使得他在正常的工作范围内,比如我们一般在 3.3V 的供电情况下,给作为指示灯的 LED 灯串联一个 3.3K 的电阻就行了,基本上什么颜色的 LED 灯都行。

我们提到 LED 灯的电流,一是因为确实不同的 LED 灯的工作电流不一样,二是在低功耗环境下,我们当然是希望电流越小越好,那这里其实就要根据大家自己的实际情况串联电阻了,因为串联电阻越大,流过 LED 灯的电流越小,LED 灯会更暗,你要在保证能够满足亮度效果了的情况下,串联合适的电阻。

需要注意的一点就是,3.3V 的电源,串联了电阻后,在 LED 灯两端的电压,肯定是小于3.3V 的,我们低功耗环境中有些 IO 口是  1.8V 的,使用 IO 口驱动 LED 灯会存在有些灯根本亮不了的情况,这就要看下面我们要提到的 LED 灯的工作电压了。

1.1.1 LED 灯的效率

还得额外提一点,不同颜色的LED在相同电流下的亮度不同,

通常红色、绿色的 LED 光效较高,在较低电流下也能达到所需亮度。

1.2 LED 灯的电压

电流大小直接关系到 LED 灯的亮度,那么在低功耗产品中,LED 灯的工作电压其实是一个重要的参数。

在上面我已经提到过,在有些低功耗场景, 1.8V 的电压时候,一些 LED 灯根本亮不起来。

和电流一样,我这里给 LED  灯的工作电压也做了个表格:

LED 灯种类工作电压 (通常)
红色LED1.8V ~ 2.2V
黄色LED2.0V ~ 2.4V
橙色LED2.0V ~ 2.2V
绿色LED2.0V ~ 2.4V (高亮度 3.0V ~ 3.2V)
蓝色LED2.8V ~ 3.6V
白色LED2.8V ~ 3.6V

上面表格可作为一般参考,实际应用中应根据具体 LED 的规格书来确定准确的 工作电压。

通过上面我们可以很明显的知道,其实我们已经可以得出结论 在低功耗场合为了更加的节能,指示灯选择红色相对来说更加合理。

根本原因就是 红色 LED 灯的工作电压低,较小电流下亮度也能达到较高的亮度,效率高,工作电流要求也相对较低,在于其低电压和低电流下也能提供足够亮度,非常适合低功耗的应用。

问题:

那这里又需要说明一个额外的问题,如果 1.8V 供电,如果在串联一个电阻,那么 LED 灯两端的电压根本达不到 1.8V ,那么它还为什么还能亮?

LED 的工作电压 通常是指 在特定的电流条件下 (工作电流)LED 两端的典型压降,实际上 在比起标称电压稍低的电压下仍然可以发光,只不过亮度会比较低 。

好了,到这里,我们应该已经完全了解了在低功耗产品中,想要更加的低功耗,为什么会选择红色 LED 灯了。

我们做好了硬件的设计,那么在程序中,我们有没有什么讲究呢?这个下面我会分享一个小技巧,能用上就用,用不上就当了解。

1.3 LED 灯串联电阻的计算

本小结其实与低功耗无关,属于额外附加段落。

既然聊到了 LED 灯的使用,那么就直接给个简单的应用计算,告诉大家怎么选择 LED 灯的串联电阻。

在 24V 的电源下, 带一个 红色的 LED 指示灯,串联多大电阻合适?. (有这么一个问题,是因为曾经有过小伙伴问我,24V那么大的电压,0603的 LED 灯是不是一下子就烧坏了……     )

下面我就直接上计算步骤,供大家参考:

假设这个红色LED 的正向电压为  2 V

假设这个红色LED 的最大正向电流为 20mA

电阻需要分担的电压:24V - 2V = 22V

电流为 20mA

计算电阻值   22V / 20mA = 1100 Ω

得到电阻的阻值最小为 1100Ω  = 1.1K

这里简单解释一下,为了将电流限制在 20mA ,1.1k 是至少的,电阻越大,电流越小,不到 20mA ,LED 是不会烧坏的。

当然,这里计算出来了电阻为 1.1K,还需要计算电阻的功耗,因为电阻太小也会烧坏,

P = I² * R = (0.02A)² * 1100 Ω = 0.44 W

所以,我们这里 1.1K  的电阻额定功率应该至少为 0.5W

那么,我们知道 0603 的电阻一般来说最大功率为 1/8 W = 0.25W

所以,这里如果选 1.1K 的电阻,那么至少使用 0805 的电阻

如果使用更大的电阻,那么可以按照上面的方式去计算功率。

是不是一个简单的计算,有好多小知识 O(∩_∩)O~

二、51 单片机控制 LED 的技巧

声明,本小结技巧只适用于部分 51 单片机,在休眠唤醒的那一刻用来指示自己工作状态的情况。

LED 灯作为指示灯,程序设计中我们常规的做法,写一个LED 灯的闪烁程序用来指示:

ledOn;
delay_ms(50);
ledOff;

上面我们延时了用 多少 ms ,完全看自己的应用要求,反正 delay 的时间其实都是相对功耗高的时候,一般这个时候系统也是不能休眠的,时间太长功耗就大,这个根据自己需求来。

但是我们本节要说到的就是在 51 单片机做低功耗产品时,利用部分 51 单片机初始化的时候 IO  的电平跳变来实现的 LED 灯闪烁效果,并不需要软件额外的代码去翻转 IO 口。

举个例子,下面代码是在 51 单片机上一段控制休眠唤醒的程序:

  switch (u8ResetSrc)
  {
   case PIN_RESET:
   case VDD_RESET:
    //Reset detection,for learn Function 
    SendLrnTelegram(); 
     CLR_WDT();                                                        
    shortTermSleep(80); 
    WatchdogSleep(readcycle);
       pwr_timerSleep(NO_WAKE_FLAG, &u8Wake);
       
   break;
 
   case WAKE_PIN0_RESET:
   break;
         
   case WATCHDOG_RESET:
//   mainInit();
     sendDataTelegram();
     WatchdogSleep(60);
      pwr_timerSleep(NO_WAKE_FLAG, &u8Wake);   
   break;
             
         default:
            break;
     }

上面的大概意思就是进入休眠以后通过不同的唤醒源唤醒,在程序中并没有 IO 口翻转的的程序,但是单片机在每次唤醒的时候, IO 口的电平会产生跳变,会导致 LED 灯闪烁一次,正好当成唤醒工作的指示灯, LED 灯的硬件设计是使用 IO 口直接驱动,如下图:

IO口的输出电压最高位 1.8V ,如实际上下面的电阻给得大了些,但是使用红色 LED 也能看到明显的闪烁。如果使用蓝色的 LED  灯,即便把电阻换成较小的电阻,也无法看到 LED 灯的闪烁。

上面这种情况, 是因为51 单片机在复位过程中,I/O口的状态可能会经历一个未定义的阶段,导致在初始化完成之前I/O口的状态会有短暂的变化。我们以往的应用往往是如何去避免这个跳变,在这种低功耗指示灯的厂家下,反而可以利用这一点,为我们的产品做指示灯使用。

结语

本文主要说明了一下在低功耗的产品中,需要用到的 LED 指示灯选择相关的问题,还提到了在部分单片机应用中可以利用单片机唤醒时候 IO 口的跳变实现 LED 的指示功能。

整体还是比较简单的,那本文就到这里,感谢大家阅读!


END

来源:矜辰所致

版权归原作者所有,如有侵权,请联系删除

推荐阅读
为什么大厂都在用Yocto?
培养一个优秀的嵌入式工程师有多难?
C/C++大限将至,美国强硬要求2026年前全面剔除!

→点关注,不迷路←

嵌入式微处理器
关注嵌入式相关技术和资讯,你想知道的都在这里。
 最新文章