这是一个电路测试板,能够实现下面的功能:
- 锂电池充放电管理,5V输出
- 按键开机,MCU 控制关机(自己给自己切断电源)
- 5V升压
整体电路图如下,可以看到分成四部分:锂电池充放电(第一部分),一键开机和MCU关机(第二部分)、5V升压(第三部分)和锂电池座(第四部分):
首先介绍第一部分,核心是 IP5306模块,接口部分定义如下:
引脚 | 功能 | 介绍 |
1 | USBIN | Pin1是 USBIN ,连接 MCU ,设置为 INPUT_PULLUP,当USB充电时,会被拉低;当没有充电时会设置为高。从而MCU通过读取这个GPIO 能够得知当前是否有正在进行充电。IP5306 没有反映当前充电状态的引脚,所使用这个设计来获得充电状态; |
2 | OUT1 | Pin2 是5V输出。当没有对外供电时,这里有4V 左右的电压输出;当外部插入取电时,或者SW2按钮按下时,这里会有5V输出; |
3 | GND | |
4 | BATIN | 连接电池正极输入; |
5 | GND | |
6 | BAT_ADC | 一个分压输出,MCU 的 ADC 能够获得当前的电池电压信息 |
此外这部分的 SW2是一个按钮,短按可以让 IP5306输出5V,再次按下会切断输出,如果负载<50ma,那么 45s之后也会停止输出
接下来是第二部分:
这部分根据【参考1】而来,很好用。接口定义如下:
引脚 | 功能 | 介绍 |
1 | IN2 | 输入(第一部分输出的OUT1 可以接入这里) |
2 | OUT2 | 控制后的输出 |
3 | IN2 | 同上 IN2 |
4 | OUT2 | 同上 OUT2 |
5 | CTRL | 输出控制脚,初始时MCU 需要通过 CTRL对这里输入一个高电平,当需要断电时CTRL输入低电平随即切断Pin2的输出 |
6 | GND | |
这部分也带有一个按键,按下之后 Pin2 即可输出(需要按的稍微长一些,保证MCU 的 CTRL能够输出高电平)
第三部分,基于MT3608 芯片的5V升压设计,具体芯片 DataSheet可以在【参考2】看到,这个也是也是来自开源广场别人的设计(不过忘记是哪篇了,找了一下没找到),接口定义如下:
引脚 | 功能 | 介绍 |
1 | IN3 | 电源输入,例如输入3.3V |
2 | OUT3 | 电源输出,5V |
3 | IN3 | 同上IN3 |
4 | OUT3 | 同上OUT3 |
5 | GND | |
6 | GND |
简单功耗测量,测试方法是在电池串联万用表测量电流。5V对ESP32 S3 板【参考3】输出时,电流在90ma左右;MCU 切断供电后,电流在5ma左右;经过45s后IP5306自动断电后电流在0.04ma左右。
工作视频在:
https://www.bilibili.com/video/BV1EM4y167XK/
上述主要芯片除了电容电阻,其余都是购买自立创商城,有兴趣的朋友可以实验。
参考:
- https://oshwhub.com/armxu/kai-ji-zi-dong-guan-ji-dian-lu
- https://atta.szlcsc.com/upload/public/pdf/source/20161110/1478743351706.pdf
- https://mc.dfrobot.com.cn/thread-315546-1-1.html