锂电池充放电电路设计与分析

2023-11-06

Lithium battery charge

锂电池充放电电路

Schematic_Lithium battery charge_2021-09-23

1. USB插入检测电路

image-20210923165326688

1.1 FUSE1 : 自恢复保险丝,当后续的电路发生短路等故障时,自动启动保护作用来保护外围的电源,避免损坏。

因为经常出事故一般是电源出事故了,电源短路,如果你的电源没有保护功能,电源就可能发生烧坏等事故。因此,我们在设计 一款产品时,就要保证我们的内部电路不受损坏,同时也要保证不连累跟外接相连的其他外围电路。

选取FUSE为8v/1.1A的规格值,因为我们的这个电路正常工作时候,也就三四百毫安的电流,发生短路的时候,会瞬间产生较大的短路突变电流。

1.2

  • 【100uf电解电容+ 1uf电容】 对USB输入电压进行稳压滤波。
  • 【IS_USB_IN】当USB插入,连接三极管的基极的线路便有电流,驱动Q1导通,IS_USB_IN电位被接地的e极拉低。IS_USB_IN便可连接到MCU上作为检测USB是否插入进行判断,可用于充电动画等UI执行的条件、后期调试、售后产品检修等。

image-20210923171146383

2. Battery充放电电路

image-20210923172731555

2.1 连接PROG引脚的R2的值,决定充电电流,具体参照芯片手册。TEMP引脚可以检测电池温度,不需要该功能就直接接地。

2.2 充电状态可以通过CHRG#,STDBY#引脚检测。当处于充电中,CHRG#输出低电平;充电完成,STDBY#输出低电平。

2.3 【BAT_ADC】实时电池电压值。可以连接到MCU的ADC引脚,进行ADC相关转换配置后,提供给系统UI实时显示电池电压值。

2.4 两个P类型的MOS管的作用:

  • PMOS-A : 默认状态下,USB未插入,USB_OUT = 0, PMOS-A通过一个下拉电阻R5下拉到地,PMOS-A的G端低电平,PMOS_A导通,电池电流通过PMOS-A, PMOS-B(假设总电源开关闭合),给V_TO_SYS供电。

  • PMOS-B的 通断由连接它G端的电源开关电路决定;

    • 开关未拨到GND端,PMOS-B的G端 被上拉电阻R6连接的电池总路或USB供电路拉到高电平,PMOS-B导通。

    • 开关拨到GND端,G被拉低,从而PMOS-B截止,V_TO_SYS无法获取电源,相当于系统关机。

  • 当总电源开关SS12D11处于GND一端的前提条件下,两个MOS组合就实现了如下功能:

    1. 插入USB充电时候, PMOS-A截止,V_TO_SYS由 【 USB_OUT -> IN5158 -> PMOS-B -> 稳压滤波 -> V_TO_SYS 】供电,而不是电池供电,电池就安心地处于充电回路状态中。

    V_TO_SYS供电线程

    image-20210923233647346

    电池充电线程

    image-20210923181028247

​ 而PMOS-A截止,同时还实现了防止USB_OUT -> IN5158 -> PMOS-A...】导通给电池回灌电流。

  1. 当未插入USB的时候(初始状态), 电池处于放电状态,PMOS-A导通, PMOS-B导通, V_TO_SYS 由 【 电池CN1正极 -> PMOS-A -> PMOS-B -> 稳压滤波 -> V_TO_SYS 】供电。

    电池供电线程

image-20210923234230268

当然,V_TO_SYS(3.7V~4.2V区间波动)还需进行后续的升降压电路处理后,才能供给MCU以及相关器件合理且稳定使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

