Monday, April 16, 2012

Charge Controller for 12V lead-acid or SLA batteries

"This article provides the information of change controller, along with its schematic, for 12v lead acid or SLA batteries". Most lead-acid chargers are very basic, and simply pump current into the battery until it is switched off. The main problem with this type of charger is that ultimately it will overcharge the battery and may seriously damage it.

Adding a fully automatic Charge Controller to a basic charger will overcome these shortcomings. It will also prolong the life of your batteries and allow a battery to be left on a ‘float’ or ‘trickle’ charge, ready for use when required.

On charge
Battery-charging indication may be as simple as a Zener diode, LED and resistor. The LED lights when the voltage exceeds the breakdown voltage of the Zener diode (12V) and the forward voltage of the green LED (at around 1.8V). Thus, the LED begins to glow at 13.8V and increases in brightness as the voltage rises. Some chargers may also have an ammeter to show the charging current. The charging current to the battery is provided in a series of highcurrent pulses at 100Hz, as shown in Fig.1a.
battery chanring cycle
The nominal 17V output from the charger will eventually charge a battery to over 16V if left connected long enough – this is sufficient to damage the battery. This is shown in Fig.1b, where the battery voltage required for full charge (called the ‘cut-off voltage’) is exceeded when left on charge for too long. By adding in the Charge Controller, we can do much better.
battery charging characteristic

Charge control
Fig.2 shows how the Charge Controller is connected in between the charger and the battery. The controller is housed in a compact diecast aluminium case. However, if your charger has plenty of room inside its case, the controller could be built into it.
battery charge controller
In effect, the Charge Controller is a switching device that can connect and disconnect the charger to the battery. This allows it to take control over charging and to cease charging at the correct voltage. The various charging phases are shown in Fig.3.
three charging phases of charge controller
The Charge Controller can switch the current on or off, or apply it in a series of bursts ranging from 20ms every two seconds through to continuously on. During the first phase, called ‘bulk charge’, current is normally applied continuously to charge as fast as possible. However, with low-capacity batteries, where the main charging current is too high, reducing the burst width will reduce the average current. So, for example, if you have a 4A battery charger, the current can be reduced from 100% (4A) anywhere down to 1% (40mA) in 1% steps, using the charge rate control.

After the ‘bulk charge’ phase, the controller switches to the ‘absorption’ phase. This maintains the cut-off voltage for an hour by adjusting the burst width and it brings the battery up to almost full charge. After that, the controller switches to ‘float charge’. 

If the charge rate control is set to less than 100%, the switch from absorption to float will occur when the burst width drops to 1% or after an hour, whichever comes first. The absorption phase is an option that can either be incorporated in everyday charging, or you can opt to just go to float charge after the bulk charge phase. When absorption is selected, this phase will be bypassed if the bulk charge takes less than an hour.

This bypassing prevents excessive absorption phase charging with an already fully charged battery.

Cut-off and float voltages
The actual cut-off and float voltages are dependent on the particular battery, its type and the operating temperature. For lead-acid batteries, typical cut-off and float voltages at 20°C are 14.4V and 13.8V, respectively. For sealed leadacid (SLA) batteries, the voltages are lower at 14.1V and 13.5V, respectively.

These values are preset within the Charge Controller using the internal Lead-Acid/SLA jumper shunt. Alternative values are possible, and can be set manually from 0V to 16V in 48.8mV steps. 

These voltage settings can be compensated for as temperature changes;For our Charge Controller, temperature compensation is applied for temperatures between 0°C and 60°C. No charging is allowed at temperatures below 0°C. A negative temperature coefficient (NTC) thermistor inside the controller is used for temperature measurement. Four trimpots are used to make the various settings.
LED indicators
There are five LED indicators. LED1 (orange) flashes when the temperature is below 0°C, but otherwise does not light unless the thermistor connection is broken. LED2 (red) indicates the ‘bulk charge’ phase, while LED3 (orange) and LED4 (green) are for the ‘absorption’ and ‘float’ phases. LED5 (green) indicates that a battery is connected, but is not an indication that charging is occurring.

Circuit description
The complete circuit diagram of the Charge Controller is shown in Fig.4. It uses a PIC16F88-I/P microcontroller (IC1) to monitor the battery voltage and adjust the switching of an N-channel MOSFET (Q1) to control the rate of charging.
battery charge controller schematic

Q1 connects in the positive supply line between the charger output and the battery. Gate drive for Q1 comes from a transformer-coupled supply that can typically provide 15V to the gate (G) when it is required to switch Q1 on. 

The transformer-coupled gate drive arrangement allows us to use an extremely rugged, low-cost N-channel MOSFET rated at 169A, 55V and with a 5.3mW on-resistance.
To switch on Q1, IC1 delivers a 500kHz square-wave signal from its pin 9 (PWM) output to a complementary buffer stage using transistors Q2 and Q3. These drive the primary winding of toroidal transformer T1 via a 3.3nF capacitor.

The secondary windings of T1 step up the voltage by just over three times, and the resulting AC waveform is rectified by diodes D2 to D5, and then filtered with a 120pF capacitor. This process delivers a nominal 16V DC to Q1’s gate via diode D6. This turns Q1 on to feed current to the external battery. Zener diode ZD2 is included to prevent the gate-to-source voltage of Q1 exceeding 18V.

