☰
LiPo电池低压截止保护系统设计:从分压采样到MOS切断的硬件实战
2026/10/29 3:57:15 网站建设 项目流程

锂电池供电的设备最怕什么?不是没电,是过放。一节标称3.7V的锂聚合物电池,电压掉到3.0V以下还继续抽电流,内部铜集流体开始溶解、析锂,几次下来容量断崖式下跌,鼓包、内阻飙升都是轻的,严重的直接报废甚至起火。很多做小设备的同好把注意力全放在升压芯片、主控选型上,偏偏把"什么时候该断电"这件事交给一颗几毛钱的DW01,结果要么截止点漂移,要么保护后自恢复逻辑一团糟。这篇就聊聊我最近做的一套LiPo电池低压截止保护系统,从分压采样、基准比较、迟滞设计到MOS切断和自锁恢复,把每个环节为什么这么选、参数怎么算、实测踩了哪些坑,一次讲透。适合正在做电池供电小设备、想自己搭一套可靠保护电路的硬件爱好者,也适合被现成保护板坑过、想搞明白背后原理的开发者。

1. 为什么现成保护板不够用,非得自己搭一套

1.1 一颗DW01的甜区与盲区

市面上最常见的单节锂电保护方案就是DW01配8205A双N-MOS,成本低到可以忽略,封装小,接线简单。它的过放检测点典型值2.4V,恢复点大约3.0V。问题在于这个2.4V对很多应用来说太低了——你的负载可能是个3.3V LDO后级,也可能是颗需要3.0V以上才能正常工作的传感器,等保护板动作时,后级早就工作异常了。更麻烦的是恢复逻辑:DW01在过放后需要充电器接入、电压回升到恢复点才重新导通,如果你的系统是"电池焊死、没有充电口"的形态,一旦触发就彻底锁死,只能拆机。

我这次的需求很明确:截止点要能自己定,比如3.2V;要有明确的迟滞,避免在截止点附近负载一波动就反复通断;切断后要能靠一个按键或者主控信号手动恢复,而不是非得插充电器。这三条,现成保护板一条都给不了。

1.2 自建方案要解决的四个核心问题

把需求拆开,其实就四件事。第一是采样精度,电池电压是模拟量,分压电阻的精度、温漂、ADC基准的稳定性直接决定截止点准不准。第二是比较与判决,用硬件比较器还是MCU的ADC加软件判断,各有取舍。第三是切断执行,用P-MOS做高边开关还是N-MOS做低边,涉及驱动电平和地弹问题。第四是恢复策略,迟滞窗口多大、恢复靠什么触发、要不要做欠压锁定。

这四件事里,最容易翻车的是采样和执行,判决反而简单。下面按信号链的顺序,从电池正极一路讲到负载,把每一段的选择理由和参数计算摊开。

1.3 系统框图和信号流向

整条链路是这样的:电池电压先经过分压网络降到比较器/ADC能接受的范围,同时并联一个小电容做RC低通滤掉负载突变带来的毛刺;比较器把分压值和基准电压比对,输出数字电平给到控制逻辑;控制逻辑驱动高边P-MOS的栅极,决定是否给负载供电;恢复按键或主控信号接入控制逻辑,配合迟滞实现手动复位。整个系统静态电流要控制在几十微安级别,否则保护电路自己就把电池耗干了,这点后面单独讲。

2. 分压采样网络:精度从这里开始丢

2.1 分压比与电阻取值的权衡

假设电池满电4.2V,比较器基准用2.5V(比如TL431或者内部基准),那么分压比至少要满足4.2 × k < 2.5,即k < 0.595。取k = 0.5最省事,上下电阻相等,比如两个100k。但这里有个坑:电阻越大,分压点输出阻抗越高,比较器输入偏置电流和ADC采样保持电容带来的误差就越明显。100k对100k的戴维南等效输出阻抗是50k,如果比较器输入偏置电流是10nA,误差就是0.5mV,看着不大,但换算回电池端要乘2,就是1mV,勉强能接受。如果电阻取到1M对1M,输出阻抗500k,同样10nA偏置就是5mV误差,电池端10mV,截止点就飘了。

我的选择是100k对100k,兼顾静态功耗和精度。静态电流是4.2V / 200k = 21μA,对大多数场景可以接受。如果你对功耗极其敏感,可以上到470k对470k,静态电流降到约4.5μA,但必须选低偏置电流的比较器(比如输入偏置在1nA级别的CMOS比较器),否则精度补偿不回来。

2.2 电阻精度与温漂的实际影响

分压比误差直接等于截止点误差。用1%精度的电阻,最坏情况下两个电阻反向偏差,分压比误差接近2%,对应3.2V截止点就是±64mV。这个量级对保护来说其实够用了,但如果你想要更准,有两个办法:一是用0.1%的薄膜电阻,成本上去了但一劳永逸;二是在生产时用实测电压做单点校准,把偏差记到MCU的EEPROM里做补偿。

