The circuit presented here uses linear shunt regulation. Simply spoken, it burns off all excess energy from the panel, keeping output voltage constant. At times when the solar panel output is equal or greater than the load, and the battery is fully charged, the load gets its power from the panel, while the battery rests at full charge. Five years battery lifetime are entirely normal with this system, while the same batteries last only two to three years when used with pulsing regulators! The second responsibility of the regulator is watching over the battery voltage, and dropping off the load when the battery gets discharged too much. Lead batteries are severely damaged by deep discharges, so it's far preferable to drop off the load, then to have the battery die in a bad weather spell.
You may want to print it out, and then go on reading. This regulator is designed for 12V systems employing panels of up to 7A total current, and loads of not over 20A. It can be easily modified for greater currents.
U1A compares an adjustable sample of the present battery voltage to a 5V reference from a highly stable source. According to the result, it controls the power transistors Q1 and Q2, which shunt off the excess power generation from the panel. A diode (D1) avoids battery voltage to go back to the panel under no-light condition. To avoid imprecise voltage control due to varying diode drop, the sample is taken from the battery side, even if this means a very small power waste.
The power resistors R1 and R2 are dimensioned in such a way that under maximum shunting, these resistors will dissipate almost all power (about 100W total), leaving the transistors running cool. The highest dissipation in the transistors happens when the regulator is dissipating half of the panel output; in this case, each transistor will dissipate about 12W.
U1B is a Schmitt trigger that compares the battery voltage to the same stable reference of the other section, but for another purpose: It controls the load switch Q3. This circuit will disconnect the load if the battery gets close to deep discharge, and reconnect it only when recharge is well underway. The negative side of the load is switched, simply because N-channel MOSFETs...