Charging a lead-acid battery involves three stages: CC, CV, and Float. I have a charge controller which charges my battery at CC to the float voltage. I would like to add a device that would charge it via CV to full charge. (See Lead Acid Battery Charger Design Factors for description of stages.)

For example, I could attach something that would charge it, keeping it at 14.6V until the current goes down to .1A, and turn off. When this device would turn off, the charge controller would kick in, and keep it at 13.7V Float stage.

However, I cannot find a device that would do that:

1) Charge controllers that have a "Absorbtion" 14.6V stage typically have it timed,
    say for 10 minutes, and then turn off regardless of the current.
2) Charge controllers that I can program to rise to 14.6V indefinitely, have no way
    to tell me when their current goes low enough (other than through an LCD display).
2a) I can attach a timer to turn off such a controller after giving it enough time to
    reach .1A current; however, since my system if powered by solar panels, it might
    not reach .1A within that time frame on a cloudy day.
3) I can use a CC / CV power module to output 14.6V; however, that will not measure
    the voltage of the battery, nor determine when the battery is fully charged.
4) I have bought several commercial chargers, such as ElProg Pulsar, capable of doing
    such a charging; however, all of them require at least pushing a START button to
    initiate the charge.

I have consulted with my dad, who's an electrician; however, all options have gave are either very power-consuming (e.g. involving PLC), or are not available at 12V.

I am open to buying a commercial product that would do this, if it is too complicated to make by myself. Please give some advice.

  • \$\begingroup\$ I found SOLAR BOOST™ 3000i charger, which is capable of doing what I need if I also buy a IPN-ProRemote display, for a total of around $350 / 30A. Hopefully I can find something cheaper than this... \$\endgroup\$
    – Alex
    Jun 22, 2015 at 2:34
  • \$\begingroup\$ Have you found something cheaper since June? This should be "easy enough" if still required. \$\endgroup\$
    – Russell McMahon
    Dec 29, 2015 at 1:27
  • \$\begingroup\$ Nope, haven't found anything. While I do not need it at the present moment-- if you can answer, I think it would help for everyone else, or even for me later on. \$\endgroup\$
    – Alex
    Dec 29, 2015 at 20:25

2 Answers 2


I know question is quite old, but the topic is still useful to several readers, so here are my answers and a circuit I built that charges a lead acid battery as you originally wished:

For example, I could attach something that would charge it, keeping it at 14.6V until the current goes down to .1A, and turn off. When this device would turn off, the charge controller would kick in, and keep it at 13.7V float stage.

General concepts

About 20 years ago, I built several 3-stage battery chargers for 12V 7Ah SLA batteries, using an LM317 and some other semiconductors.
I recommend you (and others) to use this circuit family, considering the tips and limitations I explain ahead.

Spoiler: this circuit works well, but you need to define certain ranges for the best use:

  • Battery voltage: if it is 6V or 12V and more importantly
  • Current limits: as Maximum current capability and Threshold current.

How flexible is a charger: it is just like using a screwdriver; there are smaller and bigger ones, you select it depending on the size of the bolt, within some common sense - and there is no magic here.

Battery information:
A known website consolidating several battery related information is the Battery University article repository.
At the end of this post, I will supplement some battery related information, to make this post more self-contained at first sight, but providing the links for further reading.

The 3-stage charging parameters from article BU-403 were summarized in the following graph: enter image description here

Base circuit, with 3-stage charging

The base circuit appears in the LM350 datasheet, but LM301 OpAmp can be substituted by others easier to find, as TL081 - further ahead are comments of OpAmp selection.
This circuit makes clever use of 1.25V differential voltage between V.out and V.adj, which is the same for either LM350 and LM317. The first can deliver up to 4A (see LM350 datasheet Figure 4), while LM317 datasheet indicates on item 7.5 up to 2.2A.
See my comments how the circuit works inside the picture, allowing the readers to adapt to individual needs.

