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.

BQ34Z100-G1: Incorrect Full Charge Capacity after Successful Learning Cycle

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: GPCCHEM

Hello,

We have a 24V nominal Nickle Cadmium battery (20 cells, 7000 mAh). After performing the charge-relax-discharge-relax test, we found from the GPCChem tool that the best match was the Sanyo NiMH cells with Chemistry ID 6103.

After applying the steps for the learning cycle, I've noticed that the Full Charge Capacity updates seem to make little to no sense at all. Despite the Learned Status updating from 04 to 05 and then eventually to 06 (indicating that QMax should have been learned), QMax estimates still appeared to be changing from 7000 to 4000, and at one point all the way to 0, briefly back to 7000 (just as the battery was resting) and then back down to 4000. Now it's updated to approximately 2500 (after a full charge and rest). Not quite sure, but after a number of charge/discharge cycles, should the estimate for QMax stabilize eventually for reliable SOC readings? There was even a point when the True RC value was -4000 and just increased for the first 3 hours of charging to 0, only after which SOC started increasing! How could this be possible?

A few other oddities:

- CycleCnt increases numerous times during discharging (shouldn't it only increase once per full charge/discharge cycle?)

- At the end of every charge / discharge period, I ensured that OCVTAKEN first fell (Green) and then rose (Red), which according to the documentation should qualify for a QMax update, but often times I found that QMax would update randomly either at the end of the charge / discharge cycles, or while the battery was relaxing.

Despite all this, it would appear that the RA tables were updated, since the Learned Status did change from 5 to 6.

I've attached the log file from the training, and the SREC file from the end of training. Perhaps you might have some suggestions for Data Memory parameters that I've set improperly / in a way that is not optimal. If you have any other questions, I'd be happy to answer them!

Best!

  • Sorry I've tried inserting my log file and SREC file, but the website won't permit me to post after attaching the files. Is there an email I can send them to?

  • Adrian,

    Please post it as a zip file. We will take a look after that.

  • Also, we did successfully perform the ChemID test, so we're using 6103 from the tables. I've attached the results from that test as well. NiCad_battery_test-report.zip

  • Thanks, allow us at least a week for analysis as the fw engineers are on vacation here.

  • No worries! Enjoy the vacation!

    I've got some more data that I gathered that may help diagnosing the problem. With a learned status of 6, I've gone through multiple charge / discharge cycles just to get a sense of how the parameters are changing. All the log data (and screenshots) are attached in this post for your review and analysis.

    A few things that are strange:

    1) For both of the discharge cycles, it was the case that immediately at the end (after unplugging the battery, but before the discharged OCV reading was made) the full charge capacity increased to something reasonable (our battery is 7000mAh design capacity), but then immediately after the OCV reading was made, it drops down to something relatively small (2600 the first time 1800 the second) and the True RC becomes negative!

    2) With a negative TrueRC, you can see that during charging, the SOC remains zero until the TrueRC crosses zero, and then starts increasing. Interestingly enough though, despite the fact that a negative True RC makes no sense, the difference between TrueFCC and TrueRC was still close to the design capacity of our battery.

    3) During the second discharge cycle, FullChgCap was wrong at 2800, and RemCap couldn't be correct because we were discharging at roughly 1800mA for much longer than 2 hours, but nebertheless the SOC during discharge actually looked okay. TrueFCC and TrueRC looked more correct, so is there some scaling happening between TrueFCC and FullChgCap? Sometimes they seem to match, sometimes they don't match at all.

    4) When the battery is left to charge (often overnight), the charger enters a trickle charge mode of approximately 60mA once the pack is finished charging. Overnight, you can see that the TrueRC slowly creeps up past the TrueFCC, which also seems strange to me. But RemCap never goes above FullChgCap which is good.

    5) Maybe you can also help diagnosing the full charge OCV measurement? Because it seems like an SOC of 100% is indeed set upon charge termination (I've set FC Set % to -1 to ensure this). and it holds this SOC at 100% during trickle charging, but then once the charger is fully unplugged the voltage drops a tiny bit, which causes the SOC to drop maybe 7% or so. Also when the charger is unplugged, the OCVTAKEN flag falls (indicating REST mode) and then rises maybe 10-15 minutes later (when I assume it's taking another OCV measurement).

    I hope this extra data maybe helps shed some insight as to what might be going wrong! I did find this one other post (link: ) with references to two flags (VconsEn and FConvEn in Pack Config B) where the poster was recommended to disable the flags (contrary to the datasheet recommendation to keep them set). I don't really understand what they do, but maybe it could be related to our problem.

    Cheers!

    - Adrian

  • Just wanted to check in. Can we expect a response soon?

  • Hi Adrian,

    Yes, please expect a reply here by tomorrow. The fw engineers are looking into it.

  • Hi Adrian,

    Here's a response from fw. The learning cycle has clearly not completed successfully. Your learning log indicates that IT enable was sent prior to relaxation after dsg termination. This results in a DOD that's significantly lower than 16384. Now in the chg cycle we are not seeing a taper, rather a sudden break in chg current from a high to a low value. This again results in a bad taper termination. Please use a CC/CV mode along with dT/dt only if your thermistor is attached to the cell that's being gauged, otherwise please use NidV method of termination. Once you do this you will have a better Qmax update and FCC. From that we can better find out DOD and thereby the Ra values.

  • Hello Batt, 

    If this is the case, then how is it that "Learned Status" still changed from 4 -> 5 -> 6 after successive full charge / discharge cycles then? Clearly the conditions for the learning cycle must have been met (maybe not on the first charge / discharge cycle, but perhaps on subsequent ones?)

    I think charge termination detection is working fine. I did set the NiDV flag, and if you look at the logs, you can see that the FC bit was set properly after the current dropped. In the Excel spreadsheet, row 31890, you can see that the charge current drops, and a few lines later (31900), the FC bit is set. Furthermore, we have NIMH Cell Negative Delta Volt, NIMH Cell Negative Delta Time, NIMH Cell Negative Delta Qual Volt set to 7mV, 40s, and 1300 mV respectively. All of these conditions were met. The window of time was 10x4 = 40 seconds, the voltage drop in this window was 340 mV (or 17 mV / cell, which is greater than 7). And the entire time it was above 26 V (1300mV x 20). Given this, I am not sure what the problem with charge termination is. Can you explain it in more detail? Furthermore, these are the chargers that will be deployed with the batteries (Cell-Con NiCad/NiMH, Model # 452415-NE) and they are meant to charge NiCad / NiMH batteries, so I think there should be a way to make them work with this gauge. 

    Given that I cannot change the charging method (but I'm still not convinced that this is the issue), are there any flags that you think are not set properly or parameters that are not tuned properly given the data that I have provided you? You mentioned NiDV, but you can see from the logs that it was set. If you think it would be helpful, I can reprogram the firmware and perform a new learning cycle.

    Could you also please address the questions in my post from "Jul 4, 2019 2:28 PM"?

    Thanks for your time!

  • Hi Adrian,

    It may be worth it to run a new learning cycle on a relaxed pack. There may be accuracy issues with OCV errors that happen during cycling because the Ni curve is much flatter than the Li curve.

  • Okay, we will try another learning cycle. 

    In the meantime, could you possibly address the questions in my post from "Jul 4, 2019 2:28 PM" and "Jul 18, 2019 3:25 PM"?

    Thanks for your time! 

  • Hello Batt,

    We are in the midst of another learning cycle, and we are still seeing odd behaviour.

    I've attached some logs as reference to this post. Immediately before the last discharge, the RemCap and FullChgCap are equal to each other, but wrong at around 4000 mAh instead of approximately 7000. As the battery discharges, the TrueFCC starts to increase once the TrueRC falls to zero, and near the end of the discharge, the FullChgCap looks correct (at around 7000 mAh).

    What is strange though is that after this discharge ends, the battery enters relax mode, and then maybe an hour later, the learned status increases from 4 -> 5. From all of the documentation I have read, the learned status is supposed to increase after a charge cycle, not a discharge cycle. Additionally, once the learned status increases to 5, immediately an offset is added to the TrueFCC and TrueRC of approximately -3300 mAh. So the range is correct, but the TrueRC is -3300 mAh. I've seen this happen before, and what occurs is that during charging, the SOC won't increase until the TrueRC crosses zero. But of course this can't be correct, because the TrueRC should start at 0 for a fully discharged battery, and immediately start increasing once charging starts.

    Can you help us figure out why we are seeing this behavior during the learning cycle? As far as I understand, the device properly acknowledged discharge termination, and there was also a Qmax update since "Q Max Passed Q" was set to zero. But how can we explain TrueRC being set to -3300 mAh?

    Thanks!2019-07-29 Training Results.zip

  • Hi Adrian,

    We have looked at your logs. I seems there may be a problem with voltage. The log shows unusually disjointed values from the test. The jumps are 20mV each. Please attach your gg file and srec here if you need us to further take a look.