For me this charge controller is part of a bigger project, but since it should work fine as a stand-alone solution I thought I'd put it here for the world to see and use.
I will be using either the ATMega328 or a ATtiny84 for this design.
This charge controller aims to do the following:
- control charge voltage using a boost converter. This will allow us to charge batteries with very low input voltages (e.g. 5V from a USB port).
- use input voltage sensing to detect whether the boost converter should be activated or not.
- use output voltage sensing to detect battery charge state.
- use current sensing to detect battery charge current.
- set charge current using a trimpot
- enter sleep mode to save power when the input voltage is insufficient or when the battery is charged.
With these objectives defined, the next steps will be to work out the following features:
- complete a rough schematic of the design (diptrace)
- voltage detection of input and output
- current detection of input and output
- auto-adjustment of boost converter output voltage from mcu
- design charge regime (boost - bulk - float)
- minimise current draw when not charging (hopefully less than a few uA's)
(to be continued..)