资讯详情

锂电池供电设备双电源自动切换:3个MOS管实现低损耗无缝切换

📅 2026/9/28 17:34:28 | 华诺云谱 👁 阅读
锂电池供电设备双电源自动切换:3个MOS管实现低损耗无缝切换
1. 锂电池供电设备必看如何用3个MOS管搞定双电源自动切换1.1 从一个真实翻车案例说起去年帮朋友调一个便携式气象站设备用一节18650锂电池供电同时留了Type-C接口做充电和外部供电。他最初的设计很“直觉”电池正极串一个肖特基二极管Type-C的5V也串一个肖特基二极管两个二极管的阴极接在一起给系统供电。逻辑上没毛病——谁电压高谁导通自动切换。实测下来问题就来了。锂电池满电4.2V经过肖特基二极管压降0.3~0.4V到系统只剩3.8V左右Type-C的5V经过二极管剩4.6V。系统里有一颗3.3V的LDO压差本身够用但电池供电时LDO输入只有3.8V效率还行。真正要命的是电池续航二极管上白白损耗的功率在500mA工作电流下就是0.15~0.2W对于一颗2000mAh的电池来说这部分损耗直接吃掉了将近一成的可用容量。更麻烦的是当Type-C插入时5V会通过二极管倒灌到电池端——虽然肖特基反向漏电流不大但长期插着充电器电池会被持续涓流充电对锂电池寿命不友好。后来我把方案换成了3个MOS管构成的双电源自动切换电路压降从0.4V降到几十毫伏倒灌问题也彻底解决。这个方案在锂电池供电的便携设备里非常经典成本低、可靠性高值得单独拿出来讲透。1.2 这个方案到底解决了什么问题先明确需求边界。所谓“双电源自动切换”在锂电池设备里通常指两路输入主电源是锂电池比如单节4.2V或双节8.4V备用/辅助电源是外部直流输入比如Type-C的5V、DC插座的12V或者太阳能板的输出。系统要求外部电源插入时优先用外部电源供电同时可以给电池充电充电电路另算外部电源拔掉时无缝切回电池供电系统不能复位或掉电两路电源之间不能互相倒灌尤其是外部电源不能反向给电池充电除非是充电电路故意为之切换压降要小最好在几十毫伏级别避免浪费电池能量。用二极管方案压降和倒灌是两个绕不过去的坎。用MOS管做“理想二极管”利用MOS管导通时沟道电阻极低的特性压降可以做到I×Rds(on)比如Rds(on)20mΩ、电流1A时压降仅20mV比肖特基二极管小一个数量级。而3个MOS管的组合恰好能实现“外部电源优先、电池后备、双向隔离”的逻辑。这里先给结论3个MOS管方案的核心是两颗PMOS做电源路径的“理想二极管”一颗NMOS做切换控制或反相驱动。具体怎么连、为什么这么连下面拆开讲。2. 先搞懂MOS管做开关的三个关键前提2.1 PMOS和NMOS的导通条件不是“背口诀”那么简单很多新手背的是“NMOS高电平导通、PMOS低电平导通”这话在源极接地的场合成立但一旦源极不接地口诀就失效了。MOS管导通的本质条件是栅源电压Vgs超过阈值电压Vth且方向正确NMOSVgs Vg - Vs Vth正电压电流从漏极D流向源极S体二极管方向是S→D。PMOSVgs Vg - Vs -Vth负电压电流从源极S流向漏极D体二极管方向是D→S。注意PMOS的电流方向和体二极管方向。PMOS的源极通常接高电位漏极接负载导通时电流从S到D。体二极管从D指向S所以当PMOS关断时如果漏极电位高于源极体二极管会导通——这就是为什么PMOS做电源开关时输入必须接源极否则体二极管会一直导通开关失效。提示PMOS做电源路径开关时源极接输入电源漏极接负载。这样关断时体二极管反向截止才能真正断开。2.2 体二极管是“帮手”也是“坑”体二极管在双电源切换里有个巧妙用法上电瞬间利用体二极管预导通。比如PMOS的源极接电池、漏极接系统当电池刚接入时栅极还没被拉到低电平PMOS关断但体二极管从漏极到源极是反向的所以电池电压会通过体二极管加到系统上吗不会——体二极管方向是D→S电池在S极系统在D极体二极管反向截止。所以PMOS关断时电池到系统是断开的。但如果把PMOS反过来接源极接系统、漏极接电池体二极管就从电池指向系统电池会一直通过体二极管给系统供电PMOS就失去了开关意义。所以PMOS的源极必须接电源侧这是铁律。NMOS的体二极管从S指向D如果NMOS做低端开关源极接地体二极管从地指向漏极正常关断时反向截止没问题。但如果NMOS做高端开关源极接负载体二极管就会从负载指向电源同样会误导通。所以NMOS做高端开关需要自举电路或隔离驱动这也是为什么电源切换里高端开关更常用PMOS。2.3 栅极驱动电压不能超过Vgs最大值MOS管的Vgs绝对最大值通常在±20V左右但锂电池设备里电压不高一般不会超。真正要注意的是栅极驱动电平的匹配如果系统MCU是3.3V逻辑而PMOS的源极接的是5V外部电源那么MCU输出低电平0V时Vgs-5VPMOS导通MCU输出高电平3.3V时Vgs5-3.31.7VPMOS可能处于半导通状态发热严重。所以PMOS的栅极驱动最好用开漏输出或专用驱动电路确保关断时栅极能被拉到源极电位。3. 3个MOS管双电源切换电路的完整拆解3.1 电路拓扑两颗PMOS加一颗NMOS先上电路结构。假设两路电源VBAT锂电池标称3.7V满电4.2VVEXT外部5V输入。系统负载为VOUT。三颗MOS管分别是Q1PMOS电池路径开关源极接VBAT漏极接VOUTQ2PMOS外部电源路径开关源极接VEXT漏极接VOUTQ3NMOS切换控制管栅极接VEXT源极接地漏极通过电阻接Q1的栅极。Q1和Q2的栅极之间通过电阻网络连接Q3负责在外部电源存在时把Q1的栅极拉高从而关断Q1。这个拓扑的核心逻辑是外部电源存在时Q2导通、Q1关断系统由VEXT供电外部电源消失时Q2关断、Q1导通系统由VBAT供电。切换过程靠Q3和电阻网络自动完成不需要MCU干预。3.2 外部电源插入时发生了什么当VEXT5V接入时Q2的源极得到5V栅极通过电阻R2被拉到地或通过Q3的导通路径Vgs-5VQ2导通VOUT被拉到接近5V。Q3的栅极接VEXT5VNMOS导通漏极被拉到接近0V。Q3漏极通过R1接Q1的栅极所以Q1的栅极被拉到接近0V。此时Q1的源极是VBAT4.2VVgs0-4.2-4.2VQ1也会导通这就出问题了如果Q1和Q2同时导通VEXT的5V会通过Q2倒灌到VOUT再通过Q1倒灌到VBAT给电池充电。虽然PMOS的体二极管方向不允许从漏极到源极导通但Q1导通时沟道是双向的电流可以从VOUT流向VBAT。所以必须确保VEXT存在时Q1可靠关断。修正方案Q1的栅极不能简单接地而应该接到VEXT。当VEXT5V时Q1的栅极被拉到5VVgs5-4.20.8VPMOS关断因为Vgs为正且小于Vth的绝对值。当VEXT0V时Q1的栅极通过下拉电阻R1接地Vgs0-4.2-4.2VQ1导通。所以Q3的作用其实是在VEXT存在时把Q1的栅极拉到VEXT电位而不是拉到地。具体实现Q3用NMOS栅极接VEXT源极接地漏极通过R1接Q1栅极同时Q1栅极通过R3接VEXT。当VEXT5V时Q3导通漏极拉低但Q1栅极通过R3接VEXTR3和R1分压后Q1栅极电压接近VEXT只要R3远小于R1Q1关断。当VEXT0V时Q3关断Q1栅极通过R1接地Q1导通。这里R1和R3的取值很关键。假设R1100kΩR310kΩVEXT5V时Q1栅极电压5V×(100/(10010))4.55VVgs4.55-4.20.35VPMOS可靠关断。如果R3太大栅极电压不够高PMOS可能半导通。3.3 外部电源拔出时发生了什么当VEXT从5V掉到0VQ2的源极电压从5V下降当降到低于VOUT时Q2的体二极管反向截止Q2关断。Q3的栅极电压下降NMOS关断Q1的栅极通过R1被拉到地。Q1的Vgs0-4.2-4.2VQ1导通VOUT由VBAT供电。切换过程中VOUT会有一个短暂的跌落从5V掉到4.2V左右。跌落时间取决于Q1的导通速度和负载电容。如果负载电容较大比如100μF跌落时间可能在几十微秒到几毫秒一般MCU不会复位。但如果系统对电压跌落敏感可以在VOUT加一个大电容或增加切换加速电路比如在Q1栅极加一个加速电容。3.4 为什么是3个MOS管而不是2个有人会问Q1和Q2两个PMOS不就能实现切换了吗为什么还要加Q3两个PMOS的方案是Q1栅极接VEXTQ2栅极接VBAT。当VEXT5V时Q1栅极5VQ1关断Q2栅极4.2VQ2的Vgs4.2-5-0.8VQ2导通。当VEXT0V时Q1栅极0VQ1导通Q2栅极4.2VQ2的Vgs4.2-04.2VQ2关断。逻辑上似乎可行。但问题在于Q2的栅极接VBAT当VEXT0V时Q2的源极是0V栅极是4.2VVgs4.2VPMOS关断没问题。但当VEXT5V时Q2的源极是5V栅极是4.2VVgs-0.8VQ2导通。此时如果VBAT电压波动比如电池电压升到4.3VQ2的Vgs-0.7V仍然导通。但如果电池电压降到3.5VQ2的Vgs-1.5V导通更强。看起来没问题但Q2的栅极一直连着VBAT当VEXT0V时Q2的栅极是4.2V源极是0VVgs4.2VPMOS关断但栅极和源极之间的电压差是4.2V如果VEXT端有负压或感性负载可能损坏Q2。更关键的是两个PMOS方案中Q1的栅极接VEXT当VEXT5V时Q1的Vgs5-4.20.8VPMOS关断但0.8V的Vgs对于某些低阈值PMOS来说可能不够存在半导通风险。而加Q3后Q1的栅极可以被拉到更接近VEXT的电位关断更彻底。所以3个MOS管方案的核心优势是用Q3做电平转换和驱动增强确保Q1在外部电源存在时可靠关断同时避免栅极电压受电池电压波动影响。4. 关键参数计算与选型实操4.1 Rds(on)和压降的计算MOS管导通压降Vdrop Iload × Rds(on)。假设系统最大负载电流1A选用的PMOS Rds(on)20mΩ则压降20mV。电池从4.2V降到4.18V几乎可以忽略。如果选Rds(on)50mΩ压降50mV仍然远小于肖特基二极管的300mV。选型时要注意Rds(on)是在特定Vgs下测得的。比如某PMOS标称Rds(on)20mΩ Vgs-4.5V但在Vgs-2.5V时Rds(on)可能升到50mΩ。锂电池供电时Vgs-4.2V接近-4.5V所以Rds(on)基本达标。但如果电池电压降到3.0VVgs-3.0VRds(on)会增大需要查数据手册的曲线。4.2 阈值电压Vth的选择PMOS的Vth通常在-0.5V到-2V之间。对于锂电池供电Vgs-4.2V时|Vgs|远大于|Vth|MOS管完全导通。但要注意低阈值PMOSVth-0.5V在Vgs0.8V时可能已经部分导通导致关断不彻底。所以选型时优先选Vth绝对值较大的PMOS比如-1.5V到-2V确保关断时Vgs为正0.8V时可靠截止。NMOS Q3的Vth通常0.5V到1.5V栅极接VEXT5V时完全导通栅极接0V时可靠关断。Q3的Rds(on)不重要因为只驱动栅极电阻电流很小。4.3 栅极电阻的取值R1和R3的取值影响切换速度和静态功耗。R1是Q1栅极的下拉电阻当VEXT0V时Q1栅极通过R1接地Q1导通。R1太大会导致栅极放电慢切换延迟R1太小会增加VEXT存在时的分压功耗。假设R1100kΩR310kΩVEXT5V时R3上的电流5V/(110kΩ)45μA功耗225μW可以接受。切换时间常数R1×CissCiss是PMOS的输入电容比如500pFτ100kΩ×500pF50μs切换时间约150μs足够快。如果希望切换更快可以减小R1到10kΩ但功耗增加到2.25mW。对于电池设备静态功耗要斤斤计较所以R1不宜太小。折中方案R147kΩR34.7kΩ功耗约0.5mW切换时间约70μs。4.4 体二极管的反向耐压PMOS的体二极管反向耐压就是Vds最大值。锂电池设备里Vds最大约5V选Vds20V或30V的MOS管绰绰有余。但要注意VEXT端如果有感性负载或热插拔可能产生电压尖峰建议选Vds30V以上并在VEXT和VOUT加TVS管。5. 实操过程与核心环节实现5.1 元件清单与选型建议元件型号示例关键参数备注Q1 PMOSAO3401Vds-30V, Rds(on)50mΩ-4.5V, Vth-1.5V电池路径开关Q2 PMOSAO3401同上外部电源路径开关Q3 NMOS2N7002Vds60V, Rds(on)1.5Ω4.5V, Vth1.5V切换控制R147kΩ0402或0603Q1栅极下拉R34.7kΩ0402或0603Q1栅极上拉至VEXTR2100kΩ0402或0603Q2栅极下拉C110μF0805VOUT滤波C2100nF0402VEXT去耦AO3401是经典的低压PMOSRds(on)在Vgs-4.5V时约50mΩ1A电流下压降50mV。如果追求更低损耗可以选Rds(on)20mΩ的型号比如Si2301或DMG2301L。2N7002是通用NMOS驱动能力足够。5.2 焊接与布局注意事项这个电路虽然简单但布局有几个坑Q1和Q2的源极走线要短而粗因为要通过大电流。如果走线细长引入的寄生电阻可能比MOS管本身的Rds(on)还大。Q1的栅极电阻R1和R3靠近Q1放置避免栅极走线过长引入噪声。VOUT的滤波电容C1靠近负载不要放在MOS管旁边否则负载瞬态电流会在走线上产生压降。VEXT和VBAT的输入电容C2和电池端的电容要靠近各自的MOS管源极提供瞬态电流。提示如果PCB空间允许在Q1和Q2的源极和漏极之间各并联一个10μF电容可以进一步减小切换时的电压跌落。5.3 上电测试与波形观察焊接完成后按以下步骤测试只接电池不接VEXT用万用表测VOUT应该接近VBAT差值小于50mV。测Q1的Vgs应该在-4V左右Q1导通。只接VEXT不接电池测VOUT应该接近5V。测Q1的Vgs应该在0.5V以上Q1关断。测Q2的Vgs应该在-4V左右Q2导通。同时接电池和VEXT测VOUT应该接近5V。测Q1的Vgs应该为正Q1关断。此时电池不放电系统由VEXT供电。拔掉VEXT保持电池用示波器观察VOUT应该从5V跌落到4.2V左右跌落时间在100μs以内。如果跌落超过1ms检查R1和Ciss。实测中常见的问题是Q1关断不彻底VOUT在VEXT5V时不是5V而是4.5V左右。这说明Q1还在部分导通VEXT和VBAT在打架。解决方法是减小R3或增大R1让Q1的栅极电压更接近VEXT。5.4 静态功耗的实测用高精度万用表测电池端的静态电流。在VEXT5V、电池不放电的情况下电池端电流应该只有PMOS的漏电流通常在1μA以下。如果测到几十μA说明Q1没有完全关断或者R1和R3的分压电流通过Q1的体二极管漏到了电池。实测AO3401在Vgs0.8V时的漏电流约0.1μA可以忽略。R1和R3的分压电流从VEXT流向地不经过电池所以电池端静态电流应该小于1μA。如果实测偏大检查Q1的栅极是否真的被拉到了VEXT。6. 常见问题与排查技巧实录6.1 切换时系统复位怎么办这是最常见的问题。原因通常是VOUT跌落太深或太久。排查步骤用示波器测VOUT的跌落深度和持续时间。如果跌落到3.0V以下MCU可能复位。检查VOUT的电容是否足够。增加一个100μF的低ESR电容可以撑过切换时间。检查Q1的导通速度。减小R1可以加快Q1导通但会增加功耗。折中方案是在R1两端并联一个加速电容比如10nF利用电容的瞬时导通加速栅极放电。如果负载电流较大1A切换时的跌落会更明显。可以考虑在VOUT加一个升压电路或LDO但成本增加。6.2 外部电源插入时电池仍在放电如果VEXT5V时电池端仍有电流说明Q1没有完全关断。用万用表测Q1的Vgs如果Vgs为正但小于0.5V说明R3太小或R1太大分压后栅极电压不够高。减小R3或增大R1。如果Vgs为负说明Q3没有导通或R3接错了。检查Q3的栅极是否接VEXT源极是否接地。如果Vgs为正但Q1仍导通可能是PMOS的Vth太低换Vth绝对值更大的型号。6.3 电池电压低时切换失败当电池电压降到3.0V时Q1的Vgs-3.0V如果PMOS的Vth-2.5V|Vgs|仅比|Vth|大0.5VQ1可能处于半导通状态Rds(on)增大压降增加。解决方法是选低阈值PMOSVth-1.0V确保在3.0V时仍完全导通。但低阈值PMOS在关断时又容易半导通所以需要权衡。更好的方案是用电荷泵或升压驱动但成本增加。对于单节锂电池设备建议选Vth-1.5V左右的PMOS在3.0V时|Vgs|3.0V|Vth|1.5V有1.5V的余量Rds(on)增大但可接受。6.4 常见问题速查表现象可能原因排查方法解决方案VEXT插入时VOUT只有4.5VQ1未完全关断测Q1的Vgs减小R3或增大R1拔掉VEXT时系统复位VOUT跌落太深示波器测VOUT增加VOUT电容或加速电容电池端有静态电流Q1漏电流大测电池端电流换低漏电PMOS电池低压时压降大Q1半导通测Q1的Vgs和Vds换低Vth PMOSQ2发热严重Q2半导通测Q2的Vgs检查R2是否接好切换时有尖峰感性负载示波器测VOUT加TVS管或RC吸收6.5 几个容易忽略的细节细节一Q2的栅极电阻R2不能省。有些设计为了省事直接把Q2的栅极接地这样VEXT5V时Q2的Vgs-5V导通没问题。但当VEXT0V时Q2的栅极是0V源极也是0VVgs0VQ2关断。看起来没问题但如果VEXT端有残留电压或漏电流Q2可能半导通。加R2下拉可以确保Q2可靠关断。细节二Q3的栅极最好加一个下拉电阻。当VEXT0V时Q3的栅极悬空可能被噪声干扰导致误导通。加一个100kΩ下拉电阻到地确保Q3可靠关断。细节三VEXT和VBAT的输入电容不能省。切换瞬间MOS管的栅极电容需要充放电如果输入电容太小VEXT或VBAT会被拉低导致切换失败。建议各加10μF。细节四如果VEXT电压低于VBAT比如VEXT3.3V、VBAT4.2V那么VEXT插入时Q2可能无法导通因为Q2的源极是3.3V栅极是0VVgs-3.3VPMOS导通但VOUT被拉到3.3V低于VBAT的4.2V此时Q1的Vgs3.3-4.2-0.9VQ1可能部分导通导致VBAT和VEXT同时供电。这种情况下需要调整逻辑让VEXT优先的判断基于电压比较器而不是简单的MOS管逻辑。这个细节说明3个MOS管方案适用于VEXT电压高于VBAT的场合。如果VEXT电压可能低于VBAT需要额外的比较器或MCU控制。7. 方案扩展与个人经验体会7.1 从3个MOS管到理想二极管芯片如果觉得3个MOS管加电阻的电路太分散可以用理想二极管芯片比如TPS2113A、LTC4412等。这些芯片内部集成了MOS管和驱动电路外围只需几个电容体积小、可靠性高。但成本比3个MOS管方案高而且有些芯片的压降仍然有几十毫伏。对于成本敏感的消费类设备3个MOS管方案仍然是首选。7.2 双电池切换的扩展如果系统有两节锂电池需要切换可以把Q1和Q2都换成电池路径Q3做切换控制。逻辑类似哪节电池电压高哪节供电。但要注意两节电池不能同时导通否则会互相充电。可以在每节电池的路径上各加一个PMOS栅极交叉控制。7.3 我踩过的几个坑第一个坑是PMOS的源极和漏极接反。当时为了布线方便把Q1的源极接了VOUT漏极接了VBAT。结果电池一直通过体二极管给系统供电Q1关断时系统仍然有电但压降是体二极管的0.7V电池续航大打折扣。后来把源极和漏极换过来问题解决。所以再强调一遍PMOS的源极接电源侧漏极接负载侧。第二个坑是R1和R3的阻值选得太随意。最初用R110kΩ、R310kΩVEXT5V时Q1栅极电压2.5VVgs2.5-4.2-1.7VQ1仍然导通VEXT和VBAT打架Q1发热。后来把R3改成4.7kΩR1改成47kΩ栅极电压4.55VQ1可靠关断。第三个坑是忽略VOUT电容的ESR。用了一个普通的100μF电解电容ESR高达1Ω切换时VOUT跌落很深。换成低ESR的钽电容或陶瓷电容后跌落明显减小。7.4 一个实用的小技巧如果手头没有合适的PMOS可以用两个NMOS加一个电荷泵代替但电路更复杂。对于3.3V或5V系统PMOS方案最简单。如果VEXT电压可能高于10VPMOS的Vgs可能超过-20V需要加稳压管钳位栅极电压。比如在Q1的栅极和源极之间加一个12V稳压管防止Vgs过压。这个电路我前后用了五六次从便携气象站到手持扫码枪再到太阳能供电的传感器节点每次都能稳定工作。关键是把栅极驱动逻辑搞清楚参数算对布局注意大电流路径剩下的就是调试时用示波器看波形哪里不对调哪里。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