Issue with Coulomb count in BMS S32K144 Board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Issue with Coulomb count in BMS S32K144 Board

Jump to solution
2,374 Views
thailivenkatesh
Contributor III

Hi,
    using s3k144 Board want calculate the SOC for 6AH Battery .but i am getting Coulomb Count measurement result as 2136050216.
and calculated the I_AVG using the formula below.

#define BCC_GET_COULOMB_CNT(coulombCnt1, coulombCnt2) \
((int32_t)(((uint32_t)((coulombCnt1) & BCC_R_COULOMB_CNT_MSB_MASK) << 0xFU) | \
(((uint32_t)(coulombCnt2) & BCC_R_COULOMB_CNT_LSB_MASK)))

rawVal = (int32_t)BCC_GET_COULOMB_CNT(measurements[BCC_MSR_COULOMB_CNT1],
measurements[BCC_MSR_COULOMB_CNT2]);

I_AVG = (rawVal - COULOMB_CNT_old)/(measurements[BCC_MSR_CC_NB_SAMPLES] -CC_NB_SAMPLES_old); // this is average current
COULOMB_CNT_old = rawVal;
CC_NB_SAMPLES_old =measurements[BCC_MSR_CC_NB_SAMPLES];
or
I_AVG = rawVal/measurements[BCC_MSR_CC_NB_SAMPLES] ;

test results as follows

###############################################
| Cell 1 Voltage | 3322 mV |
| Cell 2 Voltage | 3322 mV |
| Cell 3 Voltage | 3322 mV |
| Cell 4 Voltage | 3347 mV |
| Cell 5 Voltage | 3286 mV |
| Cell 6 Voltage | 3314 mV |
| Cell 7 Voltage | 3323 mV |
| Cell 8 Voltage | 3315 mV |
| Cell 9 Voltage | 3317 mV |
| Cell 10 Voltage | 3317 mV |
| Cell 11 Voltage | 3317 mV |
| Cell 12 Voltage | 3122 mV |
| Coulomb Count | 2131001874|
| CC Samples | 31553 |
| I_AVG | 67537 |
| Current | -50 mA |
| StackVoltage | 39584 mV |
| Temperature | 25 degC |


###############################################


1. 6 Ah = 6*3600 = 21600 Coulombs = 100% SOC

2. So 1% SOC = 21600/100 = 216 Coulombs

But when i measure CC i am getting as 67537 coulombs for 6Ah battery unable to calculate the correct SOC.
Please support this issue to solve how to calculate exact values.

0 Kudos
Reply
1 Solution
2,273 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Hi Venkatesh Thaili,

please refer to the section 9.7 in the MC33771C datasheet. Please check the FAULT pin in case the COULOMB_CNT overflow.

In the event an overflow occurs in either COULOMB_CNT or CC_NB_SAMPLES, the
CC_OVR_FLT bit is set and, when unmasked, the FAULT pin is activated. The coulomb
count value is impacted by conversions performed during diagnosis of the current
measurement chain.

The COULOMB_CNT is an integer whose associated resolution is V2RES, therefore,
COULOMB_CNT·V2RES gives μV. If the shunt resistance RSHUNT is expressed in μΩ,
then COULOMB_CNT·V2RES / RSHUNT gives μA.

With Best Regards,

Jozef

View solution in original post

2 Replies
765 Views
Shobha
Contributor I

Hello Venkatesh @thailivenkatesh 

Currently I'm trying to calculate the SOC using MC33771 and S32K144 board. But I'm not able to understand how to use the coulomb count and sample values that I am getting while interfacing the board. I've read your previous post so, it would be great if you can just help me with an idea for how to calculate the SOC here.

0 Kudos
Reply
2,274 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Hi Venkatesh Thaili,

please refer to the section 9.7 in the MC33771C datasheet. Please check the FAULT pin in case the COULOMB_CNT overflow.

In the event an overflow occurs in either COULOMB_CNT or CC_NB_SAMPLES, the
CC_OVR_FLT bit is set and, when unmasked, the FAULT pin is activated. The coulomb
count value is impacted by conversions performed during diagnosis of the current
measurement chain.

The COULOMB_CNT is an integer whose associated resolution is V2RES, therefore,
COULOMB_CNT·V2RES gives μV. If the shunt resistance RSHUNT is expressed in μΩ,
then COULOMB_CNT·V2RES / RSHUNT gives μA.

With Best Regards,

Jozef