拆解需求
,做一个PD快充充电器,给老爸手机充电。期望20w以上,功能:OCP,OTP,防烧,OVP。过流、防烧一定要保证。
方案选型
淘宝自购220V降压模块+同步降压整流IC+协议IC:STM32g4.
_>降压IC选型
_>1.ejrqc3003(Power Control IC 高通smb1351)其实是QC的,还支持bc1.2。但是输出很低,3V-4.5V,4A多,最高输出20w,肯定会发烫。这个是给移动设备用的pmic,不太适合做充电器。优点:支持IIC寄存器调压调流。
_>2.DC稳压板,带电阻调压那种, 我们可以加一个数字电位计,对于终端来说这样调压会比较慢。充电器有所谓CC环和CV环的概念,在这个条件下我们只能做CV环,如果终端要拉降电流那在不改变输出电压下只能再配一个电位计。
_>3.BQ25703ARSNR programmable regulator,最正常的选择,很合适,但是它需要画pcb,我可以在闲鱼上面找人做这个板子。支持iic。
_>4.输出固定挡位电压的dc降压模块,加mos管和电位计。
_>stm32g4,效果图
原理图,
硬件
软件,
_>参考一些充电器协议IC的流程框图。
>_init
>_main
>_
_>ST cube生成代码
_>利用串口、打桩验证、示波器调试IIC、PD协议实现
_>确定电压输出,Iout_OK
initial
main
app层用轮询,加OVP等保护的标志位和重置标准位,还有看门狗。
状态机,
IRQ
makefile
测试
可参考sources:
https://mp.weixin.qq.com/s/awiaCx2da_toQNnxP1s1_g
https://youtu.be/UDSKS9kHS70?si=GIPJ_GdV1f7IiGEC
使用 stm32实现锂电充电_锂电池充电慢?教你用 STM32 制作锂电池快充充电器-CSDN博客
github.com/AlexKlimaj/LiPow-Firmware
STM32G081RBT6 这种资料少
stm32g4可以做,资料如下:
https://www.youtube.com/watch?v=zD9RPIN3aQc
IDE:选择用gcc-arm-none-eabi,在linux下开发,之前玩raspberry pi也在那上面搭建arm-x86 cross compile环境。
在这附上strongerHuang黄工的一篇资料,感谢大佬~
Getting Started with the STM32F4 and GCC - jeremyherbert.net
外网的一篇教程。stm32在gcc-arm-none-eabi下开发简单例程。
烧录:
STM32芯片烧录的三种方式介绍,串口、STM32 ST-LINK Utility以及STM32CubeProgrammer-CSDN博客
里面有stlink在linux下面烧录的例程,感谢 重拾十年梦 ~