
很多人第一次画LED电路板或者自己DIY做个小夜灯时都会遇到一个特别诡异的现象同样是LED红色的用一颗几十欧的电阻就挺亮换成白色或蓝色同样的电路却发暗甚至完全不亮。一开始我还以为是LED坏了换了新的还是一样后来查了手册才明白问题不是出在LED本身而是我压根没搞懂不同颜色LED的正向压降VF到底差了多少。这玩意儿看着不起眼却是整个电路能不能正常工作的胜负手。这篇内容围绕不同颜色LED压降的核心参数、背后原理、限流电阻计算和选型避坑展开。不管你是刚摸烙铁的入门玩家还是被LED搞到头大的嵌入式开发只要想弄明白“为什么红色和蓝色不能随便换着用”这篇经验总结都能帮你少走弯路。1. 颜色不同压降为什么差这么多1.1 决定LED颜色的不是吐槽是材料能隙要说清楚压降得先从LED的发光原理说起。LED本质上是一个PN结电子从高能级掉回低能级时多余的能量以光子的形式释放出来。这个能量差叫能隙Band Gap它直接决定了发出的光的波长也就是我们看到的颜色。不同半导体材料的能隙天生就不一样。传统的红色LED多用AlGaAs砷化镓铝或者GaAsP磷砷化镓能隙大概在1.8到2.1电子伏特左右对应的正向压降也就只有1.8到2.2伏。而蓝色LED用的是InGaN氮化铟镓能隙普遍在2.9到3.4电子伏特所以压降自然就高了一大截。这里面有个很直白的物理对应关系波长越短能量越高压降越大。红光波长大约620到700nm能量最低蓝光波长大约460到475nm能量明显更高白光本质上就是蓝光芯片激发黄色荧光粉混合出来的所以压降和纯蓝光差不多。把颜色按红、黄、绿、蓝、白排列压降整体也是从低到高的趋势。我做了一个常用LED颜色与典型压降的对照基本覆盖市面上常见的直插和贴片型号LED颜色材料类型典型正向压降 (VF)典型波长范围红外AlGaAs / GaAs1.2 - 1.6V850 - 940nm红色AlGaAs / GaAsP1.8 - 2.2V620 - 700nm橙色GaAsP / GaP1.9 - 2.3V600 - 620nm黄色GaAsP / GaP2.0 - 2.4V580 - 595nm绿色老款黄绿GaP2.0 - 2.4V565 - 570nm绿色InGaN纯绿InGaN2.8 - 3.2V520 - 535nm蓝色InGaN2.9 - 3.4V460 - 475nm白色InGaN蓝光荧光粉2.9 - 3.4V色温可调注意绿色LED那两行这是最容易踩坑的地方。早期传统的GaP绿色LED压降很低和红黄差不多那种颜色带点黄绿暗环境下看有点发白。后来出的InGaN绿色LED颜色更纯更正但压降直接跳到接近3伏。你要是把老绿当成新绿去设计电路电流完全不对亮度要么过载要么闪得跟鬼一样。1.2 温度一上来压降还会变除了材料决定的基础压降LED还有一个所有半导体都有的通病正向压降随温度升高而降低。大概每升高1摄氏度压降会下降1.8到2.5毫伏。这个参数叫负温度系数。听起来2毫伏很小对吧但你别忘了LED长时间工作的结温轻轻松松就到70到80摄氏度那压降就比常温时低了0.1伏以上。对于限流电阻方案来说压降下降意味着电阻两端的电压升高电流变大LED更热压降继续下降这是一个正反馈过程。要是你电源电压刚好卡在LED工作区温度一上来电流就失控了。所以做户外灯具或者需要在高温环境长期运行的设备不能指望着限流电阻能保护一切。要么选择恒流驱动要么在设计限流电阻时留足余量不要让LED的额定电流顶格跑我一般建议打七到八折。2. 限流电阻怎么算才不翻车2.1 计算公式其实很简单但很多人第一步就错了LED不能直接接电源这一点几乎所有教程都会说因为LED的伏安特性曲线非常陡峭。一旦导通电压稍微增加一点点电流就会指数级上升直接烧掉。所以必须串一个限流电阻把电流钳住。限流电阻的计算公式是这样的R (VCC - VF) / IF其中VCC是供电电压VF是LED的正向压降IF是你想要的正常工作电流。这里面最容易出问题的就是VF取值不准确。很多人拿着一个LED数据手册上典型的2.0V或者3.0V就当成了唯一值完全不看自己的实际电流和温度条件。我举个具体的例子。一个红色LED如果你目标电流是20mA供电电压是5V参数表上VF标的是2.0V那电阻就是(5-2.0)/0.02150欧。但实际通电后如果你的具体LED批次VF是2.2V那电流就变成了(5-2.2)/150≈18.7mA还在安全范围内。但如果你换成一个蓝光LEDVF实际是3.2V还是用同一个150欧电阻电流就变成(5-3.2)/15012mA亮度差了一大截。这就是为什么串同一个电阻红光能亮瞎眼、蓝光却萎靡不振的原因。2.2 按颜色分场景的电阻速查表为了让大家方便我做了一张常用场景的电阻参考表假设标准电流是20mA、E24系列电阻贴近计算结果的工程值供电电压LED颜色计算电阻实际取值实际电流3.3V红/黄65Ω68Ω19.1mA3.3V蓝/白5-25Ω不推荐直连电流难以控制5V红/黄150Ω150Ω20mA5V绿(GaP旧款)130Ω120Ω或130Ω21.7mA5V绿(InGaN纯绿)90Ω91Ω19.8mA5V蓝/白90Ω91Ω19.8mA12V红/黄500Ω510Ω19.6mA12V蓝/白430Ω430Ω20.5mA上表能看出来一件很有意思的事蓝色和白色LED对供电电压其实挺“挑食”的。3.3V供电时蓝白LED的压降和电源电压只差0.1到0.4伏限流电阻只有几欧到几十欧稍微有点波动电流就剧烈变化。这种情况下与其纠结电阻精度不如换一个低压降的LED型号或者直接用升压恒流驱动。3.3V的MCU系统里驱动蓝白LED是我的常见翻车点。GPIO口输出高电平本身就是3.3V串个几十欧电阻看似能算出来但GPIO本身有输出阻抗、电源轨有纹波算出来那几十欧根本稳不住。我自己实测过3.3V下驱动白光LED用10欧电阻亮度勉强够但电源稍微跌到3.2V电流就少了一半亮度落差极其明显。3. 实际选型时的分场景避坑3.1 指示灯场景优先控制电流而不是亮度电子产品里的LED指示灯常见误区是“我要它很亮”。实际上指示灯的主要功能是让用户看到状态不是当手电筒用。电流给到2到5mA对高亮LED来说已经非常清晰而且能明显延长寿命。我之前做一款工业控制面板工程师给每个指示灯算了20mA额定电流结果整板十几颗LED全红彤彤地刺眼而且发热也不小。后来统一改成5mA亮度看起来和原来几乎一样整板功耗却降了四分之三。这里面有个生理学因素人眼对亮度的感知是对数关系电流从20mA降到5mA亮度变化感觉上远远没有数学上那么夸张。所以指示灯场景的建议是高亮LED电流初始给2-5mA普通亮度的LED给5-10mA只有在太阳底下直射的环境、或者需要透过熏黑透镜显示的场合才考虑给到15-20mA。3.2 照明与功率场景整个策略都得变如果是做照明灯、手电筒、补光灯那就不是限流电阻能解决的问题了。所有功率型LED不管颜色都建议直接用恒流驱动芯片或者恒流电源模块。这和指示灯是完全不同的设计范式指示灯关心的是“电压够不够、电流别超”照明关心的是“电流恒定才能稳定输出光通量”。大功率LED的压降参数往往有一个很宽的区间。比如一颗1W的Cree或Osram白光灯珠额定电流350mA时VF可能是3.0V也可能是3.4V同一批次都有很大离散度。如果两批灯珠混着并联驱动大概率会出现其中一路电流特别大、另一路却发暗的情况。我自己做线性灯带时吃过这个亏一开始为了省钱把三颗1W灯珠并联共用一个恒压电源加一个总限流电阻。结果没跑几个小时其中一颗灯珠先烧了剩下两颗因为电流重新分配瞬间过载跟着殉爆。后来老老实实改成三路独立的恒流每路330mA用了几个月都很稳。并联均流这事对功率LED来说真的是不能省。3.3 关于串联与并联的结构选择很多人为了驱动多颗LED会考虑串联或者并联。这里有个基础但非常关键的原则串联时总压降等于所有LED压降之和电流处处相等所以同一串里各颗LED的亮度一致性最好。并联时总电流等于各支路之和但每一路的电流取决于各自的VF和限流电阻。不同颜色的LED并联共用一个电阻基本就是自找麻烦。我再给一个实际计算的串联合并示例12V电源想串3颗白色LED。单颗VF按3.2V算3颗就是9.6V还剩下2.4V给限流电阻。目标电流350mAR2.4/0.35≈6.86欧取6.8欧。这看起来没问题但如果单颗VF偏高到3.4V总压降就变成10.2V电阻上只剩1.8V电流掉到265mA亮度大约减少了四分之一。这就是串联方案对VF离散度敏感的根本原因。如果你的电源电压余量留得不够大VF波动会直接变成电流波动。一般我建议串联后总压降不要超过电源电压的75%到80%剩余电压全给限流电阻让电阻来吸收VF的变化。上面例子12V串3颗3.2V灯珠比例是80%已经有点极限了更稳妥的做法是串2颗电流会更稳定。4. 实测记录与数据4.1 用万用表二极管档直接量LED压降这里分享一个实用的现场技巧。很多人不知道数字万用表的二极管档可以用来测量LED的基本好坏也能大致看出它的压降级别。二极管档会给被测器件施加一个大约1mA的恒流源然后显示端子上的电压。我把几种颜色的LED挨个测过一遍得到的数据虽然不是精确的指定电流压降但用来分辨LED颜色类型、判断好坏非常管用LED颜色二极管档读数现象红色1.75 - 1.95V明显发红光黄色1.85 - 2.05V明显发黄光旧款绿(GaP)1.90 - 2.10V明显发绿光新款绿(InGaN)2.70 - 3.10V微微发绿光或看不清蓝色2.80 - 3.20V微微发蓝光或看不清白色2.80 - 3.20V微微发白光或看不清用二极管档测白LED时很多万用表显示3.2V但LED却几乎不亮这是因为万用表提供的电流太小InGaN材料在低电流密度下的发光效率比较低。这不代表LED坏了反而提示你它需要更高的驱动电流。反过来如果红色LED测出来只有0.5V还发微弱的光那大概率是坏了正常红LED的结电压不该这么低。4.2 同一颜色在不同电流下的压降漂移LED的VF不是一个固定值它本身就随电流增大而略微上升。我用可调恒流源测过一颗蓝色LED从1mA加到20mA压降从2.65V爬升到3.28V差不多有0.6V的变化。这一点相当反直觉很多人以为压降是固定不变的事实上它在工作电流区间内一直处于缓慢上升状态。这个数据对设计的启发是如果你用“典型VF”来算电阻算出来的电流和实际电流会有偏差。更准确的做法是拿LED规格书里的VF-IF曲线来取值取你目标电流对应的VF而不是取额定最大电流对应的VF。数据手册上常见的那个“VF典型值为3.2V”往往是在350mA或700mA条件下测的你只跑20mA实际VF可能只有3.0V那电阻就应该更大一点。我做设计时有个习惯拿到一颗新LED的样品后先不和任何人扯数据手册直接用可调电源加一个几百欧的电位器把电流调到目标值实测这颗LED的VF是多少然后再倒推限流电阻。这样算出来的一套参数拿到实际产品里基本无需再调整。5. 常见问题与排查技巧实录5.1 换了颜色就不亮或亮度骤降这个是我在论坛上看到的最常见发问也是本文开头那个场景的根源。排查思路其实很简单先测量LED两端的电压看看是否达到该颜色LED的导通压降。红色LED用3.3V驱动通常没问题蓝色和白色有时会卡在临界点上。比如用3.3V的GPIO直接驱动白光LEDLED两端电压可能只有2.2V明明显显没有导通到位。这种情况下GPIO的驱动能力有限接着就是电压被拉低。解决办法是不要用GPIO直接驱动改成用三极管或MOS管做开关另外供给LED真正的电源。如果你不想加管子最简单的办法就是把白光LED换成少见的低压降白光或者用红光/黄光代替牺牲颜色换取可用性。另一个降低压降的办法是选择低压降LED专用型号比如一些为3V电池设计的红光LED最低VF能到1.6V在2.4V镍氢电池下也能亮得起来。5.2 新电池不亮旧电池反而亮这听起来离谱但真实发生过。一个用红色LED做的门铃指示灯用户反映装刚买的新碱性电池不亮换了两节旧电池反而亮了。拆开一看电路板没有任何问题把LED拆下来用稳压源测试也正常。后来仔细排查发现问题出在电池座接触簧片氧化了新电池虽然电压高但皮实的内阻大加上氧化层接触电阻到LED这边实际电压不到1.7V红色LED刚好卡在导通边缘压降不够电流只有零点几毫安自然不亮。而旧电池因为放置时间长表面有腐蚀物反而能“扎”透氧化层形成回路所以能亮。这里想提醒的是LED不亮不代表LED坏了要沿着回路查所有压降的分配。用万用表在通电状态下测量LED正负极之间的实际电压是最快的定位手段。如果电压远低于VF问题在电源或线路损耗如果电压高于VF一大截但没有电流多半是接触不良。5.3 不同颜色LED并联接同一个电阻导致互相干扰我见过很多人图省事把红绿两个LED并联接一个限流电阻做红绿双色指示。结果上电之后红色亮堂堂的绿色几乎看不出来。这个现象用前面的压降知识就能完美解释红色LED的VF低先被导通把节点电压钳在2V左右而绿色LED如果是InGaN款VF在3V左右压根到不了导通条件自然不亮。如果非要让两种颜色同时亮就不能直接把LED并联要给每颗LED配自己的限流电阻。即使是同颜色的LED并联也最好每颗一个电阻否则VF最小的那一颗会抢走大部分电流亮度不均匀不说还可能过载烧毁。5.4 白光LED做成指示灯启动瞬间为何有点“飘”有朋友反馈自己做的白色LED小台灯接通电源瞬间白光会闪一下然后就正常了。我让他测驱动模块发现用的是廉价的阻容降压加稳压管方案启动瞬间电容充电电流很大稳压管还没进入稳压状态电压冲高到十几伏白光LED的VF又低瞬时电流很大就闪那一下。等电容充满后电压跌回工作区电流稳定灯就正常了。这种情况下排解思路不是换LED而是在输入端加缓启动电路或者换用真正的恒流驱动。白光LED的额定电流虽然能满足长期工作但瞬间电流超过额定值十倍哪怕只有几十毫秒也会对芯片内部的荧光粉和键合线造成不可逆损伤寿命大打折扣。5.5 用示波器看LED驱动波形是最后的杀手锏我最后再分享一个排查技巧当你觉得LED驱动电路一切正常但亮度就是不对或者闪烁时别只看万用表测平均电压把示波器夹到LED两端看实际波形。很多时候PWM调光信号频率太高LED的开启和关断存在肉眼可见的纹波平均直流电压看起来是对的但峰值电流早就超了。这类问题只有在示波器上才能现出原形。我自己做过一次双色LED指示灯红绿切换时总有一小段颜色不对程序逻辑翻来覆去查了个遍都没问题。最后用示波器一看两个PWM通道的相位没对齐导致红绿混色区间比预期多出一个周期的部分叠加。调整相位后故障立刻消失。这种电平、时序层面的隐形问题纯靠万用表基本查不出来。做硬件就是这样一个看似微不足道的压降参数会牵扯出限流电阻、电源余量、温度漂移、并联均流一整个链路的问题。吃透这几点再用实测数据校准LED这块基本就不会再给你添麻烦了。