|
前言 最近在GitHub又发现了一个嵌入式软硬件都开源的项目——基于STM32G0的锂电池快充方案,使用Type C接口的充电头供电,基于STM32G0实现,支持为1s - 4s锂电池组充电,并且支持2s-4s平衡充电功能。 ) N+ X2 `2 ?; S U# E
目前,这个项目已经作为产品量产上市,在hackaday商城售价60美金。
$ V' M X; D% b2 f. Z P.S. 文末有便携式Type C供电的电烙铁试用申请福利! * a% {* g1 Y0 c7 P- H* U ) N& b& o, J3 o* q 主要有以下功能:
: a. j/ X4 o- P! H- O 目前已经经过以下型号的USB PD快充电源的测试:
9 t3 D+ q* J8 X1 `
2 {8 r* q. ?' U$ m* `+ }% X 硬件电路! W1 l$ B% R' ?4 }% @1 ~9 m; `+ k * h9 s, O) n+ w. h8 N 原理图也很简单,只有3页,整个项目的硬件框图如下:
. y+ J7 @$ e; b 主控部分采用的STM32G071,这是ST在2018年底推出的一款Cortex-M0+内核的MCU,IO口利用率超过93%,最大的一个特色就是支持 USB-C Power Delivery ,很多充电宝都是基于这款芯片实现的。
充电部分的电路,单节锂电池充电方案采用的是TI的锂电池充电管理芯片BQ25703ARSNR。
多节锂电池平衡充电采用的是MOS开关调节电路实现,电阻分压的方式来实时监控电池的电压状态,电池电压作为反馈,从而实现平衡充功能。 * X& G9 T5 i {% K- q# ?
$ ^, ?7 p" K+ A ; C7 B4 B# n% E' B 软件方面,开发环境使用的 TrueStudio,使用 CubeMX 生成基本驱动代码,FreeRTOS 的移植,STM32G0 的 GPIO、ADC、IIC、TIMER、DMA、UART基本 外设的使用,STM32G0 USB C 驱动库的使用,异常状况保护逻辑和充电管理逻辑,可以通过串口终端实时监测充电的状态:
# r& }8 m& }* {; j 资料下载8 B" h% X/ Z. n u 无论你是否尝试自己动手做一个,其中的锂电池充电电路原理、STM32G0快充库的使用,都是非常值得学习和借鉴的。全套资料包括原理图、PCB、BOM、STL外壳文件等。
|
实战经验 | 基于STM32G0B1的全桥移相+同步整流PWM解决方案
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:逢7发帖赢大礼】8、基于STM32G070板子的Ymodem串口协议IAP Bootloader开发
【福利三:逢7发帖赢大礼】7、基于STM32G070板子TF卡的FATFS移植
【福利三:逢7发帖赢大礼】6、基于STM32G070板子spiflash的FATFS移植
【福利三:逢7发帖赢大礼】5、基于STM32G070板子IRDA红外遥控接收解码
【福利三:逢7发帖赢大礼】4、基于STM32G070板子SPI flash 移植SFUD库
【福利三:逢7发帖赢大礼】基于STM32G070板子的uart shell移植设计
【福利三:逢7发帖赢大礼】3、基于STM32G070板子的YModem串口协议通信
【福利三:逢7发帖赢大礼】2、基于STM32G070板子的OLED移植U8G2库
微信公众号
手机版
应该是从其他论坛上扒过来的,看到过其他论坛的帖子和楼主发的内容一摸一样,下面第一张图才是正贴