3.7V锂电池升5V充放电电路:选型、布局与验收

发布时间:2026/11/4 15:03:23
3.7V锂电池升5V充放电电路:选型、布局与验收

简介:面向便携设备与嵌入式电源设计的3.7V锂电池5V充放电电路资料包,聚焦锂电池安全充电、放电保护及5V输入适配问题,适合电子工程学生、硬件工程师和物联网开发者用于课程设计、原型验证与方案复盘。压缩包约3.27MB,文件总数上游暂未完整提供,包内以STM32封装库、电源芯片PDF规格书、设计历史记录和电源电路设计图等为主,覆盖控制单元、充电管理与PCB实现环节。已有2257人学习下载。读者可据此梳理5V电源至3.7V/4.2V锂电池的充电架构,理解过充保护、电压电流监测、充电策略调整及低干扰PCB布局,并参考器件选型与版本演进记录,兼顾效率、安全性与系统整体功耗等权衡,为便携式设备电源模块的设计、调试和优化提供较完整的工程思路。

1. 需求切入:3.7V 锂电池到 5V 输出的这条链路,为什么要单独做成一块板

手上只有一节 3.7V 锂电池,后级却要 5V——这类需求在课程设计和中小批量产品里出现得非常频繁:传感器板要 5V、小风扇要 5V、某些通信模组只接受 5V。飞线接一颗升压模块确实能让灯亮起来,但真要做成一块能交付的 PCB,充电、保护、升压、指示这四件事必须在一张板子上形成闭环,任何一段偷懒,都会在验收当天暴露出来。这套 3.7V 锂电池 5V 充放电电路方案面向的就是这个场景:单节锂电供电、5V 输出 500mA 上下、Type-C 或 Micro-USB 进电、板子面积控制在硬币到名片之间。它要解决的重点是“能不能边充边带载、能不能过流保护、能不能拿数据量化验收”,能不能亮还在其次。

2. 系统方案与器件选型:充电、保护、升压、指示四段链路怎么分工

把这条链路拆开看,其实是四个功能段:进电与充电管理、电池保护、直流升压、状态指示。四段串在同一条电流路径上,前后顺序不能乱:USB 进来先给充电管理,充电管理的输出接电池,电池和保护板之间是保护 MOS,保护 MOS 之后再进升压。搞反了顺序,就会出现“保护板动作了但充电芯片还在傻充”这种拧巴状态。

2.1 从电池电压窗口倒推拓扑:线性充电还是开关升压

先看电压窗口。单节锂电的工作区间大约是 3.0V 到 4.2V,充电末端 4.2V,放电截止 3.0V。USB 输入是 5V,充电方向是 5V 降到 4.2V,压差只有 0.8V 到 1.8V,这个场景下线性充电是最省事的选择:外围只要一颗电阻设定电流、两颗电容滤波,没有电感就没有 EMI 麻烦,也没有开关噪声干扰后级采样。代价是发热,功耗等于(输入电压减去电池电压)乘以充电电流,1A 充电时最坏情况要烧掉 1.8W,这颗芯片的散热必须在 PCB 上用铜箔解决。

反过来,放电方向是 3.0V 到 4.2V 升到 5V,只能是升压拓扑。降压在这里完全不成立,电池电压永远低于 5V。升降压虽然能覆盖电池掉到 3.0V 以下的极端情况,但外围多一倍器件,课程设计的板子面积根本放不下,而且效率在 3.7V 输入时并不占优。所以结论很干脆:充电走线性,放电走升压,中间用保护电路兜底。

还有一种常见做法是直接上一颗“充放电一体”的电源管理芯片,集成度高、外围少、能省一半布局功夫。我不太推荐用在需要答辩或者需要交付文档的场合:这类芯片内部是个黑匣子,充电曲线、保护阈值、升压频率全靠数据手册几行字,一旦出问题你连探针都没地方下。分立方案每一段的电压电流都能拿万用表量出来,出了问题能定位到具体那一颗,这在验收环节价值巨大。

2.2 关键器件参数与 BOM 收敛

选型阶段最忌讳“看到别人用啥就用啥”,参数得从需求倒推。下面这张表是这套方案的核心器件清单,每颗器件后面都跟着它为什么在这儿。

