ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

三极管与MOS管驱动LED:从限流电阻到栅极驱动

三极管与MOS管驱动LED:从限流电阻到栅极驱动 刚开始接触硬件那几年我一直觉得用三极管驱动LED属于入门中的入门——一个电阻、一个三极管、一颗LED十分钟就能在原理图上画完。直到板子打回来灯确实亮了可三极管摸上去烫得手指弹开换成MOS管之后更离谱管子不烫了但灯忽明忽暗用示波器一量才发现它压根没完全导通一直在放大区里慢悠悠地耗电。驱动电路这三个字看着简单背后却牵扯到电流增益、饱和条件、栅极电荷、米勒平台这一整条链路。这篇内容就是把这几年在三极管和MOS驱动LED这条路上踩过的坑、算过的数、量过的波形按实际做项目的顺序整理一遍。不管你是第一次点灯的初学者还是已经在做LED模组、点阵屏、数码管驱动的老手这里面的计算方法和排查思路都能直接拿去用。我不会只给电路图更会把每个电阻为什么取这个值、每个管子为什么这么选讲清楚。1. 为什么LED不能直接挂在IO口上先把电流这笔账算明白很多教程上来就是把LED正极接IO负极接GND然后说串个电阻就行。这话没错但它只在一种情况下成立你只点一颗、只点一瞬间、且不介意IO口超负荷工作。真正做产品或者做多点阵的时候这套玩法两周之内就会让你烧掉几个引脚。1.1 单片机IO口的真实电流能力和绝对最大值的陷阱翻STM32F103的数据手册在绝对最大额定值一栏会看到单个IO口灌入或拉出电流25mA所有IO口加起来不超过150mA。注意绝对最大值这四个字的含义——它说的是超过这个值芯片可能永久损坏不是说在这之内就能长期稳定工作。真正的推荐工作条件通常比这个还低长期跑在20mA以上的IO输出高电平的电压会被拉低输出低电平的电压会被抬高时序和逻辑电平都会受影响。再看AVR那一系列ATmega328P单脚绝对最大值40mA但所有VCC和GND引脚各自的总电流不能超过200mA。经典的89C51系列P1、P2、P3这些准双向口拉电流能力只有几十微安级别灌电流能力也就在10mA上下直接驱动LED的亮度都不太够看。所以第一笔账是一颗普通指示LED要5到15mA才有像样的亮度16颗一起点亮就是80到240mA早就超出了任何一个IO口组的承受范围。这时候必须引入外部器件把你的IO从供电者降级成信号发出者让它只负责告诉驱动器件开还是关。1.2 共阳接法还是共阴接法这一步决定了你后面所有拓扑动手画图之前先回答一个问题你的LED是阳极统一接电源还是阴极统一接地这个选择直接决定了你用低侧开关还是高侧开关。共阴接法LED阴极接GND意味着要控制的是灯的正极有没有电也就是高侧开关。共阳接法LED阳极接VCC意味着要控制灯的负极有没有被拉到地也就是低侧开关。低侧开关好做因为开关器件的参考点是地跟你单片机的GND是同一个点控制信号直接就能用。高侧开关麻烦因为开关器件悬在电源轨上它的参考点随着通断在变化驱动信号需要一个高于电源的电位。能用低侧就别用高侧这是我做了这么多项目总结出来的第一条朴素经验。如果PCB布局上必须用共阳那就提前规划好高侧驱动的方案别画完板子才发现驱动信号摆不起来。1.3 限流电阻的计算与LED工作点的取舍限流电阻是所有计算里最基础也最容易被拍脑袋决定的。公式本身很简单R V电源 - Vf / If问题在于Vf不是个固定值。红色LED典型正向压降1.8到2.2V黄色接近蓝光和白光在2.9到3.4V之间翠绿色又不一样。而且Vf随电流和温度变化温度升高Vf会下降于是电流会进一步增大这就是LED热失控的雏形。举个具体例子。用5V电源驱动一颗红光LED取Vf 2.0VIf 10mAR 5 - 2.0 / 0.01 300Ω取标称值300Ω或330Ω都可以。用330Ω的话实际电流是5-2/330 9.1mA亮度差别肉眼基本看不出来。再看蓝光LEDVf 3.1VIf 8mAR 5 - 3.1 / 0.008 237.5Ω取240Ω。这里要注意蓝光和白光的Vf高同样的电源电压下留给限流电阻的压降余量很小。如果你用3.3V电源去驱动白光LEDVf 3.1V压降余量只剩0.2V稍微有点温度变化或者批次差异电流就会失控。这种情况要么抬高电源电压要么老老实实上恒流驱动。提示算完电阻一定要回头验证最坏情况。假设Vf比你预期的低0.3V电流会涨多少如果涨完超过LED额定电流的1.5倍这个设计就得重做。LED颜色典型Vf推荐If5V下限流电阻3.3V下限流电阻红1.9-2.1V5-15mA300Ω100Ω黄2.0-2.2V5-15mA270Ω82Ω翠绿3.0-3.3V5-10mA180Ω不推荐蓝/白2.9-3.4V5-10mA200Ω不推荐2. NPN三极管做低侧开关教科书电路和实际板子的差距低侧开关是绝大多数人的第一个驱动电路。原理图长这样LED阳极接VCC阴极接限流电阻电阻另一端接NPN三极管的集电极发射极接地基极通过一个电阻接单片机的IO。看着很清爽但真正让这个电路可靠工作的细节全都藏在电阻取值里。2.1 饱和导通的三条不等式和强制β这个概念三极管做开关目标非常明确让它工作在饱和区而不是放大区。饱和区的标志是集电结和发射结都正偏Vce降到0.1到0.3V这个量级。这时候三极管就像一个很小的电阻功耗极低。要让NPN进入饱和需要同时满足三件事发射结正偏也就是Vbe大约在0.65到0.8V之间小电流时约0.7V。集电极回路有足够的电压余量也就是VCC - If × R - Vce 0。基极电流足够大满足 Ib Ic / β_min而且要有裕量。第三条是关键。很多人算基极电阻的时候直接用数据手册的典型hFE比如9013标个hFE 100算完Ib Ic/100觉得刚刚好。问题在于hFE是随温度、集电极电流、批次大幅变化的参数。同一个型号的管子hFE可能从60到200都算合格。你要是按100算拿到一批hFE只有60的货管子就掉进放大区了。工程上的做法是引入强制β也叫过驱动系数。开关应用里通常取β_forced 10到20也就是让Ib Ic / 10。用20mA的LED电流举例取β_forced 10所需Ib 2mA。这个数值比理论值大了一个数量级但正是这个裕量保证了任何一批管子扔进去都能饱和。2.2 基极电阻到底取多大3.3V和5V分别算一遍基极回路的关系式是V_IO - Vbe Ib × Rb所以 Rb V_IO - Vbe / Ib先算5V单片机的情况。Vbe取0.7VIb取2mARb 5 - 0.7 / 0.002 2150Ω取标称值2kΩ或者2.2kΩ。用2kΩ时实际Ib 4.3/2000 2.15mAIc 20mA时β_forced ≈ 9.3完全够。再算3.3V单片机Rb 3.3 - 0.7 / 0.002 1300Ω取1.2kΩ或者1.3kΩ。用1.2kΩ时Ib 2.6/1200 2.17mA。这里有个容易忽略的细节如果你的IO口驱动能力本身就很弱比如某些低功耗MCU的IO只能拉出2mA那2.6mA的需求已经超了。这时候要么降低LED电流要求要么换成MOS管这种几乎不需要静态驱动电流的器件。还有一个反向的坑Rb取太小。有人想着反正多给点基极电流更保险直接用220Ω。5V下Ib 20mA早就超过IO口的承受能力了长期跑下去IO口会慢慢失效。所以Rb有下限不能随便往下压。2.3 管子发热、亮度不足、灯关不灭这三种现象的归因这三个现象我全都遇到过而且原因各不相同。管子发热把三极管焊上去通电一分钟就烫手同时LED亮度正常甚至偏亮。这几乎可以确定是管子没有进入饱和工作在放大区。用万用表量Vce如果读数在1V以上就是这个毛病。根因通常是基极电流不够把Rb减小一档基本能解决。少数情况是LED电流超过了管子的额定值比如用2N3904Ic最大200mA去驱动一串并联的大电流LED那就得换S8050这类电流更大的管子。亮度不足但管子不热大概率是限流电阻取大了或者是电源电压不够。也可能是IO口输出高电平的电压比你想象的低比如某些3.3V MCU的实际输出高电平只有3.0V那Ib会比你算的小一截。这种情况量一下IO实际电压就清楚了。灯关不灭微微亮这是最烦人的一个。原因可能是三极管的反向漏电流但更常见的是控制逻辑或者引脚状态问题。如果IO在上电初始化之前处于高阻态基极回路会形成一个微弱的分压管子处于微导通状态LED就会发出微弱的光。解决办法是在基极和发射极之间并联一个10kΩ的下拉电阻确保没有驱动信号时基极被牢牢拉低到0V。这个电阻很多人不画但凡是产品级的板子我都会加上。3. PNP三极管与高侧驱动什么时候必须把开关挪到电源那一侧前面说了共阳接法需要高侧开关这时候就轮到PNP三极管出场了。但PNP的用法和NPN不完全对称有一堆细节容易翻车。3.1 共地约束和负载接地方式的两难先想清楚为什么会有必须用高侧的需求。假设你手上是一块现成的LED模组它的所有LED阳极已经统一连到内部的VCC上了你能接触到的只有每个LED的阴极引线。这种情况下每个LED的阴极其实是独立的你完全可以用NPN低侧开关把阴极拉到地。真正必须用高侧的场景一般是负载的另一端已经固定接地了比如某些传感器、某些模块的使能脚或者你做的是一块多路电源切换板。对纯LED应用来说高侧驱动反而没那么常见。但如果出于布局或者共阳面板的原因一定要做高侧就得接受两个代价一是驱动电平要重新设计二是开关器件的损耗通常比低侧大一点。3.2 PNP基极回路的设计和3.3V/5V电平匹配PNP做高侧开关的基本接法发射极接VCC集电极接负载基极通过电阻接控制信号。注意PNP的导通条件是Veb 0.7V也就是基极电位要比发射极低0.7V以上。这意味着要导通它你得把基极拉到比VCC低0.7V的位置。如果VCC是5V基极得降到4.3V以下。而你的单片机IO高电平是3.3V或者5V如果直接驱动5V的PNP基极问题就来了。5V单片机输出高电平约4.8到5V跟发射极的5V只差0.2VPNP根本关不断。这是新手最常犯的错误用5V的IO去驱动5V电源上的PNP结果灯一直是亮的。解决方案有几种。最直接的是让IO输出低电平来导通PNP因为低电平时IO接近0V跟VCC差5VIb充足。但这要求你的控制逻辑反相或者用软件取反。逻辑反相听起来无所谓但一旦系统里有多个地方需要高电平点亮代码里到处是取反运算符很容易埋下bug。第二种方案是在PNP基极前面再加一级NPN做电平转换。单片机的IO驱动一个NPNNPN的集电极去拉PNP的基极同时PNP基极和发射极之间接一个上拉电阻。这个结构的好处是控制逻辑保持正向而且NPN可以轻松把PNP基极拉到接近0V。这个电路就是常说的三极管电平转换电路它同时解决了电平匹配和驱动能力两个问题。基极电阻的算法和NPN类似只是把Vbe换成Veb同时要注意PNP的基极电流是从发射极流向基极的方向相反。3.3 用三极管顺手做一个双向电平转换既然提到了电平转换这里多说一句。3.3V系统和5V系统混用的时候用一颗NPN或者一颗小NMOS都能做出双向电平转换电路。典型做法是MOS的栅极接3.3V电源源极接3.3V侧的信号线漏极接5V侧的信号线同时5V侧加一个10kΩ上拉到5V。这个电路的工作逻辑很有意思3.3V侧拉低时MOS的体二极管先把5V侧拉低然后Vgs超过阈值MOS完全导通把两侧都拉到低电平。5V侧拉低时体二极管导通源极被拉到约0.7V此时Vgs 3.3 - 0.7 2.6V如果阈值够低就导通把3.3V侧也拉低。这就是为什么这个电路要求用低阈值的MOS管。注意这个电路对MOS的阈值电压很敏感用Vgs(th)在1.5V以下的管子比较稳阈值在3V左右的管子会时好时坏。4. MOS管驱动LED低导通电阻是好处栅极才是麻烦的来源很多从三极管转过来的人会有一个错觉觉得MOS管就是电压控制的三极管接法照抄就行。实际上MOS管的驱动逻辑和三极管完全不同三极管看电流MOS管看电压这个区别决定了两个电路的设计重点完全不一样。4.1 Vgs(th)不等于导通手册参数该怎么看数据手册上那个Vgs(th)栅源阈值电压标注的是管子刚开始有电流流过的电压通常是250µA这个测试条件下的值。这个数字和管子完全导通是两回事。以2N7002为例Vgs(th)最大3V看起来3.3V驱动应该没问题。但翻到导通电阻那一栏你会发现它标注的是Vgs 10V、Id 500mA条件下的Rds(on)。在Vgs 4.5V时电阻会明显变大在3V附近就基本没意义了。所以选MOS管做3.3V系统的开关必须找逻辑电平或者低阈值的型号。判断标准很简单看手册里Rds(on)有没有在Vgs 4.5V甚至2.5V这一列给出参数。给了说明这个管子设计上就是为低压驱动优化的。常用的几个型号对比型号类型Vgs(th)范围Rds(on)4.5V封装适用场景2N7002NMOS0.8-3V约5ΩSOT-23小电流信号开关AO3400ANMOS0.65-1.45V约30mΩSOT-233.3V直驱中小电流IRLML2502NMOS0.6-1.2V约35mΩSOT-233.3V直驱IRLZ44NNMOS1.0-2.0V约25mΩTO-220大电流功率开关IRF540NNMOS2.0-4.0V无参数TO-220只适合10V驱动SI2301PMOS-0.45到-1V约90mΩSOT-23高侧小电流开关IRF540N是典型的坑王。它在很多教学板卡上出现因为它便宜、耐流大。但它的Rds(on)只在Vgs 10V条件下标定用5V去驱动它勉强能工作用3.3V去驱动就是一场灾难。我见过太多人用它配STM32然后抱怨管子发烫。4.2 米勒平台、栅极电荷和驱动电流的定量估算MOS管开关速度慢根源在栅极电容。可以把栅极看成一个需要充放电的电容你给的驱动电流越大充放电越快开关越快。栅极电荷分为Qgs和Qgd两部分。Qgs是栅源之间的电荷Qgd是栅漏之间的电荷也就是大家常说的米勒电容对应的电荷量。开关过程中Vgs先上升到阈值电流开始流过此时Vds还很高接着Vgs会停在一个平台电压上不动这就是米勒平台这段时间里Vds从高变低而Qgd在充电。米勒平台电压大约等于Vth Id/gfs其中gfs是跨导。对于驱动电压只有3.3V的场合如果负载电流大、跨导又高这个平台电压可能被顶到2V以上留给充电的电压余量只剩1V多充电变得很慢开关损耗就上来了。驱动峰值电流可以这样估I_gate_peak V_drive - V_plateau / R_g假设V_drive 3.3VV_plateau 1.8VR_g 100Ω那么峰值电流是15mA。再查手册上的Qgd比如1.5nC那米勒段的持续时间大约是t Qgd / I_gate_peak 1.5nC / 15mA 0.1µs这个时间对于1kHz的PWM来说完全够用。但如果你的PWM频率跑到100kHz开关损耗就会变得可观。开关损耗的估算公式P_sw 0.5 × Vds × Id × t_on t_off × f对于LED应用Id通常很小几十毫安所以即使频率高一点开关损耗也有限。真正需要注意MOS开关速度的场景是电机驱动、开关电源这些大电流应用。4.3 栅极电阻、下拉电阻和低侧NMOS的完整设计模板低侧NMOS驱动LED的电路可以标准化成一个模板栅极串联电阻Rg10到100Ω作用是限制栅极充电电流峰值抑制振铃。对LED这种慢速负载取100Ω完全够用还能省点EMI的麻烦。栅源下拉电阻Rgs10kΩ作用是在IO处于高阻态时把栅极拉到0V防止误导通。这个电阻和三极管基极的下拉电阻是同一个道理但MOS的栅极是高阻输入没有这个下拉电阻栅极电位会飘到任何值管子可能一直半开着。源极直接接地漏极接LED的阴极。三个元件缺一不可。我见过不少原理图只画了Rg不画Rgs板子在上电初始化阶段灯会闪一下就是因为栅极悬空。关于MOS的体二极管有一个概念需要澄清分立MOS管的衬底和源极在内部是短接的因此源极到漏极之间存在一个寄生二极管。在低侧开关配置里源极接地、漏极接负载体二极管处于反偏状态不影响工作。但在高侧配置里这个体二极管就可能带来问题。当NMOS做高侧开关时漏极接电源、源极接负载体二极管的方向是从负载指向电源正常工作时反偏。一旦负载端出现比电源更高的电压比如感性负载的反电动势体二极管就会导通把电流灌回电源。4.4 高侧NMOS为什么必须自举什么时候干脆改用PMOSNMOS做高侧开关的核心矛盾在于要导通它Vgs必须大于阈值但源极电位会随着导通上升到接近电源电压。假设电源5V源极导通后到5V那栅极就需要5V 阈值 ≈ 6.5V以上。而你的单片机只能输出3.3V或者5V根本不够。如果硬用3.3V去驱动高侧NMOS管子会变成一个源极跟随器输出电压被钳在Vg - Vth ≈ 1.5V左右剩下的电压全落在管子上变成热量。解决方案有两类第一类是自举电路。用二极管和电容组成一个电荷泵在低侧导通期间给自举电容充电高侧导通时把电容的电压叠加到栅极上产生高于电源的栅压。这是H桥驱动芯片内部的标准做法但分立元件搭起来比较麻烦而且需要持续的开关动作来维持自举电容的电荷做100%占空比输出时会失效。第二类是直接换PMOS。PMOS做高侧开关源极接电源栅极拉低就导通逻辑上顺畅很多。代价是PMOS的导通电阻通常比同规格的NMOS大两到三倍而且栅极有±20V的耐压限制。对于LED应用我的选择是小电流高侧开关直接用PMOS比如SI2301大电流1A以上的高侧应用考虑自举或者专用驱动芯片能改成低侧的一律改成低侧。5. 从单颗LED到模组和点阵驱动架构该怎么升级单颗LED的驱动搞明白了接下来就是数量放大带来的新问题。16×16的点阵有256颗LED你不可能用256个IO去控制必须引入扫描和串行传输。5.1 串行移位加锁存74HC595这类器件的分工74HC595是LED点阵和数码管驱动里出现频率最高的芯片之一。它内部集成了8位移位寄存器和8位锁存器还有一个8路输出驱动器。三个引脚就能级联无数片。它的工作流程是数据一位一位地从DS引脚进来在SHCP的上升沿移位8位数据移满之后给STCP一个上升沿移位寄存器的内容整体搬到锁存器锁存器的输出直接控制8个引脚。这个移位和锁存分离的结构非常重要。如果只有移位没有锁存比如74HC164D那么数据在移位的过程中输出引脚会一个接一个地变化点阵上会出现明显的拖影和鬼影。这就是为什么点阵应用更推荐595而不是164。不过595也有它的限制。它的单个输出引脚持续电流能力虽然标称±35mA但整个芯片所有输出的总电流不能超过±70mA。也就是说如果你8路同时输出每路平均只能分到8.75mA。驱动点阵行线的时候一路可能就要吃掉100mA以上的瞬态电流595是绝对扛不住的。提示595这类芯片的手册里每引脚电流和整片总电流是两个不同的限制设计时两个都要看。我见过有人只看每引脚的35mA结果8路一起点亮芯片发热冒烟。5.2 行列扫描下的峰值电流放大效应扫描驱动的原理是把一帧画面拆成若干时间片每个时间片只点亮一行或者一列。这样做的好处是引脚数大大减少代价是每颗LED只有1/N的时间在发光N是扫描行数。为了让平均亮度看起来正常你必须把峰值电流提高到平均值的N倍。16行扫描时如果希望每颗LED的平均亮度相当于5mA直流峰值电流就要做到80mA。更麻烦的是同一列上同一时间可能有16颗LED同时点亮如果整行都是亮的那么这一列的总电流就是80mA × 16 1.28A。这个电流对任何逻辑芯片来说都是天文数字必须用专门的列驱动管比如ULN2803、TIP127这类达林顿阵列。这个放大效应是新手最容易低估的地方。我见过有人用595直接驱动16×16点阵的列线结果一行全亮的时候595的引脚电压被拉到几乎0V整行都不亮而且芯片烫得能煎鸡蛋。5.3 PWM调光该选什么频率以及频闪是怎么来的亮度可调是LED驱动的常见需求实现方式就是PWM通过改变占空比来改变平均亮度。频率选多少合适人眼的临界闪烁频率大约在60到90Hz之间但这是针对整体视野的。当LED在视野中移动或者你转动头部的时候闪烁会变得更容易察觉这种现象叫频闪效应。为了避免这个问题PWM频率建议不低于200Hz。如果这块LED会出现在摄像机画面里频率还要再往上提。摄像机的快门和PWM频率不匹配时画面里会出现横条纹或者明暗滚动。这种情况下PWM频率最好做到1kHz以上或者干脆和相机同步。下面这段代码是用STM32F103的TIM3产生1kHz PWM的配置主频72MHz/* STM32F103 TIM3 产生 1kHz PWM * 预分频 PSC 72-1 - 计数时钟 72MHz / 72 1MHz * 自动重装 ARR 1000-1 - PWM频率 1MHz / 1000 1kHz * 比较值 CCR1 决定占空比: duty CCR1 / (ARR1) */ TIM3-PSC 72 - 1; TIM3-ARR 1000 - 1; TIM3-CCR1 500; /* 50% 占空比 */调亮度的时候只需要改CCR1的值。注意CCR1的取值范围是0到ARR写0是全灭写1000是全亮因为ARR是999写入超过ARR的值会一直是全亮。不同色彩通道的LED对PWM响应有差异特别是红光的Vf低在同样的占空比下电流变化更敏感做RGB混光的时候需要单独校准每个通道的曲线。6. 器件选型对照与打板前的自检清单前面把原理和计算走了一遍最后把选型逻辑和实际踩过的坑整理成一个可以直接对照的清单。6.1 三极管和MOS的选型对照对比项三极管NPN/PNPMOS管NMOS/PMOS控制方式电流驱动需要持续基极电流电压驱动静态几乎不耗电导通损耗Vce(sat) 约0.1-0.3V压降固定I² × Rds(on)大电流下更优驱动电路一颗基极电阻简单栅极电阻下拉电阻注意阈值低压驱动3.3V下压降0.7V余量小需选逻辑电平型号并联使用难以均流不推荐容易均流可并联成本极低略高适合场景小电流、低速、成本敏感大电流、高频PWM、多路并联对于LED驱动这个具体场景如果电流在50mA以下两者差别不大选便宜好焊的就行。超过200mAMOS的优势开始显现。如果需要高频PWM调光10kHz以上MOS几乎是不二选择。还有一类特殊场景是高压驱动比如把LED串成一条用高电压和小电流点亮。这时候要重点关注器件的耐压三极管看VceoMOS看Vds。同时高压下的损耗计算也要重做一遍。6.2 我踩过的几个典型坑坑一用3.3V驱动IRF540N。前面提过这个管子不是逻辑电平的。当时做一块24V的LED灯带控制板用它做低侧开关通电后管子滚烫。换成IRLZ44N之后温度立刻降下来。教训是选MOS之前一定去手册看Rds(on)的测试条件。坑二忘了加栅极下拉电阻。一块板子在MCU复位期间LED会闪一下排查了很久才定位到是MOS栅极浮空。加一个10kΩ到地问题解决。这个电阻成本几分钱但省下的调试时间是几个小时。坑三基极电阻按典型hFE算。一次量产的时候前几块样板用某批9013完全正常后面一批同样的电路管子就发热。换了一批不同厂家同型号的货才反应过来hFE的分布范围太宽了。从此以后基极电阻一律按强制β 10来算。坑四限流电阻忽略温度系数。一块户外用的板子夏天暴晒下LED电流比常温测的高了40%原因就是Vf随温度下降。后来把电源电压抬高了一点给电阻留出更多压降余量才解决。坑五595驱动点阵列线。前面说过平均每路8.75mA根本不够。后来在595后面加了一级ULN2803问题解决。ULN2803内部是达林顿管阵列单路能扛500mA还自带续流二极管。6.3 出图前逐条过一遍的检查项每颗LED的限流电阻是否按最坏情况验证过包括Vf偏差和电源波动。三极管的基极电阻是否按强制β算而不是按典型hFE。三极管基极和MOS栅极是否都有下拉电阻。MOS管的Rds(on)参数是否在驱动电压对应的条件下有标定。是否有任何IO口的电流超出了手册推荐值。驱动感性负载时是否加了续流二极管。多路同时点亮时的总电流是否超过了驱动芯片的整片限制。PWM频率是否满足应用要求摄像环境下是否做了频闪规避。高侧驱动时驱动信号的电压摆幅是否足够。上电初始化顺序是否会让负载出现意外导通。这份清单不是理论推导出来的每一条背后都有一次调试到深夜的经历。驱动电路这块东西教科书上讲的是理想情况实际项目中真正的难点在于把各种边界条件都想清楚并且给每个不确定性留好裕量。我个人的习惯是任何一块新板子画完都会在纸上把最坏情况手算一遍最高温度下的Vf、最低的hFE、最大的电源波动、IO口最差的高电平输出。这几项凑在一起的时候电流会是多少管子会不会出问题。算完基本就能预判板子上电后会有哪些毛病比打回来再飞线改电路省事得多。
返回列表