This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ35100: Current calibration

Part Number: BQ35100
Other Parts Discussed in Thread: BQSTUDIO

Hi,

Trying to set design capacity 2700 Ah, when read back data flash able to get the set design capacity == 2700. Now want to calibrate voltage and current, with reference to Host System Calibration Method - SLUA640B 

1. Able to enter calibration mode

2. CC_Offset 

a. When started Control Status value = 0x04

b. Polling... after some time CCA bit is cleared and saving offset with 0x000B

3. Board_Offset

a. When started Control Status value = 0x08

b. Polling... after some time BCA bit is cleared and saving offset with 0x000B

4. Current calibration

a. obtain raw calibration data , after averaging I am getting 0xCC == 204 mA  (Don't know if this is correct ? ... how to verify this ?)

5. Voltage calibration

a. obtain raw calibration data , after averaging I am getting 0xD1A == 3354 mV  

Please let me know the steps followed are correct ?

Thanks and Regards,

Dileep

  • Hi Dileep,
    is the voltage value of the cell which you measure correct, i.e does it correspond to what the gauge is reporting? If so , i believe your procedure is right.
    thanks
    Onyx
  • Hi Onyx,

    I am using Battery capacity of 2700 Ah.

    1. 13 mA is the measured value with a digital multi-meter in series with power supply on our board.

    2. When calibrating current know current value passed to calibrateCurrent(uint16_t knownCurrent)  is 170.

    3. obtain raw calibration data , after averaging I am getting 0xCA.

    4. After above steps when current values are read it shows 13 mA, adding extra load - able to see increase in current. Values are matching both in multi-meter as well current values read from BQ35100.

    5. In point 3, value 170 is random check I did to calibrate such that both multimeter & current from BQ35100 matches.  

    6. Still I don't know why raw value is 0xCA and measured on multimeter is 13mA.

    Thanks and Regards,

    Dileep 

  • Hi Onyx,

    I am using Battery capacity of 2700 Ah.

    1. 13 mA is the measured value with a digital multi-meter in series with power supply on our board.

    2. When calibrating current know current value passed to calibrateCurrent(uint16_t knownCurrent) is 170.

    3. obtain raw calibration data , after averaging I am getting 0xCA.

    4. After above steps when current values are read it shows 13 mA, adding extra load - able to see increase in current. Values are matching both in multi-meter as well current values read from BQ35100.

    5. In point 3, value 170 is random check I did to calibrate such that both multimeter & current from BQ35100 matches.

    6. Still I don't know why raw value is 0xCA and measured on multimeter is 13mA.

    Thanks and Regards,

    Dileep
  • Dileep,

    I am not sure i am following your procedure. Are you saying that are rest you are seeing 13mAh of current? or when you apply 170mA the gauge reports 13mA? For calibration with the bq35100 it is important that the gauge is in Accumulation mode. In other modes the coulomb counter behaves differently and will not produce good calibration results. 

    Thanks,

    Eric Vos

  • Dileep
    I am not sure i follow your explanation of what it is you are doing. what mode are you trying to carry out calibration? Accumulation mode?
    thanks
    Oinyx
  • I would recommend you try calibrating with bqstudio and connect a bus snopper to the com lines to see what bqstyudio is doing and the replicate using your host. To calibrate using bqstudio, i would recommend review the EVM user guide.
    thanks
    Onyx
  • Hi Onyx,

    I am calibrating the gauge in accumulation mode only. What I want to know is when I do current calibration raw value obtained at 0x7a…0x7B Cal_Current is 0xCA.

    What this value suggests ?

    Thanks and Regards,

    Dileep

  • Dileep,

    When you read 0x7A length 1 and 0x7B length 1 what response do you get for each?

    The results will give you the [raw analog current] value when you convert the hex value to decimal. You can do this by multiplying the decimal value of MSB (0x7B) by 256 then adding the decimal value of LSB (0x7A). 

    The raw analog current value is then used when doing the calibration current as one of the steps used. It is step 4 under section 3.8 of the bq35100 TRM. 

    Thanks,

    Eric Vos