近期在做关于电池电量检测的工作,而硬件电路并没有使用库仑计(在部分嵌入式场景下成本太高),而是使用分压电路ADC采样。基于此对相关学习到的内容做总结和分享
难点
- 锂电池的放电非线性;
- 充放电瞬间,电压值是突变的
- 锂电池随着使用电量减少,需要实现自动校准
- ……
充电IC基础原理
IC充电阶段
涓流充电(Trickle Charge)
涓流充电阶段通常只在电池电压低于一个极低水平时采用。
在这种状态下,电池组的内部保护 IC 可能由于深度放电或发生过流事件已经断开了电池。充电器 IC 提供一个小电流(通常为 50mA)为电池组的电容充电,以触发保护 IC ,合上其 FET重新连接电池。虽然涓流充电通常只持续几秒钟,但充电器 IC 仍然需要集成一个定时器。如果电池组在一定时间内未重新连接,则定时器停止充电,因为这表明电池已损坏。
预充电(PreCharge)
一旦电池组重新连接或处于放电状态,就进入预充电阶段。
预充电期间,充电IC开始以一个较低的电流水平为耗尽的电池安全充电,该电流通常为 C / 10(C 为容量,以 mAh 为单位)。预充电使电池电压缓慢上升。其目的是在低电流水平下对电池进行安全的充电,以防止损坏电池,直到其电压达到一个较高的水平。
恒流充电(Constant Current Charge)
恒流(CC)充电也被称作快速充电阶段,恒流充电在预充电之后开始。
在恒流充电阶段,电池可以安全地处理 0.5C 至3C 之间的较高充电电流。恒流充电会持续到电池电压达到“满电”或浮动电压水平,然后进入恒压充电阶段。
恒压充电(Constant voltage Charge)
充电器 IC 会在恒流充电期间监测电池电压。一旦电池达到恒压充电阈值,充电器IC就会从恒流转换至恒压调节阶段。当充电器 IC 监测到外部电池组电压超过了电池组中的实际电池电压,就开始执行恒压充电。这是由于存在内部电池电阻、PCB 电阻和来自保护 FET 和单电池的等效串联电阻 (ESR)。充电器 IC 不应允许电池电压超过其最大浮动电压,以保证安全的运行。
截止阶段
对于浮充型充电芯片,当达到浮充阈值,输出恒定电压
对于关断型充电芯片,当充电充满,芯片处于关断待机状态,无充电电流
说明
- 对于IC各个充电阶段需要参考IC的手册最终确定有哪些阶段,有些将涓流充电和预充电合成一个阶段处理,所以需要具体分析。
- 有些充电IC提供了可编程配置阈值的功能,即通过连接不同的阻值来对其进行设置,如果没有需要参考手册确定每个阶段的阈值分别是多少。配置的阈值能够提供一层额外的安全保护,保护电池免受过压、过热条件以及过载的影响,从而避免电池的永久损坏或容量降级。
流程整理
配置 ADC
中断模式、设置重复采样时间、设置采样次数
- Vadc = adcNumer(ADC采样数据) x Vref(ADC基准电压)/ (2^ADC量化位数)
- Vbat = k(电阻分压系数比) × Vadc
配置 Timer
配置ADC采样的时间即多久进行一次电池电量检测
启动电池电量检测主线程
等待USB插拔事件中断或者Timer时间触发电池检测
- 打开ADC采样通道
- 获取ADC数据
- 关闭ADC采样通道
- 计算最终输出的电池电量
伪代码
1 | /************************************ ADC *******************************/ |
误差来源
- ADC量化误差
- 分压电阻值不准确,导致分压比不确定带来的误差
- OCV表格内记录的是阶段性的电压与容量比,每一格实际上不是线性变化的,但在实际处理过程中按照线性来处理
校准误差及优化策略
ADC采样
平均值滤波。取十次adc数据,去掉最大值、最小值取平均值
插入usb / 拔出usb瞬间触发电池检测
记录最近十次采样的结果及sysTime,计算掉电或上电1%容量所消耗的时间,从而可以计算出下一次检测的时间间隔
在最终电池电量的显示上,需要逐步递增逼近采集的值不能突变
校准:根据一个确定状态下,确定的电压值和我们采集到的电压值,计算出偏差,校准
缩写表
OCV:Open Circuitt Voltage 开路电压
CV:Cyclic Voltammetry 循环伏安法(改变电位以得到氧化还原电流方向之方法)
UVLO:Under Voltage Lock Out 欠压锁定(输入电压低于某一值时,电源芯片不工作,处于保护状态)
OVP:Over Voltage Protection 过压保护
UVP:Under voltage Protection 欠压保护
ASOC:Absolute State-Of-Charge 绝对电荷状态 (绝对荷电状态则是一个当电池制造完成时,根据所设计的固定容量值所计算出来的的参考值)
RSOC: Relative State-Of-Charge 相对电荷状态(相对荷电状态的范围是 0% - 100%)
一个全新完全充电电池的绝对荷电状态是100%;而老化的电池即便完全充电,在不同充放电情况中也无法到100%。