温漂方面,普通厚膜电阻的TCR在100ppm/℃量级,两个电阻如果TCR一致,分压比随温度的变化会相互抵消一部分,实际漂移远小于单个电阻的漂移。所以选同批次、同封装的电阻比单纯追求低TCR更划算。我实测用普通1% 0603电阻,在0到50℃范围内截止点漂移不到15mV,完全够用。

2.3 RC低通滤波的时间常数怎么定

分压点后面必须并一颗电容到地,组成RC低通。这颗电容的作用是滤掉负载突变时电池内阻造成的瞬时压降——比如电机启动瞬间电池端可能从3.5V掉到3.1V,如果不滤波,比较器会误判为过放而切断。时间常数τ = R_parallel × C,其中R_parallel是分压电阻的并联值(100k对100k就是50k)。

τ取多大合适?要大于负载突变的最长持续时间,又要小于电池真实过放的响应时间。一般负载突变在毫秒级,真实过放是秒级甚至更慢,所以τ取10到100ms都合理。我取C = 1μF,τ = 50ms,实测能有效滤掉电机启动的毛刺,同时对真实过放的响应延迟只有几十毫秒,可以忽略。注意电容要选C0G或薄膜,X7R的容值随电压和温度变化大,会让τ漂移,虽然影响不致命,但既然要讲究就讲究到底。

3. 基准与比较:判决逻辑的骨架

3.1 用TL431还是用比较器内部基准

基准的稳定性决定了截止点的绝对精度。TL431是经典选择,2.5V基准,精度0.5%到1%,温漂几十ppm,价格便宜。但它需要至少1mA的阴极电流才能正常工作,这对微安级静态功耗的系统是致命的——1mA静态电流,一节1000mAh的电池光保护电路就撑不过42天。

所以低功耗场景我更倾向用带内部基准的CMOS比较器,比如内部0.6V或1.2V基准的型号,静态电流可以做到1μA以下。代价是基准精度可能只有1%到2%,但配合前面说的单点校准可以补回来。如果系统里有MCU且MCU带内部参考电压(比如1.2V或2.048V),直接用MCU的ADC做采样和判决,连比较器都省了,这是另一种思路,后面单独说。

3.2 迟滞窗口的定量设计

迟滞是为了防止"切断—电压回升—重新导通—又掉下去"的振荡。电池被切断后,端电压会因为负载消失而回升,回升幅度取决于电池内阻和之前的负载电流。假设内阻100mΩ,负载电流500mA,切断瞬间电压回升50mV;如果内阻200mΩ、电流1A,回升就是200mV。

迟滞窗口必须大于这个回升幅度,否则一切断就立刻满足恢复条件,系统变成振荡器。我取迟滞200mV,对应截止3.2V、恢复3.4V。实现方式有两种:一是比较器加正反馈电阻形成施密特触发器;二是用MCU软件判断,截止阈值3.2V、恢复阈值3.4V分开写。硬件施密特的好处是不依赖软件、响应快,缺点是阈值调整要改电阻;软件方式灵活,但MCU本身在低压下的工作状态要保证。

硬件施密特的反馈电阻计算:假设比较器反相端接基准Vref,同相端接分压点,输出通过反馈电阻Rf接回同相端。迟滞量ΔV(折算到分压点)≈ Vout_swing × R1 / (R1 + Rf),其中R1是分压点对地的等效电阻。要让电池端迟滞200mV,分压点迟滞就是100mV(分压比0.5),代入算出Rf。具体数值取决于你的比较器输出摆幅,实测调一调最靠谱。

3.3 比较器选型的三个硬指标

选比较器不能只看价格和封装,三个指标必须盯死。输入偏置电流要小,前面算过,直接决定分压电阻能取多大。输入失调电压要小,失调直接叠加到截止点上,1mV失调在分压点就是1mV,电池端2mV,影响不大,但如果失调到10mV就要注意了。输出电平兼容性,比较器输出要能直接驱动后级MOS的栅极驱动电路,如果比较器是开漏输出,上拉电阻的取值要考虑驱动能力和功耗的平衡。

我用的是某款SOT-23封装的CMOS比较器,输入偏置1pA,失调3mV,推挽输出,静态电流0.6μA,价格一块多。实测在3.2V截止点附近,判决一致性很好,没有出现抖动。

4. 高边切断与栅极驱动:执行环节的硬仗

4.1 为什么选P-MOS高边而不是N-MOS低边

低边N-MOS切断有个致命问题:切断后负载的"地"是浮空的,如果负载上还有其他信号线连到系统其他地方(比如传感器的信号线、调试口的串口线),电流会从这些路径偷偷流过去,负载实际上没被真正断电,还可能通过ESD二极管倒灌。高边P-MOS切断的是电源正极,负载彻底失电,干净利落。

