Words of wisdom: “Any Solar is better than no solar, but having too much solar is difficult. The best solar systems are those which can keep the batteries the happiest. Happy batteries are those which are recharged quickly after depletion.”1) - SternWake
A solar charge controller (CC) regulates the charging of a battery bank from the solar panels. Counterintuitively, the primary job of the charge controller (CC) is to keep the batteries from being overcharged. Solar panels run at higher voltages than batteries, often at voltages high enough to damage the batteries. The CC provides the correct amount of power the battery needs at the correct time; this is called smart or three stage charging. Charge controllers are generally rated by the amount of output they can provide. This output is shared by charging circuits and LOAD circuits. For example, a 20A controller might be using 18A for charging and have 2A available for LOAD. Controllers operate based on factory- or user-defined setpoints (values) stored internally.
Cautionary example: 12W Unregulated Panel vs. 220Ah AGM Bank
Regardless of type, controllers will have several specifications in common.
[note from frater secessus: PWM vs. MPPT debates can get overheated in forums and comments. It's your money and your build so do it the way that meets your needs.]
PWM is much less expensive, and typically makes less power over the course of the day. Panel voltage and battery bank voltage need to be matched.
MPPT is more expensive and but typically makes more power, especially when battery voltage is low. Panel voltage and battery bank voltage can diverge.
The more power / less power dynamic is highly dependent on the setup and use case; there are no definite answers about which is right for you. For example, there are edge scenarios where PWM can make more power than MPPT.4)
PWM (pulse width modulation) controllers charge by connecting panels to battery until a given voltage setpoint is reached. When the desired setpoint is reached the controller switches current on/off to the battery in very fast cycles and in such a duration needed to keep voltage from rising. This time slicing power delivery is called is pulse width modulation, or PWM. Some heat will be generated by the switching. Counterintuitively, the PWM may be cooler the touch when it is running full open because there is no switching going on to limit voltage. This runs the panels at5) battery voltage (Vbatt). Vbatt is usually much lower than the panels' Vmp6) and so PWM generally cannot capture the panels' maximum available power7) under typical conditions. A side effect of this is the PWM controller will have highest power output when Vbatt is highest: Absorption (Vabs) and Float (Vfloat). Setpoints can be tweaked for longer duration Absorption and higher Vfloat to maximize power output of a PWM controller. PWM controllers are simple, inexpensive, and sufficient for many uses, particularly if ambient temperatures are fairly high, paneling is ample, and batteries are not deeply cycled.
Note that there are some simple PWM controllers like Morningstar's SunGuard that run at a single voltage.
For technical reasons PWM can deliver more current than the panels' Imp, even nearing Isc.
MPPT (maximum power point tracking) controllers have two defining abilities:
When maximum power is required8) the controller will run the panels at Vmp (the maximum power point). At other times the controller will find a less-than-maximum power point to match panel output to system needs.
Since panel voltage at a given power point is usually too high for system needs9) the controller performs a DC-DC conversion to bring the voltage down to a directly usable level. Because current through a conductor is directly proportional to voltage10) this downconversion effectively turns excess voltage into increased amps.(minus conversion losses).
This ability to decouple panel and bank voltage can result in 10%-30% more power harvested from 12v nominal panels than with a PWM controller, depending on conditions. Average daily production with MPPT is typically ~+15%11), which may or may not justify the added cost on its own.
When compared apples-to-apples on identical systems with only the controller being different, the “boost” effect is most pronounced:
There are some considerations when designing a system around an MPPT controller.
see article below
Single-stage chargers hold the bank at a setpoint (Vdisconnect)18) as long as sufficient solar harvest is present. When the setpoint voltage is achieved the controller current is turned off for some amount of time.19) There are several different ways of turning off the current:
Simple versions use simple electronics20) or relays to turn charging on until Vdisconnect is reached, at which point charging is turned off off. If/when voltage falls to some lower voltage (Vreconnect) charging begins again. This is sometimes called charge and stop charging or on/off charging. Voltage tends to wander a bit as the charging stops and starts. They are often used where extreme simplicity/robustness is required, or where more complex electronics might cause electrical interference.21)
More complex shunts use electronic components22) to hold the single voltage setpoint with finer accuracy, dissipating switching heat through the backplate or other heatsink. The difference is mainly one of time and therefore stability of the setpoint; a relay shunt might go ON/OFF 1x/second every few seconds if the loads were neatly balanced with solar harvest. The electronic shunt might switch power tens, hundreds or thousands of times each second and may be PWM or quasi-PWM. It would take an oscilloscope to know for sure what's happening under the hood.
For the purposes of this discussion the two types will be grouped together.
…PWM [and] shunt controllers apply full panel voltage, or something close to it, across the battery terminals, at a duty cycle (fast for PWM, slow for shunt) that keeps the battery happy, and the controller monitors the battery voltage and then adjusts the PWM duty cycle accordingly, or in the case of a [relay-based] shunt, it clamps the panel output. – Tx2Sturgis23)
They may be hardcoded with setpoints or allow user configuration. If configurable, you can get better results by choosing setpoints to fit your situation. Usually on cheap shunts there is one setpoint, which we can think of as the absorption voltage (Vabs). Holding Vabs as long as the sun shines might seem weird but to quote Sternwake again:
If your charge controller only holds [absorption] voltage for an hour or two, that is likely not enough time. As long as [there is a load] and you cycle the battery daily, you could set float voltage to 14.8v [to match absorption] without worry. Only when you stop cycling the battery do you need to return float voltage to more regular 13.2v levels. Premature application of float voltage by automatic charging sources is a battery killer.24)
Also see this comprehensive teardown that assesses:
….a rather inexpensive piece of equipment but it doesn’t do a terrible job of being a basic solar charge controller. On the whole, it behaves as one may expect – protecting the battery from excessive voltage and overdischarge, with an integrated dusk timer function and USB outputs…what do you expect for $10-20? Something that works is already a big surprise to me.
Units with Bnn settings purport to have Absorption25) profiles for various batteries and configurable Float setpoints.
Absorption duration is unknown.
Example manual for controller with B01-B03 and B01-B07.
These aren't controllers in the normal sense, but there are modules that connect to your panel's MC4 connectors and output USB power.
If you only need 5v USB power up to 2.5A per port this may be a workable solution.
[note: this is a placeholder for a possible new entry.] There are DC-DC converting charge controllers (DDCCC) appearing on the market that claim to be MPPT but do not actually track power points (maximum or otherwise). They do downconvert some excess voltage into amperage. See this blog post.
PWM is a reasonable default choice in typical scenarios26); they work well enough and are inexpensive. PWM controllers can cost half or a third of their MPPT workmates for any given rated output.27) If more power is needed (and there is physical space) additional PV can be added to match the charging output of an MPPT charger, often at a lower cost. [There are no prizes for fanciest or most expensive charge controller! Do what is best for you – frater secessus]
There are also edge cases where PWM can actually make more power than MPPT. An example of this might be low-Vmp poly panels during Absorption stage in very hot weather, due to MPPT DC-DC conversion losses and temperature derating.
MPPT is effectively required when:
Further reading: an excellent and readable whitepaper by Victron (PDF).
MPPT may be a better fit when:
Shunt controllers are extremely inexpensive, making them useful for even very small systems, test configurations, and backups.
Shunt may be the best fit::
See also shunt tweaking.
Multiple controllers (with separate arrays) can be used to charge a common bank. The controllers should be configured with similar charging setpoints for the greatest efficiency.29)
As with inverters, sizing the controller correctly will help system efficiency and save money. An oversized CC will have unnecessarily high parasitic drains as it powers itself and will cost more. An undersized CC will not be able to put all the rated solar wattage to use and will leave no room for expansion. For PWM controllers, the formula is something like (panel wattage / 13) * (1.2 oversize for safety) = charge controller amps.30) MPPT controllers have more leeway in sizing since they can control the output of the panels independently of battery voltage. See also Sizing a Solar Installation
this section has been moved.
It is common for charge controllers to have a LOAD output for powering (or switching) loads. A common-and-understandable misperception is that it is there to run your loads. Kinda.
LOAD terminals were originally used to control nighttime lighting, like pathway or garden lights. These are relatively small, resistive loads. Power to the LOAD terminal could be associated with sun (or lack of sun) and/or battery voltage.
In practice the LOAD terminals typically are either ignored31) or used as low voltage disconnects power relays (see below).
One benefit to doing this is you can define a Low Voltage Disconnect (LVD) setpoint and Low Voltage Reconnect to protect the battery from excessive discharge:
The load outputs take power from the battery terminals…. the only advantage in using the load terminals is displayed info and the ability to disconnect the load at programmable voltage levels. – mikefitz32)
Some loads are inappropriate for the LOAD output. Morningstar says:
Heavily inductive or capacitive loads such as pumps, motors, compressors, and inverters should not be wired to the controller’s Load terminals. In addition, loads exceeding the Load Current Rating of the controller should not be connected to the controller’s Load terminals.33)
elsewhere they say:
Inductive loads can generate large voltage spikes that may damage the controller’s lightning protection devices.34)
although an exception is made for the SunSaver MPPT which “Handles inductive loads without problems.”35)
One can run loads heavier than the controller is rated for (or inductive/capacitive loads) by connecting those load[s] to a relay36), which is in turn connected to the LOAD output. This still allows for Low Voltage Disconnect because the CC will turn off power to the LOAD output, which turns off power to the relay, which turns power off to the load.
You may also be able to use the LOAD output to create a separate 12v circuit for non-essential ("opportunity") loads.
Note: in wind and hydro power applications the output can be sequenced so that LOAD is activated only when batteries are fully charged. This is called a “dump load” because those power sources need to be able to “dump” excess current to prevent damage to themselves. Dump loads are not necessary in solar because panels can be open- or short-circuited without damage.
Solar charge controllers use the battery bank to provide a reference voltage for operation. For this reason the battery should always be present when solar panels are connected. This suggests a particular order for connection/disconnection/resetting:
Some controllers are labeled or described as “positive ground”, often by their competitors. The term is incorrect and misleading:
… “positive ground” terminology is wrong. There is nothing connecting positive supplies to chassis ground, earth ground, or any other ground. – Trebor English37)
A more accurate term would be Low Side Switched Controllers (LSSC hereafter). A how and why of low side switching is found at the end of the article. These LSSC can be incorporated into your camper's electrical system as long as:
If you are not using the LOAD output, communicating with the controller, or using the vehicle as an electrical path for the solar panels, LSSC (so-called “positive grounding”) doesn't matter.41)
If some basic steps are not taken the device may not turn off/on as expected. Here are some appropriate ways to use the LOAD output with LSSC:
LSS means switching (turning on-off) is done on the negative (or low) side rather than on the positive (or high) side. Referring to a low side switched PWM controller, Trebor says:
All three plus connections, solar panel, battery, and load, are tied together. Loads are turned on with a switch (transistor) between the load minus terminal and the battery minus terminal. Charging is turned on (bulk) or pulsed with a switch between panel minus terminal and battery minus terminal.43)
He goes on to explain why this is the case:
The reason for the low side switching is the intersection between physics and economics. N-channel field effect transistors are faster, better, cheaper than P-channel parts. The designer can A) use good parts in a simple circuit or B) use more expensive not so good parts or C) make a complicated circuit that uses 18 volts to control a 15 volt switch.44)