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.

BQ27441-G1: Primary Charge Termination Algorithm is not working

Genius 14659 points
Part Number: BQ27441-G1
Other Parts Discussed in Thread: BQ27411-G1, BQ24250, BQ40Z50, BQSTUDIO, EV2400

Hi Experts,

Good day. I have this query from client about Primary Charge Termination Algorithm as described in THIS technical reference.

Customer is using the BQ27441-G1 to measure the SOC of my batteries, they claimed missing info from the reference thinking that IC is not identifying the charge termination. See the snapshot I took:

The second condition is not complete as they reported, and its not clear how the accumulated change in capacity is linked with the algorithm.

Would you please help us clarify this to customer?

Thank you for your support.

Regards,
Archie A.

  • Hello Archie,

    That does seem strange. I know that for our other gauges, they usually require >0.25mAH to be accumulated during the period. The reason for this condition, is that it can catch some edge cases where the taper current/voltage are set incorrectly. I can try to find the exact value for you, but I bet it is a very small number. It is just to check if your taper current is actually charging the battery somewhat. 

    The only way to change this would be change the taper rate or taper voltage. I would suggest increasing taper rate slightly. What this will do is start the taper current threshold while there is still a bit more capacity left to fill in the battery. As a result, you will likely meet that second condition, despite not knowing the exact value. Let me know if they have any success with this change, if you need it, I can dig to find the exact value of capacity as well

    thanks,

    Alex M.

  • Hi Alexander,

    Thanks for the detailed info. I received new updates from client. I am posting it here:

    ______

    Thank you for the reply.
    That’s not true for all Texas Gauges. If you read the “bq27411-G1 Technical Reference”, you will notice that is quite the opposite:
    6.5.2.3.8 Taper Rate, Taper Voltage
    […]
    During the same periods: Accumulated change in capacity < Min Taper Capacity per Current Taper Window
    […]
    Here, it’s even possible to configure these variables.

    I’m charging a 3.7V – 2100mA Li-Po Battery. I’m also using a Bq24250. If you want, I can show you the schematics and the code. We have more than 20000 devices with this configuration. The previous engineer used just the voltage and the remaining capacity to evaluate the SoC, but It’s not always reliable.
    I’ve changed the battery for one similar but with 1500 mAh and I was able to verify the [FC] bit going to HIGH (1), but with our battery I’ve never seen this transition, even with many cycles. That’s why I think there is something a can change to force the algorithm to identify the termination.

    These are my configurations:
    #define BATERY_GUAGE_CONFIG_CAPACITY 2000 //Battery Capacity in mAh. (Also tried with 2100)
    #define BATERY_GUAGE_CONFIG_ENERGY ((BATERY_GUAGE_CONFIG_CAPACITY/10)*37)
    #define BATERY_GUAGE_CONFIG_TERM_VOLTAGE 3000 //Minimum System Voltage in mV.
    #define BATERY_GUAGE_CONFIG_TERM_CURRENT 58 //Termination Charge Current in mA (50+15%). (Also tried with higher values)
    #define BATERY_GUAGE_CONFIG_TAPER_RATE (10 *BATERY_GUAGE_CONFIG_CAPACITY / BATERY_GUAGE_CONFIG_TERM_CURRENT)

    I’m constantly reading the current and the voltage and I can assure that the current is less than the termination current for more then 80s, even if I increase it does not affect the identification.
    The Voltage() is also higher than the Taper Voltage at this point (near the termination).
    That’s why I think it is something related to the second condition.

    "The only way to change this would be change the taper rate or taper voltage. We would suggest increasing taper rate slightly. What this will do is start the taper current threshold while there is still a bit more capacity left to fill in the battery. As a result, you will likely meet that second condition, despite not knowing the exact value."

    If I increase the taper rate, I decrease the taper current, but the BQ24250 minimum current to detect the termination is 50mA, so I can’t decrease it more. I’ve tried a lot of things indeed, from 200mA to 10mA but it doesn’t seem to affect the algorithm."
    ______

    Seems long response from customer, raising his stand. Any though on this?

    Thanks again for your continued support.

    Regards,
    Archie A.

  • Hello Archie,

    That is a good catch, I was looking at the BQ40z50 TRM which has the greater than condition. I didn't notice this other part had a less than condition. Can the customer capture a log file of the charging with 1s intervals so we can analyze to determine what has gone wrong. A .gg would also be helpful if they are willing to share. As a quick check through, FC set% is set to -1 right? And just so I understand the behavior right, they are seeing the FC bit fail to set at termination for their 2100mAH battery, but when they tried a 1500mAH battery it was able to set? I agree that it sounds like the second condition.

    thanks,

    Alex M.

  • Hi Alexander,

    Thanks again for the information.

    Customer confirmed to run this test as soon as possible. They are asking more details about the variables that they need to record with the following notes:

    Do you have any guide showing how to generate the gg file? I've not read the FC set% configuration, but I haven’t changed it either, so it is with the standard configuration (-1). I'm not interested in using the FC to verify the termination, so I don’t want to “force” it to change at 95%, for example, because I'm using the BQ24250 to evaluate this, I just want to make sure that the algorithm is working fine, which is not now.
    “And just so we understand the behavior right, you are seeing the FC bit fail to set at termination for your 2100mAH battery, but when you tried a 1500mAH battery it was able to set?
    Yes."

    Thank you.

    Regards,
    Archie A.

  • Hello Archie,

    FC SET at -1 is fine, the reason I asked is that I thought one possible reason you saw issues on one battery and not the other could be a SOC-based detection. To get the .GG file, the easiest way is to use bqstudio->data memory->export. It is also possible to do without bqstudio by just reading every DF setting. 

    thanks,

    Alex M.

  • Hi Alex,

    Thanks for your guidance.

    Customer is asking about more specific on how can to generate the .GG file without the bqstudio? What is a DF setting?

    Additional query from Cx:
    "Meanwhile, was your expert able to find the missing piece of the phrase or how the termination algorithm works for this IC?"

    Thank you.

    Regards,
    Archie A.

  • Hello Archie,

    Sorry, I assumed your customer was using bqstudio and an ev2400. Since they are using a ROM gauge, all I really need is a log of voltage and current, as well as any configurations changed from the default. That should be all that is needed in this case, don't worry about the .GG file. 

    As for the charge termination, the expert confirmed it is 0.25mAH for accumulated charge for this device. 

    thanks,

    Alex M.

  • Hi Alexander,

    The customer is using 2000mAh for the full capacity, but also used 2100mhA and there was no difference as per him.

    Changed configuration, used for the test:
    Capacity: 2000
    Energy: (Capacity/10)*37 = 7400
    Term Voltage: 3000
    Term Current: 58
    Term Rate = 10 * Capacity / TermCurrent = 344

    Thank you.

    Regards,
    Archie A.

  • Hello Archie,

    To give the best suggestions we will need a Voltage and Current log from their test, otherwise it is more guessing at what may be the issue.

    I think the Term Rate is actually the Taper Rate in the TRM, and we're not sure which parameter is being referenced for Term Current.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Sorry for the last message and the misleading nomenclature. Cx corrected the data as follows:
    1) Design Capacity: 2000
    2) Design Energy: (Capacity/10)*37 = 7400
    3) Terminate Voltage: 3000
    Taper Current: 58 -> Used just to calculate the Taper Rate
    4) Taper Rate: 10 * Design Capacity / Taper Current = 344

    This is the configuration that he used for the test.

    Attached below is the spreadsheet with the test.

    Thank you for your kind support.

    Regards,
    Archie A.

    Test BQ.xlsx

  • Hello Archie,

    Thanks for sharing the data, it looks like there should be a primary charge termination if they're using the G1A gauge with taper voltage of 4100mV, if they are using the G1B gauge it will not terminate since the voltage they charge to does not ever reach 4200mV.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Thank you and sorry for the delayed update of this post as Cx just provide feedback:

    As you can see from the device marking, it is the G1A. There wasn't a primary charge termination, as the FC bit did not change.

    "When the Primary Charge Termination conditions are met, the Flags() [FC] bit is set and [CHG] bit is cleared. Also, if the OpConfig [RMFCC] bit is set, then RemainingCapacity() is set equal to FullChargeCapacity()." SLUUAC9A
    The identification is important for the correct measurement of the remaining capacity. That is why the remaining capacity measured is not reliable here.

    Regards,
    Archie A.

  • Hello Archie,

    From the data shared and the feedback given, it looks like the charge should have a valid termination. The only other option I can think of is that they did not upload the correct value to the gauge, this is why we usually rely on the TI toolchain (BQStudio and EV2400) to confirm settings and log all the registers during discharge, it gives us much more debugging capabilities.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Customer made follow up on this query.

    Do we have a list of the data / registers needed to collect and the correct commands to verify the configuration?

    Thank you.

    Regards,
    Archie A.

  • Hello Archie,

    At this point it may be needed to validate the settings of the gauge using BQStudio, I'm concerned some of the settings may not be correct and we only know what is written manually with MCU which can commonly have issues during testing.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Sorry for the delayed response. Customer would like to ask:

    Is it possible to use BQStudio without a devKit? If not, how can I acquire this device?

    Thank you.

    Regards,
    Archie A.

  • Hello Archie,

    Wyatt will be back on Tuesday. 

    When you say devkit, do you mean an EVM? You can use BQstudio without an EVM. you would need to use an EV2400 to do so. It is the interface between the gauge and BQstudio. As long as you can connect the comm lines to the EV2400, it will be able to detect the gauge. You may need to disconnect the host though, otherwise there will be collisions. 

    thanks,

    Alex M.

  • Hello Archie,

    Were they able to acquire a EV2400 for testing to confirm the data flash settings? As Alex mentioned they don't need a gauge EVM for testing, they just need access to the communication lines.

    Sincerely,

    Wyatt Keller