锂电池充放电电路设计与分析 的相关文章

  • HTML 5 本地计算机硬件规格

    有没有办法使用 HTML 5 访问本地系统硬件详细信息 我正在专门寻找有关 CPU RAM 磁盘空间 显卡信息 可用浏览器和插件 带有版本信息 的属性 最终 我试图确定是否可以构建一个工具来检查机器运行软件的硬件要求 但不需要在机器上实际安
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 最终启动顺序错误 - STM32L476 的 Eclipse System Workbench 调试

    我正在尝试调试和运行 STM32L476 的简单汇编代码 我已经设置了 Eclipse Oxygen 在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST Link 驱动程序 IDE 成功构建了程序
  • “COM”、“USB”、“串口”有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对这3个概念很困惑 我的理解是 Serial Port通常表示 RS 232 兼容端口 RS 推荐标准 USB代表Universal S
  • 通过浏览器访问ePass2003 Auto令牌

    我已经加载了带有自签名证书的 ePass2003 Auto 令牌 我将 lib so 文件加载到 Firefox 中 现在 Firefox 可以在令牌中列出证书 我的要求是访问密钥库以进行签名 加密和解密 即用于对其进行加密操作的公钥和私钥
  • STM32的HAL中实现单按、长按和双按功能

    我正在尝试实现单击 双击和长按功能来执行不同的功能 到目前为止 我已经理解了单击和长按的逻辑 但我不知道如何检测双击 至于代码 我使用计数器实现了单击和长按 但代码仅停留在第一个 if 条件上 bool single press false
  • 冯·诺依曼 vs 哈佛建筑

    为什么在设计个人计算机时 基于冯 诺依曼体系结构的计算机体系结构比哈佛体系结构更受青睐 而哈佛架构用于设计基于微机的计算机系统和基于DSP的计算机系统 当前 PC 的 CPU 设计同时具有哈佛和冯 诺依曼元素 更多冯 诺依曼 如果您查看 L
  • Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?

    我正在开发一个项目 其中涉及解析arm elf 文件并从中提取部分 显然 elf 文件中有很多部分没有加载到闪存中 但我想知道 objcopy 到底如何知道要在二进制文件中包含哪些部分以直接闪存到闪存中 以arm elf文件的以下reade
  • 基于信号完整性的PCB设计原则

    最小化单根信号线质量的一些PCB设计建议 1 使用受控阻抗线 2 理想情况下 所有信号都应该使用完整的电源或地平面作为其返回路径 关键信号则使用地平面作为返回路径 3 信号的返回参考面发生变化时 在尽可能接近信号换层孔的位置增加至少一个返回
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • GPU - 系统内存映射

    如何映射系统内存 RAM 以供 GPU 访问 我很清楚虚拟内存如何为 cpu 工作 但不确定当 GPU 访问 GPU 映射的系统内存 主机 时 虚拟内存如何工作 基本上与数据如何从系统内存复制到主机内存以及反之亦然有关 您能提供有参考文章支
  • 在windows和linux上用Python获取唯一的计算机ID

    我想在 Windows 和 Linux 上使用 Python 获得一个唯一的计算机 ID 它可以是 CPU ID 主板序列号 或其他任何内容 我查看了几个模块 pycpuid psi 但没有运气 关于如何做到这一点有什么想法吗 似乎没有直接
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • 使用Python直接向USB发送信号

    如何使用 Python 将 USB 端口连接设置为高或低 这可用于定制 USB 设备 例如 假设我有一个 LED 连接到 USB 端口 数据线 现在通过代码我想闪烁它或控制它 现在 这可以通过使用任何微控制器 Arduino Raspber
  • 为什么无法一步读取未对齐的单词?

    鉴于 CPU 的字大小允许它寻址内存中的每个字节 鉴于通过PAE http en wikipedia org wiki Physical address extensionCPU 甚至可以使用比字大小更多的位来进行寻址 CPU 无法一步读取
  • Flutter硬件音量键检测?

    迄今为止所有的挖掘都表明https github com flutter moum flutter hardware buttons https github com flutter moum flutter hardware button
  • 我可以从哪里开始使用可编程硬件?

    一段时间以来 我一直渴望至少学习一点有关硬件编程的知识 并想在这里提出要求以获得一些起点 我是一位相当有成就的程序员 具有 Delphi 和 Objective c 经验 但从未听过设备端口 中断 我什至不知道术语 更不用说对硬件进行编程了
  • RS 232 中断信号

    我有一个RS232信号捕获设备 而且效果很好 我需要一些帮助来理解数据 基本上我们购买它是因为我们正在处理 80 年代末使用串行通信的机器控制器 尽管知道端口参数 但我们运气不佳 从我转储的数据来看 机器控制正在使用中断信号作为其协议的一部