P-MOS的代价是驱动麻烦:源极接电池正极,栅极要拉到比源极低Vgs(th)以上才能导通,要关断则要把栅极拉到接近源极电压。电池电压在3.0到4.2V之间变化,栅极驱动电平得跟着变,不能简单用固定电平。

4.2 栅极驱动的分压与开关组合

最直接的驱动方式:栅极通过一个电阻Rg拉到地(导通),再通过一个N-MOS或三极管把栅极拉到源极(关断)。导通时Vgs = -Vbat,只要Vbat大于P-MOS的Vgs(th)(逻辑电平MOS一般-1V到-2V)就能充分导通。关断时N-MOS导通,栅极被拉到源极,Vgs = 0,可靠关断。

这里有个细节:Rg的取值。Rg太小,导通瞬间栅极充电电流大,但P-MOS栅极电容一般几百pF到几nF,充电电流峰值 = Vbat / Rg,Rg取10k时峰值0.4mA,完全没问题。Rg太大,关断时栅极放电慢,切断延迟增加。我取10k,实测切断延迟在微秒级,可以忽略。另外栅极和源极之间要并一颗电阻(比如100k),保证在驱动电路未上电或高阻态时P-MOS默认关断,这是安全兜底。

4.3 导通损耗与选型计算

P-MOS的导通损耗 = I² × Rds(on)。假设负载电流500mA,选Rds(on) = 50mΩ的管子,损耗 = 0.25 × 0.05 = 12.5mW,可以接受。如果负载电流到2A,同样管子损耗就是200mW,发热明显,得换Rds(on)更低的管子或者加散热。选型时注意Rds(on)是在特定Vgs下测的,电池电压最低到3.0V时,Vgs = -3.0V,要看 datasheet 里Vgs = -2.5V或-3V条件下的Rds(on),而不是-4.5V条件下的值,后者会好看很多但实际用不到。

还有个体二极管的问题:P-MOS关断后,体二极管方向是从漏极到源极(负载到电池),如果负载侧有高于电池电压的电源倒灌,会通过体二极管流回电池,这是隐患。如果系统存在这种场景,要么加理想二极管电路,要么在负载侧加TVS钳位。

5. 恢复策略与自锁:别让系统变成砖

5.1 手动按键恢复的电路实现

切断后怎么恢复?最简单是一个按键,一端接电池正极(经过限流电阻),另一端接控制逻辑的复位输入。按下时给控制逻辑一个高电平脉冲,逻辑判断当前电压是否高于恢复阈值(3.4V),是则重新导通P-MOS。按键回路要串电阻(比如100k)限制电流,并并电容做消抖。

这里有个容易忽略的点:按键接的是电池正极,而控制逻辑可能在切断后完全失电。如果控制逻辑是纯硬件(比如RS触发器或者带使能的比较器),失电后状态保持没问题;如果是MCU,MCU在切断后也没电了,按键信号得有独立路径唤醒它。我的做法是控制逻辑用一颗极低功耗的保持电路(比如带清零端的D触发器或者专用的负载开关控制器),静态电流1μA级别,切断后依然活着,等待按键信号。

5.2 主控信号恢复与优先级

除了按键,主控也可以发恢复信号。比如MCU检测到用户操作或者定时任务,拉高一个GPIO去触发恢复。这时要注意优先级和互锁:按键和主控信号通过一个或门(或者两个二极管构成线与)汇合到恢复输入,避免两个信号源互相打架。同时恢复输入要加RC滤波,防止毛刺误触发。

如果系统要求"切断后必须人工确认才能恢复",那就不能给主控自动恢复的权限,只能按键恢复。这个策略要在设计初期定死,后期改起来麻烦。

5.3 欠压锁定与上电时序

还有一个隐蔽的坑:系统上电瞬间,电池电压可能因为浪涌被拉低,如果此时比较器已经工作,可能误判为过放而拒绝导通,系统起不来。解决办法是加上电延时:用RC延时或者专用复位芯片,让比较器在电源稳定后几十毫秒才使能。或者用带使能端的比较器,使能端由上电复位信号控制。

另外,恢复导通后如果负载电流很大,电池电压会瞬间跌回截止点以下,导致刚恢复又切断。这就是为什么迟滞窗口要足够大,同时恢复后可以加一个短延时(比如100ms)再开始正常判决,给电池电压一个恢复的时间。

6. 静态功耗:保护电路不能自己把电池耗死

6.1 各环节的电流预算

