A cheap solar pump to irrigate some trees using water from my creek. Could also be used with wells or bores, and pumps about 80 liters per hour.
Some time ago I built a hydraulic ram to pump water from my creek, the water is used to keep some trees alive, water the garden, wash the car, etc. You can read about the pump here. The pump has been working well, but for a few weeks of the year, the creek stops flowing and and hydraulic rams need a flowing source of water to power them.
So I decided to build a solar pump to supply water in the dry times. The requirement was the solar pump would supply as much water as the ram, about 500 litres per day, and it had to be a cheap build.
The pump is a little Flojet pump, FL-2203-1, 4 litres per minutes, over 60 psi, and draws about 1.8 amps at 12 volts. These are dirt cheap, you find them on ebay for around $30.
For the solar panel I bought a 20 watt panel from Jaycar. It pays to hunt around for solar panel prices, I found sources like camping outlets and automotive part suppliers were twice the price of a similar sized unit from Jaycar.
The controller is built around a 08M Picaxe chip and a few parts from my junk pile.
If you've never used a PicAxe chip before, here's a crash course. The PicAxe is programmed to monitor battery voltage and solar panel voltage. If the battery voltage is good, it will cycle the pump, 10 seconds on, 20 seconds off. I cycle the pump because its rated for intermittent use, the solar panel can supply 1.2 amps, the pump draws 1.8 amps, so I need to draw less than the solar panel can supply, to keep the battery charged. Also my water source is a living ecosystem, a soak fed pond with fish and other wildlife, so I don't want to take too much water away from it.
If the battery voltage goes much over 14 volts, the PicAxe switches in a 10ohm 40 watt dump load. Typically this happen in the middle of the day. I gone for a dump controller because its a simpler circuit that used components I had in my junk pile.
When the battery drops below 12.5volts, and the solar panel is no longer supplying current ( low sun ), the controller goes into night mode, and waits for the sun to come up and battery voltage to reach over 13 volts.
So far the pump has been running a few weeks with no problems. Once the creek starts flowing again, I'll run this pump in combination with the ram pump for twice the flow.
There are two programs needed to set up the controller. First we have a small program to read in the ADC figures, which we need to calibrate the main program. No two circuits are ever the same, so even if you used the same component values as I did, chances are the PicAxe ADC readings will be different, so you still need to calibrate the main program ( right ) to suit.
symbol BattV = B0
symbol PanelV = B1
Connect the controllers solar panel input to a variable power supply, run the program above, and sweep the power supply from 10 to 18 odd volts. The programming editor will display debug values for B0 and B1. Use a multimeter to record the voltages at the battery input and solar panel input, and note these down along with the values of B0 and B1.
Once you have a bunch of readings, work out you prefered switching values for the dump load, night mode, etc, and make the changes to the code to the right to suit. I've highlighted the values that may need to be changed like this.
I set up my controller to switch in the dump load at 14 volts, and off at 13.5. Night mode is once the battery or panel voltage drops below about 12.5.
The pump cycles for 10 seconds on, and 20 seconds off. I'm temped to try 10 on and 10 off, as the pump isn't getting warm and could probably run for longer without problem.
There's room for improvement in this controller, but like a few of my projects, once I got it working I let it do its job and moved on to other matters. I've intentionally set up the dump load on the PicAxe's PWM output in case I wanted to experiment with PWM on the dump load, or try some MPPT.
symbol BattV = B0
symbol PanelV = B1
symbol Time = B3
readadc 1, PanelV
if BattV>180 then gosub DumpLoadOn
if BattV<170 then gosub DumpLoadOff
if PanelV<86 OR BattV<130 then goto NiteMode
if Time>PumpCount then goto SwitchPump
if PanelV>93 AND BattV>156 then goto Main
if PumpState=1 then
Component values are based on what I found in my junk pile at the time, and could be changed to suit your own supplies.
D1 is any diode that can handle 3 or more amps without getting hot, and the MOSFET's are nothing special.
The circuit was built on a peice of veroboard. The underside is a bit of a rats nest, as I made a few circuit changes in the development. Sorry, cant supply a layout, your on your own. The diode ( top right ) does get warm, and I might look at using a power diode from a old PC power supply, with heatsink.
The LED's indicate power, pump on and dump load on.
It would be a good idea to add a battery fuse into the circuit, I'm using a 5amp circuit breaker from a old power board.
Oringially the dump load resistor was mounted inside the box, but it generated a bit too much heat inside the box, not good for battery life, so I mounted the resistor out side. Its a 40watt resistor mounted to a old heat sink.
In the creek is another coke bottle, with lots of little holes and a few rocks inside to keep it under water. It works well, and I have another inline filter just before the pump, its remained clean after a few days running.
The circuit board and battery are mounted in a old fibreglass outdoor electrical box. There are a couple of vents at the bottom to let it breath, covered in mesh so no critters try to make it a home.
Finished controller. Its about 3 meters above the creek.
The pump is down near the water level. The pump could suck water up a few meters, but thats extra work, and any microscopic air leak can stop it working all together. I'm using a coke bottle as a pressure vessel after the pump, makes it easier for the pump to start, there's a big column of water to get moving when it cuts in.