Issue with Coulomb Count in BMS S32k144

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

Issue with Coulomb Count in BMS S32k144

511 Views
vardhan
Contributor I

HI,
     I am Using 6AH Battery .but i am getting Coulomb measurement raw value as 2131001874

number of samples taken for the Coulomb count. */
/******************************************************************************/
#define BCC_REG_CC_NB_SAMPLES_ADDR 0x2DU
#define BCC_R_CC_NB_SAMPLES_MASK 0xFFFFU
/******************************************************************************/
/* $2E COULOMB_CNT1 - Coulomb counting accumulator. */
/******************************************************************************/
#define BCC_REG_COULOMB_CNT1_ADDR 0x2EU
#define BCC_R_COULOMB_CNT_MSB_MASK 0xFFFFU
/******************************************************************************/
/* $2F COULOMB_CNT2 - Coulomb counting accumulator. */
/******************************************************************************/
#define BCC_REG_COULOMB_CNT2_ADDR 0x2FU
#define BCC_R_COULOMB_CNT_LSB_MASK 0xFFFFU
**
* This macro returns 32 bit signed value of COULOMB_CNT.
* Note: COULOMB_CNT1 register represents higher part of final value
* (MSB). COULOMB_CNT2 is lower part (LSB).
*
* @param coulombCnt1 Content of register COULOMB_CNT1.
* @param coulombCnt2 Content of register COULOMB_CNT2.
*/#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)))


calculated iAvgCurrent
iAvgCurrent = (rawVal - COULOMB_CNT_old)/(measurements[BCC_MSR_CC_NB_SAMPLES] -CC_NB_SAMPLES_old);
COULOMB_CNT_old = rawVal;
CC_NB_SAMPLES_old =measurements[BCC_MSR_CC_NB_SAMPLES];
or
iAvgCurrent = rawVal/measurements[BCC_MSR_CC_NB_SAMPLES] ;
iAvgCurrent=67537


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 |
| iAvgCurrent | 67537 |
| Current | -50 mA |
| StackVoltage | 39584 mV |
| Temperature | 25 degC |

 

generally i need to get maximum of 21600 coulombs .
1. 6 Ah = 6*3600 = 21600 Coulombs = 100% SOC
2. So 1% SOC = 21600/100 = 216 Coulombs

but im gettting iAvgCurrent 67537 coulombs for 6Ah battery and i cannot calculate the exact values
getting lot of difference and unable to calculate the correct SOC for it.Please support to solve this issue.
for getting correct SOC.

0 Kudos
0 Replies