一、术语和定义
- SoC电量状态(State of Charge)
- OCVL低放电电流下的开路电压(Open Circuit Voltage for low discharge current)
- OCVH高放电电流下的开路电压(Open Circuit Voltage for high discharge current)
二、引言
电池是储存电能的主要来源。对于依靠可充电电池供电的可穿戴系统,用户通常希望随时了解电池中还剩多少能量,以便预估何时需要充电。这个“剩余能量百分比”就是电量状态(State of Charge,SoC)。
SoC 定义为电池剩余能量占满电状态能量的百分比,通常以额定容量(mAh)作为估算基准。图 1 展示了电池从满电到空电的 SoC 变化过程。

图 1:不同 SoC 下的锂离子电池
精确估算电池 SoC,有助于让用户知道应用还能继续工作多久才需要充电。从安全角度看,SoC 还能确保电池在达到 100% 后不会继续过充。满电电池的 SoC 为 100%,空电电池对应 0%。SoC 也能有效反映电池系统相对于额定状态和寿命终止状态的表现。负载越高,SoC 下降越快,本 SoC 算法已经考虑到这一点。SoC 测量还有助于选择合适的充放电曲线,从而延长电池寿命。
SoC 与电池端电压,也就是开路电压 OCV,成正比关系。SoC 会随着电池电压下降而降低。图 2 给出了 SoC 与电池开路电压及负载电流关系的示例曲线。

图 2:不同放电倍率下的开路电压与 SoC 关系
图 2 来自典型锂离子(Li-ion)电池在不同 C 倍率下放电的曲线。很明显,SoC 与电池电压以及负载/放电电流都有关系。图中施加的负载/放电电流分别为 0.2C、0.5C、1C 和 2C。
电池容量通常以 1C 为基准标定。也就是说,额定容量为 200mAh 的满电电池,应能以 200mA 放电一小时。同一块电池以 0.5C 放电时,可提供 100mA 两小时;以 2C 放电时,则可提供 400mA 三十分钟。
放电电流越大,SoC 和电压下降得越快。图 2 中绿线对应 2C 放电倍率,位置最高;黑线对应最低的 0.2C 放电倍率。0.2C 时电压下降速度明显慢于 2C,因此 2C 时 SoC 下降速度也快于 0.2C。图 2 中 3.2V 对应电池空电状态,这是截止电压,对应 SoC 为 0%。
每个品牌、每种类型的电池都有各自的充放电特性。为了让算法提供更准确的 SoC 估算,通常需要对电池进行特性化,也就是 profiling,以确定不同 C 倍率下电压与 SoC 之间的关系。
2.1 SoC 估算概念
SoC 是当前存储电荷 Q 与总容量 C 的比值。总容量可以从电池规格书中获得。SoC=1 对应满电电池,SoC=0 对应空电电池。
对于一次充/放电操作,考虑 tα 和 tβ 两个时刻。Qα 和 Qβ 分别对应 tα 和 tβ 时刻的电荷量,因此存储或消耗的电荷为 Qα–Qβ。当 Qα 变化到 Qβ 时,SoC 从 SOCα =SOC(tα)变化到 SOCβ=SOC(tβ)。对 tα 和 tβ 分别使用库仑计数关系式,就可以计算出电池单体的总容量。
两个精确的 SoC 测量值,以及这两个值之间的积分电流,足以计算出当前时刻的容量 C。SoC 与开路电压 OCV 相关,当 SoC 从 SOCα 变化到 SOCβ 时,OCV 从 OCVα=OCV(tα)变化到 OCVβ=OCV(tβ)。
OCV 与 SoC 的线性插值关系可以图示为图 3:

图 3:OCV 与 SoC 关系
(DVL=放电电压限值,CVL=充电电压限值)
由上述关系可知,电池的当前容量可以根据充放电电荷量、SoC 和开路电压求得。
如前所述,为了准确估算 SoC,需要对电池进行特性化或标定。电池特性化的作用,是以已知电流对电池进行充放电,并测量对应的开路电压。电池特性化首先要把电池准备到满电状态,使 SoC 对应 100%。特性化工具会以特定电流放电一段时间,使 SoC 下降 5%,并记录该 SoC 对应的电压。充电时同理,以特定电流充电一段时间,使 SoC 上升 5%。
电池特性化会生成查找表(LUT),记录高负载(hlut)、低负载(llut/OCV)和充电电流(clut)下测得的 SoC 与电压。这些查找表会被插入到 DA1469x SoC 软件中。SoC 软件可以添加到客户应用中,在应用运行时用于随时计算电池电量。
2.2 温度对 SoC 的影响
温度对锂离子电池的容量和 SoC 有显著影响。低温且负载需求较高时,温度影响会更加明显。低温下开路电压下降更快,低温高负载时电压下降速率更快,因此低温下 SoC 也会下降。

