Other Parts Discussed in Thread: BQ34Z100
Hi Sunna,
I want to use Read PassQ register and updating performance parameter like SOC, Charge/Discharge Ah. but sometimes i have observe that SOC decreasing very fastly
.
(1) Whenever Current Direction is changed send the command to Reset the PASSQ register
(2) Then Compare the value with PreAccumulated charge value and Adding the delta Ah to Charge /Discharge Ah.
//============================================================SOC Decrement when BAttery is discharging
if(s_BMU_Data.AccumCharge.Value<s_BMU_Data.prev_DischargeAccumCharge10mAh.Value) //s_BMU_Data.AccumCharge.Value reading from BQ PassQ Register
{
DeltaAh=(s_BMU_Data.prev_DischargeAccumCharge10mAh.Value-s_BMU_Data.AccumCharge.Value);
s_BMU_Data.DischargeBQmAh.Value+=DeltaAh;
s_BMU_Data.prev_DischargeAccumCharge10mAh.Value=s_BMU_Data.AccumCharge.Value;
s_BMU_Data.DischargeBQmAhSOC.Value+=DeltaAh;
}
if(s_BMU_Data.DischargeBQmAh.Value>=10)//with 1 decimal,100mAh
{
temp=s_BMU_Data.DischargeBQmAh.Value/10;
st_SysPerf.para.DischargeAh+=temp;
st_SysPerf.para.curDischargeAh+=temp;
s_BMU_Data.DischargeBQmAh.Value=s_BMU_Data.DischargeBQmAh.Value-(temp*10);
st_SysPerf.para.currentDischAh=st_SysPerf.para.currentDischAh+temp;
pageUpdateFlag=1;
}
if (SOC>=s_BMU_Data.DischargeBQmAhSOC.Value)
SOC=SOC-s_BMU_Data.DischargeBQmAhSOC.Value;
==================================================
Can you share any algorithm for measurement of SOC etc.