While turning MOSFET Q1 on is fairly straightforward, turning it off is more involved because we want the switch-on and switch-off to be as fast as possible, to keep switching losses to a minimum.

Hence, to turn off Q1, the 500kHz signal from IC1 is switched off. With no signal at T1’s secondary, the voltage across the 120pF capacitor is discharged via the 220kohm resistor. This discharge does not directly bring the gate of Q1 to 0V because it is isolated via diode D6. Instead, transistor Q4 discharges the gate capacitance of Q1, as its base is pulled low via the 220kohm resistor.

Link settings
If LK5 is in, pin 16 will be high (5V) and IC1 will stores the settings as SLA parameters. If LK6 is in place, pin 16 will be low and the settings will be stored for the lead-acid parameters. Links LK1 and LK2 determine whether the Charge Controller uses the Links LK3 and LK4 set the standard or three-step option. 

The standard charge selection switches charging to float charge directly after the main charge is complete. The three-step selection will run the absorption phase after the main charge, provided that the full charging process takes more than one hour. For a main charge of less than one hour, the charging will switch directly to float charge. 

Note that these link combinations cannot be used together you must use one or the other. For example, you can use LK1 or LK2, LK3 or LK4, and LK5 or LK6.

Transformer T1 is made up using a ferrite ring-core toroid and some 0.5mm enamelled copper wire. There are two separate windings. Wind on the primary with six turns and the secondary with 20 turns. The winding direction is not important.

For most large batteries you would set the charge rate to 100%. In this case, simply set VR1 fully clockwise. You can use the 100% setting for all batteries that can accept the charge rate from your charger. Most batteries can accept up to 30% of the quoted Ah capacity as a current. So a 100Ah battery can accept 30A.

Install links LK1, LK3 and either LK5 (SLA) or LK6 (lead-acid). Do not place a link onto the 2-way header adjacent to S2, as this is for an optional front panel-mounting switch for S2.
Now connect a multimeter, set to read 5V DC, between ‘test points’ TP GND and TP5. Connect a supply to the charger input and adjust VR5 for a 5.0V reading on the multimeter. Check that the voltage between pin 5 and pin 14 pin on IC1’s socket is also 5V. If so, switch off power and insert IC1, taking care to orient it correctly.
Source:EPE Magazine

Software: can be found here.


  1. Looks like what I need - if I can construct, do you know if there is somewhere I can buy PCB and programmed PIC ?

  2. There are no files at "" except some strange .exe which claims to be a download helper!!!!!

    Is it really?

    It is so stupid, it hurts!

    1. File is there; if you can't see then sign in at 4shared.

  3. Dear Muhammad
    thanks for the design, If You have the PCB design it will be helpful

  4. can i use it as a solar charge controller???

  5. What is the value of the thermistor?

  6. Dear Muhammad Zohaib

    Very interesting circuit diagram indeed.
    Could you be kind enough if you can send me the circuit diagram for this charger but for 24v Lead-Acid or SLA Batteries

    Many thanks in advance


  7. Dear Muhammad Zohaib,

    What is the procedure to adjust VR1, VR2, VR3 and VR4

    Many thanks


  8. Cannot download the software! Help!

  9. Have done so, but still struggling to download software.

  10. Are able to kindly drop me the source & hex codes by email?
    I would really appreciate it.

  11. Hi all good people !
    I want to know the code of this charger i.e what is the role of this microcontroller so that i can program it in C language as i am not very good at assembly..

  12. and what is link combination LK1 LK2 etc ??

  13. Great project,this is something like state of the art project.I build it ,schematic is correct.Project is very useful .Im using it in my 48VDC to 230VAC converter unit.

  14. hi
    I want to know the code of this charger and pcb Design.

  15. Mr. Muhammad zohaib,

    I have constructed this project and works perfectly.
    Congratulations very nice design.
    Can this design be modified to work for 24V battery bank?
    I will appreciate it if you can post the modified design to work with 24V batteries

    Thanks in advance

  16. Hi,
    Can we replace ferrite TR and other driving components with a half bridge driver IC such as IR2184?


  17. This comment has been removed by the author.

  18. Hello everyone,
    Could you please kindly help me with pcb of this project?

  19. Hi guys,
    I do not have much experience, so I need the following answers:
    -Is IC1 ready to use, or has to bi programmed (flashed)
    -What is the role of S2 taster (switch)
    Best regards

  20. Hi ,All
    I made this circuit and tested on 2012,the circuit run for drive mosfet in DC Voltage by using transformer and bridge diode,the result is like ON/OFF direct to mosfet(looking from amp meter) i modify little drive circuit by remove bridge diode and use AC coupling positive curve side to drive mosfet,the result is mosfet switching following same frequency from PIC88 pwm it to good when looking from amp meter from maximum needle fll swing to average middle about 2.5 A(up on duty cycle) and measue pulse at mosfet it is good for desulfate battery on positive plates,
    sorry about my english is not to good but i hope u r want to try tounder stand this article.
    Best Regards.