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: Gauge displays wrong data

Part Number: BQ27441-G1

Hello TI community, I'm new to this forum but I've been using TI's products for a while, first I want to describe you what I'm doing before getting into problem details. I designed a PCB containing mainly a BLE Soc, BQ27441-G1 IC and other components, one of my application requirements is to read once per second Battery State of Charge (%) and observe it using a Mobile App (e.g., BLE sniffer). However, I've been having some troubles with it.

What Have I done?

Firstly, I read BQ27441-G1 datasheet and Technical reference manual in order to understand initialization and data acquisition process. Then, before designing my own C library, I included Sparkfun C++ library for BQ27441-G1 IC into my project, I compared what the library does with the technical reference manual initialization seudo code (i.e., setting a new Design Capacity). I've configured other parameters apart from Design capacity such as: Terminate voltage and Taper voltage, but didn't change the outcome. 

Which Battery Do I use?

I'm using a  Li-Polymer battery with the following characteristics:
Capacity: 500mAh.
Voltage: 3,7V.

What  are my results?

Design Capacity is configured successfully but State of Charge value varies between 1 to 2% (even though Battery is fully charge), Battery voltage says 3345 mV when is fully charge and in open circuit but it says 3241 mV when battery is sourcing the PCB, but I'm not sure this value is correct due to Multimeter readings say Battery voltage is actually 4000mV instead of 3241mV.

Questions and doubts:

  1. I understand BQ27441-G1 has 3 hardcoded batteries IDs, each one of them with pre-loaded voltages and capacities, but none of those matches my battery, Could that be problem? Should I use of those instead of loading my own terminate voltage, design capacity and taper voltage?
  2. If it's ok loading Taper voltage, Terminate voltage and Design Capacity, is there any other parameter I should look at?.
  3. What are the steps when I want to update other parameters than Design Capacity? I have this question because neither in the Technical reference manual nor Sparkfun library modify other parameters. 

Thank you very much for your time, I'll be waiting for your answer 

  • Please refer to the Quick Start Guide for #2, but your understanding is correct provided your battery is a good match.

    Please refer to Gauge Communications app note for #3.

    www.ti.com/.../slua801.pdf
  • Response

    Thank you very much for pointing me to that application note, it has been very helpful indeed!.  Getting into more detail inside the technical reference manual, I found there is a register called opconfig who has 2 important bits field which are BIE and BI_PU_EN, register default value is 0x25F8, if I changed that value to 0x15F8, what I'm doing is setting BIE (Enable Battery insertion command to tell device when a battery has been inserted) and BI_PU_EN (Enable internal pull-up resistor), after those parameters are updated then I send Battery insertion command so theoretically device should exit shutdown mode and move to normal mode, problem comes when measuring a simple parameter such as current resulting in a non-logic value, the current consumption according to device is -2mA (i.e., if it were charging but actually it isn't).

    Question & Doubts

    1. Is there another configuration I should look at for measuring current correctly?

    My concern regarding this question is because I can't expect to read battery SOC successfully if current measurement is wrong.

    2. Is my Fuel gauge circuit connection correct?

    I'm starting to think maybe is a hardware or soldering problem, so instead of spending more time in firmware debugging I should do a soldering rework. Note, I attached circuitry image below

  • Hi Adrian
    Can you send a snap shot of your register window?
    Have you tried calibrating the cc and board offset as well as the current?
    What node do you have your load connect to ?

    thanks
    Onyx