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]
This project scans a 180 degree area from about 6 to 21 inches (15cm to 53cm) away and displays the information on a color LCD. To do this is uses. An infrared distance sensor from Sharp and an ultrasonic sensor from MaxBotix. This project is a short range, infrared and ultrasonic scanner that uses a standard hobby servo to move the sensors and a color LCD screen to display the information from the sensors. The information displayed on the LCD is an overhead view of the scanning area, with increments of distance from the sensors.
ATMEGA32 Based Infrared and Ultrasonic Scanner: [Link] – [via]
A master-controller board and three stepper motor driver boards drive this well-designed PCB drill machine. There are four single-sided boards each featuring an ATmega16/32 microcontroller. The master controller initiates and controls all communication. The result ? you drill your PCB’s precisely at the right spot.
3 axis PCB Drill: [Download Project] – [View Project PDF]
With this ATmega32 based system, you can monitor a Fiat’s engine control unit (ECU) as you drive. You can display up to four of the available ECU parameters and have the values updated in real-time as you drive. It also decodes the internal ECU error codes as they occur and displays them in real time. An ECU is the Electronics Control Unit of a car that controls various things like the ignition time and valve timing.
Fiat ECU Monitor System: [Download Project] – [View Project PDF]
This Atmega32 based WOL Server allows WOL packets to be sent over the internet to a target computer. WOL basically is a system that allows sending of a special type of packet to a computer to power it on (to wake it). Read more about WOL on Wikipedia. The system is password protected so you wont have any security issues.
ATmega32 Wake On Lan Server: [Download Project] – [View Project PDF]