位号器件类型关键参数在这条链路里的职责
U1线性锂电充电管理输入 4.5–5.5V,截止 4.2V±1.5%,SOP-8 带散热焊盘把 5V 恒流恒压充进电池
U2单节锂电保护过充 4.25V、过放 2.4V、过流检测 150mV电池的最后一道物理防线
Q1双 N-MOS 共漏耐压 20V,导通内阻约 25mΩ/路受 U2 驱动,切断充放电回路
U3升压转换器输入 2–24V,内部 2A 开关,开关频率 1.2MHz,反馈 0.6V把电池电压抬到稳定 5V
L1功率电感4.7µH,饱和电流 ≥2A,屏蔽式储能,决定纹波和效率
D1肖特基二极管40V/3A,VF ≤0.5V升压续流,必须外置
R1/R2反馈分压1% 精度,73.2k / 10k设定 5V 输出
R3充电电流设定1% 精度,1.2k设定 1A 充电电流
C1–C6陶瓷电容X5R/X7R,10µF 与 22µF输入输出滤波、去耦

BOM 收敛的关键是别让同一类器件出现三种规格。电容统一到 10µF 和 22µF 两档、0603 或 0805 封装;电阻统一 1% 精度、0603 封装;电感只留一颗。规格收敛之后采购简单,焊接容错也高,手贴样板的时候不至于拿错料。

2.3 电源路径与状态指示的取舍

这里有一个几乎所有人第一次做都会踩的坑:线性充电芯片没有电源路径管理。也就是说不做任何处理的话,输出端直接从电池取电,插着 USB 的时候负载电流会叠加在充电电流上。后果是充电终止判据失效——芯片检测到电流没降到终止阈值,就一直涓流充下去,电池永远到不了 100%,长时间高温还会加速衰减。

常规做法是加一条负载共享路径:电池正极串一颗 P 沟道 MOS 或者理想二极管,USB 在的时候由 USB 通过肖特基直接给升压供电,同时 P-MOS 被拉高关断电池放电通路;USB 拔掉之后 P-MOS 导通,改由电池供电。这样做之后,充电电流只走电池,负载电流只走 USB,两边互不干扰,终止判据才是准的。代价是 USB 带载时多一个肖特基的压降,5V 输入会掉到 4.6V 左右,如果后级对 5V 精度要求高,就得换理想二极管方案。

状态指示直接接芯片的开漏输出脚,充电中亮红灯,充满亮绿灯。LED 限流电阻按 1mA 到 2mA 算,取值 1k 到 2k。别图省事用 330Ω,两个灯加起来十几毫安,静态功耗直接吃掉你辛苦优化出来的待机指标。

3. 电路设计细节:充电电流、保护阈值与 5V 反馈网络怎么算

方案定了之后,真正决定这块板子好不好用的就是三个数字:充多大电流、保护在哪个点动作、输出到底稳不稳。这三个数字都能算出来,算完再画图,比画完再调省太多时间。

3.1 充电电流与 PROG 电阻:把 1A 的目标拆成发热预算

充电电流由 PROG 脚对地的电阻设定,关系近似为 I = 1200 / R,电流单位安培、电阻单位欧姆。1A 对应 1.2kΩ,0.5A 对应 2.4kΩ。这个公式来自芯片内部 1.2V 基准与电流镜的比例,不是线性的随便猜。

# 充电电流与功耗估算:先算电阻,再算这颗芯片到底要烧多少瓦 def charger_budget(vbus=5.0, vbat=3.7, ibat=1.0, eta=1.0): # 1) PROG 电阻:I = 1200 / R → R = 1200 / I r_prog = 1200 / ibat # 2) 线性充电的耗散 = (输入 - 电池) × 电流 p_chip = (vbus - vbat) * ibat # 3) 结温估算:SOP-8 带散热焊盘,热阻约 50℃/W(有足够铜箔时) t_junction = 25 + p_chip * 50 return r_prog, p_chip, t_junction for i in (0.5, 1.0, 1.5): r, p, tj = charger_budget(ibat=i) print(f"I={i}A Rprog={r:.0f}Ω 耗散={p:.2f}W 估计结温={tj:.0f}℃")

跑出来三个结果:0.5A 时耗散 0.65W、结温约 58℃,1A 时耗散 1.3W、结温约 90℃,1.5A 时耗散 1.95W、结温已经越过 120℃。这就是为什么电池 3.7V、输入 5V 的场合,1A 是个经验上的天花板——不是芯片不给你大电流,是封装散不出来。