图 4:温度对锂离子电池容量的影响
图 4 表明,与 10°C 和 25°C 环境温度相比,在零度以下充放电时,电池容量会显著降低。低温下电池内阻显著增加,影响电池的驱动电流能力,因此锂离子电池的容量和 SoC 都会下降。根据实际需求,电池管理系统 的 SoC 软件需要考虑温度补偿,尤其是高负载且伴随高温或低温的应用。
注意:
- 如果放电电流低于 0.2C,且工作温度大于 5°C 并小于 35°C,温度影响不大。
- 由于大多数应用不会暴露在零度以下或极高温度下,示例 SoC 软件不使用与温度相关的查找表,而是使用单一的低负载、高负载和充电电流查找表。
表 1:不同负载下 OCV 与 SoC 查找表
(低负载、高负载、充电电流)
| SoC(%) |
llut(mV)(OCV) |
hlut(mV) |
clut(mV) |
| 100 |
4290 |
4290 |
4329 |
| 95 |
4185 |
4160 |
4326 |
| 90 |
4130 |
4106 |
4325 |
| 85 |
4075 |
4052 |
4315 |
| 80 |
4025 |
4001 |
4261 |
| 75 |
3972 |
3952 |
4240 |
| 70 |
3900 |
3880 |
4169 |
| 65 |
3876 |
3856 |
4124 |
| 60 |
3839 |
3819 |
4094 |
| 55 |
3810 |
3790 |
4061 |
| 50 |
3786 |
3766 |
4033 |
| 45 |
3765 |
3745 |
4010 |
| 40 |
3744 |
3724 |
3993 |
| 35 |
3722 |
3702 |
3981 |
| 30 |
3704 |
3684 |
3967 |
| 25 |
3686 |
3666 |
3954 |
| 20 |
3670 |
3650 |
3932 |
| 15 |
3645 |
3625 |
3906 |
| 10 |
3630 |
3610 |
3878 |
| 5 |
3545 |
3525 |
3815 |
| 0 |
3233 |
3213 |
3564 |
其中 llut 包含电池以极低电流放电时测得的电压;hlut 包含电池以高电流放电时测得的电压;clut 包含电池充电时测得的电压。
注意:
查找表中的数值需要在客户实际应用中对电池进行测量获得。
图 5 是在固定温度 25°C 下,高、低负载电流对应的 21 步 OCV 查找表示例:

图 5:高、低负载电流下的查找表
其对应的常量数组示例如下:
const int16_t socf_lluts[SOCF_TEMP_NUM][VOL2SOC_LUT_SIZE] = {
{ 3233, 3545, 3630, 3645, 3670, 3686, 3704, 3722, 3744, 3765, 3786, 3810, 3839, 3876, 3900, 3972, 4025, 4075, 4130, 4185, 4290 }, //low discharging at 25 ℃
};
const int16_t socf_hluts[SOCF_TEMP_NUM][VOL2SOC_LUT_SIZE] = {
{ 3213, 3525, 3610, 3625, 3650, 3666, 3684, 3702, 3724, 3745, 3766, 3790, 3819, 3856, 3880, 3952, 4001, 4052, 4106, 4160, 4290 }, //high discharging at 25 ℃
};
三、锂离子电池充电过程

图 6:锂离子电池充电阶段
图 6 展示了锂离子电池的充电过程,包括电池电压、充电电流和充电过程各阶段的特性。电池充电过程包括三个步骤:预充电、恒流充电和恒压充电。
3.1 充电阶段
3.1.1 阶段一:预充电
当电池处于空电状态,也就是电池电压低于截止电压时,必须以低电流充电,使电池电压上升到截止电压以上,这个过程称为预充电。此阶段的充电电流称为预充电电流(IPRECHG),通常小于或等于 0.1C。阶段一对应预充电。
3.1.2 阶段二:恒流充电
当电池电压上升到 VPRECHG 阈值后,就可以流入规定的最大充电电流。建议将充电电流设置为电池容量的 50% 至 70%。这一阶段称为恒流充电阶段。为了延长电池寿命,建议选择较低的充电电流,因此从电池寿命角度考虑,50% 是较好的选择。但充电电流越高,充电速度也会越快。
3.1.3 阶段三:恒压充电
当电池电压上升到设定的调节电压后,充电过程进入恒压充电阶段。此阶段充电电流逐渐减小,直到电流等于电池容量的 10%,之后充电过程停止,电池视为充满。锂离子电池的典型调节电压为 4.2V。
从整个充电过程可以看出,SoC 估算不仅依赖开路电压与放电倍率的关系,还需要结合预充电、恒流、恒压三个阶段的电流与电压变化进行判断。对于可穿戴设备这类由 DA1469x SoC 驱动的低功耗系统,新能源汽车 BMS 开发工程师课程 中涉及的电池建模与状态估计思路,也可以为嵌入式电量计设计提供更系统的参考。