电池软件电量计中,库仑计量法(Coulomb Counting)的核心原理是对充放电电流进行积分,从而累加或累减电荷量。其基本计算公式如下:
基本公式
在连续时间域,电池电量变化满足:
Q(t)=Q(t0)+∫t0tI(τ) dτQ(t)=Q(t0)+∫t0tI(τ)dτ
其中:
-
Q(t)Q(t) 为时刻 tt 的剩余电量(单位:库仑或mAh)
-
Q(t0)Q(t0) 为初始电量
-
I(τ)I(τ) 为瞬时电流(充电为正,放电为负,单位:A或mA)
在实际嵌入式软件中,通常采用离散采样,每隔固定时间 ΔtΔt 读取电流值 IkIk,采用累加公式:
Qk=Qk−1+Ik⋅ΔtQk=Qk−1+Ik⋅Δt
或考虑采样间隔非恒定时采用梯形积分等更精确的方法。例如:
Qk=Qk−1+Ik+Ik−12⋅ΔtQk=Qk−1+2Ik+Ik−1⋅Δt
容量归一化与百分比
电池厂商通常以标称容量 CnomCnom(单位mAh)给出电池总容量,则荷电状态(SOC)计算公式为:
SOC(%)=QcurrentCnom×100%SOC(%)=CnomQcurrent×100%
其中 QcurrentQcurrent 为当前累计电荷量(需注意符号,通常放电时减少)。
实际应用中的修正
纯库仑积分存在累积误差,因此工程中常结合开路电压(OCV)校准、温度补偿及阻抗跟踪(如TI的Impedance Track技术)进行修正。例如,BQ40Z50芯片就是通过实时监测电池阻抗变化来修正容量估算,从而将低温下的误差控制在5%以内。2 而库仑计法本身的实现依赖于在充放电路径上串联检测电阻,由ADC测量电压并转换为电流值,再通过实时计数器积分得到库仑数。1