Extreme's Blog :Return to Blog
Circuit Project: Solar Panel Voltage Regulator
A solar electric power system needs panels for generation, batteries for storage, a regulator to keep the batteries within a safe operating range, and in some cases a power converter for AC output. For those who need to set up a few panels for a summer cottage, a boat, a remote mountaintop installation, or whatever, I’m herewith providing a version of the regulator circuit that I have used in a lot of such installations.
Such a solar panel regulator should perform at least two operations: The obvious one is protecting the battery from overcharge at times of strong sun and little consumption, and the other is protecting it from excessive discharge in bad weather conditions. Both overcharge and deep discharge are harmful to a battery.
For regulating a solar panel’s output, there are several possible ways. A linear series regulator can be used, but has the disadvantage of causing some voltage drop and having some internal power consumption at times when the sun is weak and the load is heavy. It’s much better to use a shunt regulator, which is inactive at such times, and springs to life only when there is excess energy. For this reason, most solar panel regulators use the shunt scheme, the one presented here being no exception.
But such shunt regulators come in two flavors: Most commercial units are ON-OFF regulators. That means, they have a simple switch device, most often a transistor or MOSFET, sometimes even just a relay, that stays off until the battery reaches over voltage, and then switches in, shorting out the panel until the battery voltage has dropped off. Then the full panel current is switched on again. The only advantage of this method is that’s cheap. The power switch operates with very low power dissipation, allowing a small, low cost construction.
But the disadvantages of this system are major: The voltage output is all the time fluctuating between about 13 and 14.5V. The battery is cycling between getting overcharge and having to deliver all the load current, which severely reduces the battery’s lifetime. And in the event of battery disconnection or failure, the regulator cycles quickly, applying pulses of full panel voltage to the output, which can destroy sensitive equipment powered by the system!
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. 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 are much cheaper and better than P-channel ones.
D1 can be any diode that can safely survive the panel’s current. If the panel has a very low voltage output (less than 33 cells in series), it is an advantage to employ a Schottky diode in this place. Q1 and Q2 are common power Darlington transistors. They need to be heatsinked for safe long-term operation at the 12 Watt dissipation level. That’s easy enough to do, but many newcomers misjudge how much thermal resistance is introduced by a mica insulator! Plan on 1K/W thermal resistance inside each transistor, two times as much in the insulator (if you use any), and 370K safe junction temperature. For typical environmental conditions, this makes you need a heatsink having a thermal resistance of about 1.3K/W. If it is larger, you get more safety margin.
R1 and R2 will have to be made by combining a number of power resistors in parallel. Yes, you need to make two resistor arrays of 4 Ohm, 80W each! This 80W figure includes a reasonable safety margin. These resistors will produce a lot of heat, and you may cook your coffee on them! Be sure to mount them in such a way that they have lots of ventilation, and that the heat from them will not reach the other components. R3 and R4 may to have be built from parallel combinations too, because of the low value of only 0.15 Ohm.
U2 is a voltage reference IC. You cannot replace it by a standard Zener diode! Zeners are much too unstable! If you can’t find this chip locally, you may use the ubiquitous 7805 regulator instead, but the power drain from the battery will be higher. In this case, of course you don’t need R8, but you would need a 1uF capacitor at the 7805 output. Q3 is a power MOSFET that has a very low Rds(on). You may use a different one, provided that it has a resistance that’s low enough for your application. You may use several in parallel. The one I used has low loss even at loads of 20A, and can handle much more!
Once the circuit is assembled, calibration is quite easy. Connect the panel, leave the battery and load disconnected. With a nice sun on the panel, adjust RV1 for the desired voltage at the battery output. I recommend 13.8V for sealed batteries, and 14 to 14.2V for open cell ones, to which water can be added if necessary.
Now you need either a variable power supply connected to the battery lines, or some kind of variable load. You may also use your panel as variable power supply, by tilting it away from the sun while a fixed load is connected to the battery lines. The idea is to adjust the voltage at the battery lines to the desired shut-off value (I recommend 11.5V), and then move RV2 until Q3 shuts off, as indicated by a voltmeter across the load output, a 12V light bulb, or whatever you can use to detect it. After Q3 has shut off, increase the voltage across the battery lines and see at which level Q3 switches on again. This should happen above 12.6 and below 13.4 V. You may have to retouch RV2 and look for a compromise between ON and OFF voltages. If your components are not too much out of value, then both potentiometers should have ended up reasonably close to the center position.
Using more panels:
You can use this regulator for larger installations. Simply add one group like R1-Q1-R3 for each additional 3.5A panel, and use a diode for D1 that handles the total current. Remember that large diodes need heat sinks! U1A can drive at least 8 such transistors. If you intend to build a really large system, you may want to add an emitter follower between U1A and the power transistors. If you need to handle large load currents, you can place as many MOSFETs in parallel as you need. There is no practical driving limitation in this case. [via]