把静态电流拆开算:分压网络21μA(100k对100k),比较器0.6μA,基准(如果用内部基准)已含在比较器里,P-MOS栅极驱动在导通状态不耗电(栅极是电容,稳态无电流),保持电路1μA,总共约23μA。一节500mAh的电池,理论待机时间 = 500mAh / 23μA ≈ 21700小时 ≈ 2.5年。这个数字看着不错,但实际电池自放电(每月几个百分点)才是大头,所以保护电路的功耗做到几十微安级别就足够了,没必要死磕到1μA。

如果确实要极致低功耗,分压网络可以改成间歇采样:用一个N-MOS把分压下臂接地端断开,大部分时间不耗电,每隔几秒导通几毫秒采样一次。这样平均电流可以降到几微安。代价是电路复杂度和采样延迟,对过放保护这种慢变量来说延迟几秒完全可以接受。

6.2 关断状态的漏电流排查

系统切断后,理论上只剩保持电路和比较器在耗电。但实际测量经常发现漏电流比预期大,常见原因有三个:一是P-MOS关断不彻底,栅极没拉到源极,Vgs还有-0.5V,管子处于亚阈值导通,漏电流可能到几十微安;二是分压网络在切断后依然接着电池,21μA照耗;三是保持电路的工艺漏电。

排查方法很简单:切断状态下用高精度万用表(或者源表)测电池端电流,然后逐个断开怀疑的支路看电流变化。我遇到过栅极驱动N-MOS的漏电流导致P-MOS关不严的情况,换了个低漏电的管子解决。

6.3 用MCU做保护的功耗账

如果系统本来就有MCU,用MCU的ADC做电压采样、软件做判决,可以省掉比较器和基准,但MCU本身在低功耗模式下的电流(比如STOP模式几微安,加上定期唤醒采样的平均电流)要算进去。而且MCU在电池电压跌到2.5V以下时可能已经工作异常,判决不可靠。所以我的建议是:保护判决用独立硬件,MCU只做辅助监控和恢复控制,两者职责分开,可靠性最高。

7. 实测踩坑记录:那些文档里不会写的事

7.1 第一次上电就误切断

板子焊好第一次上电,负载还没接,系统就切断了。查了半天,发现是分压电容用了10μF,上电瞬间电容充电电流把分压点拉低,比较器误判。把电容改成1μF并加上电延时后解决。这个坑的教训是:滤波电容不是越大越好,要结合上电时序一起考虑。

7.2 电机负载下的反复通断

接上一个小电机做负载,电机启动瞬间系统就切断,然后电压回升又恢复,来回振荡。示波器抓分压点波形,看到电机启动时有200mV、持续5ms的跌落。原来的τ = 5ms(50k × 0.1μF)不够,把电容加到1μF,τ = 50ms,问题消失。同时把迟滞从100mV加到200mV,双保险。

7.3 高温下截止点漂移

夏天在室外测试,发现截止点比室温低了约80mV。排查下来是分压电阻用了不同批次的货,TCR不一致,加上比较器失调的温漂。换成同批次电阻后漂移降到20mV以内。这件事让我养成了关键分压电阻同批次采购、同板使用的习惯。

7.4 恢复按键的静电问题

按键暴露在面板上,冬天手一碰偶尔系统复位。按键回路串了100k电阻并了0.1μF电容后,ESD能量被大幅削弱,问题基本消失。如果产品面向用户,按键回路加TVS更稳妥。

8. 参数速查与调试清单

把关键参数整理成表,方便对照调试。

参数推荐值说明
分压比0.5上下电阻相等,便于计算
分压电阻100k / 100k静态电流21μA,精度与功耗平衡
滤波电容1μF C0Gτ = 50ms,滤负载毛刺
截止阈值3.2V按负载最低工作电压定
恢复阈值3.4V迟滞200mV,大于内阻压降
比较器偏置< 10nA保证分压电阻可取100k
P-MOS Rds(on)< 50mΩ @ Vgs=-3V按最大负载电流算损耗
栅极电阻10k兼顾开关速度与功耗
栅源下拉100k默认关断兜底
静态总电流< 30μA含分压、比较器、保持电路

调试顺序建议:先不接负载,用可调电源模拟电池,从4.2V缓慢下调,用万用表监测P-MOS栅极和输出,确认截止点;然后接负载重复,看是否有误切断;最后测切断后的静态电流和恢复功能。每一步都用示波器抓波形,比只看万用表靠谱得多。

我个人在实际操作中的体会是,这套电路的价值不在于多复杂,而在于每个参数都有明确的来由。分压电阻不是随便抓两个,迟滞不是拍脑袋定200mV,滤波电容不是越大越保险——每一个数字背后都是"如果取错会怎样"的推演。做完这套保护,再回头看那些现成保护板,你会明白它们为什么便宜,也会明白什么时候该自己动手。后续如果想扩展,可以在这套硬件判决的基础上加一路ADC做电压曲线记录,或者把恢复逻辑做成可配置的,适应不同负载的脾气。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询