enter image description here

  • Threshold current-detection, I.lim, to change from V.bulk to V.float is made by OpAmp that compares the voltages in the resistors marked in green. This should be the first review point.
  • Absorption-voltage is the correct designation for the second stage and related components are marked in Red. Note: In the original post I had used this higher voltage limit with a shorter description as V.bulk. So, when you still read somewhere “V.bulk” (maybe more meaningful to me), please mentally translate to the “V.absn”(technically correct). Assuming R2+R3 ~= 240R, then select R1 to desired “V.absn” - or add a trimpot in series to fine tune the voltage (this is what I did).
  • Float-voltage (V.float) related components are marked in blue. OpAmp puts R4 connected in parallel to R1, reducing the voltage divider that controls the LM350/LM317.
  • Original OpAmp is the LM301. It can be easier replaced by TL081 (double-check pin out), as the TL V.in+ and V.in- can operate up to +Vcc (as this original design goes). Be careful to buy a real TL081, as several internet vendors sell remarked counterfeit ICs - this is even worse for TL082 (dual OpAmp with pin-out identical to LM358), but that is another chapter.
  • Alternative OpAmp as LM358, the ancient LM741 and others can be used if the Vcc is rerouted to V+, before LM350. Observe to not surpass Vcc.max of the OpAmp (up to +30V is OK). This allows a Vcc of OpAmp to become higher than V.in+/- and to avoid OpAmp latch-up. This was marked with purple arrows, as a reminder.
  • V.absn or V.float: Charger detects I.charge and if it is larger than I.lim, V.absn is selected, otherwise the output goes as V.float. To force V.absn on a charged battery, I didn’t use the compensation pins of LM301 (or TL081 or LM741), fading it with a yellow marker. I prefer to press the push-button with a power resistor (draining about 1A) and that’s it - inserted with blue markers.

About maximum charging current:
As a general safe guess, unless you have battery’s exact operational data, the maximum charging current should be up 15%~20% of rated capacity.
If the battery is smaller than a Car battery, or less than 20Ah, I.charger < 3~4A. In this case, a real LM350 (again, not counterfeit) might have its current limitation as too strong. So, for batteries from 7Ah to 20Ah, it would be better (cheaper and easier) to use a real LM317.

Small SLA batteries, C < 5Ah

For very small lead acid batteries as you commented, about a 2.3Ah and similar, even the current limitation provided by the LM317 (I.max = 1.5A~2.2A) is too much. To reduce the I.charge.max to something like 0.5A to 1.0A, you could adapt the following circuit (from TI’s LM317 datasheet) to the previous 3-stage one:

enter image description here

Larger batteries, C >> 50Ah

On the opposite case, for very large batteries, the LM350 may not provide enough current during the first charging stage. In this case, the base circuit could be adapted to provide 5A, 10A or more, using a by-pass power transistor, similar to this one:

enter image description here

Circuit robustness and protection:

Short circuit protection: Just keep in mind that for the current-booster circuit, it looses the ability to limit the short circuit current. If this is necessary (and I would recommend), supplement it. For instance, the remaining OpAmp from a dual OpAmp package (as TL082 or LM358) could trip a PowerDown if maximum current is reached. This could either be an auto-resettable current limit or requiring a manual reset.

Reverse polarity protection: More complicated circuitry could protect against connecting a battery with reversed polarity. If no protecting circuit exists and reverse connection happens, in “99%” of cases you will have magic-smoke!
Well, when using fuses at output and input of circuit, maybe not reaching the smoke itself, but the electronic components would be burned/damaged and you just avoid the smoking phase.
You can find protection circuits using MOSFETs to disconnect the charger form the battery, but you have design concerns as proper component selection, its voltage detection and current rating, etc.
An expedite solution, not so elegant but that works, is to use a normally open (NO) 12V relay - driven by the battery itself, to interrupt the charger-battery connection, with a diode in series with the coil, detecting the (correct) voltage of the battery. Relay’s operating current is about 100mA, as here, so it will not be an issue for any motorcycle or car battery, but could protect for any lack of attention by the user.
I confess I didn’t use these features (MOSFET or relay) in the products I made, because I had used polarized connectors to avoid reverse polarity connection. But they will become more important for general use of the charger, as when alligator clips are used.

