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: Incorrect SOH value

Part Number: BQ35100
Other Parts Discussed in Thread: BQSTUDIO

Hi Team,

We are using BQ35100, EVM2400 and BQ35100 to get correct SOH value in EOS mode of Tadiran 5920 (CHEM ID 0x0609). These are the results of Initial learning pulses after sending NEW_BATTERY Command. 

1. Why SOH value is continuously decreasing? The method followed for pulses is this 

2. The R and Z values are not reflecting SOH to be 0 (After looking at Ra Table). Please provide some explanation, why this is happening?

Attached: gg.csv file: Tadiran_test.gg.csv

Regards,

Prudhvi

  • Hello Prudhvi,

    Is the chemistry ID selected the exact match for the battery? In EOS mode the chemistry ID must match exactly to get accurate SOH.

    It looks like the gauge is updating by 10% each pulse which is the default maximum step size for SOH.

    There are some other good threads regarding this issue:

    e2e.ti.com/.../799572

    e2e.ti.com/.../946484

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Thanks for your prompt response. 

    Yes. Chemistry selected is correct. The battery is Tadiran-5920 and selected chem id is 0x0609. The links you forwarded are really good. I observed:

    1. Almost all measurements have EOS_BAD_OCV flag set. I tried to increase the number from 10 to 20 in EOS Relax V Hi Max Counts, but no success. I see that after gauge start command, the Voltage is fluctuating a little (that's what is causing the flag to be set).

    2. Many times SOH_ERROR or SOH_MERIT are high (or atleast one of these is high, in most of the measurements)

    Hence, But I really dont know the reason why the OCV is fluctuating. May be when the load is turned off (it is a lipo discharger), it is not disconnected and thats what is causing OCV to fluctuate or the battery itself. Could you provide some inputs here? Should I include a Supercap at the terminals of the battery?

    Regards,

    Kamlesh 

     

  • Hello Kamlesh,

    If you have some load on the battery when it takes an OCV reading it may give these errors, can you check to make sure the battery is rested and really at OCV for your tests?

    Sincerely,

    Wyatt Keller 

  • Hi Wyatt,

    I tested with another setup. The load used is a 100 Ohm resistor with a Transistor switch. I get around 30-35 mA current from Battery when the load is on. Now, the Bad_Voltage flag is low (most of the time), It goes high when I start the Gauge just after the previous measurement cycle (So, this seems fine). But there are a few issue and doubts:

    1. I am not able to get rid of the 10% drop (maximum delta) in each measurement. I am using a battery previously used and starting again each time (which might compromise my measurements). Each measurement has either SOH_ERROR or SOH_MERIT Flag high.

    2. Also, a relaxed state of the battery is a little confusing, this depends on battery to battery, as well as load conditions, right? So How do I make sure that the battery is in a relaxed state after a discharge cycle? TRM mentions 5 Hrs as a relaxation time.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    Is the load causing a 100mV drop in the battery voltage? It looks like your first test was 100mA pulses?

    Also from looking at the logged data on your original post, did you enable the gauge for each one of those pulses? The battery voltage should be relaxed before the gauge starts taking measurements, if your load occurs every 50 seconds or so that's not enough time for the battery voltage to settle.

    You will need 5hrs relaxation before the pulse the gauge uses to update the resistance values (wen you enable the gauge). You can have other pulses that are often, but the gauge shouldn't be enabled for those.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Yes. The load is causing a drop from ~3600 mV to 3100mV. Initially the pulses were 100mAs (Right now, I am testing with a new setup as already mentioned, it takes around 30-15 mA and causes a drop >100mV).

    Yes, my method is this. GE_ON -> After few seconds, GAUGE_START -> LOAD_ON -> Wait for few seconds (~10 secs) -> Load_OFF -> GAUGE_STOP -> wait for R, Z and SOH to change -> GE_OFF.

    For the next cycle, I wait for around 30 minutes or more. Sometimes, I turn on the GE (in between the waiting period) to measure the voltage (whether it reached to initial voltage or not). When I turn on the GE, I see a voltage value, if this value seems okay, then only I start the gauge (GAUGE_START), otherwise turn it off again (GE_OFF) and wait for the voltage to rise.

    If the turn on voltage is sufficiently high, I start the gauge (check if EOS_BAD_VOLTAGE is high or low) -> If it is low, then turn on the load and proceed for cycle to complete and measure SOH. At this stage, mostly I see SOH_MERIT or SOH_ERR high and 10% drop in SOH. I am stuck here for now.

    I see that even if I don't turn on the gauge, the time between non-gauging and gauging pulse should be atleast the relaxation time of the battery. 

    Regards,

    Kamlesh

  • In addition to above, 

    What could be reasons when SOH_MERIT and SOH_ERR is high? Because high SOH drop is nothing but error in SOH which is reflected in these flag registers. So, if we know the reasons behind the same, we may be able to rectify (as EOS_BAD_OCV has been resolved.)

  • Hello Kamlesh,

    You can apply whatever load you like while the gauge is not taking a measurement, but before the gauge measures the learning load the battery must be rested which usually takes around 5 hours, 30 minutes is too close.

    The flags triggering are explained in more detail in this thread: e2e.ti.com/.../833628

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    The link shared by you, was really helpful. I am making the battery rest for 5 hours and then turning on the Gauge. I am continuously getting SOH_MERIT flag high. And SOH is reducing by the max delta which is 10%.

    Values of R is varying around ~9000 which is in the Ra Table. Z values are varying between 17000 - 18000. Hence, we can see that the Gauge has learned and applying the scaling factor. Now, In my opinion, there could be following problems:

     1. Because some of the learning pulses (pulses sent just after new_battery command) had EOS_BAD_OCV high. This may corrupt the scaling factor and hence SOH. Should I send a new_battery command and start the learning again?

    2. Some unknown issue with the battery. I see that drawing ~30mA current  leads to 600 mV drop and after that it starts rising again. Can this hint toward a malfunctioning battery?

    Thank you so much for your support.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    Are you using a new battery with each test, or a battery from previous tests? The voltage drop from your current seems a little high.

    You only need to send the new_battery command when yo insert a new battery, if it's being done on the other pulses it may cause issues.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    I am using only one battery for multiple tests. I issued, New_battery command 3 times on the same battery, as each time after 10 pulses the SOH reduced to zero. In the present test (with the same battery), I didn't issue New_battery command, I directly changed the SOH register value.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    Do you mean you are aging one primary cell battery?

    I recommend looking at a few batteries.

  • Hi Kang Kang,

    I have started looking for different batteries. I started a new test yesterday with a new battery (Tadiran 5920 8500mAh). I cannot guarantee whether this battery is in full charge condition. We procured it and I am using this for test directly. I am enabling the Gauge with a gap of at least 5 hours. With this battery as well, I am getting SOH_MERIT flag high. Till now, I have sent 2 pulses (learning) and these are the results:

    Pulse 1: OCV(3640 mV), Current Drawn(-30 mA), R(27628), Z(27628), SOH_MERIT(High), SOH(90%)
    Pulse 2: 3638 mV, -30 mA, 21975, 21975, SOH_MERIT(High), SOH(80%)

    I will update on more pulses as I test.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    You may also try changing the cell term voltage to 900mV, sometimes this can interfere with the gauging.

    Sincerely,

    Wyatt Keller 

  • Hi Wyatt,

    All my tests are with cell terminal voltage 900mV. Last few pulse readings are (with the new battery) :

    format (OCV, Current, Z, R, SOH_MERIT, SOH)

    Pulse 3: 3646 mV, -30 mA, 21187, 21187, SOH_MERIT(High), SOH(70%)

    Pulse 4: 3613 mV, -31 mA, 16044, 8343, SOH_MERIT(High), SOH(60%)

    Pulse 5: 3646 mV, -29 mA, 21228, 8024, SOH_MERIT(High), SOH(50%)

    Pulse 5: 3639 mV, -30 mA, 20162, 7621, SOH_MERIT(High), SOH(40%) 

    Regards,

    Kamlesh

  • Hello Kamlesh,

    The SOH_MERIT is still being triggered so the voltage still may not be relaxed enough, there is some kind of discrepancies between the Z and R values because the voltage is increasing during the sample.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    I agree. It seems like there is some problem with the OCV. I have few batteries from SAFT. These are SAFT LS33600 and LSH20, can I try these? I know that there is no chemistry file in the BQstudio, so I will need to generate one (unless I can utilize a similar chem file already existing in the Bqstudio) and upload it on the gauge. Is it possible at my end?

    I want to try this as soon as possible. We have given enough time to this project and not got desired results. This could be our last effort. Please provide information on this.

    Regards,

    Kamlesh

  • In addition to above:

    Should I reduce the 'EOS Relax V Hi Max Counts' register value? Presently, It's value is 15. We have some lab equipment to measure battery impedances. Let us know the procedure to generate the .chem file.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    Yes you can generate your own Ra information by discharging the battery and at each of the Ra grid points (the DOD at each point) measure the resistance value yourself from the gauge, then you can program your own batteries Ra information to the gauge.

    The first 7 grid points are every 11.1% and then it is 3.3% until the final DOD. Then the gauge would be customized for your battery.

    Sincerely,

    Wyatt Keller

  • Kamlesh,

    I'm not sure if this thread was linked before but it contains a lot of information to help with testing and gathering the resistance values needed: e2e.ti.com/.../853813

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    As far as I have understood,

    1. I need to get the Ra Table experimentally.

    2. Update the Ra Table in the gauge

    3. Connect new battery, send NEW_Battery command and follow the same procedure of measuring the SOH.

    I have few more doubts:

    1. We need to measure the internal dc resistance after discharging the battery as you suggested, like measure the resistance with every 11.1% DOD for initial 7 times and then measure resistance at every 3.3% DOD. Is this methodology, correct? The equipment we have, can measure the impedance over a frequency range, so I need to get the value at zero frequency.

    2. What should be the current drawn from battery while discharging it? Our model's max current (continuous) is 250mA. Nominal capacity is 17Ah (@5mA, @20C, 2.0V cutoff)

    We are using Electrochemical Impedance Spectroscopy so I think it will be possible to get DC impedance. Please clarify the doubts. Thank you for generous support to us. 

    Regards,

    Kamlesh

  • Hello Kamlesh,

    You don't need to measure the resistance with outside equipment, you can discharge the battery 11.1% then use the gauge to take a measurement and use that resistance (measured Z) for the Ra value at that point.

    Sincerely,

    Wyatt Keller

  • Dear Wyatt,

    Okay. So, I am going to start the test tomorrow. I just want to confirm the procedure:

    1. Turn on the gauge.

    2. Unseal it and send New_Battery command.

    3. Start Gauge, draw some current (so that the voltage drops by atleast 100mV), stop gauge, note down the Z value (for the first time).

    4. turn off the gauge

    Before repeating the above 1st, 3rd, 4th steps (2nd step is needed only once), I need to discharge the battery by 11.1% (or 3.3% in later stages) and give it rest for 5 hours. 

    I hope, this works.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    You may need to reduce the New batt R scale delay parameter so the gauge doesn't discard the first resistance values when measuring for the test.

    That should be the correct procedure. You can reference the Impedance Track documentation for the DOD points: www.tij.co.jp/.../slua364.pdf

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Okay. I will change the New Batt R delay to 1. Also I see that the DOD points are 10% for first 8 points and 3.3% for rest of the 6 points - according to the document you shared. Thanks a lot, Wyatt. I will start the test.

    Regards,

    Kamlesh

  • Hello Wyatt,

    I started the test and got 2 points for Z till now. With full battery, Z value measured is 3045 mOhm. I discharged 10%, relaxed the battery for ~5 hrs and then used the gauge to measure Z again, which is 2527 mOhm. Does these values seems fine to you? I think, the impedance have to increase at least a little. right?

    Regards,

    Kamlesh

  • Hello Kamlesh,

    The resistance will be higher at the beginning because of the passivation layer, these values seem reasonable to me. Just make sure the measured Z and scaled R aren't the same for the first couple pulses, like I mentioned in the previous post.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Okay, so till now Z and R are same. I took one more measurement (without discharging the battery) it is 2443 mOhm. Still Z and R are same. And the New Batt R delay is set to 2. So I guess, the scale factor is 1 in this case.

    Regards,

    Kamlesh

  • Kamlesh,

    The gauge will set them equal the first few cycles, you can clear this by pulsing it a few times until the values are different (pulse as in send the gauge_start then gauge_stop commands a few times with some rest between)

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    So far the results are:

    OCV Current (mA) Z R
    3660 36 3045 3045
    Battery discharged by 10%.
    3655 36 2527 2527
    3656 37 2443 2443
    3658 37 2644 3080
    Battery Discharged by 10%
    3655 37 2506 2919
    3656 37 2480 2889
    3653 73 1429  1703
    3660 73 1485 1730

    As you can see, when the current is doubled in the gauge pulse (Because with 36mA the Battery drop was just about 100mV, So to make sure that >100mV drop occurs, I reduced the load resistance by half) , it is affecting the impedance. I believe, it should have been normalized. Also, I am not sure, which pulse value should I take to fit the Ra Table, when the full test completes. Should I use the same current value for the gauge pulses.

    Regards,

    Kamlesh

  • Hello Kamlesh,

    You should be able to use the same current pulse during the whole test, the scaled R of your system when it's really implemented will learn the value that needs to be scaled from the measured Z, as long as the Ra table is made in a consistent way (same current pulse)

    Sincerely,

    Wyatt Keller