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: System Side Battery Fuel Gauge

Part Number: BQ27441-G1
Other Parts Discussed in Thread: BQSTUDIO, , EV2400, BQ25606

Hi

We are using BQStudio (Version 1.3.86 Build 6)  tool for creating "Golden Image" for our system Side-Pack Fuel gauge (BQ27441-G1A) . We have found one reference manual with name "Achieving The Successful Learning Cycle"- SLUA903. According to this manual after initial discharge of the battery, the update status in the Gas Gauging - State section of Data Memory has to change from 00 to 01 after charging and relaxing. But this never happens with BQ27441-G1A which we are using. Also please let us know whether this battery fuel gauge calculates the battery "State of Charge" (SOC) using linear method or non-linear method and also the procedure to calculate the SOC.

Also there is confliction between Learning Cycle procedure and the conclusion given in this manual, and so its unclear which one procedure to follow.

And also, please clarify to us whether the document name mentioned is the document that we have to follow or is there any other document specifically for BQ27441-G1A.

  • Hello,

    The bq27441-g1 is a ROM based gauge so it does not need to have a full learning cycle completed. By choosing the model (G1A or G1B) that is the equivalent of setting the chemistry ID for the gauge.

    You can follow the quickstart guide for this gauge specifically, it will be more helpful than the learning cycle app note you referenced.

    Read section 6 of this guide: www.ti.com/.../sluuap7.pdf

    After configuring the gauge for operation after power on, the gauge will learn Qmax and store it in RAM to keep gauging accurately.

    SOC is calculated using many different parameters and impedance track formulas to accurately gauge the non-linear characteristics of batteries.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt

    Thanks for update. Let me brief you all experiments which we have done till now and not getting proper SOC with respect to fuel gauge voltage.\

    1. Initially, we have done on Learning cycle on Fuel Gauge with four parameter as per datasheet and user Guide.

      1. Design Voltage
      2. Nominal Capacity
      3. Nominal Energy
      4. Taper Current
      5. Empty Voltage

    Result & Issue: SOC was not as per voltage reading and it has jump issue of percentage. 

    2. After that we tried with more register configuration and set below parameters and monitor below things during charging & discharging of learning.

    NLAU_CTV2_INR18650C 1S2P 5100mAh Config.xlsx

    During charging we monitored FC bit which needs to be set and after that in relax mode VOK, RUP_DIS should be clear and OCV_TAKEN get set which was as per learning cycle standard.

    And after discharging in relax mode, VOK and RUP_DIS should be clear and OCV_TAKEN getting up.

    QMAX_UP bit and RES_UP never changed during charging and discharging. And also  I did not notice Ra table is getting updated, it had same initial value always. 

    Please let us know if we are missing anything and how can we make a right golden image.?

    We have used below things for learning.

    a. BQ27441 Evaluation Module

    b. EV2400 

    c. Charging through our custom board having battery charger part number BQ25606

    d. Discharging through constant load by C/10

  • Hi Wyatt,

    Adding more points from SW point of view.

    New_Learning Cycle_0421_1_09_40-bq27441G1A_16_09_2020.gm.zip

    We are using following flow for fuel gauge configuration.

    1). Send command to unseal the device

    2). again send command to unseal the device

    3) Send command to enter config Update mode

    4) Poll flags() till CFGUPMODE bit is set.

    5) Send command to enable block data

    6) Write all data block content of golden image to the fuel gauge.

    7) Send command to soft reset the device. 8) Seal the device again.

    Let me know if I am missing something either from SW read and write of from learning side?

     

  • Hello Sumit,

    Your configuration looks correct, make sure you send the BAT_INSERT command so the BAT_DET is set, otherwise predictions won't be made.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt

    Thanks for an update.

    In our case, BIN is pull down with 10K resistor as system will have battery inserted always. 

    During fuel gauge configuration, i can see our battery insert register is set so I believe it is already detecting the battery.

    What else we can see or do to make this in working condition? 

  • Hello Sumit,

    Can you send the logs of your learning cycles? If the gauge does not become relaxed or there's a load on the gauge preventing it from reaching the condition to take an OCV reading.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    Please find attached logs of charging and discharging cycles of learning.

    Discharge cycle log

    NLAU_CTV2_BQ27441-G1A_Learning_Discharge Cycle.xlsx

    Charge cycle logs

    NLAU_CTV2_BQ27441-G1A_Learning_Charge_Cycle.xlsx

    OCV bit is monitored during learning cycles.

    Please check attached cycles log.

  • Hello Sumit,

    Your cycles look good, VOK clears on both of them so you should get an OCV update, like I mentioned in the first couple posts since this is a ROM based gauge it doesn't need to perform a full learning cycle.

    I believe some of the data is missing from the discharge cycle, was the drop in SoC slope expected?

    Sincerely,

    Wyatt Keller

  • Hi Wyatt

    What is the missing in discharge cycles?

    We are not getting right SOC similar as log. There are huge difference in SOC.

    Like as per calculations or log SOC should be of 78% but it is showing 7% something.

    This is the main issue which we are facing.

  • Hello Sumit,

    Make sure your system is programming the golden image generated from the learning cycle and that the conditions for temperature and load dynamics are the same.

    The performance should be repeatable on another EVM, I suggest to try that as well.

  • Hi Kang

    Today we have tried connection of our custom board with EVM fuel gauge.

     

    Writing golden image in EVM by using BQSTUDIO PC app and then reading started by our custom board SOC.

     

    I can see battery voltage is getting increased in charging linearly but SOC reading by SOC has more fluctuations and jumping from 30% to 5% to 3% to 0% something like this and again SOC is getting increased by0% to 30%.

     

    Is there any issue in reading the packet?

     

    But when we are checking SOC by BQSTUDIO PC app then it is showing right SOC value.

     

    We wanted to understand what things are we missing in reading and writing the configurations?

    Can you please help here on this? we are facing this fuel gauge issue since last two months and not able to close this.

  • Hello Sumit,

    The first step at least shows the configuration image is okay.

    The issue is with your host. Make sure you are not sending resets.

    The only way to resolve would be to get an i2c sniffer and see what commands you are sending to the gauge. It's not the golden image or the gauge at this point.

  • Hi Kang,

    We have tried the following steps:

    1) Programmed EVM from PC using BQstudio.

    2) Checked SoC from BQstudio and it reading seems to align with what was expected.

    3) Switched I2C connection from PC to our Custom board.

    4) Without any reset or configuration to EVM from custom board, we tried to read battery current, voltage and SoC using commands 0x10 followed by 2 bytes read operation, then 0x04 followed by 2 bytes read operation finally 0x1C followed by 2 bytes read command.

    Still the battery SoC did not align with what was visible on PC BQstudio.

  • Hello Abhishek,

    The only way to tell if the same commands are being sent is with a sniffer on the lines to see what the host is actually doing compared to bqStudio.

    Like Kang mentioned it's not the gauge if bqStudio is reading the correct values.

    Can you send some screenshots of the communication comparing bqStudio and your host?

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    We are having trouble with finding an i2c sniffer, it would be best if you can suggest where can we get one.

    Apart from this we continued some more test on our side and are now able to see that whatever readings we are getting on the BQStudio, we are also able to capture same on custom board. But still both (BQStudio + EVM) and custom board + EVM fuel gauge do not align with the discharging logs created at the time of golden file generation which already shared with you earlier but resharing again.

    1072.NLAU_CTV2_BQ27441-G1A_Learning_Discharge Cycle.xlsx

    It was generated with the current golden image configuration we are using with the EVM + BQStudio. I am also attaching currently exported .gg file and a screenshot showing mismatch in the reading and previous discharging cycle logs.

    104Discharge_cycle.gg.csv

    As per above snapshot you can see board in discharging mode and voltage is around 3.744V but fuel Gauge is showing only 23% while in learning log it is around 64%.

    Why are we getting this much difference?. That is still not clear and not able to understand. Can you please help to understand this.

  • Hello Abhishek,

    You can use a logic analyzer or oscilloscope with trigger modes, a logic analyzer would be best. We just need to see what's actually being sent and received between your two setups.

    Are both gauges being uploaded with configurations the same way? If there is an issue with your parameter upload with your host then it may give out incorrect readings.

    Sincerely,

    Wyatt Keller