参数怎么改:如果电池容量只有 500mAh 到 800mAh,直接把 R3 换成 2.4kΩ,充 0.5A,一小时多一点充满,芯片温度也舒服。如果一定要 1.5A 以上,别死磕线性方案,换开关充电或者加输入降压到 4.5V 减小压差。

还有两个容易忽略的细节。一是 PROG 脚对地那颗电阻的走线要短,它走的是微安级参考电流,走线长了容易被开关节点耦合,实测充电电流会莫名偏小。二是芯片温度检测脚,如果电池包没带 NTC,不能就这么悬空或者接地,得用两颗电阻搭个分压,模拟 25℃ 附近的正常温度,否则芯片会误判电池过温直接停充。

3.2 保护电路:DW01A + 8205A 的阈值与内阻账

保护电路只有两颗器件,但它是整块板子上最不能出错的部分。过充保护点通常在 4.25V 到 4.3V 之间动作,释放点 4.05V 左右;过放保护点 2.4V 动作,3.0V 释放;过流保护靠检测 MOS 上的压降,检测阈值 150mV 左右。

过流点算起来很简单,但很多人算错,因为把双 MOS 的内阻当成一路算。

# 过流保护点估算:DW01 检测 150mV,8205A 双管串联 def ocp_point(rdson_each=0.025, vdet=0.15, margin=1.2): # 充电管与放电管在保护时串联导通,内阻相加 r_total = rdson_each * 2 i_trip = vdet / r_total # 实际动作点受温度与器件离散性影响,留 20% 余量看下限 return i_trip, i_trip / margin i_nom, i_min = ocp_point() print(f"标称动作电流≈{i_nom:.1f}A,最坏情况可能低至{i_min:.1f}A")

按 25mΩ 一路算,串起来 50mΩ,150mV 除下来是 3A。但要注意两点:内阻随温度上升会增大,冬天和夏天动作点能差 30%;以及升压电路在启动瞬间有浪涌,如果电池内阻偏大、线又细,浪涌电流一冲就触发保护,表现就是“插上负载,输出闪一下就没了”。解决思路是把升压的软启动做起来——在使能脚加 RC 延时,或者选带软启动的升压芯片,让输入电流缓慢爬升。

短路保护不需要单独设计,同一个检测机制在毫伏级压差下就会动作,动作时间在微秒级。真正要做的是布局上让电池正极到保护 MOS 再到升压输入这条路径尽量短、尽量粗,别在保护动作之前先让走线烧了。

3.3 5V 升压的反馈分压与电感选型

升压输出由反馈分压决定,公式是 Vout = 0.6 × (1 + R1/R2)。要 5V,就得让 R1/R2 等于 7.333。取 R2 等于 10k,R1 就是 73.3k,标准 E96 系列里 73.2k 最接近,实际输出 4.992V,落在 ±1% 以内。

# 反馈分压与电感选型 def boost_design(vout_target=5.0, vfb=0.6, r2=10_000, vin=3.7, iout=0.5, f_sw=1.2e6, ripple_ratio=0.3, eta=0.88): r1 = r2 * (vout_target / vfb - 1) # 输入平均电流 = 输出功率 / (输入电压 × 效率) iin = iout * vout_target / (vin * eta) # 纹波电流取输入电流的 30% d_il = iin * ripple_ratio # 升压电感公式 L = Vin × (Vout - Vin) / (ΔIL × f × Vout) l_ideal = vin * (vout_target - vin) / (d_il * f_sw * vout_target) return r1, iin, d_il, l_ideal * 1e6 r1, iin, d_il, l_uh = boost_design() print(f"R1≈{r1/1000:.1f}kΩ 输入电流≈{iin:.2f}A 纹波≈{d_il:.2f}A 理论电感≈{l_uh:.1f}µH")

算出来理论电感 1.8µH,但别真按这个值下单。升压电路在峰值电流模式下,电感太小会让纹波电流变大、开关损耗上升、轻载时容易进入跳周期模式导致输出纹波杂乱。工程上取理论值的 2 到 3 倍,选 4.7µH,纹波电流降到 0.17A 左右,效率和稳定性都好很多。饱和电流按输入峰值电流的 1.5 倍选,也就是 2A 以上,屏蔽式封装能少很多辐射骚扰。

输出电容 22µF 陶瓷起步,输入电容 10µF,都靠芯片引脚放。肖特基必须用低正向压降的型号,普通整流管在这位置上发热明显、效率掉 5 个点以上。

