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: Operation of BQ35100 EOS mode with LS14500 battery in rarely discharged application

Part Number: BQ35100

Dears,

What is the best way for proper gauging in rarely discharged application, where there are no controlled load only MCU and the fuelgauge both operating on the same battery power?

The MCU is mostly sleep only wakes up to do gauge sampling.

I did the following but I keep getting BAD_EOS_OCV flag, although I take samples after battery rest for 5 hours,

I'm using LS14500 battery.

here is the sequence:

1- Switch from main power to battery power and MCU sleep.
2- after 5h wake-up MCU to enable the gauge then MCU sleep.
3- after 20 seconds wake-up MCU to send gauge-start command, then MCU sleep.
4- after 3 seconds wake-up MCU to act as (100mA)load for 500ms, then send gauge-stop at the end and set MCU sleep.
5- after 17 seconds wake-up MCU to collect registers and EOS flash data from the guage and go long sleep.
6- electronic load to drain 1% of the battery( 26mA for 1h).
7- repeat from step 2.
 

sleep current about 100u,

MCU is the sampling load as there is no controlled resistor.

as shown in the following drawing:

my concern is the region between the red lines.


R_delay is 15

EOS_RELAX_V_Hi_MAX Counts is 10

NewBATT_Rscale delay is 2
 

voltage register readings range from 3640 to 3661 mV

Thanks in advance,

  • Hey Marwan,

    I will link this application note as it talks about EOS mode for the BQ35100: https://www.ti.com/lit/an/sluaal7/sluaal7.pdf

    The testing process looks correct to me. When you perform set 4 of the load for 500ms, are you seeing at least a drop of 100mV in open circuit voltage?

    What I am thinking might be the problem is the discharges that are happening before gauge_start is sent. This is probably dropping the open circuit voltage too much where it is causing the BAD_EOS_OCV flag to trigger. 

    Regards,

    Nick Richards

  • The testing process looks correct to me. When you perform set 4 of the load for 500ms, are you seeing at least a drop of 100mV in open circuit voltage?

    Yes, there's 100mV drop in open circuit voltage during the sample pulse.

    What I am thinking might be the problem is the discharges that are happening before gauge_start is sent. This is probably dropping the open circuit voltage too much where it is causing the BAD_EOS_OCV flag to trigger. 

    There should be no discharge as the MCU is in sleep before gauge start and the current is at minimum. Only the fuel gauge is ON.

    Actually the battery voltage rises after step 2.

    1 - Is there any other cause?

    2 - what is your recommendation?

    3 - Is the following method good ?

    Thanks for your support and kind regards,

  • Hey Marwan,

    The following method looks good to my knowledge. I think what will help in debugging this issue is if you can get a log file from the gauge when the gauge is enabled to see exactly what is happening. Rerun the test and get a log file so we can further debug. 

    Regards,

    Nick Richards


  • 1- Switch from main power to battery power and MCU sleep.
    2- after 5h wake-up MCU to enable the gauge then MCU sleep.
    3- after 20 seconds wake-up MCU to send gauge-start command, then MCU sleep.
    4- after 3 seconds wake-up MCU to act as (100mA)load for 500ms, then send gauge-stop at the end and set MCU sleep.
    5- after 17 seconds wake-up MCU to collect registers and EOS flash data from the guage and go long sleep.
    6- electronic load to drain 1% of the battery( 26mA for 1h).
    7- repeat from step 2

    I did as the quot but I did :

    1. reduced timing between pulses.
    2. communication pulses consumption from 70mA to 10mA.
    3. gauge-stop command sent after the sample pulse (not at the end of the pulse).
    4. increased EOS_RELAX_V_Hi_MAX Counts to 255 instead of 10 counts.
    5. reduced R_data_delay to 4s instead of 15.

    I did a fast test to check if the flag is triggered or not, it is not triggered even if the voltage() is 3514mV (taken after gauge- stop command)

  • Hey Marwan,

    That's good to hear, it sounds like you were able to resolve the issue.

    Regards,

    Nick Richards