solar pump batteryless mppt control using flipsky vesc

mechhead

10 W
Joined
Mar 10, 2017
Messages
90
Location
adelaide south australia
How to impliment MPPT tracking of a solar array to drive an electric pump using a flipsky vesc mini 4.2

how i used a cheap flipsky vesc to replace a solar pump controller and program it to operate directly from solar panels with no battery and serve as an mppt variable speed pump driver that varies the pump speed with the changing solar panel output


I was already familiar with the vesc from using them on ebikes i thought a higher power controller was in order as I had already replaced the worn out 60w industrial servo that drives the crank of the Sunmill pump. This pump is a simple double acting piston pump with a crank that has many bolt holes in it to allow different stroke lengths and delivery pressure and allow optimisation for different power levels and variable delivery heads.

Originally powered with a small 60w industrial nema frame spur gear reducer, this wore out after a few years and i replaced the motor with a more substantial 300w unit. that turns 90 rpm at 24v unloaded

The original controller only out put a max of 90w and we needed more water

The vesc has two clever functions without which this would not be possilble. the battery voltage power rollback function that allows motor throttling with a supply voltage variance, the other is to thermally throttle both itself and the motor its driving.

For mppt tracking and to preserve the line voltage from the panels to the controller the battery cutoff start is set at the mppt voltage for the chosen array. In this case the cable from the panel array was some 50 meters , the best power point was somewhat above the panel spec voltage because of the long cable and the pump ran fastest at 36v setting for the battery cutoff start and 34v for the cutoff end. below this voltage the controller does not attempt to turn the motor .

The motor is a dc brushed motor so the set up was easy
The vesc is setup with safe start off and the high throttle speed is set on the adc sensor to a value below the noise signal, the controller attempts to go for maximum speed should the voltage be above 36 as the voltage falls below this level the motor slows down and the line voltage is preserved. initially it had trouble with startups in the morning running through fault loops for the first few minutes of the day getting battery undervoltage fault everytime it starts up and shuts itself down in a loop until the sun is strong enough. Eventually when the brightness level rises to that of heavy overcast the pump will start to turn slowly. it performs very well once it starts up properly pumping at about 130 rpm in full sun down to very slow strokes that continue to move water in grey of winter overcast. two year on it still runs, the motor slows on hot days on the thermal ramp running at a max of about 13amps in full sun then slowing to about 9 on a 40 degree day that is with motor temps set to 60 deg C begin throttling and 65 degrees c for the stop value


Now for another this time using the cheap flipsky 75-100 vesc

Now its new project time and another pump requires installation, this is a more powerful model of three phase inrunner motor on a Lorentz cs600-15 swimming pool pump i got cheap without its expensive solar controller ($2300 aud ) its maximum q is 16 m3 hr @open flow @ 560w and hmax is 13m @48v 340 watts

This time i found a custom app example from Benjamin Vedder that can run the pump from a switch and pot on the adc port or, this is great because i can use a low water sensor to turn it on and off in series with another switch and a turn pot for a speed setting this is nice for testing purposes the system is still in the design phase i have the pump and controller in hand but the array is not yet built. i plan to test it on the bench with a pipe loop and a restrictor valve on the pump and my 60v lab power supply to drive it

the plan is a 63v oc array with an mppt voltage of 48

It will lift water against a 2 to 4.5m head from a pond that catches a small creek into an offstream dam

For any of you that read this that are into programming vesc i would like further input on coding for this type of autonomous startup it has a great potential to serve a great many different kinds of solar pumping operations
 
How does the motor startup do with just solar panels? Your other post mentioned a capacitor but that probably gets consumed quickly. Is it worth adding a battery in the system to deal with startup surge?
You could probably make a voltage divider from the input voltage to drive the throttle input with a few resistors, zener diodes (protect from overvoltage,) and a smoothing capacitor. Could set the low throttle to start to "open" a few volts below mppt voltage and full throttle maybe .5v above mppt voltage. Probably the simplest and no extra coding to add to the controller, just settings. Might get tough with your damaged adc though.

You could also use the input voltage reference to drive the pump speed with some coding. This is more involved but could give better control.
Might depend on if you're better with coding or wiring.

The brake input likely could be part of a low water & maybe an emergency stop switch to shut it off to simplify that side of the controls.
The battery cut off should be set below mppt and allow something to adjust the pump output power. Set it low as a safety but not so it cuts in early.

Probably worth setting up on a cloudy morning to tune the low sunlight / low power morning. Full sun should be the easy part.
 
Back
Top