4. PCB 布局与热设计:功率回路、采样回路、指示回路怎么分开

原理图对了不代表板子能用,这条链路上的问题八成出在 PCB 上。核心原则一句话:大电流回路围成最小面积,小信号采样点远离开关节点。

4.1 分区与层叠:把 1A 回路关进小面积

两层板、1.6mm 厚、1oz 铜,是这类小板子的性价比最优解。四层板当然更好,但对这个功率等级属于过度设计,成本也不划算。

布局上按功能切成三块。左上角是 USB 入口和充电管理,输入电容紧贴连接器,充电芯片的散热焊盘朝板内、靠大块铺铜;中间是电池焊盘和保护电路,保护 MOS 要放在电池正极出来的第一站,路径越短越好;右侧是升压电路,电感、肖特基、输出电容围成一个直径不到 10mm 的小圈,这个圈里不许走任何信号线。

底层整片铺地,但要注意开关节点下面是禁止铺铜的——升压芯片的 SW 脚和电感之间的那段铜皮是整块板子上 dv/dt 最高的地方,下面铺地就等于做了个电容,把噪声耦合到地平面,再串到反馈分压上,表现就是输出纹波上叠着开关频率的毛刺。

4.2 走线宽度与过孔数量怎么算

电流路径的线宽靠经验拍脑袋最容易翻车。1oz 铜、允许 10℃ 温升的常规条件下,1mm 线宽大约能过 1A,但这是理想散热条件。实际要留余量。

# IPC-2221 载流估算:I = k × ΔT^0.44 × A^0.725 def trace_width_mil(current, dT=10, k=0.048, oz=1.0): area = (current / (k * dT ** 0.44)) ** (1 / 0.725) # mil^2 return area / (oz * 1.378) # 1oz ≈ 1.378mil 厚 for cur in (0.5, 1.0, 2.0): w = trace_width_mil(cur) print(f"{cur}A → 外层约 {w:.0f}mil ≈ {w*0.0254:.2f}mm")

三个结果分别是 0.5A 需要 0.28mm、1A 需要 0.67mm、2A 需要 1.6mm。这是外层、10℃ 温升的保守值。内层散热差,同样电流线宽要再放大一倍。

实际画板我会这么定:USB 到充电芯片、电池到保护 MOS、保护 MOS 到升压输入,这三段全部走 1.5mm 以上,双面走线并联更保险;升压输出到负载走 1mm;其余信号线 0.25mm 足够。过孔方面,一个 0.3mm 孔径、25µm 镀铜的过孔按 0.8A 估算,1A 的路径至少打两个,2A 打四个,并且要分散开,别挤在一处。

4.3 充电芯片的散热焊盘:把 1.3W 热量导出去

充电芯片的散热焊盘是整个布局里最需要认真对待的地方。按 1A 充电算,1.3W 的热量要全靠这块铜皮散出去。做法是:散热焊盘正下方打 9 个 0.3mm 过孔,间距 1.0mm 到 1.2mm,过孔必须盖油或者塞孔,否则回流焊时锡膏会顺着孔流走,形成空焊;焊盘在顶层和底层各铺一块至少 10mm × 10mm 的铜,两块铜都连到地。

评估散热够不够,可以用热阻粗算:1.3W 乘以 50℃/W 等于 65℃ 温升,加上 25℃ 环境温度,结温约 90℃,芯片的过温保护点一般在 150℃ 附近,还有 60℃ 余量,安全。但如果铜皮只有 5mm × 5mm,热阻翻倍到 100℃/W,结温直接到 155℃,芯片会进入热调节状态,充电电流自动往回缩,实测表现就是“充着充着电流掉到 300mA”,很多人以为是芯片坏了,其实是散热没做够。

5. 避坑与排查:五类最容易翻车的现场问题

5.1 现象:充电电流只有设定值的一半,芯片摸着烫手

原因是散热不足导致芯片进入热调节。线性充电芯片内部有热反馈环路,结温接近限值时自动降低充电电流,这属于保护机制,不表示芯片坏了。解决方式:检查散热焊盘的过孔数量和底层铜面积,把输入电压从 5.2V 降到 5.0V 减小压差,或者直接把充电电流降到 0.5A。三种手段里,缩小压差的效果最立竿见影。

5.2 现象:插着 USB 边充边用,电池永远充不满,绿灯不亮

