We have found an unexpected behavoiur of the bq24770 battery charger in our 4S application. We have a max. charge voltage of 16.8V and a max. charge current of 1.6A.
We need to disable charging by software if the temperature becomes too high. So when the battery voltage reaches the programmed max. MaxChargeVoltage(), we inhibit charging by setting Bit[0] of the ChargeOption0() register. Now, the internal charge regulator is disabled - but the problem is that BATFET is still kept on. Therefore, a maximum current flows into the battery (up to 3A in our case), over-charging the battery in an uncontrollable way. The learn mode is disabled in our application. What might be the reason for that? Is there an other way to disable charging?
We've also found another unexpected behaviour, but its less critical. We supply the system by an external voltage supply (24V). Charging is disabled (this works if the battery voltage is low enough). Now we remove the external power supply - the bq24770 switches over to battery. Next, we connect the external power supply again. The bq24770 will not switch over to external power supply again, so the system is still supplied by the battery. This changes when we enable charging by clearing the charge inhibit bit of ChargeOption0() and writing a valid charge current to register ChargeCurrent(). Why does the system power supply depends on the charging state?