找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1439|回复: 13
收起左侧

单片机如何判断锂电池正在充电?

  [复制链接]
ID:1108479 发表于 2024-1-8 11:36 | 显示全部楼层 |阅读模式
大家好,
我做一款锂电池充电产品,使用的是TP5400,这款芯片集成了充电管理以及5V升压,以及两个充电指示灯。

我现在的需求是需要单片机检测是否在充电,以及充满电两个状态

我看到这款充电芯片上有两个充电指示灯,CHRG以及STDBY,分别指示正在充电以及充电结束,具体作用如下:

tp5400_.jpg



规格书上推荐的这两个灯的接法如下,
tp5400.jpg

我是否可以把上图1,2处直接接到单片机的GPIO?
由于CHRG口是开漏输出,只能输出低电平,当充电时,CHRG输出低电平,此时LED灯亮,同时单片机检测到低电平,判断为正在充电,当充满电或者USB充电器没插入时,CHRG是高阻态,相当于断开,此时1处相当于一端通过LED以及电阻连接到了到了5V,另一端连接到了单片机GPIO,现在就是不清楚此时单片机IO接收到的电压是多少,因为有串一个电阻(这个电阻是LED限流电阻,阻值不会很大)以及LED,应该有压降,到IO这边是否还是高电平?

或者不按照上述接法,把上述LED去掉,分别用两颗10K电阻直接把CHRG和STDBY两个脚上拉到5V,然后这两个脚再分别接到单片机IO。但是这样LED不用了,实际应用中,我还是需要用LED的。


不知道这么接是否可行?或者还有其他更好的方法?

谢谢大家
回复

使用道具 举报

ID:796531 发表于 2024-1-8 14:37 | 显示全部楼层
CHRG和STDBY两个脚芯片内部是开漏输出,按照上图这电阻端连led端电压在2v左右,经过led导通电压你在这两个引脚测得电压永远是低电平(最多0.几v),建议再加两个10k电阻连到这两个端口,这样才能测得高低明显不同的电平(需要注意5v 3.3v电平匹配问题)。既然用了单片机,还是测电池端电压就行了,还可以大概显示充电完成比例。
回复

使用道具 举报

ID:401564 发表于 2024-1-8 22:41 | 显示全部楼层
给你一个参考吧
原理就是在VIN为高电平的时候,通过读取CH的电平来检测电池是否是充电完成状态
不要听上面的,ADC检测电池电压是行不通的,锂电池充满电是4.10V左右,虽然刚刚充满的时候会有4.20V,但很快就会下降到4.10V的
但充电的时候,有时会达到4.25V的
如果是单单检测电池电压有没有达到4.20V,很容易误判定的
这个电路是带充电插入检测的,VIN最好是中断端口
CH需要单片机上拉,如果单片机没有内置上拉电阻,你就得外部增加一个上拉电阻
51hei截图20240108223611.png

回复

使用道具 举报

ID:1108479 发表于 2024-1-9 11:04 | 显示全部楼层
paladina 发表于 2024-1-8 14:37
CHRG和STDBY两个脚芯片内部是开漏输出,按照上图这电阻端连led端电压在2v左右,经过led导通电压你在这两个 ...

感谢建议!
回复

使用道具 举报

ID:1108479 发表于 2024-1-9 11:04 | 显示全部楼层
Y_G_G 发表于 2024-1-8 22:41
给你一个参考吧
原理就是在VIN为高电平的时候,通过读取CH的电平来检测电池是否是充电完成状态
不要听上面 ...

感谢提供的原理图!我知道怎么做了!谢谢!
回复

使用道具 举报

ID:1064915 发表于 2024-1-9 14:44 | 显示全部楼层
单片机检测是否在充电,有什么意义
回复

使用道具 举报

ID:1129633 发表于 2024-7-26 10:23 | 显示全部楼层
充电算法是什么
回复

使用道具 举报

ID:1129659 发表于 2024-7-26 17:52 | 显示全部楼层
joyb 发表于 2024-1-9 14:44
单片机检测是否在充电,有什么意义

我也想知道这个。在设计中,老大说要检测
回复

使用道具 举报

ID:1129659 发表于 2024-7-26 18:00 | 显示全部楼层
Y_G_G 发表于 2024-1-8 22:41
给你一个参考吧
原理就是在VIN为高电平的时候,通过读取CH的电平来检测电池是否是充电完成状态
不要听上面 ...

为什么是VIN是中断口。
回复

使用道具 举报

ID:628113 发表于 2024-8-16 11:55 | 显示全部楼层
产品级设计的话,充电芯片一般不能直接对接MCU的IO。因为 IO 有可能影响充电芯片工作,导致未知后果。
标准的方案是, 大多数好一点的充电芯片,设计时可以将指示灯的脚,作为IIC总线脚,从而使用 IIC 协议来监测 电压电流等数据,也能知道是充电还是放电。
回复

使用道具 举报

ID:332444 发表于 2024-8-16 14:27 | 显示全部楼层
把一个限流电阻改为2个直接检测低电平即可,除非高阻态时不是高电平则另加比较器处理.
回复

使用道具 举报

ID:466250 发表于 2024-8-16 17:04 | 显示全部楼层
Y_G_G 发表于 2024-1-8 22:41
给你一个参考吧
原理就是在VIN为高电平的时候,通过读取CH的电平来检测电池是否是充电完成状态
不要听上面 ...

芯片的两个引脚就完全可以,非要用VIN引脚。
回复

使用道具 举报

ID:609503 发表于 2024-8-16 18:05 | 显示全部楼层
量下CHRG的电平,看充电和不充电时单片机能否得到高低电平,如果能就可以直接用,我之前用蓝牙芯片接TP4056就是这么用的。
回复

使用道具 举报

ID:401564 发表于 2024-8-19 13:15 | 显示全部楼层
蓝蓝小星星 发表于 2024-8-16 17:04
芯片的两个引脚就完全可以,非要用VIN引脚。

VIN是作为USB插入检测的,有的系统,比如手电,单片机是要休眠的,VIN作为唤醒的
CHRG和STDBY是没法正确指示的,单片机没法知道USB线有没有拔出的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表