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: EOS Flag doesn't get set

Part Number: BQ35100
Other Parts Discussed in Thread: BQSTUDIO

Tool/software:

I profiled a LTC primary battery (for EOS Mode) until it was dead. The Measured Z rised towards 100% DOD as expected, but the EOS Bit was never set.

Here you can see the final values for the averages:

If I put these values in the formula (from 0.12.1 EOS Mode Fundamentals in SLUA904)

Short Trend Average > Long Trend Average * (1 + EOS Trent Detection/ 100)

This becomes:

616439 > 533904

In SLUA904 it says "Once the equation below is satisfied an EOS condition is set in the Battery Alert register.", so the EOS Bit should have been set.

Here you can see that it is not set:

Can you tell me what could possibly prevent the EOS Bit from being set?

Thanks

Urs

  • Hello Urs,

    That is not the right place to be looking for the EOS bit, that is a config register.

    You will need to check the BatteryAlert() register in the registers screen.

    Regards,

    Adrian

  • My bad, I am reading the BatteryAlert() 0x0B register via Arduino and only consulted bqStudio to see if there's a problem on the Arduino side.

    So the problem still persists:

    Thanks,

    Urs

  • Hello Urs,

    I see, was the gauge configured for EOS mode? Can you send me the gg file from the gauge?

    Regards,

    Adrian

  • Hi Adrian, GMSEL[1:0] is set to EOS Mode

    I attached the gg file.

    2746.bq35100.gg.csv

    Thanks

    Urs

  • Hello Urs,

    Thank you for providing that. I believe the EOS bit did not get set because of the Alert Config bit for EOS was not set. That bit needs to be set to 1 so the corresponding bit in the BatteryAlert() bit gets set.

    Regards,

    Adrian

  • Hi Adrian,

    I set the Alert Config bit for EOS as you proposed and did a few EOS measurements. The EOS Bit still didn't get set.

    I then noticed that the "EOS Detection Pulse Count" was at 107 while "EOS detection pulse count Thrhd" was at 120 (default). When I set the Thrhd to 30 and did one more EOS measurement, the EOS Bit finally got set.

    What now confuses me is why the Pulse Count was 107, when I did more than 200 measurements.


    Documentation (SLUUBH1C) says:

    "When in this mode, each time the GAUGE_START() command is received, then the internal counter "EOS
    Detection Pulse Count" is incremented. This internal value is stored to EOS Detection Pulse Count once
    GAUGE_STOP() is received."

    This leads me to believe that some GAUGE_START() and/or GAUGE_STOP() commands weren't successfully transmitted/executed. Can there be other reasons why the Pulse Count wasn't incremented as expected?

    I can set "EOS detection pulse count Thrhd" to a low value to circumvent the missing counts, but if I understand correct this can lead to a false EOS.

    Thanks,
    Urs

  • Hello Urs,

    Yes, it's sounding like the GAUGE_START and GAUGE_STOP commands were not executed correctly. This could also be an issue with how fast you are trying to send these commands. Setting EOS to a value too low can be cause a false EOS, but setting this to a value like 80 or 100 shouldn't be problematic.

    Regards,

    Adrian