Fuse(s): Always use a fast-blow fuse in the output as a minimum, and another one at charger’s input, to protect the power supply /transformer used for it.
A slow-fuse at primary of the transformer is also recommended, for overall safety of the transformer - in case the bridge rectifier shorts-out, for instance.

Supplements and additional information:

(1) State of charge of a lead acid battery:
Article BU-903 discusses about state of charge (SoC) for different battery chemistries. For our lead acid battery, what they call hydrometer is more widely known as a densimeter, to measure the specific gravity of the electrolyte/fluid. It is reputable as the most accurate method to know the SoC of a LA battery. When this cannot be used, as in a Sealed LA battery, measuring the open circuit voltage (after 24h of rest) is the second best method to estimate the SoC.
The next topic, temperature compensation, may improve SoC estimative when temperature of battery is too far from reference temperature (25~26°C).
Open circuit voltage and SoC are summarized here:

enter image description here

(2) Temperature compensation for hot/cold conditions:
When LA Battery is at temperatures significantly far from 25°C (78°F), charging voltages shall be compensated. The article BU-410 states that:

Heat is the worst enemy of batteries, including lead acid. Adding temperature compensation on a lead acid charger to adjust for temperature variations is said to prolong battery life by up to 15 percent. The recommended compensation is a 3mV drop per cell for every degree Celsius rise in temperature.

enter image description here

So it means that a 12V battery should have its voltage reduced by 18 mV/°C. For example, I live in Brazil and summers can be as hot as in Texas - usually T.amb ~= 35°C in summertime.
So, voltages should be reduced by ~200 mV:
V.bulk = 14.2V and V.float = 13.6V @ T.amb = 35°C.

Obs.: The same temperature coefficient of -18mV/°C for a 12V battery goes to compare voltages to estimate the SoC (previous topic).

(3) Heatsinking and input voltage range:
As these circuits are linear, the main series-pass elements as LM317 LM350 NPN-Transistor will dissipate a lot of heat. How much?
Power = (V.power.in - V.batt) x I.charging Consulting the LM317/LM350 data sheets will show a junction to case thermal resistance of 4°C/W. It also says operating virtual junction temperature < 125°C. So, from 45C to 125C we have 80°C to work with. This gives about 20W of heat dissipation per TO220 casing.
For the LM317, working at 2A, we have an allowance of 10 V of differential.
In this case, V.power.in.LM317 < 24V (V.batt+10V).
For LM350, things get tighter: if I = 3A (manufacturer’s spec), then delta.V = 7V. On the other hand, minimum dropout at 3A is 2.5V. Considering a ripple of 10% in V.power, V.ripple is assumed to be another 2.5V. So, (V.batt+2.5+2.5) < V.power.in.LM350 < (V.batt+7) or 19V < V.power.LM350 < 22V.

To summarize, concerning heat dissipation and dropout in the regulating ICs when used alone: For LM350 up to 3A: 19V < V.power.LM350 < 22V.
For LM317, up to 2A: 19V < V.power.LM317 < 24V.

The use of series-pass power transistor (or more, in parallel), bypasses the main current and allows the LMs to operate cooler, even with higher voltage differentials, as the driving current through the LM is less than 200 mA.

(3A) Dissipation and SOA of Transitor: With a series-pass transistor, most dissipation will happen in this transistor stage that can dissipate much more than an LM317 or LM350.
The TIP35 has I.c < 25A, P.d < 125W, and thermal resistance R.jc = 1C/W due to its larger TO-247 casing. However, the Safe Operating Area (SOA) shows that the safest current using just one TIP35 is 6A for a delta.V = 20V; but this is just the normal operating condition, not the short circuit condition, that could go up to 30V.
In this case, the safest maximum short-circuit current per TIP35 transistor is 3A~3.5A, for a full 30V of voltage differential. This is highlighted in the SOA graph:

