独角兽企业重金招聘Python工程师标准>>>
mtk的电池电量算法:
SOC_BY_AUXADC,通过模数转换硬件获得电池电压,由电压来换算电量,误差大SOC_BY_SW_FG,通过库伦积分算法获得电量,其中电流由软件计算获得SOC_BY_HW_FG,通过库伦积分算法获得电量,其中电流由硬件的模数转换获得
库伦积分算法:
开机时测试电池的开路电压,由开路电压换算出电池电量放电过程中对放电电流积分,开机时电池电量减去放电电量,就是剩余电量
SOC_BY_SW_FG和SOC_BY_HW_FG的区别在于放电电量的获取方式,一个由软件计算获得,一个由硬件模数转换获得,SOC_BY_SW_FG是mtk平台常用的电池电量算法。
SOC_BY_SW_FG相关定义
OCV:电池开路电压,电池断开负载时测得的电压VBAT:电池闭路电压,电池有负载时测得的电压r:电池内阻I:电池放电电流(OCV - VBAT) / r = IDOD电池剩余电量
温度,电池特性受温度影响,用一个热敏电阻来测电池温度(待续)
电池的参数设置
BAT_NTC_10,RBAT_PULL_UP_R,RBAT_PULL_UP_VOLT温度相关,cust_battery_meter_table.hDOD-OCV,电池余量和开路电压的对照表,cust_battery_meter_table.hr-OCV,电池内阻和开路电压的对照表,cust_battery_meter_table.h充电相关参数,cust_battery_meter.h(待续)