随机推荐

  • Unity提高工作效率的终极指南

    本套课程指南通过关于如何更快 更智能地工作的最新技术 帮助Unity创作者节省时间并提高工作效率 你会学到 Unity的创建者节省了时间 提高了生产力 关于如何更快地使用程序员和艺术家工具集的技巧 无论是个人还是团队 Unity应该是一种快
  • 什么是布隆过滤器?如何使用?

    欢迎搜索 文章目录 一 布隆过滤器简介 二 布隆过滤器的结构 三 布隆过滤器应用 四 布隆过滤器的优缺点 五 布隆过滤器实战 六 总结 Redis缓存穿透可以通过布隆过滤器进行解决 那么什么是布隆过滤器呢 请往下看 通常你判断某个元素是否存
  • 在Unity中编写Shader的编译器环境配置(支持CG和HLSL)

    Unity默认使用的编译器VisualStudio带有扩展插件ShaderLabVS 但功能很差 所以还是选用VisualStudioCode作为编写Shader的编译器 一方面其能自动识别Shaderlab语法 并且还有丰富的Shader
  • vue脚手架中创建自定义指令

    局部自定义指令直接在组件内部创建
  • 使用tee命令 将bash -x 输出的内容保存到文件中

    tee 命令语法 tee ai help version 文件 参数 a或 append 附加到既有文件的后面 而非覆盖它 i或 ignore interrupts 忽略中断信号 help 在线帮助 version 显示版本信息 示例 ba
  • java -jar 启动脚本

    ccue sh 需 chomd x ccue sh 启动使用 ccue sh start bin sh ccue sh start 启动 stop 停止 restart 重启 status 状态 AppName ccue server ja
  • 【一分钟解决】Python报错ImportError: attempted relative import with no known parent package

    文章目录 报错关键词 常见问题汇总及排查 1 在脚本中使用相对导入 详细解决方案 1 看这段基本够了 使用相对导入的时机 2 扩展 如果你真的需要在包平级目录以外的位置调用包 参考链接 扩展 名词解释 脚本 script 模块 module
  • 【Python 3.7】分子运动:修改 rw_visual.py,将其中的 plt.scatter() 替换为 plt.plot() 。为 模拟花粉在水滴表面的运动路径

    Python 3 7 分子运动 修改 rw visual py 将其中的 plt scatter 替换为 plt plot 为 模拟花粉在水滴表面的运动路径 向 plt plot 传递 rw x values 和 rw y values 并
  • 前端canvas绘制水波球

    效果如下图 代码
  • 创建软链接(symbolic link)

    Linux ln命令是一个非常重要命令 它的功能是为某一个文件在另外一个位置建立一个同步的链接 类似windows下的快捷方式 Linux文件系统中 有所谓的链接 link 我们可以将其视为档案的别名 而链接又可分为两种 硬链接 hard
  • 计算机视觉学习总结:基本的图像操作和处理(一)

    PIL Python图像处理类库 PIL Python Imaging Library Python 图像处理类库 提供了通用的图像处理功能 以及大量有用的基本图像操作 比如图像缩放 裁剪 旋转 颜色转换等 基本操作 1 读取图片及灰度转换
  • acwing模板整理(第一讲)(基础算法)

    目录 一 归并排序模板 二 二分 需要满足单调性 整数二分和小数二分 三 高精度加减乘除 2 减法 3 乘法 4 除法 四 1 一维前缀和与差分数组 2 子矩阵的前缀和与差分矩阵 二维前缀和与二维差分矩阵 五 双指针算法 找单调性优化 双指
  • 测试——Web网站测试主要测试那些内容

    一般的网站的主要测试内容就分为以下几点 目录 功能测试 性能测试 安全测试 稳定测试 兼容性测试 压力测试 功能测试 功能测试常用到的有效方法 等价划分法 等价划分法就是把输入空间划分为几个 等价区间 在每个等价区间中只需要测试一个典型的数
  • 六、代理模式

    六 动态代理模式 1 模式结构和结构图 1 抽象主题 Subject 类 通过接口或抽象类声明真实主题和代理对象实现的业务方法 1 2 真实主题 Real Subject 类 实现了抽象主题中的具体业务 是代理对象所代表的真实对象 是最终要
  • Linux Power Supply架构及代码解析

    一 概述 电源管理整体上可以分为两个部分 一个是电池监控 fuel gauge 另外一个是充放电管理 这两部分在内核中也是分为两个驱动来管理 fuelgauge驱动的功能主要是负责向上层Android系统提供当前电池的电量和健康信息等等 同
  • redis学习总结

    文章目录 redis数据结构原理 简单字符串SDS 叫Simple dynamic string 链表 字典 跳跃表 redis持久化 RDB持久化 AOF持久化 redis集群三种模式 主从模式 实现主从分离 提高吞吐 多机备份 哨兵模式
  • Python填写问卷星

    主要使用python实现问卷星的自动填写和提交 主要使用了https www jianshu com p 34961ceedcb4的代码 使用了X Forwarded For自动修改ip 我测试的时候是可以使用的 PS 我是在linux下面
  • idea 设置自动添加注释

    添加类注释 打开Settings 点击Apply OK 添加方法注释 添加组 选择test 添加Live Template text如下 Author yeluo Description description param param re
  • JSONObject对象的方法

    JSONObject 是 org json 库中的一个类 用于创建和操作 JSON 对象 以下是一些常用的 JSONObject 方法 1 put key value 向 JSON 对象中添加键值对 jsonObject put key v
  • 锂电池充放电电路设计与分析

    Lithium battery charge 锂电池充放电电路 1 USB插入检测电路 1 1 FUSE1 自恢复保险丝 当后续的电路发生短路等故障时 自动启动保护作用来保护外围的电源 避免损坏 因为经常出事故一般是电源出事故了 电源短路