原因是没做电源路径管理,负载电流混进了充电电流,终止判据失效。解决:按前面说的加 P-MOS 加肖特基的负载共享路径,让充电电流和负载电流分开走。如果板子空间实在不够,退一步的做法是把充电电流设大一些,保证负载取走之后剩下的电流仍能触发终止判据,但这只是缓解,不是根治。

5.3 现象:升压空载 5V 正常,一带 300mA 就掉到 4.5V 以下

原因通常是电感饱和电流不够或者走线太细。廉价电感标称 4.7µH,实际饱和电流只有 1A,输入峰值电流一冲上去电感量骤降,输出电压直接塌。排查方法很简单:示波器看 SW 脚波形,如果占空比已经拉到极限但输出还在掉,基本就是电感饱和。解决:换饱和电流 2A 以上的屏蔽电感,同时把电池到升压输入那段走线加粗到 1.5mm。

5.4 现象:电池装上去,输出端一点电压都没有

原因是保护板进入了锁死状态。触发条件可能是装机瞬间的浪涌、可能是电池电压已经低于过放点、也可能是焊接时静电打到了保护芯片。排查顺序:先量电池正极和保护板输出端之间的电压,如果有 3V 以上压差,说明 MOS 是关断的;再用可调电源在输出端加一个略高于电池电压的电压,模拟充电器接入,保护芯片检测到充电动作会自动解锁。如果反复锁死,那就要查是不是负载侧有持续的小电流放电,让电池慢慢掉到过放点。

5.5 现象:插拔 USB 的瞬间,后级单片机复位或者死机

原因是输出电容容量不够,插拔瞬间负载电流突变导致输出跌落,跌到后级欠压复位点以下。解决:输出电容从 22µF 加到 47µF,并且紧贴负载端放;同时在升压使能脚加一个 RC 延时,让输出建立之后再让负载上电。如果后级对电压跌落特别敏感,可以在输出端加一颗电压检测芯片,输出稳定之后再释放后级的复位信号。

6. 验收与答辩:一台可调电源加一台电子负载,把指标逐项固定下来

验收环节最怕的就是“我觉得它能用”。把每个指标写成表格、逐项打勾,答辩的时候把表格往投影上一放,比说十句“功能正常”都管用。这套方案的验收清单我一般按下面这张表走,测试条件统一为室温 25℃、输入 5.0V、电池用模拟电源替代。

序号测试项测试方法合格判据
1充电电流精度模拟电池 3.7V,串电流表设定 1A 时实测 0.9–1.1A
2充电截止电压模拟电池缓升,看电流拐点4.20V ± 0.05V
3再充电阈值充满后缓慢放电4.05V 附近重新充电
4空载输出电压电子负载 0A5.0V ± 0.1V
5满载输出电压电子负载 500mA≥ 4.85V
6输出纹波示波器 20MHz 带宽,AC 耦合峰峰值 < 50mV
7转换效率输入功率除以输出功率3.7V 输入满载 ≥ 85%
8过放保护模拟电池降至 2.4V输出关断,3.0V 恢复
9过流保护电子负载拉电流3A 左右动作,不损坏
10充电温升1A 充电 30 分钟,热电偶贴芯片壳温升 < 40℃

测试顺序有讲究,先测静态再测动态,先测空载再测满载。纹波这一项必须用示波器探头的地弹簧,不能用长地线夹,否则测出来的 200mV 全是你自己引入的环路噪声,白折腾半天。

答辩的时候,评审最常问的三个问题是:为什么选线性充电不选开关、保护电路的过流点怎么定的、效率为什么只有 85%。前两个按前面的计算过程回答,第三个要主动说清楚损耗分布——开关损耗、电感直流电阻损耗、肖特基正向损耗各占多少,能说出来说明你真的算过。如果时间允许,把示波器波形截图放进 PPT,纹波和 SW 波形各一张,比任何文字都有说服力。

从那以后我每次打样前都强制走一遍这个流程:先按表格把判据写死,再去画板子,画完对着表格反查每一处布局是不是为这些指标服务的。有一次省掉了第 4 项空载测试,板子回来才发现反馈电阻焊错了一个数量级,输出 12V,把后级模组全烧了——那次之后,验收清单再没敢跳项。希望这套结构能帮到你,把这块小板子一次性做对。

本文还有配套的精品资源,点击获取