BQ28Z610 Stop Battery Charging at a Specific Percentage

 

In this article I'll show you how to configure Texas Instruments Gas Gauging Device BQ28Z610 to stop charging at 60% SOC and resume at 55%.

This feature can be useful when your device is mostly connected to the power supply, causing the batteries to remain almost always fully charged, which negatively affects their lifespan. To extend the life of the batteries, it is much better to maintain a constant charge level at around 60%. You might have seen similar recommendations on your laptops.

 

All configuration parameters should be written in the Data Flash.

⚙️ Write the charge levels at which charging stops and resumes as follows:

  • Stop: 60 to 0x464B; // Gas Gauging / TC / Set % RSOC Threshold (byte)
  • Resume: 55 to 0x464C; // Gas Gauging / TC / Clear % RSOC Threshold (byte)

ℹ️ Valid charge termination:

  • The Flag FETOptions[CHGFET] determines whether to turn off the Charging FET when GaugingStatus()[TC] is set.
  • SOCFlagConfigA stores the conditions under which the GaugingStatus()[TC] flag is set.

⚙️ Fet Options:

  • Address: 0x4600
  • Size: byte
  • CHGFET - Bit 5: FET action on valid charge termination: 
    • 0 - do nothing; 
    • 1 - turn off;

⚙️ SOC Flag Config A:

  • Address: 0x4632
  • Size: word
  • TCSETV - Bit 4: Enables the TC flag set by cell Voltage threshold
  • TCCLEARV - Bit 5: Enables the TC flag clear by cell Voltage threshold
  • TCSETRSOC - Bit 6: Enables the TC flag set by the RSOC threshold
  • TCCLEARRSOC - Bit 7: Enables the TC flag cleared by the RSOC threshold

To ensure that the condition "TC flag clear by cell Voltage" does not interfere with the condition "TC flag set by the RSOC" the TCCLEARV flag should be cleared.

👉 So, the final flags configuration is:

  • FetOptions[CHGFET] = 1; // Turn off CHG FET when GaugingStatus()[TC] = 1
  • SOCFlagConfigA[TCCLEARV] = 0; // Disable the TC flag clear by cell voltage threshold
  • SOCFlagConfigA[TCSETRSOC] = 1; // Enables the TC flag set by the RSOC threshold
  • SOCFlagConfigA[TCCLEARRSOC] = 1; // Enables the TC flag cleared by the RSOC threshold

References

No comments:

Post a Comment