当前位置:首页 > 嵌入式ARM
[导读]前言 最近在GitHub又发现了一个嵌入式软硬件都开源的项目——基于STM32G0的锂电池快充方案,使用Type C接口的充电头供电,基于STM32G0实现,支持为1s - 4s锂电池组充电,并且支持2s-4s平衡充电功能。 目前,这个项目已经作为产品量产上市,在hackaday商城售价

前言

最近在GitHub又发现了一个嵌入式软硬件都开源的项目——基于STM32G0的锂电池快充方案,使用Type C接口的充电头供电,基于STM32G0实现,支持为1s - 4s锂电池组充电,并且支持2s-4s平衡充电功能。

目前,这个项目已经作为产品量产上市,在hackaday商城售价60美金。

P.S. 文末有便携式Type C供电的电烙铁试用申请福利!

基本功能

主要有以下功能:

  • 单节锂电池和 2s-4s 锂电池组平衡充电
  • 支持 USB PD 电源,充电高达 60W
  • 支持非 USB PD 电源(仅限于 2.5W - 5V,0.5A)
  • 随着设备温度升高,自动降低充电功率
  • 通过 RGB LED 提供用户反馈
  • 开源原理图、BOM 和固件
  • 用于调试和运行时信息的 UART 命令行接口

目前已经经过以下型号的USB PD快充电源的测试:

  • Lenovo Thinkpad 65W Charger
  • Lenovo Thinkpad X1 Carbon USB C Port
  • Anker PowerPort Atom PD 1 30W
  • Aukey PA-Y8 27W Turbo Charger
  • Nintendo Switch Power Supply
  • Generic 2.5W USB A Wall Wart

涉及到的知识点

  • 锂电池平衡充电电路,及其单片机控制逻辑
  • STM32G0官方USB PD快充协议中间件的使用
  • 运行FreeRTOS,可通过CLI命令行进行交互
  • 使用Makefile或TrueStudio编译
  • STM32G071CBT6的GPIO/ADC/UART/IIC/TIMER/DMA基本外设使用
  • BQ25703ARSNR锂电池充电管理芯片的使用

硬件电路

原理图也很简单,只有3页,整个项目的硬件框图如下:

主控部分采用的STM32G071,这是ST在2018年底推出的一款Cortex-M0+内核的MCU,IO口利用率超过93%,最大的一个特色就是支持 USB-C Power Delivery ,很多充电宝都是基于这款芯片实现的。

充电部分的电路,单节锂电池充电方案采用的是TI的锂电池充电管理芯片BQ25703ARSNR。

多节锂电池平衡充电采用的是MOS开关调节电路实现,电阻分压的方式来实时监控电池的电压状态,电池电压作为反馈,从而实现平衡充功能。

软件实现

软件方面,开发环境使用的 TrueStudio,使用 CubeMX 生成基本驱动代码,FreeRTOS 的移植,STM32G0 的 GPIO、ADC、IIC、TIMER、DMA、UART基本 外设的使用,STM32G0 USB C 驱动库的使用,异常状况保护逻辑和充电管理逻辑,可以通过串口终端实时监测充电的状态:

资料下载

无论你是否尝试自己动手做一个,其中的锂电池充电电路原理、STM32G0快充库的使用,都是非常值得学习和借鉴的。全套资料包括原理图、PCB、BOM、STL外壳文件等。

  • 软件
    github.com/AlexKlimaj/LiPow-Firmware
  • 硬件
    github.com/AlexKlimaj/LiPow-Hardware


本文授权转载自公众号“电子电路开发学习”,作者wcc149


-END-




推荐阅读



【01】stm32几种低功耗模式的实现和差别
【02】如何让STM32优雅地“说”hello world?
【03】基于STM32CUBE的USB键盘例程.docx
【04】STM32:从菜鸟到牛人就是如此简单!
【05】神奇!5分钟,使用STM32CubeMX把你的单片机变成优盘


免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

换一批

延伸阅读

嵌入式ARM

374 篇文章

关注

发布文章

技术子站

关闭