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: Jump in AccumulatedCapacity value

Part Number: BQ35100

We have a device that uses the BQ35100 in accumulator mode. It spends the majority of its time asleep in the general use case and will wake up, grab some data from its sensors, and then report that data (including accumulated capacity) to our server. We have seen one case where the reported accumulated capacity jumps up very quickly, more than would be physically possible. The values shown on our server are positive but the values we get from the BQ35100 are negative. Converting to negative here:

Value before jump (uAh) - hex Value after jump (uAh) - hex
-248189 - 0xFFFC3683 -32768812 - 0xFE0BFCD4

The device in question was operating in a special mode where it would check in to our server every minute so these values were reported 1 min apart. The batteries we are using have a 2.1Ah capacity so we somehow went from ~.248Ah counted to ~32.8Ah. The fact that the value after the jump is something like 2^15 (32768) just like the referenced post is pretty interesting.

Even more interesting is that after the jump the value started to go down before jumping back up again! I'm not sure why the value would go down as I think that would happen during charging, but our system is not rechargeable.

Value before second jump (uAh) - hex Value after second jump (uAh) - hex
-32293468 - 0xFE133DA4 -32768800 - 0xFE0BFCE0

Similarly, post-jump the accumulated capacity seems to be around -32768000 uAh. This type of jump happened again a few times before the batteries died.

Below is a screenshot of a visualization of the first jump:

A screenshot of the second jump:

And the subsequent jumps:

Is there any fix or workaround that you are aware of?

  • Hello,

    Could you explain your process for measuring data, what commands you are sending and any setup you have done with the gauge?

    Was the same gauge working fine when it was not in the mode of measuring every 1 minute? It's only with fast measurements you are seeing this error?

    Sincerely,

    Wyatt Keller

  • Hey Wyatt,

    So our process for measuring data is as follows:

    1. Turn on gauge
    2. get "start" accumulated capacity
    3. send gauge start command
    4. collect some other data + send to server. Send the previous cycle's accumulated capacity info (delta + total).
    5. stop gauge
    6. Get accumulated capacity + save delta
    7. Power down gauge

    I believe this specific unit has not gone through any calibration so it should have default values for its gain, delta, etc. It also was never operating in the default mode, in which it runs through the above steps once every 12 hours.

    We have several other units operating in this 1 minute mode, but have not yet seen the same issue appear on those.

    Gautam

  • Hello Gautam,

    If this is only occurring to one gauge out of many the procedure you follow must be correct. I would try calibrating that one gauge to see if this helps because there is an issue with only one gauge.

    Sincerely,

    Wyatt Keller

  • Hey Wyatt,

    I've since seen this issue on several more devices since my original post. Not too sure how to handle them.

    Possibly related question - how long should we need to wait after sending GAUGE_STOP for G_DONE = 1? I didn't see it specified anywhere in the data sheet.

    Gautam

  • Hello Gautam,

    I would recommend you try to replicate this on an EVM, that way you can pull all the registers easier to see if there are any issues.

    There is not a specified time because it depends on what is being written to the dataflash, lifetime data is optional. You can set an interrupt based on G_DONE with the alert pin. You should have some delay so the dataflash gets written correctly before using the GE pin to shut down the gauge.

    Sincerely,

    Wyatt Keller