S8050驱动LED:开关管饱和区与基极/限流电阻取值排查 做LED驱动这行当里S8050算是个绕不开的老面孔。它便宜、好买、TO-92封装随手插在洞洞板上就能焊很多人第一次做“单片机控制一盏灯”的小实验用的就是它。但我这些年帮人看过的电路里凡是LED亮度不对、常亮不灭、三极管发烫的追根溯源十有八九都栽在两个电阻的取值和这颗管子到底有没有进饱和区上。这篇东西就把S8050驱动LED这件事从头拆一遍先说清楚什么情况下才有必要上这颗三极管再讲它当开关用时到底工作在哪个状态、两个电阻怎么算、万用表怎么把三个脚认准最后把我实际调试中遇到的几个典型故障按排查链路完整摆出来。不管你是刚拿起烙铁的入门玩家还是已经焊过几块板但总有小毛病没搞明白的老手应该都能在里面找到自己踩过或者即将踩到的那个坑。1. 一颗LED而已为什么非要拉上S80501.1 先算清单片机IO口那笔电流账很多人入门时的第一反应是单片机的一个引脚接个电阻电阻接LEDLED接地完事。这个做法在小电流指示灯的场合确实能用但只要电流一上去问题就来了。常见的通用IO口单脚持续输出或者灌入电流的推荐值大多在10到20毫安这个区间整颗芯片所有IO加起来还有总线电流上限超过这个数要么亮度被拉垮要么长期工作在超规格状态端口驱动能力衰减甚至直接损坏。一颗普通的5毫米直插LED想要达到比较亮的视觉效果通常需要10到20毫安而那些1瓦级别的大功率LED工作电流动辄300毫安起步单片机IO口根本不可能直接带动。这时候三极管的价值就体现出来了它做的事情本质上是一个“用小电流控制大电流”的阀门基极只需要几毫安的电流就能让集电极通过几十甚至几百毫安的电流。单片机负责“下命令”三极管负责“出力”分工明确。还有一个容易被忽略的点是电平匹配。有些负载需要12伏甚至24伏才能工作而单片机系统通常是3.3伏或者5伏两者电压域完全不同。用三极管做开关可以把控制侧和负载侧的电压彻底分开只共用一条地线这在工程上是相当常见也很稳妥的做法。所以判断标准其实很简单如果负载电流在IO口能力范围内、电压也和系统一致直接串电阻接上去就行没必要多此一举一旦电流超了、电压不匹配、或者需要把负载和主控隔离开就该请出三极管了。S8050在这个位置上属于典型的“小功率NPN开关管”便宜、量大、参数够用。1.2 S8050在小功率开关场景里的定位S8050是一颗NPN型小功率三极管TO-92封装三个引脚从外观上看就是半圆柱加一个平面。它的常见手册参数大致是这样集电极-发射极击穿电压25伏左右集电极最大连续电流标称700毫安总耗散功率在25摄氏度环境下约625毫瓦特征频率在150兆赫兹以上直流电流放大倍数hFE按档位划分常见的有85到160、120到200、160到300这几档不同厂家标注会有出入。把这些参数翻译成人话25伏意味着它不能用在市电或者更高压的场合做12伏、24伏系统里的开关没问题700毫安是极限值不是让你长期跑在这个数上实际持续工作我一般建议控制在300毫安以内留出足够余量625毫瓦的耗散功率决定了它发热的边界后面算功耗的时候要用到hFE分档则直接关系到基极电阻怎么取这一点在后面第2章会重点讲。它常被拿来和S8550配对使用一个是NPN一个是PNP做互补推挽或者高低边开关都很方便。也常被拿来和2N3904、2N2222这类通用管比较S8050的优势在于电流能力更大一些、价格更低缺点是一致性相对一般不同批次之间hFE差异可能有明显跳动。做实验和小批量完全够用做量产就得考虑一致性问题了。需要提醒一句的是市面上还能见到各种名字相近的“带阻三极管”也就是内部已经把基极电阻和下拉电阻集成进去的型号。这类器件外观和普通三极管几乎一样但用法完全不同买的时候一定要看清完整型号别看到“8050”几个字就往回拿。2. 开关管只看两头S8050的截止与饱和2.1 放大区是拿来放大的开关场景要主动躲开三极管有三个工作区域截止区、放大区、饱和区。做模拟信号放大时我们刻意让它待在放大区靠基极电流的细微变化去控制集电极电流成比例变化但做开关时逻辑完全反过来了我们要的是“要么彻底关断要么彻底打开”中间那段线性过渡区是必须尽快穿过去的。为什么必须避开放大区因为处在放大区时三极管集电极和发射极之间的压降Vce比较大而电流又不小两者相乘就是管子上白白烧掉的功率。举个具体数字如果一颗管子工作在Vce等于3伏、Ic等于100毫安的放大区状态那它自己要消耗0.3瓦TO-92封装摸上去会明显发烫而这0.3瓦对点亮LED毫无贡献纯属浪费。而在饱和区Vce会降到很低小电流下典型值只有0.1到0.2伏大电流下也就0.3到0.6伏。同样100毫安电流Vce按0.2伏算管耗只有0.02瓦几乎不发热。这个差别就是“开关”和“放大器”两种用法的分水岭。判断有没有进饱和最直观的实测方法是用万用表直流电压档量集电极对发射极的电压。如果读数在0.1到0.3伏这个量级说明已经进入饱和如果读到1伏以上甚至几伏那基本还在放大区晃悠得回头查基极电流够不够。2.2 饱和深度怎么定hFE分档为什么必须看进饱和的条件是基极电流足够大让集电极电流达到“管子已经无法再放大”的程度。工程上常用一个叫“强制hFE”或者“饱和深度”的概念就是让集电极电流和基极电流的比值取一个远小于手册hFE的数一般取10到20之间。也就是说如果你需要100毫安的集电极电流就按强制hFE等于10来算给基极灌10毫安。为什么不能直接用手册上的hFE来算因为手册上的hFE是在特定测试条件下测的而且是个范围值同一批管子可能从85到300都有。假设你按hFE等于200去算基极电流结果拿到一颗实际hFE只有90的管子那它就进不了饱和Vce居高不下发热、亮度不足全来了。取强制hFE等于10本质上是一种“向下兼容”的保守设计保证最差的那颗管子也能被可靠打开。hFE分档这件事在实际选型时必须看。同一型号的S8050后缀不同代表不同的放大倍数区间。做开关用途我个人更倾向选放大倍数偏大的档位因为同样的基极电流能拉到更大的集电极电流饱和更容易做深。但如果做的是那种需要精确控制基极电流的场合放大倍数过大反而容易受漏电流和温漂影响这就得看具体需求了。还有一个和温度相关的细节三极管的Vbe具有负温度系数大约每摄氏度下降2毫伏左右。常温下按0.7伏算基极压降到了低温环境可能升到0.8伏以上基极电流就会相应减小。所以在做宽温产品时基极电阻要按最恶劣条件留足余量别卡着临界值算。2.3 用万用表把E、B、C三个脚认准这是我最想强调的一步也是新手翻车率最高的地方。TO-92封装的三个引脚平面朝向自己、引脚朝下时常见的排列是发射极、基极、集电极也就是E-B-C。但这只是“常见”不同厂家的模具和内部结构未必一致市面上确实存在引脚顺序不同的S8050。凭记忆直接焊焊完不亮然后开始怀疑人生这种场面我见过太多次。正确做法是拿到管子先测。把万用表打到二极管档NPN管子的内部结构相当于两个背靠背的PN结基极是公共端。先用红表笔正固定接一个脚黑表笔分别碰另外两个脚如果两次都显示出0.6到0.7伏左右的正向压降那红表笔接的这个脚就是基极。反过来用黑表笔固定、红表笔去碰两次都应该显示溢出或者不导通。确认基极之后剩下两个脚里哪个是集电极、哪个是发射极可以用压降的微小差异来辅助判断一般基极到发射极的正向压降会略微大于基极到集电极差距在几十毫伏这个量级。不过这个差异很小万用表精度不够时不好分辨。更靠谱的办法是直接看管子上印的型号标识方向或者干脆搭个最简单的测试电路试一下——把怀疑是集电极的脚串个电阻接电源正、发射极接地、基极串电阻接另一个电源看能不能正常导通插反了是打不开的。我自己的习惯是每次拆一包新管子先随机抽两三颗测一遍引脚顺序确认这一批的排列规律然后在元件盒上贴个标签写清楚。花两分钟能省下后面半小时的排查时间。3. 两个电阻的取值逻辑与实测修正3.1 基极电阻从Ib倒推Rb再留余量基极电阻的作用是限制流入基极的电流防止把发射结烧掉同时把电流控制在正好能让管子饱和的量级。计算思路很直接先确定集电极需要多少电流再按强制hFE定出基极电流最后用欧姆定律算出电阻。公式是这样的Rb等于驱动电压减去基极-发射极压降除以基极电流。基极-发射极压降在饱和导通时按0.8到0.9伏取比较稳妥别按0.6伏算因为大电流下这个压降会明显上升。举一个我实际用过的例子。5伏系统LED工作电流定在50毫安强制hFE取10那基极电流就要5毫安。Rb等于5减0.85除以0.005算出来是830欧姆取标称值820欧姆或者680欧姆都行。680欧姆时实际基极电流约6.1毫安饱和更深一些也更抗管子离散性。再看3.3伏系统同样的50毫安负载。Rb等于3.3减0.85除以0.005算出来490欧姆取470欧姆。这时候要注意一个现实问题很多3.3伏单片机在带载时高电平可能掉到3.0伏甚至2.9伏按最差情况重算2.9减0.85除以470等于4.4毫安还算够用。如果电阻再放大到1千欧基极电流只剩2毫安左右50毫安的负载就可能进不了深饱和了。这里有个经验值可以参考驱动电压5伏时基极电阻常用1千欧到4.7千欧对应小电流负载470欧到1千欧对应中大电流负载驱动电压3.3伏时相应减小一档。但这些都是粗估具体还是要按公式算一遍算完再留20%到30%的余量。顺便说一句基极电阻的功率。基极电流通常只有几毫安电阻上的功耗是电流平方乘阻值5毫安的平方乘820欧姆才0.02瓦随便一颗1/4瓦的电阻都绰绰有余不用专门考虑。3.2 集电极限流电阻别只盯着Vcc和VfLED是电流驱动器件必须串限流电阻这个大家都知道。但算这个电阻的时候很多人只用了电源电压减去LED正向压降忽略了集电极和发射极之间那点饱和压降而且对小电流场合影响不大对大电流场合就不能忽略了。完整公式是Rc等于电源电压减去LED正向压降减去Vce饱和压降除以目标电流。拿5伏供电、红色LED、目标电流10毫安举例。红色LED的正向压降一般在1.8到2.1伏取中间值1.9伏Vce饱和压降按0.15伏估那么Rc等于5减1.9减0.15除以0.01等于295欧姆取标称300欧姆或者330欧姆都行。用330欧姆时实际电流约8.9毫安亮度稍暗一点但完全够做指示灯。蓝色和白色LED的正向压降高得多通常在3.0到3.3伏。同样是5伏供电、10毫安Rc等于5减3.1减0.15除以0.01等于175欧姆。这个值就比较临界了因为电源电压只比LED压降高不到2伏电阻取值稍有偏差电流变化比例会很大。这种情况下如果电源有波动亮度就跟着明显变化所以做产品时通常会给蓝白LED留更大的电压裕量比如用9伏或12伏供电串更多颗。电阻功率也要算一下。10毫安乘300欧姆功耗是0.03瓦1/4瓦电阻随便用。但如果驱动300毫安的大功率LED电阻上的功耗就是0.3的平方乘电阻值可能到零点几瓦甚至更高这时候就得换1瓦甚至更大功率的电阻不然电阻自己先烧了。3.3 常用工况取值对照表把常见组合整理成表方便直接抄。需要说明的是表里的Vf和Vce都是典型估值实际元件有离散性最终一定要用万用表实测电流做校准。供电LED类型Vf估值目标IfVce估值计算Rc建议取值5V红色1.9V10mA0.15V295Ω300Ω5V绿色2.1V10mA0.15V275Ω270Ω5V蓝色3.1V10mA0.15V175Ω180Ω5V白色3.2V15mA0.20V107Ω110Ω3.3V红色1.9V8mA0.15V156Ω150Ω12V白色三串9.6V20mA0.25V107Ω110Ω基极电阻的对照表也一并列出来驱动电压按5伏和3.3伏两档基极压降统一按0.85伏。驱动电压目标Ic强制hFE需要Ib计算Rb建议取值5V20mA102mA2075Ω2kΩ5V50mA105mA830Ω820Ω5V100mA1010mA415Ω390Ω3.3V20mA102mA1225Ω1.2kΩ3.3V50mA105mA490Ω470Ω3.3V100mA1010mA245Ω240Ω看这张表能发现一个规律目标电流越大基极电阻就得越小对单片机IO口的压力就越大。3.3伏系统要驱动100毫安的负载基极需要10毫安这已经接近很多IO口的推荐上限了。所以实际工程里我一般不建议用一颗S8050去硬扛超过100毫安的负载真要驱动大电流要么换更大电流的管子要么用MOSFET后面第6章会展开说。4. 从图纸到洞洞板一次完整搭建过程4.1 备料与器件识别我习惯在动手之前把料先摆齐避免焊到一半发现少个电阻又去翻箱子。一个最基础的S8050单路LED驱动需要的元件清单不长S8050一颗、LED一颗、基极电阻一颗、限流电阻一颗、杜邦线或者单芯线若干、5伏电源一路、洞洞板一小块。如果要接单片机还得准备对应的开发板和下载线。电阻选用1/4瓦金属膜的就够阻值按上一章算出来的取。LED要注意区分极性长脚是阳极短脚是阴极管体边缘有个小平面的一侧也是阴极。有些LED出厂时引脚被剪短过那就只能靠管体内部的支架形状来判断——内部大块金属支架那一侧通常是阴极。这个判别方法不是百分之百可靠最稳的还是用万用表二极管档测一下能点亮的方向就是正向。管子拿到手先按2.3节的方法测引脚顺序。我一般会在小本子上记一笔这一批的排列是从左到右E-B-C还是别的顺序。这个习惯帮我省过好几次返工。还有一个容易被忽视的细节如果电路里还有别的电源或者别的负载搭建之前先在纸上画一遍接线标出电流路径。特别是共地的问题单片机和外部电源必须共地不共地的话基极回路根本形不成回路管子打不开。我见过有人用两套独立电源信号线接上了但忘了接地线折腾半天以为是管子坏了。4.2 布线顺序与焊接细节洞洞板焊接有个原则我觉得挺重要先焊矮的再焊高的先焊信号再焊电源。具体到这个小电路我通常的焊接顺序是电阻、三极管、LED、最后接电源线。这样每一步都能用眼睛检查焊点不至于被高元件挡住视线。三极管焊接时要注意别焊太久。TO-92封装的塑料体耐热能力一般烙铁头贴着引脚根部超过三五秒就可能把内部结构烫坏。正确姿势是烙铁头同时接触焊盘和引脚两秒左右上锡锡量以刚好包裹引脚和焊盘为宜形成一个小小的锥形。焊完检查一下有没有虚焊——表面粗糙、像豆腐渣一样的焊点基本就是虚焊需要补焊。LED的焊接也有讲究。直插LED的引脚根部有个塑料隔断烙铁别靠太近热量传进去容易损伤芯片。我一般让焊点离塑料体至少有3毫米的距离。走线布局上基极电阻尽量靠近三极管的基极脚减少走线长度限流电阻串在集电极和LED之间或者LED和电源之间都可以位置不影响功能但从排查方便的角度我倾向把它放在LED和集电极之间这样量集电极电压的时候不用拆电阻。如果是在洞洞板上做建议顺手把基极到地之间加一个10千欧的下拉电阻。这个电阻不是必须的但能解决很多“莫名其妙微亮”的问题。原因在于三极管基极悬空时会拾取环境干扰微弱的漏电流就足以让它进入微导通状态LED就会在应该熄灭的时候发出一点微弱的光。这个下拉电阻把基极电位牢牢钉在0伏问题就解决了。4.3 上电与分步验证焊完不要直接上电先用万用表的通断档做一遍静态检查。重点量三件事电源正极到地的阻值应该是几百欧姆以上如果接近0就是短路各个焊点是否连通管子三个脚之间有没有互相短路。这一步花一分钟能避免上电冒烟的惨剧。第一次上电我建议用可调电源限流在50毫安左右万一有短路不会造成太大损失。如果手头没有可调电源就在电源正极串一个100欧姆的电阻做临时保护验证正常后再去掉。分步验证的顺序是这样先不加信号只上主电源这时候LED应该是灭的量三极管集电极对地电压应该接近电源电压说明管子处在截止状态。然后给基极加驱动信号LED应该亮起此时量集电极对地电压如果掉到0.2伏左右说明进入饱和一切正常如果读到1伏以上说明基极电流不够得回头改电阻。最后量LED两端的电压应该在它的正向压降附近如果明显偏低可能是限流电阻偏大或者管子没完全导通。我还习惯在验证完成后用万用表量一下实际电流。方法是把电流表串在LED回路里或者用钳形表如果有的话夹住导线。实测值跟计算值差个一两毫安是正常的差太多就得找原因——测定值是否准确、电源电压是否到位、元件是否虚标这些都要排一遍。5. 调试现场的几个典型故障与排查链路5.1 LED常亮不灭或微亮这是最高频的问题我遇到过的原因主要有三类。第一类是基极悬空或者驱动端处在高阻态。三极管基极一旦浮空它就变成了一根小天线周围的电磁干扰、手靠近、甚至空气湿度变化都会让它微微导通。表现出来就是LED在“关闭”状态下有一点点亮房间里关灯才能看出来。解决办法就是前面说的加10千欧下拉电阻把基极强制拉低。另外要检查驱动端在“关”的状态下是不是真的输出了低电平有些单片机复位后默认是高电平或者高阻态这就会导致上电瞬间LED先亮一下。第二类是漏电流。三极管在截止状态下并不是绝对绝缘的集电极和发射极之间有微安级的漏电流温度越高漏电流越大。如果限流电阻取值过大这点漏电流都能让LED发出微光。这种情况换一颗漏电流更小的管子或者把限流电阻适当减小都可以缓解。第三类是单片机端口的默认状态问题。以常见的51系列单片机为例复位之后所有IO口默认输出高电平如果你的电路是高电平有效那上电瞬间LED就会亮。这不是电路故障是初始化时序导致的需要在程序里一上电就把对应的引脚拉低。排查链路我一般这么走先断开基极连接看LED是否还亮——如果还亮说明问题在负载回路或者管子本身漏电如果不亮说明问题在驱动侧检查IO口状态和基极电阻。这个“断开法”能一刀把问题劈成两半效率很高。5.2 亮度明显偏低亮度不够的原因最直接的就是电流不够。而电流不够又分好几种。第一种是限流电阻取大了。这是最常见的尤其是抄别人电路时人家用的是3.3伏系统你用的是5伏电阻值没改电流就偏了。解决方法是实测LED回路电流跟设计值比对。第二种是基极电阻取大了管子没进深饱和Vce降不下来LED能分到的电压就少了。判断方法还是量集电极电压超过0.5伏就值得怀疑。这时候把基极电阻减小一档试试比如从1千欧换到470欧姆。第三种是管子hFE偏低。同一包里不同的管子hFE可能差出一倍按平均值算的基极电阻碰上低hFE的管子就力不从心。我遇到过一整包管子整体偏“肉”的情况后来换了个批次就正常了。所以如果是小批量做建议抽样量一下hFE或者干脆把基极电阻按最差情况设计。还有一种情况容易被忽略LED本身的正向压降偏高或者老化。有些便宜的LED在标称电流下的实际压降能达到2.4伏以上而你又按1.9伏算的限流电阻那电流自然偏小。这种情况下只能实测压降再重新算电阻。排查顺序我习惯从电流入手先量LED回路实际电流跟设计值对比。差得多就往下查限流电阻和Vce差得不多就查LED本身和光学因素比如是不是用了乳白罩子看起来暗。5.3 三极管摸上去发烫不是所有发热都是故障但如果烫到手不能摸那就肯定有问题了。先算一下理论功耗Vce乘以Ic。小电流指示灯场合这个值通常只有几毫瓦绝对不该发热。如果发热说明要么Vce太大没饱和要么电流远超设计值。Vce没饱和的原因前面讲过基极电流不够。但还有一种隐蔽的情况负载短路或者LED接反导致的异常大电流。LED接反了不导通本来应该是不亮但如果限流电阻被短路了或者用的是恒压源直接灌那电流就可能远超预期管子和LED一起受罪。算一个临界案例。假设用S8050驱动一颗300毫安的大功率LEDVce因为没饱和而停留在1.2伏那么管耗等于1.2乘0.3等于0.36瓦。TO-92封装的热阻在自由空气里大概在200摄氏度每瓦左右0.36瓦的功耗意味着管芯温度比环境高72摄氏度夏天室温30度管芯就超过100度外壳摸上去烫手是必然的。这种状态持续下去寿命会大打折扣。解决办法无非三条把基极电流加大让它真正饱和这是最根本的换更大封装或者带散热片的管子降低负载电流。我以前做过一个小项目为了省成本用S8050直接驱动350毫安的LED一开始没加散热跑了两个小时外壳就烫得不行后来把基极电阻从1千欧改成330欧姆Vce从1.1伏降到0.3伏功耗降了一大截温度立刻正常了。这个教训就是选管子看的是参数但用管子靠的是饱和。5.4 3.3V系统里的驱动异常3.3伏系统的坑跟5伏不太一样主要是电压余量被压缩得厉害。第一个坑是IO口的高电平实际达不到3.3伏。带载之后掉到3.0伏甚至2.8伏很常见如果你的基极电阻是按3.3伏算的实际基极电流就会少一大截。这种时候要么减小电阻要么改用别的驱动方式。第二个坑是某些老款单片机的IO口输出高电平时驱动能力极弱。以经典的51系列准双向口为例输出高电平靠的是内部一个很弱的上拉拉电流能力只有几十到几百微安根本不足以给三极管的基极提供超过1毫安的电流。这时候用高电平有效的接法管子根本打不开或者只能微导通。解决思路是改成低电平有效利用IO口灌电流能力强的特点通常能到20毫安或者在IO和基极之间再加一级反相或者用外部上拉电阻把高电平抬上去。第三个坑是不同电压域之间的电平匹配。假如主控是3.3伏负载侧是5伏基极回路的参考电平就要仔细设计。如果直接把3.3伏的IO接到5伏系统的NPN基极发射极接地那基极-发射极之间的电压是3.3伏减去0伏超过0.9伏就导通逻辑上没问题。但如果电路拓扑变了比如用射极跟随器接法发射极电位被抬起来那3.3伏的控制电压就未必够用了。这一节的排查方法比较固定先量IO口在实际带载状态下的高电平电压再量基极对地的电压两个数一对比就知道驱动够不够。如果IO口电压正常但基极电压偏低说明电阻太大或者管子有问题如果IO口电压本身就被拉下来了说明驱动能力不足得换方案。6. 从单颗LED往外延伸的几种玩法6.1 PWM调光与开关速度S8050做开关除了简单的开和关还可以用PWM做亮度调节。原理就是快速地开关利用人眼的视觉暂留把占空比转换成亮度感受。常见的PWM频率几百赫兹到几万赫兹都有对于LED调光几百赫兹就基本看不出闪烁了。在实际写代码的时候以常见的开源硬件平台为例操作很简单const uint8_t drivePin 9; void setup() { pinMode(drivePin, OUTPUT); } void loop() { for (int duty 0; duty 255; duty 5) { analogWrite(drivePin, duty); delay(20); } for (int duty 255; duty 0; duty - 5) { analogWrite(drivePin, duty); delay(20); } }这段代码做的是呼吸灯效果占空比从小到大再从大到小。需要注意的是PWM频率如果选得太低比如低于100赫兹在某些人眼里能看到闪烁尤其是在快速移动或者用手机摄像头拍摄的时候更明显。一般情况下几百赫兹是安全区。S8050的开关速度对于几十千赫兹的PWM是完全够用的它的特征频率在150兆赫兹以上。但有一个因素会影响关断速度基极存储电荷。当管子深度饱和时基区积累了大量载流子关断时需要时间把它们抽走这个时间叫存储时间。基极电阻越大饱和越浅存储时间越短饱和越深关断越慢。做高频PWM时如果发现波形上升沿或者下降沿变缓可以考虑减小饱和深度或者在基极电阻上并联一个小电容加速关断不过对于LED调光这种应用一般不需要这么讲究。还有一个小技巧调光时最好把PWM频率设在人耳听不到的频段之外。虽然LED本身不发声但如果电源或者周边有电感元件低频率PWM可能引起机械振动发出啸叫这个在做了几个项目之后就会深有体会。6.2 多路并联与串并联组合多颗LED一起用的时候连接方式很关键。最忌讳的是多颗LED直接并联共用一颗限流电阻。原因是每颗LED的正向压降有离散性压降低的那颗会分到更大的电流压降高的那颗分到的电流小结果就是亮度不均严重时电流大的那颗会提前老化甚至烧毁。正确做法是每颗LED各串各的限流电阻然后这些支路再并联。这样每一路的电流都是独立确定的互不影响。多一路就多一颗电阻和一个三极管如果每路都需要独立控制的话成本增加不多可靠性提升明显。如果是要省元件可以把多颗LED串联起来共用一路。串联的好处是每一颗的电流都一样亮度天然一致。但串联对电源电压有要求总的LED压降之和必须小于电源电压还要留出限流电阻和三极管饱和压降的余量。举个例子5伏供电想串三颗红色LED压降加起来5.7伏已经超过电源电压了根本点不亮。所以串联数量要根据电源电压来定。用S8050驱动多路的时候一路一个管子是最稳妥的。有些方案会用一颗管子驱动好几路并联的LED这时候总电流要控制在管子的能力范围内基极电流也要按总电流重新算。我一般建议单颗S8050不要超过150毫安的总负载超过这个数就换管子别硬撑。6.3 什么时候该换MOSFETS8050是双极型晶体管靠基极电流驱动这决定了它有一个绕不开的局限负载电流越大需要的基极电流就越大而基极电流最终还是得从单片机IO口出。虽然理论上管子能力有700毫安但真要驱动500毫安负载按强制hFE等于10算基极要50毫安哪个单片机IO口也扛不住。所以它的实际使用上限是被驱动侧的能力卡住的而不是管子本身的电流能力。这时候就该考虑MOSFET了。MOSFET是电压驱动器件栅极基本不耗电流只在开关瞬间有充放电电流所以驱动起来对IO口的负担很小。常用的逻辑电平N沟道MOSFET导通电阻可以做到几十毫欧在几安培的电流下压降和发热都很小。选型的判断标准我觉得可以这么定负载电流在100毫安以内用S8050足够了便宜好焊100到300毫安之间S8050能用但要注意饱和和散热也可以考虑换中功率管超过300毫安或者需要高效率低发热直接上MOSFET别在双极型管上纠结。两者在成本上的差别现在其实很小MOSFET也已经很便宜了。之所以还有大量场合用S8050主要是因为它的驱动逻辑简单、皮实、不容易被静电打坏而且很多人手头的元件盒里本来就有。做原型验证的时候手边有什么用什么这也无可厚非只要心里清楚它的边界在哪里就行。最后分享一个我自己长期坚持的小习惯每次搭完这类驱动电路我都会在板子背面用记号笔写上三个数——供电电压、目标电流、基极电阻值再用万用表实测一下LED回路电流把实测值也记上去。半年后翻出来不用重新推导一眼就知道当时是怎么设计的。这个习惯在小批量调试的时候尤其有用因为改了电阻之后很容易忘记哪块板子是哪个版本一串数字能省掉不少糊涂账。