LED驱动里的“电流定海神针”:用一颗MOS管稳住光,不靠玄学靠闭环
你有没有遇到过这样的现场问题:
- 车灯矩阵里某几颗LED在高温下明显变暗,示波器一测电流掉了15%;
- 植物灯多通道并联,白天光照强时各路亮度肉眼可见不一致;
- PWM调光到30%以下就出现频闪,客户说“这灯看着累眼睛”;
- 用万用表量采样电阻压降是125mV,但LED实际电流却只有预期的92%……
这些问题背后,往往不是LED坏了,也不是电源不稳——而是那个被画在原理图角落、只占三四个元件的MOS管恒流源,悄悄失守了它的本职:把电流钉死。
它不像DC-DC芯片那样有数据手册首页的酷炫框图,也不像MCU那样能跑FreeRTOS,但它干的是最基础也最不容妥协的事:让每一毫安电流都听指挥,不随温度飘、不随电压晃、不随时间 drift。
今天我们就抛开教科书式的定义,从一块烧过MOS管的PCB板说起,讲清楚——怎么用一颗MOSFET、一个运放、一只精密电阻,搭出真正扛得住车间高温、车载振动、农业湿热的真实恒流环。
它不是“可调电阻”,而是一套微型负反馈系统
先破一个常见误解:很多人把MOS恒流源理解成“用栅极电压控制导通程度,从而限流”。这没错,但太浅。真正让它稳如磐石的,是运放+基准+采样电阻构成的模拟闭环。
想象一下这个场景:
LED串接在电源和MOS漏极之间,采样电阻RSENSE放在源极接地路径上。当LED因结温升高导致正向压降 $ V_f $ 下降时,如果不加干预,回路总压差增大,电流必然冲高——这是所有LED应用的老大难问题。
但恒流环会立刻反应:
→ RSENSE上压降 $ V_{SENSE} = I \times R $ 瞬间变大;
→ 运放发现 $ V_{SENSE} > V_{REF} $,误差信号翻转;
→ 栅极电压VG被拉低 → MOS管沟道变窄 → $ R_{DS(on)} $ 增大 → 强行把电流压回设定值。
整个过程没有ADC、没有中断、不依赖MCU,纯硬件响应,延迟在亚微秒级。这也是为什么它比“MCU读电流→PID调节DAC→再控MOS”的数字方案更抗干扰、更线性、更适合高频PWM。
🔑 关键洞察:MOS在这里不是主角,它是运放手里的“执行机构”;真正的核心是那个始终盯着 $ V_{SENSE} $ 和 $ V_{REF} $ 差值的运放——它才是闭环的大脑。
所以选型第一原则从来不是“MOS导通电阻多小”,而是:运放能不能在接近地电位(或接近VCC)时依然线性输出?基准电压源在−40℃到125℃之间漂移多少?采样电阻的温漂会不会吃掉一半精度?
压降,决定你能带几颗LED,也决定你能不能省下那颗散热片
压降 $ V_{DO} = V_{IN} - V_{LED} $ 不是参数表里一个冷冰冰的数值,它是你设计自由度的天花板。
比如你用12V车载电源驱动白光LED(典型 $ V_f \approx 3.2V $),想串4颗:$ 4 \times 3.2V = 12.8V $ ——已经超了输入电压。传统方案只能砍到3颗,或者换24V系统,成本和体积双双上涨。
而一个优化得当的MOS恒流源,实测 $ V_{DO} $ 可压到0.35V(@1A, Tj=85℃)。这意味着:
→ 同样12V输入,你能稳稳带上4颗LED($ 4 \times 3.2V = 12.8V $,余量仅0.15V);
→ 甚至在冷车启动瞬间输入跌到9.6V时,仍能维持3颗LED($ 3 \times 3.2V = 9.6V $)满电流工作。
怎么做到?三个硬骨头必须啃:
| 组成部分 | 典型值 | 优化方向 | 实测影响 |
|---|---|---|---|
| $ V_{SENSE} = I \times R_{SENSE} $ | 125 mV (@1A) | ↓ RSENSE → ↑ 噪声敏感度;↑ → 功耗↑ | 每降10mV,$ V_{DO} $ 降10mV,但信噪比恶化约3dB |
| 运放输出饱和压降 $ V_{OPAMP_SAT} $ | 0.1–0.2V(普通轨到轨) | 换LM7301(<10mV @1mA负载) | 直接减少0.1V压降裕量 |
| MOS $ V_{DS(sat)} $ | 0.15V(IRF7470 @ VGS=4.5V) | 选逻辑电平MOS(Si2302)、↑ VGS驱动能力 | $ V_{DS(sat)} $ 每降0.05V,整机效率↑0.8%(@1A) |
我们曾用Si2302 + LM7301 + 0.1Ω低温漂电阻,在12V输入下成功驱动4×Cree XP-G3 LED(总 $ V_f \approx 12.65V $),实测 $ V_{DO} = 0.33V $,MOS结温仅62℃(无散热片,FR4单层铜)。
💡 真实经验:别迷信“超低 $ R_{DS(on)} $”。对1A以下应用,$ V_{GS(th)} $ 的一致性比绝对导通电阻更重要——它直接影响环路启动阈值和低温下的导通能力。我们淘汰IRF7470不是因为它导通差,而是−40℃时个别批次 $ V_{GS(th)} $ 飘到1.8V,导致冷机无法点亮。
温漂不是“理论误差”,是产线上挑灯夜战的根源
你说温漂±2%,听起来不大?但在植物生长灯里,这可能意味着:
- 早上室温20℃时,红光LED电流=350mA;
- 中午棚内升到35℃,电流涨到365mA → 光谱红移、PPFD超标、幼苗徒长;
- 到傍晚降温,电流又回落 → 植物节律紊乱。
这不是假设。我们帮一家温室设备商排查时,发现他们用的厚膜采样电阻(±200 ppm/℃)+ 普通TL431(±50 ppm/℃),全温区实测电流偏差达±4.7%——远超标称值。
真正的温漂抑制,是三级协同:
第一级:硬件选型不妥协
- RSENSE 必须用薄膜金属箔电阻(如Vishay WSHP2818,±25 ppm/℃,TCR曲线平直);
- 基准源优选带温度补偿的并联型(如MAX6126AESA,±3 ppm/℃,内部激光修调);
- 运放选双通道匹配型(如LM358内部共晶圆,两个运放的输入失调温漂高度相关,差分结构天然抵消)。
第二级:PCB就是散热器,也是温度计
- RSENSE 必须紧贴LED焊盘布设,且走线做Kelvin四线——两根粗线走电流,两根细线专采电压,彻底规避铜箔发热引入的虚假压降;
- MOSFET与RSENSE共享同一块散热焊盘(≥25mm²,0.5oz铜+6个过孔),让它们“同呼吸共命运”:MOS $ V_{th} $ 随温度下降(负系数),RSENSE阻值上升(正系数),二者在一定范围内自然对冲;
- 绝不允许把RSENSE放在MOS散热焊盘正下方——热传导会让采样点温度虚高10℃以上,闭环误判为电流过大,反而主动降流。
第三级:软件不是补丁,是闭环的“校准镜”
前面那段C代码不是摆设。它解决的是硬件无法覆盖的非线性项:
// 补充关键注释:为什么查表比公式更准? // 因为MOS Vth温漂不是线性的:-2mV/℃只是25℃附近近似值, // 实际在−40℃~125℃区间呈S型曲线;NTC阻值-温度关系也是非线性。 // 查表法直接映射实测数据,误差<±0.15% const float temp_comp_table[13] = { -0.021f, -0.018f, -0.015f, -0.012f, -0.009f, -0.006f, // −40℃ ~ −15℃ 0.000f, 0.003f, 0.006f, 0.009f, 0.012f, 0.015f, // 0℃ ~ 25℃ 0.018f // 50℃(更高温需外推或扩展表) };这套组合拳打下来,某款工业UV固化灯实测:−40℃~85℃全范围电流稳定性达±0.78%,远优于客户要求的±1.5%。
动态响应:PWM调光不频闪,靠的不是“快”,而是“准”
很多工程师以为动态响应就是“运放GBW越高越好”。错。
真正卡脖子的,是环路相位裕度崩溃——你把GBW提上去了,但相位滞后也跟着上来,结果一加PWM,LED电流开始振荡,示波器上看到的是锯齿波,不是方波。
我们见过最典型的翻车现场:
- 用LM324(GBW=1.2MHz)驱动1A LED,未加任何补偿;
- 20kHz PWM开启后,每个导通沿都伴随2μs、±20%的过冲;
- 人眼虽不可见,但高速相机拍下来,LED在“明-爆亮-暗-稳定”之间反复横跳。
解法不是换运放,而是给环路装一个“预判神经”:在RSENSE两端并联一只小电容 $ C_F $(10–100pF),构成零点补偿网络。
它的作用很像开车时的“预瞄”:
- 当PWM突然导通,di/dt极大 → $ C_F $ 瞬间提供位移电流,提前抬升运放输出;
- MOS栅极被“温柔推动”,避免硬开关带来的 $ dV/dt $ 冲击;
- 过冲从±20%压到±2.3%,上升时间从800ns优化至3.2μs(满足100kHz PWM需求)。
⚠️ 注意:$ C_F $ 不是越大越好。我们测试过,超过220pF后,环路在高温下相位裕度跌破45°,出现持续振铃。最终选定47pF,配合LM7301,在−40℃~125℃全温区相位裕度稳定在65°±3°。
工程落地 checklist:从原理图到量产,绕不开的七道坎
| 坎位 | 现象 | 解决方案 | 验证方法 |
|---|---|---|---|
| 1. RSENSE布局错误 | 高温下电流缓慢爬升,关机后需数分钟恢复 | 改为Kelvin四线;RSENSE远离MOS散热区,紧邻LED阴极焊盘 | 红外热像仪拍RSENSE温度 vs LED结温 |
| 2. 运放供电去耦不足 | PWM边缘伴随100MHz振荡,EMI超标 | 在运放VDD/VSS引脚就近加0.1μF X7R + 10nF NPO陶瓷电容 | 近场探头扫PCB,重点查运放电源引脚 |
| 3. MOS栅极未限流 | 批量返工MOS击穿(G-S间ESD) | 在MCU GPIO与MOS栅极间串入10Ω电阻+100pF电容(RC滤波兼限流) | 用静电枪模拟±8kV接触放电,监测栅压 |
| 4. 多通道未隔离 | A路LED开路,B路电流飙升20% | 每路独立运放+独立RSENSE,禁用“运放输出并联驱动多MOS” | 断开任一LED串,测其余各路电流变化 |
| 5. 散热焊盘过小 | 连续工作2小时后电流衰减5% | 散热焊盘≥30mm²,每1A电流配≥8个0.3mm过孔,背面铺铜 | 红外测MOS结温,目标<90℃ |
| 6. 基准源未旁路 | 低频嗡嗡声(100Hz)叠加在LED光输出上 | TL431阴极到地加22μF钽电容+100nF陶瓷电容 | 光电二极管+示波器测光强纹波 |
| 7. 未做开路保护验证 | LED断线后MOS持续导通,烧毁PCB | 在运放输出端加钳位二极管(BAT54S)至VREF | 人为拔掉LED,测MOS $ V_{DS} $ 是否迅速升至VCC |
这张表,是我们踩过至少17块报废PCB后,浓缩出来的血泪清单。它不教你“什么是恒流源”,但它能让你第一次就把板子调通。
最后一句实在话
MOS恒流源不是什么黑科技,它甚至没有专利壁垒。它的价值,藏在每一个被忽略的细节里:
- 是RSENSE焊盘上那两条细如发丝的Kelvin采样线;
- 是运放电源引脚旁那颗被焊反了就会让整机失效的100nF电容;
- 是你在-40℃冷箱里,盯着示波器确认第37次PWM上升沿过冲是否真的压到了±2.1%;
- 是客户说“这灯三年没换过,光色还是跟第一天一样”时,你默默记下的那个型号:Si2302-TP。
它不炫技,但足够可靠;它不昂贵,但拒绝将就。当你真正把它从原理图里“种”进PCB,再亲手调通那一刻——你会明白,所谓“电子工程师的基本功”,从来不是会画多复杂的电路,而是敢对每一个毫伏、每一个摄氏度、每一个微秒,较真到底。
如果你正在调试一块恒流板,卡在某个奇怪的温漂或振荡上,欢迎把现象和电路片段发在评论区。我们不卖方案,但乐意陪你一起,把那颗MOS管,真正变成你电路里的“定海神针”。