If the battery is Lithium, the PMIC must sense battery output current as well as input current to avoid excessive time during CV to allow cutoff while supply power directly to motors with a near full-charge. Beware of hysteresis requirements for this. The time at CV duration ages the battery faster than CC. Continued charging at CV while using the charge for the load instead will degrade the battery more rapidly. The same method is used in a Laptop but that device does not have the same wide range in load currents.
If the power is on all the time, an ideal SoC for battery longevity is 60~70% and not 100% and thus cycle in this range instead. Some Lenovo laptops do this.
For defining heat loss, it is wise to estimate impedance.
- the Motors will have a range of DCR values or Locked Rotor currents
- the battery will have a range of ESR's from new fully charged to 0% SoC and 10% SoC but expired (reduced capacity)
- PMIC will thus have a range of loads, voltages and currents for each state to determine SoC and health of the battery. You may want to program some fault detection conditions to include: battery health or Over-current, over-voltage protection, detection, locked-rotor.
For Motor Control IC's look at the ROHM catalog.