When using different types of batteries it can be quite a pain in the neck to be able to find a single tool to recharge them all with, because most chargers only work with one or a few types of batteries. But here is a charger that can do it all, from sealed lead acid batteries to Lithium Ion and Lithium Polymer – the multi-chemistry battery charger.
The device has two channels and can charge two different types of batteries simultaneously up to 2 amps each. One of the channels can also be used as a discharger. The types currently supported are Nicad, NiMH, LiIon (or LiPoly), sealed lead acid and rechargeable alkaline batteries. The charger uses an ATMega32 microcontroller and a 2 x16 LCD display with a 5 key keypad that enables the user to set and view all necessary parameters, which are saved in an EEPROM and charging and discharging values. A fixed voltage, current limited output, a fixed current, voltage limited output and a variable PWM output are also provided as a bonus.
Two separate circuits are used for charging and discharging, respectively. The brain of the charger is the microcontroller working on 16MHz that generates two 10 bit 16 kHz PWM signals. It also manages the LCD and the keypad and executes the algorithms needed. Powering the microcontroller section is done using a 0.5A 5V regulator. The charger automatically detects if a battery is connected and starts charging/discharging according to the parameters entered by the user.
This project is developed as a commercial product, so no code is released by the designer. Still, he is willing to give additional information about charger design and share some of his experiences with various battery types. Also, the charger, discharger and microcontroller schematics are available in the link below.
Universal Battery Charger: [Link]