Solar Charge Controllers Explained

By Matt · Updated

The short answer

A charge controller sits between panels and batteries, converting panel output into the correct charging voltage. PWM is cheap and only sensible when panel voltage closely matches battery voltage. MPPT recovers 20-30% more energy in most other situations, and is the right default for anything but the smallest systems.

A charge controller sits between the solar array and the battery bank. Its job is to take whatever the panels are producing, which varies constantly with sun, cloud, and temperature, and deliver it to the batteries at the correct voltage and current for their chemistry and state of charge.

Without one, panels will happily push a battery well past its safe voltage and destroy it. With the wrong one, you throw away a substantial fraction of the energy you paid for.

Why panels cannot charge batteries directly

A “12 volt” solar panel does not produce 12 volts. Its open-circuit voltage is typically around 18 to 22 volts, because it needs headroom to push current into a battery that may itself be sitting at 14 volts while charging.

Connect that panel straight to a battery and it will keep pushing until something gives. Lead-acid gasses violently, boils off electrolyte, and buckles its plates. Lithium hits over-voltage and, if the BMS is doing its job, disconnects. That repeats until something fails.

The controller regulates that relationship, and manages the multi-stage charge profile batteries need: bulk charging at maximum current, absorption holding at a set voltage while current tapers, and float at a lower maintenance voltage.

PWM versus MPPT

Two technologies, and the difference is larger than the names suggest.

PWM (pulse width modulation)

A PWM controller is essentially a fast switch. It connects the array to the battery and rapidly interrupts the connection to hold the target voltage.

The consequence is that it pulls the panel down to battery voltage. A panel capable of producing its rated power at 18 volts, connected to a 12 volt battery through a PWM controller, operates at roughly battery voltage instead. Current stays about the same, but power is voltage times current, so operating a panel at 13 volts instead of 18 discards roughly a quarter of its potential output.

PWM is cheap, simple, reliable, and genuinely appropriate when panel voltage closely matches battery voltage, on very small systems where the cost of an MPPT controller exceeds the value of the energy recovered.

MPPT (maximum power point tracking)

An MPPT controller is a DC-to-DC converter with a tracking algorithm. It continuously searches for the voltage and current combination at which the array produces the most power (the maximum power point) and converts that down to battery charging voltage, trading surplus voltage for additional current.

The practical gains:

  • Typically 20 to 30% more energy than PWM in comparable conditions.
  • Larger gains in cold weather, because panel voltage rises as temperature falls, giving MPPT more surplus to convert while PWM simply wastes it.
  • Permits high-voltage arrays. Panels can be wired in series to a much higher voltage than the battery bank, which means less current in the wire from roof to controller, thinner cable, and less voltage drop over a long run.

That last point is often the deciding factor. If the array is any distance from the batteries, the ability to run a high-voltage string and step it down at the controller can save more in cable cost than the controller itself.

Choosing between them

Situation Choice
Small array, panel voltage matches battery voltage PWM is defensible
Array more than a short distance from batteries MPPT
Cold climate MPPT
Series-wired panels above battery voltage MPPT (required)
Anything above roughly 200 to 300 W MPPT

Sizing a controller

Two ratings must both be satisfied.

Current rating. Divide total array wattage by battery bank voltage. A 600 W array on a 24 V bank is roughly 25 A. Add margin (25% is the common rule) because panels can briefly exceed rated output in cold, bright conditions, particularly with light cloud edge effects. That example wants a 30 or 40 A controller.

Maximum input voltage. This one destroys controllers. A controller’s maximum PV input voltage is a hard limit, and exceeding it damages it immediately and usually irreparably.

The trap is that panel voltage rises as temperature falls. A panel’s rated open-circuit voltage is quoted at 25°C. On a cold, clear winter morning the array can produce meaningfully more than its rating, exactly when the array is also fully illuminated by snow glare.

Size the string using the panel’s temperature coefficient and the coldest temperature your location actually reaches, not the rated figure. Manufacturers publish the coefficient on the datasheet, and getting this wrong is one of the more expensive mistakes in a DIY build.

Why real output is below rated output

Panel ratings are measured under standard test conditions: 1,000 W/m² irradiance, 25°C cell temperature, and a defined atmospheric spectrum. Real installations rarely meet any of these.

Losses come from panel temperature (output falls as cells heat, and cells in sunlight run well above air temperature), angle of incidence, dust and soiling, haze, wiring losses, and controller efficiency.

Seeing 75 to 85% of rated output on a good day is normal. System sizing calculations should assume something in that range rather than nameplate figures, including ours, which applies a system efficiency factor for exactly this reason.

Practical notes

  • One controller per array, unless the controller explicitly supports multiple inputs. Do not parallel outputs into one battery without checking that the model allows it.
  • Match the charge profile to the chemistry. Lead-acid and LiFePO4 want different voltages, and a controller set to the wrong profile will either undercharge or overcharge. Many controllers ship configured for lead-acid.
  • Temperature compensation matters for lead-acid. Correct charging voltage varies with temperature, and a controller with a battery temperature sensor will charge properly across seasons.
  • Fuse both sides. Overcurrent protection belongs between array and controller, and between controller and battery.
  • Mind the connection order. Most controllers want the battery connected first, so the controller can detect system voltage before the array is energized. Check the manual, because getting this backwards can damage the unit.

Common questions

What size charge controller do I need?
Divide total panel wattage by battery bank voltage to get the approximate charging current, then add margin (25% is a common rule) for cold-weather output above rated. A 600 W array on a 24 V bank needs roughly 25 A, so a 30 or 40 A controller.
Is MPPT worth it over PWM?
Almost always, unless the array is tiny or the panel voltage closely matches the battery voltage. MPPT typically recovers 20-30% more energy, and the gap widens in cold weather and with high-voltage panels wired in series.
Can I connect solar panels straight to a battery?
No. Without regulation the panels will overcharge and destroy the battery. The only rough exception is a very small trickle panel of a watt or two per 100 Ah, and even then a controller is better.
Why does my controller show less power than my panels are rated for?
Rated wattage is measured under standard test conditions that real roofs rarely match. Heat, angle, dust, haze, and wiring losses mean 75-85% of rated output on a good day is normal and not a fault.