电子产品,尤其是要随身携带的电子产品都会用到锂离子电池,会要对锂离子电池进行电源管理,会涉及到锂离子电池充电,放电,电压检测过程。
电池电量硬件检测。
我们设计的产品,因为对电池电压的精度要求不高,都用单片机内部ADC,参考电压也采用系统LDO给单片机供电的电压,一般来说,3.3V作为参考电压即可。
对锂离子电池的电压检测,因为锂离子电池电压最高可以到4.2V,假如外接充电器甚至达到5V或者6V电压,而单片机满量程是3.3V,所以一般使用串联两个电阻进行分压,单片机采集分压电阻端的电压在进行分压比例,计算出锂离子电池的电压值。
软件ADC采集部分,每个单片机的配置各不相同,精度也各不相同,这里假设12位ADC进行公式计算,12位ADC共4096阶,假设分压电阻是两个100K电阻,假如采集到的ADC值是1234,那么采集到的电压值是:2345乘3300mV,再乘以分压的系数2倍,再除以4096阶数,求得电压值是3778mV。
公式:电池电压=(当前采集值*分压值*参考电压)/ADC分阶数。
电池充电管理芯片选型
其实充电芯片品牌极多,我们在设计选型时,常常考虑芯片稳定性,充电电流大小,充电电压范围,以及芯片成本来进行综合考虑。
我们可以使用圣邦微的SGM4056,假如电池容量不大,可以控制在350mV以内,此芯片还可以供应充电充满后反馈引脚。给单片机判断是否充满。
单片机软件对锂离子电池的管理
单片机在软件的电池采集管理与分析过程中,要能够区分,未充电,充电进行中,充电满。这三个大的电池状态,怎么区分呢?
锂离子电池没有充电时,单片机系统没有外接充电器,单片机采集到的电压是不会超过4.3V的。范围在电池截止电压~4.2V以内。
当外接充电器时,检测出来的电压大于4.3V,则代表充电过程中。
单片机系统处于充电中,当充电管理芯片引脚的引脚电平发生变化,如变成高电平,则表示充电满,每个品牌的充电反馈信号有可能相同,请参考对应规格书。
在正常使用的放电过程中,还要对电压采集进行判断,防止电压过度放电损坏电池或者电池保护。一般选用3.4V作为门槛值,低于3.4V则触发电池电量报警。具体数据要结合产品特性来选定。