PART.01
核心功能介绍
在我们日常用的蓝牙音箱、充电宝、智能手环等设备中,里面都藏着一个这样的充电电路——它既要给锂电池充电(比如插电时给电池补电),又要在没插电时让电池给设备供电,还要防止电池过充、过放损坏。我们今天要分享这个电路,就素干这个的!
用一句话总结它的功能是:“锂电池充电+电源自动切换”二合一电路:
插外部电源(比如USB线)时,给锂电池充电,同时给后级设备(比如音箱、传感器)供电;当拔了外部电源后,能自动切换到锂电池供电,实现设备不断电;全程“自动操作”,不用手动换电源;同时单片机采集锂电池电量信息。
PART.02
核心芯片讲解
先来讲一下我们的核心芯片---“充电指挥官”:TP4055芯片(U3)
作用:负责给锂电池安全充电。
TP4055是一款采用恒定电流/恒定电压算法的单节锂离子电池充电器。TP4055可以适合USB电源和适配器电源工作。由于采用了内部 PMOSFET 架构,加上防倒充电路,所以不需要外部检测电阻器和隔离二极管。热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度 条件下对芯片温度加以限制。充满电压固定于4.2V,而充电电流可通过一个电阻器进行外部设置。当电池达到4.2V之后,充电电流降至设定值 1/10,TP4055将自动终止充电。-摘自TP4055数据手册
就像给手机充电时的充电器芯片——它会盯着锂电池的电压(比如锂电池满电是4.2V),没充满时控制大电流快充,快满时控制小电流慢充,充满后直接“断电”,防止电池充爆。
主要引脚:
5脚:充电电流设定、充电电流监控和停机引脚。在该引脚与地之间连接一个精度为1%的电阻器RPROG 可以设定充电电流。当在恒定电流模式下进行充电时,引脚的电压被维持在1V。PROG引脚还可用来关断充电器。将设定电阻器与地断接,内部一个2.5μA电流将PROG 引脚拉至高电平。当该引脚的电压达到 2.7V的停机门限电压时,充电器进入停机模式,充电停止且输入电源电流降至40μA。重新将RPROG 与地相连将使充电器恢复正常操作状态。
我们这里接的是2K的电阻,由表格可知,我们所对应的充电电流是400mA。
4脚:接外部电源(我们这里是USB输入,TP4055 能从一个USB 电源获得工作电源);
3脚:充电电流输出,该引脚向电池提供充电电流并将最终浮充电压调节至4.2V。我们这里接的是锂电池(直接给电池送电),C3在这里是作为旁路电容。
1脚:充电状态指示输出,用于告诉单片机我有没有在充电(因为我这个引脚连的是单片机,也可以接一个led灯,如下图)
PART.03
详细讲解
主要参数:单片机ADC采样电压为0-3.3V,锂电池工作电压3.7V-4.2V,芯片给电池的充电电压是4.4V,PMOS管VGS(ON)=-0.7V,肖特基二极管正向导通电压为0.3V.
1:当插了外部电源(接了USB线)
第一步:外部电源“同时干两件事”一路给TP4055芯片供电,芯片启动后,通过连接锂电池的脚,给电池充电(充电过程由TP4055全程监控,充满自动停);另一路通过二极管D1,MOS管Q7,直接给后级设备(比如音箱的主板)供电。此时锂电池“歇着”,不放电!
电池供电的通路(MOS管Q1关闭)截止,优先用外部电源给后级电路供电,这样既高效又避免电池反复充放,就像我们给手机充电的时候,手机照样能工作,此时给手机提供电的就是我们的电源。
2:当没插外部电源(拔了USB线)
锂电池“自动上岗工作”:外部电源消失后即VCC-SYS为0V,此时换锂电池给后级电路供电,假设电池充满电时的电压为4.2V,开关闭合,我们可计算看下Q1所处的状态,如下图
瞬间Q1的体二极管导通,导通压降为0.7V,与此同时,Q1的沟道打开,等效电阻极小,相当于一根导线和二极管并联,二极管被短路,我们假设此时沟道的等效电阻为0.1Ω,电池的输出电流为100mA,再计算此时的电压,如下图,两个mos管均导通,实现了低功耗传输给后级电路供电,维持设备工作。此时只有电池在供电,直到外部电源重新接入,再自动切换回去。
其中D1我们这里用的是肖特基二极管,相较于普通二极管功耗会更低些,如果没有这个二极管的话,那M点的电压就不是0V了。R7一端连接MOS管Q2的栅极,另一端接地,它会将MOS管Q2的栅极电平下拉到接近地电平(0V),在这里相当于一个下拉电阻,让MOS管Q1的栅极电平处于一个稳定、可预测的状态,确保电路能够可靠地工作。
R5,R6这里是给单片机分压采样用到的分压电阻
我们这里连的是单片机,我们想要知道锂电池的电量,就相当于是电压翻译器”,把锂电池的高电压翻译成单片机能懂的低电压信号,让单片机通过ADC采样就能知道电池电压,进而算出电量显示。
常见问题答疑
THE Q&A
-
为啥不让电池同时放电?
外部电源给电池充电,此时电池是作为负载,而且电流的流向是单向的,我们所说的电池和外部电源同时给后级电路供电的情况是后级需要很大的电流,此时需要电源和电池一起供电,而且此时电池没有被充电,电池的电量也是逐渐降低的状态,这种情况已经很少见了。
-
为啥要分压采样?电阻比例为什么那么分配?为啥要选用那么大的两个电阻?
单片机ADC采样电压为0-3.3V,锂电池工作电压3.7V-4.2V,如果不分压采样那当电池电压大于3.7V时单片机就都会显示为满电,4.2*3/4=3.15V,我们是尽量让锂电池最大电压靠近ADC采样的电压,这样显示会更加的准确,至于为什么那么大,就是为了减少功耗,这两个电阻是直接并联在电池两端的,所以不管后级电路是否开关,只要电池有电,这两个电阻就会耗电,所以尽量选的大一些。