UM16 SLA Battery Charger

This is the UM16 multiple SLA battery charger that I designed specifically to charge multiple 12v SLA batteries which will be used with my UM12 motion control camera system. These are in the form of three dual 18Ah 12v SLA units.

The UM12 MOCON (updated blog coming soon) requires several voltage rails but the stepper controllers in particular need at least 20vdc. The decision was made to create this via a 24vdc centre tapped arrangement so that I could derive the other voltages ie: 12vdc without excessive loss through voltage regulators. The other power rails are for powering the camera(s) attached to the pan / tilt head of the MOCON.

The reason for choosing SLA (Sealed Lead Acid) batteries are simply that they are the most affordable option of rechargeable battery that I could find taking voltage and power into account. Their downside are that they take quite a long time to charge and that they are heavy. These downsides are what lead to this project being designed.

What is contained in the UM16

The UM16 contains two 4 stage battery fighter 12v SLA chargers controlled by a Arduino Uno. The Uno monitors the state of the connected batteries and manages the switching via a relay bank to allow for automatic charging of up to 5 batteries. I chose to use prebuilt charger units because I could not find kits or schematics that would make the job easier plus I already had one of these units that I had previously been using.

The aim of the project was to create a battery charging management system plus trying my hand at :-
  • using a boot loaded Atmega 328 chip as opposed to an Arduino prototyping board
  • investigate the 75HC595 shift register for controlling a bank of 16 relays
  • Use a set of 4N25 opto isolators to interface with the Battery Fighter charger units
  • Understand and implement a TLC5940 - a 16 channel PWM unit to control RGB leds

The schematics were design in TinyCAD and these were translated to VeeCAD for the veroboards.

The Battery Fighter chargers

The Battery Fighter chargers have several leds that show the varying state of the charger :-
  • No Battery
  • Wrong Polarity
  • Alert - meaning a dead battery
  • Bulk Charge
  • Absorption
  • Maintenance

4 stages Charge algorithm by steps
  1. Qualification: Ensure the battery in good condition prior to charge. Charge will not be started if battery is less than 2.0V.
  2. Bulk charge: The normal charge is commenced to deliver the constant current for charging up the battery until 80% full.
  3. Absorption charge: The charge program has switched over to Constant voltage; the charge current has to be reduced according to the raised of battery level, until the battery is full.
  4. Maintenance: The battery can be permanently maintained at a proper work level and to be kept ready to go.

The Arduino Code
My code is quite simple. The program changes the relays to attach Battery One to charger A and Battery Two to charger B. Here it reads and stores the state of those batteries. These states are read into the Arduino via the 4N25 opto isolators which are attached to the chargers leds. These states are read in via a resistor ladder on an analog input on the Arduino. This helps cut down on wiring and connections to the Arduino. The software sits for a couple of seconds on each battery to get a proper reading and then advances charger A to battery 3 and charger B to battery 4 and finally repeating the procedure to battery 5.

Once all the batteries states are recorded the chargers start from the top down and takes the charge of each battery until they are at Maintenance stage. Of course if a connected battery was already in Maintenance stage this would be ignored during the charging state. Once all the batteries are at Maintenance stage the unit goes into a sleep mode.

I did originally plan for the chargers to take all the batteries that needed the most work to the next level first but I decided that this was not necessarily good for the battery and the approach of taking a pair of batteries at a time to full charge was a better approach for the longevity of the battery.

A small addition is a thermistor, device for converting temperature into resistance, inside to turn on a small fan for ventilation one the transformers warm up during the bulk charge state. Admittedly these do not get that hot when in bulk charge mode. The reason for doing this is that the original Battery Charger units did get quite hot although they were in a small case.

The connections I've chose to use are a 4 pin microphone type which is not a standard for power but I decided a while back that these connectors are durable and can carry the power I will be using. The UM12 uses a 3 pin version to carry the 24vdc centre tapped.

In the end the unit works very well. I did have a couple of setbacks during the construction. I shorted 12vdc across the processor which took it out along with it's USB FDTI connector. For some reason one of the charger units was also damaged during construction. This took a while to find as it would consistently give me a Maintenance reading for batteries even when a battery was not connected. I originally thought this was my programming or one of the relays at fault. The unit is built inside a Pelican style case which makes for protected storage during transport. The front panel and base plate are made from Signbond composite panel which is an excellent material for these projects as it is quite light and rigid but easy to work with. You could easily argue that this is an overly complicated unit especially when you look at the insides. I could have probably found a smaller solution to the routing of the charger and battery connections probably via transistors but these ready made units made the process simple.

In depth reasons why I chose Seal Lead Acid batteries.

The UM12 system uses an average of 24vdc at 1A during a timelapse sequence. The price of SLA batteries is quite cheap versus some of the more recently available battery options like LiPo (lithium polymer). The trade off with SLA batteries is their weight and their slow charging rate. The weight of the a SLA is about 300grams per amp hour (based on an 18Ah battery) whereas a LiPo is about 100g per amp hour (based on random unit found on ebay). So, a dual 18Ah battery weighs in at about 11kg whereas an equivalent LiPo would be 3.5Kg. So a reasonable weight difference. On the other hand the LiPo batteries are much more expensive. The cost of two 18Ah 12v SLA batteries is about $110 whereas an equivalent LiPo set of batteries would range between $400 and $600 depending on the type of LiPo. LiPo batteries vary in price based on their speed of charge and discharge.  Charging a LiPo is also very quick compared to a SLA but this depends on the type of LiPo. So bottom line is that money was the reason for choosing SLA batteries. To configure LiPo batteries to deliver 20vdc at 18Ah would require several individual battery units which would also make the UM16 ridiculously complicated.