4 Conclusion
The system described works well. It manages both the charge and the discharge of the battery using the ADC for monitoring and a collection of GPIO for control. Based on these requirements, the system can be implemented on a variety of PIC16F or PIC18F microcontroller families with the requisite peripherals. In fact, the system is sufficiently stand-alone in its operation. It can be combined with a variety of supervisory functions such as fan speed control, Real Time Clock, Watchdog Timer and/or serial EEPROM, all within a common microcontroller.
The design is limited in that it precludes running the load during battery charging. There are two reasons for this. First, it puts a significant load on the charger and can confuse its control state machine if load current transients occur during the change over from constant current to constant voltage. Second, cycling charge in and out of the battery reduces battery life. To minimize this effect, it is best if the load draws power directly from the supply rather than through the charger.