做电池供电的便携设备有个问题几乎避不开设备平时用锂电池跑得挺好一旦插入USB线电源是自己切换还是打架是USB供电优先还是电池继续扛着如果两个电源直接并联轻则电池被反充、电压紊乱重则烧充电管理、复位重启。我早期做一款手持采集终端时就在这上面栽过跟头后来换了这套PMOS自动切换电路总共也没几个元器件实测下来稳定可靠插拔USB都干净利落。这篇就把完整的方案选型、参数计算、焊接调测和踩坑记录全部摊开讲给同样被双电源供电折磨过的朋友一条可以直接抄的路。1. 为什么必须做“自动切换”而不是简单粗暴并联很多朋友拿到这个需求第一反应是“不就两个电源嘛直接接在一起不就完了”。这种想法我特别理解因为从原理图上看USB的5V和锂电池的3.7V都是“正极接正极、负极接负极”似乎没什么问题。但你只要实际接上马上就能看到冒烟级别的教训。1.1 两个电源直接并联会发生什么先说电压差的问题。锂电池标称3.7V但实际工作电压范围是3.0V到4.2V。USB接口的标准电压是5.0V也就是说在电池满电4.2V的情况下USB和电池之间存在0.8V的电压差。这不是理论上的小差距而是实打实的电位差。两个电压源直接并联电压高的那一端会拼命向电压低的那一端灌电流。如果你在电池和USB之间没有加任何隔离这0.8V的压差会在连接瞬间产生一股不受控的电流。电池本身有内阻但内阻也就是几十毫欧到一两百毫欧算下来瞬态电流可以轻松超过1A甚至更高。这股电流不会流向负载而是直接灌进电池相当于在给电池做“不经过充电管理IC的强制充电”。如果电池恰好已经充满过充保护板会启动但如果电池电压本身只有3.4V这股电流持续灌下去对电池寿命的影响非常明显。更麻烦的是两个电源直接并联会导致输出点电压被“拉”到两者之间的某个不确定值。假设USB是5.0V电池是3.6V并联后的电压可能是4.2V也可能是4.6V取决于两个电源的内阻和带载能力。这个不确定的电压对后级电路完全是灾难有的芯片在4.2V能稳在4.6V就过压保护了有的LDO压差不够输出反而不稳。所以双电源直接并联这条路在正式设计里根本不能走。那有人说了我在电池和USB之间各串一个二极管做成“电源或门”不就行了理论上可以但这又引出第二个问题。1.2 二极管“或门”方案的优点与缺陷二极管或门是电源切换里最经典、最基础的方案。原理很简单USB正极通过D1接到负载电池正极通过D2接到负载哪边电压高哪边就导通。因为二极管有单向导电性电压低的那一路会被自然隔离不会发生反灌。这个方案在很多低功耗产品里用了很多年成本极低两个肖特基二极管加起来不到一毛钱。但这个方案有两个硬伤。第一个是压降。肖特基二极管的导通压降一般在0.3V左右这意味着电池电压经过二极管送到负载时已经被砍掉了一截。举个例子电池电压4.2V经过肖特基后负载端只剩3.9V。如果后级是3.3V的LDOLDO的压差一般要求0.3V到0.5V在电池电压较高时还能勉强维持但电池放电到3.6V时负载端只剩3.3VLDO已经没有任何裕量输出就会跟着电池电压一起往下掉后端MCU在低电量时很容易复位。第二个硬伤是没有“优先级”。二极管或门本质上只认电压高低不认你“想让谁供电”。如果设备用的是两节锂电池串联电压范围6.0V到8.4VUSB是5V那二极管或门会毫不犹豫地选择电池作为主供电源USB明明插着却压根不参与供电。就算你用单节锂电池在电池满电4.2V、USB恰好是5V时还能勉强靠0.8V压差让USB“赢”但电池只要放了一点电比如放到3.9VUSB还是5V二极管或门倒是会切到USB但整个切换过程完全由电压差驱动没有任何“明确意图”。这不符合很多产品“USB插入就必须由USB供电”的设计要求。所以二极管或门适合那些不在乎压降、不在乎优先级、电流小于几百毫安的轻负载场景。对于带屏幕、带传感器、带无线模块的嵌入式设备这套方案从根上就不够用。1.3 为什么最终选择PMOS管实现自动切换PMOS方案说白了就是用一个P沟道增强型MOS管替代电池通路上的二极管再配合栅极控制电路实现“USB在时强制断开电池USB不在时自动恢复电池供电”的优先级切换。它比二极管或门多了一个可控开关但多了这个控制端子就解决了压降和优先级两个核心问题。PMOS在完全导通时源漏之间的等效电阻RDS(on)很小常见的AO3401在VGS为-4.5V时只有50毫欧左右。这意味着电池电流通过PMOS时电压降不是二极管的0.3V而是电流乘以RDS(on)。100mA电流下压降只有5mV几乎可以忽略。就算设备耗电1A压降也不过50mV这在绝大多数嵌入式系统里完全可接受。优先级方面PMOS的栅极电位完全由USB电压控制。USB插入时栅极被拉高MOS管关断电池通路被彻底断开USB拔出时栅极被电阻下拉到地MOS管导通电池恢复供电。整个切换过程不依赖电池和USB之间的电压竞争而是有明确的逻辑关系。这才是“自动切换”该有的样子。这也就是我最终敲定PMOS分立方案的原因。相比专用的理想二极管控制器比如LTC4412、TPS2121PMOS方案的BOM成本更低逻辑透明可控坏了也容易排查相比二极管或门压降小一个数量级还天然支持USB优先。下面把三种方案的关键对比列出来方便你根据自己的需求选型。对比项肖特基二极管或门PMOS分立切换理想二极管控制器典型导通压降0.3V~0.5V几十毫伏几十毫伏是否支持USB优先不支持只认电压高低支持栅极逻辑控制支持需额外逻辑配置BOM成本极低低较高静态功耗极低分压电阻毫米安级芯片自身微安级电路复杂度最低中等中等常见封装/代表型号SS14/SS34AO3401/SI2301LTC4412/TPS21212. 自动切换电路的完整原理与参数推导方案定下来是PMOS但具体怎么接、元件怎么取值里面有不少门道。我直接把这套电路的实际原理从头讲一遍包括上电时序、MOS管开关条件和容易被忽略的细节。2.1 电路拓扑与上电工作过程先说完整的电路组成。核心元件包括一颗PMOS管Q1一颗肖特基二极管D1两颗分压电阻R1和R2以及一颗输出电容C1。锂电池正极接Q1的源极SQ1的漏极D接负载输出VOUTUSB的5V通过D1接到VOUTQ1的栅极G通过R1接到USB的5V同时通过R2下拉到地。输出端VOUT对地接C1。你可以用文字想象这个过程刚接上电池、还没插USB的时候电池电压加在Q1的S极上栅极G经由R2被下拉到0V。此时VGS等于VBAT减去0V也就是一个负电压。对于PMOS来说VGS足够负就会导通所以Q1迅速导通电池通过Q1给VOUT供电。Q1导通之后VOUT几乎等于电池电压只有微小的RDS压降。接下来插入USB。5V经过D1到达VOUT同时通过R1到达Q1的栅极。R1和R2构成分压器栅极电压被抬高到USB电压的分压值。只要这个栅极电压相对于源极S也就是电池正极来说不再满足导通条件Q1就会截止电池通路被断开此时负载完全由USB供电。拔出USB后栅极又通过R2被拉回0VQ1重新导通负载切回电池供电。整个工作过程里最关键的是搞清楚“什么时候PMOS导通、什么时候PMOS截止”以及“分压电阻到底该怎么选”这两个点直接决定电路能不能可靠工作。2.2 PMOS导通与截止的条件深度拆解PMOS是电压控制器件它是否导通看的是栅极G和源极S之间的电压差VGS不是看G极对地的绝对电压。对于增强型PMOSVGS是负值时可能导通导通条件是VGS要小于更负于栅极阈值电压VGS(th)。搞清楚这个关系很多设计问题就迎刃而解了。以AO3401为例数据手册上VGS(th)典型值是-1.0V也就是说只有当VGS比-1.0V更负比如-1.5V、-2.5V时MOS管才会可靠导通。如果VGS只有-0.5VMOS管处于截止状态或只有微弱导通。现在回头看这个电路。电池供电时G极被R2拉到0VS极接电池正极假设电池电压4.0V那么VGS 0 - 4.0V -4.0V这个值远负于-1.0VMOS管充分导通压降极小。USB插入后栅极被分压电阻抬高。这里要注意一个容易出错的地方栅极电压不是直接等于USB的5V而是等于R1和R2对5V的分压值。如果R1R2100kΩ那么栅极电压就是2.5V。此时VGS 2.5V - 4.0V -1.5V。等一下-1.5V仍然负于-1.0VMOS管不就没有完全关断吗这个问题非常关键。实测中确实会出现这种情况USB插入后电池通路没有完全断开电池还在以十几毫安到几十毫安的电流向负载供电。要解决它有两条路。第一调整分压比让R1远小于R2使栅极电压尽可能接近USB电压。比如R110kΩ、R2100kΩ栅极电压约为4.54V此时VGS 4.54V - 4.0V 0.54V已经是正电压MOS管绝对截止。第二把电池电压的变化也考虑进去电池满电4.2V时即使栅极只有2.5VVGS也是负的仍然可能导通。所以安全的做法一定是让USB插入后栅极电压高于电池最高电压也就是说分压后的栅极电压要大于4.2V。这是我实测过程中踩过的一个典型坑第一版用了R1R2100kΩ电池低电量时一切正常电池满电时USB插入后电池电流居然还有70mA当时还以为是MOS管坏了后来用示波器量VGS才发现是分压比不对。后面我把R1改成10kΩ、R2改成100kΩ问题立刻消失。记住一个经验分压后栅极电压至少要比电池最高电压高0.5V以上才能保证MOS管完全截止。2.3 栅极电阻与分压电阻的计算方法与取舍先确定分压电阻的比值。USB电压假设5.0V电池最高电压假设4.2V那栅极电压至少要4.7V以上才能保证可靠截止。R1和R2对USB分压栅极电压计算公式为VG USB × R2 / (R1 R2)把VG4.7V、USB5.0V代入得到R2 / (R1R2) 0.94也就是说R1 : R2 1 : 15.67左右。实际取整R110kΩ、R2200kΩ则栅极电压4.76V足够高了。但是这里还涉及静态功耗的问题。USB插入后R1和R2会一直从USB取电电流等于USB电压除以R1R2。按R110kΩ、R2200kΩ计算静态电流是5V / 210kΩ ≈ 23.8µA。这个电流在绝大多数系统里可以接受但对于追求超低功耗的设备比如纽扣电池加锂电池双供电的待机系统你可能会希望把这个电流压到1µA以下。压低静态电流的办法是成倍放大R1和R2。比如R1100kΩ、R22MΩ分压比不变但静态电流降到了2.4µA左右。代价是栅极驱动电阻大了MOS管的开关速度变慢。这个变慢对电源切换来说其实是好事可以有效抑制切换瞬间的电压过冲但需要注意MOS管可能会在过渡区停留更久、产生额外热量。对于电流小于500mA的负载完全不用担心超过1A时建议R1不要超过100kΩ。再来说稳压管的问题。如果产品只插5V USB栅极最高也就是5VVGS幅度最大5V左右一般PMOS的VGS耐压是±12V安全得很。但就怕用户拿12V的适配器或者快充充电器插进去此时栅极电压经过分压也抬高了很多VGS可能超过PMOS的耐压直接击穿栅氧化层。稳妥的做法是在栅极和源极之间并联一颗稳压二极管比如12V或8.2V的。USB正常5V时稳压管不工作不影响电路万一插入高压适配器稳压管把VGS钳位在安全范围。2.4 为什么USB侧的D1肖特基二极管不能省有人会问既然PMOS实现了电池通路的开关那USB侧直接用导线连到VOUT不就行了省掉D1还能减少0.3V的压降让USB供电时VOUT更接近5V。这里要分两个场景看。如果设备内部除了VOUTUSB的VBUS还被直接引到了其他电路比如USB转串口芯片的VBUS检测引脚或者USB控制器的供电引脚那USB拔出后VOUT上的电池电压会通过这条线路反向灌到USB接口的VBUS上。对于连接电脑的情况电脑USB口在VBUS上检测到外部电压轻则报警“未知USB设备”重则直接触发电脑USB口的过流保护这是一个非常典型的硬件设计隐患。D1在这里起到的第一个作用是单向隔离确保电池电压不会回流到USB电缆那边。第二个作用是防止USB插入瞬间的浪涌直接冲击PMOS。USB热插拔时VBUS上会出现一个短暂的浪涌电流如果没有D1的隔离这个浪涌会直接叠加到电池通道上有可能超过PMOS的脉冲电流能力。当然D1带来的压降是明摆着的。我实测在100mA负载下SS34的压降约为0.27V也就是说USB供电时VOUT从5.0V降到4.73V左右。这个电压给3.3V LDO供电非常充裕给5V直供的传感器可能略有影响需要你根据后级负载的电压要求权衡。实在不想损失这0.3V可以把D1也换成一颗PMOS管做“理想二极管”但电路复杂度会显著上升对于大多数场景不划算。3. 元器件选型与完整实操搭建原理图推清楚之后下一步就是动手选了料、焊了板、测了数。这一节我把选型思路、实际焊接步骤和测试方法完整过一遍尽量帮你绕开我走过的那几个坑。3.1 PMOS管的选型要点与经验型号PMOS是整个电路的核心选型不能只看封装能不能焊上。我建议重点关注四个参数。第一个是VGS(th)栅极阈值电压。前面已经提到这颗管子的阈值要足够浅最好在-0.4V到-1.0V之间。如果阈值太深比如-2.0V那么在电池低压时会不容易充分导通。但阈值太浅也有问题比如-0.4V的管子在栅极受到轻微干扰时容易误开通。这个平衡点在实际选型中主要靠VGS(th)和VGS驱动条件一起看。第二个是RDS(on)导通电阻。这是影响压降和发热的关键参数。对于便携设备的负载电流0.1A到1A之间建议选RDS(on)在50mΩ到100mΩ之间的管子这样最大压降也不超过0.1V。如果负载电流到了2A以上最好选RDS(on)小于30mΩ的SOP-8封装MOS管。第三个是VDS耐压。这个电路里电池最高4.2VUSB最高5V看似20V耐压绰绰有余。但USB热插拔存在感性浪涌实际尖峰可能到10V以上加上余量建议选耐压20V以上的管子。AO3401的VDS是-30V足够安全。第四个是封装。500mA以内的负载用SOT-23封装就行焊接容易、占板面积小超过1A建议换SOT-23也还行但要注意PCB铜皮散热3A以上务必上SOP-8或DFN封装。型号VDSVGS(th)RDS(on)典型值封装适用场景AO3401-30V-1.0V50mΩ VGS-4.5VSOT-23500mA级便携设备SI2301-20V-1.0V90mΩ VGS-4.5VSOT-23低功耗传感器节点IRLML6402-20V-0.7V60mΩ VGS-4.5VSOT-23低压差敏感负载NCE3401-30V-1.0V42mΩ VGS-4.5VSOT-23性价比高的量产选择3.2 其他元件的选型明细肖特基二极管D1我推荐SS34或者SS14。SS34的额定电流3A反向耐压40V100mA下压降约0.27V余量很大。如果设备最大电流不超过1ASS14也够用。要特别注意二极管的额定电流不要选得太紧不然USB插入瞬间的浪涌电流很容易把它打穿。R1和R2是栅极分压电阻。按照前面计算的10kΩ和200kΩ取值即可。电阻封装用0603就够功耗完全不是问题。如果系统对静态功耗要求高换成100kΩ和2MΩ也完全可行只是MOS开关速度会稍慢一些。输出电容C1建议用10µF到22µF的陶瓷电容耐压10V以上尽量靠近MOS管的D极放置。这枚电容是切换瞬间的“蓄水池”在USB拔出瞬间为负载提供短暂的能量缓冲防止MCU瞬间掉电复位。实测中我发现C1从4.7µF加大到22µF后USB拔出瞬间的电压跌落幅值从280mV降到了120mV对后级电路的影响明显改善。另外如果产品的USB口经常带电热插拔建议在USB VBUS引脚对地加一颗TVS管选5V的就行可以把VBUS上的浪涌钳位在安全范围。3.3 洞洞板搭建与上电测试全流程下面说说从零开始的搭建和验证流程。我用的是一块普通的洞洞板手动焊接操作顺序很重要不然容易焊错最后来回拆。先焊电池通路上的PMOS管。AO3401是SOT-23封装引脚定义是1脚栅极G、2脚源极S、3脚漏极D不同厂家的引脚定义可能有差异焊之前务必对着数据手册确认不要靠记忆。我见过不止一次把源极和漏极焊反的情况焊反之后整个电路完全无法工作电流从体二极管反向流过MOS管怎么控都没反应。再焊D1肖特基二极管注意极性。肖特基二极管的负极那边有白色环形标记这个标记对应的是阴极。D1的阴极要朝着VOUT方向阳极接USB的VBUS反了就相当于把USB直接短路到地。接着焊R1和R2。先焊R2栅极到地200kΩ再焊R1USB到栅极10kΩ。两个电阻尽量贴着MOS管的栅极焊减少栅极走线长度避免引入干扰。最后焊输出电容C110µF陶瓷电容一端接VOUT另一端接地尽量靠近负载端。焊完后不要急着插USB先做冷态检查。用万用表的通断档测量VOUT到地是否短路再量电池正极到VOUT是否通路因为PMOS体二极管的原因这时应该有二极管压降量USB的VBUS到VOUT是否通路经过二极管应该有0.3V左右的压降。冷态检查通过后再上电。上电顺序是先接电池不接USB。用万用表量VOUT此时应该接近电池电压。我实测AO3401在100mA负载下VOUT比电池电压低大约6mV这在万用表的精度范围内几乎看不出来。接着插USBVOUT会迅速升到4.7V左右USB 5V减去D1压降这时用万用表串联在电池正极回路里测量电流正常应该接近0。如果测到几十毫安以上的电流十有八九是分压电阻比值不对MOS管没有完全截止。3.4 示波器测试切换瞬间与负载能力完成基础通断测试后强烈建议用示波器量一下切换瞬间的波形。这类电源切换电路静态测试一切正常但瞬态下可能出问题。我是这样测的示波器探头夹在VOUT和GND之间先用电池给一个100Ω的电阻负载供电大约40mA电流然后插USB。观察到的波形是VOUT从3.9V左右迅速抬升到4.7V左右整个过程约35µs没有明显的过冲或跌落。这是因为切换过程是“从电池供电变为USB供电”USB电压比电池电压高所以VOUT整体是上升的不会出现电压跌落。真正需要担心的是拔出USB的瞬间。我用示波器抓拔出瞬间的波形看到VOUT先是掉到大约3.8V然后回跳到3.9V整个跌落幅度约120mV恢复时间约150µs。这个跌落的产生原因不难理解USB拔出的瞬间负载还在以原来的电流消耗电量但PMOS导通需要一点时间半导通的过渡期内VOUT会短暂失压。只要跌落后的最小值高于后级电路的最低工作电压比如MCU的2.7V复位阈值就不会出问题。负载能力方面我用电子负载分别设了100mA、500mA、1A三档测试USB供电和电池供电两种状态下的VOUT电压数据如下负载电流电池供电VOUTUSB供电VOUT切换瞬间最大跌落100mA3.86V电池3.9V4.73V约60mV500mA3.84V电池3.9V4.65V约150mV1A3.80V电池3.9V4.55V约300mV从数据能明显看出电流越大USB供电时VOUT越低因为D1上的压降随电流增大而增大。1A时D1压降已经到0.45V左右这就是肖特基二极管方案的物理局限。如果产品持续电流超过1A建议将D1替换为低压降的理想二极管方案或者直接把D1也换成MOS管做同步整流。4. 实际应用中的注意事项与变体扩展前面把原理和搭建都讲透了但这套电路在实际产品里往往还会遇到一些新问题。不同设备有不同的供电架构有的是单节锂电池有的是两节串联还有的是带充电管理IC的完整方案。这一节把我在实际项目中遇到的坑和扩展用法整理一下。4.1 禁止在充电管理IC之前做切换这里必须先提醒一个非常常见的错误如果你设备里已经有充电管理IC比如TP4056、CN3065千万不要把USB切换电路放在充电IC之前而是要让USB的VBUS直接进充电IC电池端再接充电IC的BAT引脚再从BAT引脚和USB之间做供电切换。原因很简单充电管理IC会自己处理USB的5V输入和电池的充电状态。如果你在充电IC之前又加了一道PMOS切换USB插入时把充电IC的输入切断了那充电IC就无法给电池充电了整个充电功能等于废掉。正确的架构是USB VBUS直接进充电IC充电IC的BAT引脚接锂电池同时BAT引脚那里的电池电压通过PMOS切换到VOUTUSB VBUS通过D1也接到VOUT。这样USB插入时充电IC正常给电池充电同时VOUT由USB供电USB拔出时充电IC停止充电PMOS自动切回电池供电。我最早做手持数据采集器时就踩过这个坑第一版把切换电路放在充电IC前面结果插上USB设备能工作但电池电量一直在掉完全没充电。后来把拓扑改成“充电IC直接接USB切换电路只负责VOUT的电源选择”问题才彻底解决。4.2 两节锂电池或高电压电池的适配如果你做的是两节锂电池串联的设备电池组电压范围是6.0V到8.4V那前面计算的分压比就必须重新调整。核心逻辑不变USB插入后栅极分压电压必须高于电池组最高电压8.4V才能保证PMOS可靠截止。以USB 5V直接分压是达不到8.4V的因此这里需要换思路。一种办法是在栅极增加一个简单的NMOS反相控制级USB电压经过电阻分压后驱动一颗NMOSNMOS的漏极接PMOS栅极NMOS导通时把PMOS栅极拉低PMOS就关断。这样逻辑更明确不再受分压比限制。另一种办法是直接用比较器比如LM393比较USB电压和电池电压输出控制PMOS栅极适应性更强。分立的PMOS方案并非万能超过8.4V或者宽压输入场景建议优先考虑专用的电源切换IC。这不是说分立方案不行而是分立方案的可靠性完全取决于你分压控制电路设计的细致程度在宽压场景下专用IC的内部逻辑要严谨得多。4.3 低功耗设备的静态电流优化对电池供电的物联网设备来说静态功耗是底线问题。这个PMOS切换电路在USB未插入时分压电阻R1、R2上是有电流的。注意电池供电时R2接地R1悬空没有静态电流USB插入时R1、R2消耗的电流来自USB而不是电池所以电池端的静态功耗其实很大程度被隔离掉了。但栅极下拉电阻R2并非完全不耗电。如果USB未插入、电池通过PMOS供电此时R2是从栅极到地栅极和地之间没有压差栅极被下拉到地所以R2上也没有电流。真正耗电的反而可能是PMOS在截止不彻底时的漏电流。AO3401在VGS0V时的漏电流是微安级甚至更小只要分压设计正确、MOS管完全截止电池端的漏电流通常小于1µA这对绝大多数低功耗系统完全够用。如果设备要求待机电流低于1µA建议在电池通路再串一个负载开关在系统休眠时彻底断开电池通路。这个PMOS切换电路只负责“USB优先”不负责“系统总电源开关”两者职责要分开。4.4 热插拔浪涌与EMC防护USB热插拔的瞬间VBUS上会有明显的电压浪涌。这个浪涌有两个来源一个是USB电缆的分布电感在插拔瞬间产生的感应电压另一个是电脑USB口或充电器输出端的电容突然并到电路上形成的充电电流尖峰。应对方案是在USB的VBUS引脚对地就近放置一颗ESD/TVS保护管选5V或5.5V的钳位电压。这颗TVS管要放在USB连接器之后、切换电路之前确保浪涌在进入PMOS和肖特基二极管之前就被钳位掉。另外在USB的VBUS和地之间加一颗0.1µF的小电容可以有效滤除高频噪声对EMC测试有实际帮助。我还遇到过一种情况某些带有快充协议的充电器在刚插入时会先输出一个低电压探测握手信号检测设备是否支持快充。这个过程会导致VBUS电压先低后高如果切换电路的阈值处理不当PMOS可能会在“USB插入但电压还没升到5V”的瞬间反复开关产生抖动。解决方法是给分压电阻加一个RC延迟滤波让栅极电压的变化速度慢于USB电压的建立速度。实测用R1串联100kΩ、并在栅极对地并联1nF电容后抖动问题基本消失。5. 常见问题排查速查表最后把这套电路在实际调试中遇到的高频问题整理成一张表这些问题基本覆盖了我见过的所有失败案例包括我自己踩过的。现象根本原因排查手段解决方案USB插入后电池仍有几十毫安电流分压电阻比值不对PMOS未完全截止示波器量VGS确认是否为负值调整R1/R2使栅极电压高于电池最高电压拔出USB瞬间MCU复位VOUT跌落幅度过大示波器抓拔出瞬间波形加大输出电容C1到22µF以上电池供电时VOUT压降过大PMOS没有充分导通RDS(on)太大量VDS对比VGS是否达到-2.5V以上确认R2是否正确接地更换RDS更小的MOSUSB未插入但电池被消耗很快PMOS漏电流过大或栅极受干扰万用表串联测电池端电流栅极加下拉电阻R2必要时加大到1MΩUSB插入瞬间PMOS发烫切换过渡时间太长MOS工作在线性区示波器看VGS上升时间减小R1阻值加速栅极充电电池电压倒灌回USB接口D1缺失或位置错误拔掉USB后量VBUS电压确保USB与VOUT之间有肖特基二极管隔离插入12V适配器后MOS损坏VGS超过栅极耐压查看MOS是否击穿栅极加12V稳压二极管钳位USB供电时VOUT只有3V左右D1压降过大或D1极性错误量D1两端电压检查二极管方向换SS34低压降型号补充一个很多人忽略的细节量VGS的时候示波器探头的地线夹子要直接夹在MOS管源极引脚上而不是夹在PCB的地平面上。因为大电流通路上存在走线阻抗源极到系统地之间可能有几十毫伏的压差这个压差会直接叠加到VGS测量结果里导致你看到错误的波形。探头地线越短测量误差越小。还有一点焊接SOT-23封装的PMOS时烙铁温度不要太高时间不要太长。我建议温度设定在320°C左右每个引脚焊接时间不超过3秒。AO3401这类小封装MOS管的热容很小焊太久容易损坏栅极氧化层当时不会表现出来但使用一段时间后会出现莫名其妙的漏电或者导通不良。如果做批量生产建议在PCB上预留测试点把VOUT、VBAT、VG、VBUS四根网络都引出来方便产测时快速测量。我做的小批量产品就在PCB背面加了一排4Pin的测试焊盘产线测试员用万用表探针一压就能完成全部电压测量排查效率高很多。关于这套PMOS自动切换电路我自己前前后后做了四五个项目从手持扫码枪到便携仪表都有在用实际表现稳定。每一次重新审视这套电路我都会提醒自己注意分压比、D1位置和输出电容这三个细节只要这三个点不出问题整个电源切换系统基本就不会掉链子。如果有朋友在调试中遇到这里没写到的异常欢迎在评论区把具体现象和测试数据贴出来大家一起分析这类电源切换问题往往最难的不是电路本身而是定位到到底是哪个环节没有达到预期。
企业数字化 ERP 产品动态
相关推荐
重庆大学PL0编译器五阶段实战工程 简介:本资源是重庆大学编译原理课程配套的完整实验实践平台,面向计算机专业本科生及编译技术自学者,聚焦PL0语言编译器从词法分析、语法分析、语义分析到中间代码生成、目标代码优化的全流程实现,有效解决理论抽象、动手困难、实验… · 2026/9/25 1:15:12
Python分支结构详解:if/elif/else语法、易错点与经典练习题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:15:12
Word大纲级别修改无效?底层逻辑与彻底修复指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:15:12
医疗大模型微调语料全流程:格式转换、清洗与配比实战指南 简介:面向大型语言模型微调训练的医疗数据集,适合算法工程师、医学信息研究者及有一定机器学习基础的初学者。资源整合了内科、外科、儿科、肿瘤科等科室的中文问诊对话,以及妇产科、男科、肝病等专科数据,并包含huatuo、llama、m… · 2026/9/25 2:14:53
基于特征线法MOC的水锤压力流量曲线计算:ZIELKE1基准算例复现与避坑指南 简介:一套基于特征线法(MOC)实现动态摩阻管道流动求解的仿真资源,面向计算流体力学初学者、管道瞬变流分析人员及开展数值仿真课程设计的工科学生。资源围绕一维非稳态管道流动问题,重点演示如何在特征线上离散连续性与… · 2026/9/25 2:14:53
Conventional Commits 1.0.0 规范全解读:从提交信息格式到自动化语义化版本 文档 【免费下载链接】conventionalcommits.org The conventional commits specification 项目地址: https://gitcode.com/gh_mirrors/co/conventionalcommits.org 点击查看 免费下载 本文基于本仓库中 约定式提交规范 v1.0.0 的乌克兰语版本(content/v… · 2026/9/25 2:14:47
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37