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.

Charging and Discharging Detection using bq27542-g1

Other Parts Discussed in Thread: BQ27542-G1

Hello All,

We using the bq27542-g1 fuel gauge to monitor a single cell Li-Ion Battery. The fuel gauge communicates to  MCU using I2C.

We are interested only to detect the battery is charging or discharging state . Hence I’m polling for the Flags ()status in the register address 0x0A & 0x0B via I2C for every 1 seconds and looking at DSG Bit (Bit 0) of the Low Byte. As per the SLUUB65A–May 2015–Revised May 2016, Pg: 78, the DSG bit is set when discharging is detected.

 

This design of polling the DSG Bit is inconsistent in detecting the Battery State and also not promptly reported. The Fuel Gauge takes more time to detect the charging/discharging state.

I receive the Flags () status as LSB - 0x3C and MSB - 0x00 when no charger in connected. Here DSG Bit is 0 which Indicates charging state when no charger in connected.

 

Please help me out on why I’m facing this issue & how to resolve it

Is there any other consistent way to detect the Battery Charging/Discharging state?

  • Hi Arun,
    Simply read the average curent register. If you have a charge current, you will have positive value, if you have a discharge current it will be negative. you can also include the chg and dsg and quit current thresholds in your algorithm to know what state the gauge is in after reading the average current.

    thanks
    Onyx