enter image description here

(3B) Power dissipation during short circuit condition: Another concern is the Power dissipation under prolonged short circuit condition: 30V x ~3.5A = 100Watts! Even with the best heatsinks fan cooled, additional power derating might be necessary, or other protection features as foldback current limiting, micro controlled management, etc. A bimetal-based thermal cutoff switch should be used to disconnect the charging in any overheating event.

After this supplemental exercise we can see that, although a linear regulated battery charger is feasible, heat dissipation is the major issue, becoming less practical for a commercial project with currents above 2A.
That is why most battery chargers nowadays are based on switched mode power supplies.

Final notes (as 21/Jan/2022):
A linear charger up to 1.5A~2A is quite feasible, works very well and can be made by yourself (DIY). Possibly it could repurpose an unused laptop for currents up 1.5A, maybe up to 2A, as we saw above.
This would be a fun, educative and useful project to build, being able to charge all motorcycle batteries and most car batteries too (slower charging, but it does the job).

  • \$\begingroup\$ What does the battery manufacturer tell you the voltages should be and if they need topping off. \$\endgroup\$
    – Gil
    Jan 21, 2022 at 18:02
  • 1
    \$\begingroup\$ @Gil , see my edited and supplemented information, that I believe answers you - especially the SoC and Temp. coefficient compensation. \$\endgroup\$
    – EJE
    Jan 21, 2022 at 21:15
  • \$\begingroup\$ You mention a lot of IC's -- LM301, TL081, TL082, LM358, LM741, LM350, LM317 -- is there a catalog that lists useful IC's? In the sense that, unless I read this post, I wouldn't have known about the existence of most IC's (other than most common ones, e.g. 555 timer). \$\endgroup\$
    – Alex
    Oct 31, 2022 at 4:30
  • \$\begingroup\$ @Alex , the mentioned ICs are Op. Amps. In order to select which ones are more common / available and would be adequate, it would be important to know/review/learn what is the meaning of most parameters listed in the selection guides. Texas has a selection page here, selected for Cost, and In to V+ OR in to V-: ti.com/amplifier-circuit/op-amps/… \$\endgroup\$
    – EJE
    Nov 15, 2022 at 13:30
  • \$\begingroup\$ @Alex , An excellent application handbook is this Texas’ Op Amps for Everyone: web.mit.edu/6.101/www/reference/op_amps_everyone.pdf I also like Mouser selection page (below), but Texas’ selection page is easier to consider “In to V+” as a selection parameter mouser.com/c/semiconductors/amplifier-ics/… \$\endgroup\$
    – EJE
    Nov 15, 2022 at 13:32

Generally speaking, the topping charge is done by keeping the battery voltage at the equalize voltage until the current drops to some fraction of the charge current.

I've built several simple lesd-acid chargers over the years but mine are two-state chargers - the charger drops out of equalization mode when the charger drops out of constant current mode.

It would be easy to add a circuit that keeps the charge voltage at the equalize voltage until the current drops to perhaps 10% of the constant current value. You do need that threshold to be higher than any current that your circuit consumes.

I'll have a look at my most recent charger version and see how easy it is to do

  • \$\begingroup\$ I apologize, I've never built such systems before. What kind of circuit would I use to monitor the current and shut off the device when it drops below a certain value? I can ask my dad for any technical issues, but he does not know of any such circuits. \$\endgroup\$
    – Alex
    Jun 22, 2015 at 1:34
  • \$\begingroup\$ Please let me know what I can use to measure amperage within a circuit, with a reasonable way to determine whether it is above or below some level. \$\endgroup\$
    – Alex
    Jun 24, 2015 at 1:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.