
一、需要解决哪些问题
我们要设计一个电池,首先要考虑以下三个问题:
1.锂电池充电分为几个阶段,每个阶段都做了什么?
2.充电过程中有哪些保护措施?
3.是否涉及高低电平转换?
4.如何通过机械开关实现供电和断电?
那么下面我将从这几个问题来针对性的讲解。
二、回答问题
以下几个回答借鉴了大佬们的回答:
3.7V锂电池供电系统设计(含充电、保护、供电及电源切换电路器件选型和原理图)_电池供电电路-CSDN博客
1.锂电池充电分为几个阶段,每个阶段都做了什么?
锂电池充电分为涓流充电、恒流充电、恒压充电以及充电终止。
锂电池充电方式是限压恒流,都是由IC芯片控制的。典型的充电方式是:
先检测待充电的电池的电压,如果低于3V,先进行预充电,充电电流为设定电流的1/10,电压升到3V后,进入标准充电过程。标准充电过程为:以设定电流进行恒流充电,电池电压升到4.20V时,改为恒压充电,保持充电电压为 4.20V。此时,充电电流逐渐下降,当电流下降至设定充电电流的1/10时,充电结束。
2.充电过程中有哪些保护措施?
可充型锂电池都会连接一块充放电保护电路板(常简称保护板)来保护锂电池的安全。
保护类型有:过充保护和过压保护,还有短路保护
那么保护电路怎么画呢?一般是设计一个自恢复保险丝、浪涌二极管
(1)自恢复保险丝选型--过流保护
在选择自恢复保险丝的时候,需要确定选择熔断电流多大,那么就得去看所有负载的说明书,把全部工作电流加起来。比如我之前做的这个模块V1.0:
并且要给一点裕度,这里410不能就410,得选500mA以上的保险丝。这个也叫电路的功耗,最简单粗暴的估计方法。
(2)浪涌二极管选型--过压保护
选择浪涌二极管就要考虑到参数选择,分别有以下三个参数,参考了链接:https://blog.csdn.net/u010783226/article/details/146253237
工作电压(VRWM)
- 定义:TVS可长期稳定工作的最高电压。在VRWM下,TVS处于截止状态,漏电流极小(通常<100nA)。
- 关系:VRWM < VBR,通常取VRWM ≈ 80%~90% VBR。
击穿电压(VBR)
- 定义:TVS进入雪崩击穿的阈值电压,一般指通过1mA电流时的电压值,测试时间需≤400ms以避免器件损坏。
- 范围:规格书中标为VBR_min~VBR_max,设计时需确保VBR_min > 系统最大工作电压,例如若系统最大电压为30V,则选VBR_min≥32V
钳位电压(VC)
- 定义:施加峰值脉冲电流(如8/20μs波形)时,TVS两端的最大限制电压。
- 关系:VC > VBR,且必须满足VC < 被保护电路的耐受电压。例如,若芯片耐受电压为50V,则选VC_max ≤45V。
系统正常工作峰值电压 < VRWM < VBR < VC< 被保护电路的耐受电压
看我的锂电池,充满电的情况下电压是多少?我这里是3.3V,那就选择VRWM在3.3的,VBR选择大于3.3到6之间的。这里问了一下AI,选择理由如下:
3.是否涉及高低电平转换?
这里我们使用的MCU里面就已经有电压转换了,所以暂时不需要。但如果遇到需要转换成指定电压的情况,就要考虑用LDO(低压差线性稳压器)还是用DCDC(直流转直流电源)。参考了大佬电源芯片选择DC/DC还是LDO?_8v的稳压用ldo还是dc-dc-CSDN博客
(1)LDO和DCDC的优劣
LDO就是针对压差小,效率要求不高的环境,并且只能降压,输出电流和输入电流差不多,外围电路少,简单;
而DCDC可以解决压差大的电路,效率很高,既可以升压也可降压,静态电流小,但是外围电路复杂,成本高。总结就是升压只能选择DCDC,但是降压可以根据实际情况选择LDO还是DCDC。
(2)针对降压的情况,有哪几种DCDC变换方式,他的内部结构是怎样的,从输入电压怎么推导输出电压(这个电路图是要背的)
降压型(Buck)转换器按整流方式不同,分为异步整流型Buck和同步整流型buck:(借用了别人的图,有侵私我删)


当开关管S1闭合时,电感L被充磁储能,流经电感的电流线性增加,同时给电容C充电,给负载RL提供能量,此时Vout电压缓慢上升,若S1一直闭合则最终Vout会近似等于Vin电压(S1有耗损压降): 当开关管S1关断时,储能电感L续流放电,电感电流L线性减少,输出电压Vout靠输出电容C放电,Ic以及减小的电感电流L维持缓慢下降,若S1一直保持关断,则Vout会最终降至0V;
插一句:电感的特性如下(很重要)
同步和异步的区别和特点:
同步和异步的区别从外部来看是同步的没有二极管。
BUCK的输出电流是分成两个部分的,一个部分是来自电源,一个部分是来自异步电路中的电感续流,电感起到一个续流的作用,同步电路把异步中的二极管用一个内置的MOSFET给替代了,但是这个MOSFET的开和关需要芯片内部额外的控制电路来保持和开关MOSFET的相位关系。
从性价比、可靠性和高电压输出场景表现,优先选择异步BUCK电路。从功耗、效率和非连续工作场景噪声表现,优先选择同步BUCK电路。
(3)LDO和DCDC的效率计算公式
LDO:效率=输出电压/输入电压
例:5V→3.3V,效率仅66%,剩余电压全变热量!
DCDC:效率=输出功率/输入功率
4.如何通过机械开关实现供电和断电?
这个就比较简单了,主要看机械开关的工作电压和工作电流,必须要超过之前算出来的工作电流。
这个显然满足条件,但是这个封装属于插件,注意最好选择SMD封装,就是贴片的,这样体积更小。
三、实际电路


完结撒花!都看到这里了!不点个关注吗?主页还有更详细的教程哦!🥺🥺🥺
推一下系列文章,跟着做完你就完成一个大项目啦!👉🏼👉🏼👉🏼
【手把手教百分百学会】UART一对多通信实验带原理图、硬件连接、程序、电阻和二极管三极管选择说明-CSDN博客
【手把手教百分百学会】实时采集音频数据并使用SD卡保存音频,并画出波形图-CSDN博客
【手把手教画板子】整理画过的SCH/PCB工程供日后参考-CSDN博客
【手把手教】arduino的gfx库驱动GC9A01屏幕显示图片和温度计示数_arduino gc9a01-CSDN博客
【手把手教百分百学会】做出一个温度计--使用TMP101测量温度-CSDN博客
【手把手教百分百成功】ubuntu20.04的Zephyr安装+烧录示例程序IMU姿态加速度计陀螺仪-显示传递数据_zephy ide烧录-CSDN博客
❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️
//这是一段测试代码,和前文无关~~~
#include <Adafruit_TinyUSB.h>
#include <Wire.h>
#define PCA9536_I2C_ADDR 0x41 // PCA9536的I2C地址
#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
#define MAX_DATA_COUNT 100 // 定义最多存储的数据条数
String gpsDataArray[MAX_DATA_COUNT]; // 定义一个字符串数组
static const int RXPin = D7, TXPin = D6;
static const uint32_t GPSBaud = 9600;
int counter = 0; // 定义一个变量,初始值为0
// The TinyGPSPlus object
TinyGPSPlus gps;