question

tilo avatar image

Feature Request: MPPT should indicate exact amount of unused surplus solar energy for better load management

I would like to suggest an additional feature for the MPPT charge controllers/Venus devices: they should indicate the surplus solar power available at any moment.

When the MPPT solar charge controller is in MPPT mode, the DC current output is the same as the maximum solar power available, and this maximum power is known. But when it is not in MPPT mode, for example in absorption or float mode with no inverter or direct DC consumption, when little DC current from the solar charger is required, the solar charger output is much less than the maximum possible solar power - that is the moment when excess power is available. The problem is that this maximum solar power and thus the exact amount of surplus solar power is not known.

A possible solution to get that information: I guess that the MPPT algorithm that scans regularly for the absolute maximum power point during "MPPT" mode could also be applied when the controller is not in MPPT mode, just to get the information about the maximum power available at a certain moment. For example if the real DC output of the MPPT controller is 200W, but the maximum solar power that the solar charger could deliver is 3000W, so the available surplus or excess power can be calculated, in this example 2800W.

When the available surplus power is known, it could be used as an additional parameter for more precise excess energy handling. For example turning on a water heater or pump of 2000W at the moment when solar surplus energy exceeds 2000W, in order not to discharge the battery (or not to consume from the grid) for big loads of lower importance.

When an excess energy load with variable controllable consumption is available (electric water heater with a consumption between 0% - 100% controlled by a Variable Frequency Drive, or a PWM Solid State Relay), you could start using those loads earlier, as soon as any excess energy is available. This would allow to harvest nearly 100% of the surplus energy if necessary.

If all "useful" destinations of excess energy are satisfied (water is hot etc), then you could use it just for fun with a pump to power a water fountain - whose height would be a nice analogue display of the surplus energy ;-)

Water pumps usually require some minimum speed defined by the producer to assure lubrication of seals/bearings. The minimum speed of submersible pumps is usually 30Hz, at which they consume about 30% of their nominal power. So you would have to wait till you can meet this 30% minimum power demand with the excess energy before turning the pump on.

In order not to overload the inverter in case that loads of high importance are suddenly turned on, the control logic or let´s say the condition for controlling excess consumption should take into account also the inverter output power as a second parameter, and turn off/reduce quickly the excess energy load when the inverter reaches/exceeds its output limit, in case the excess energy is used through the inverter and not directly in DC.

If the Victron system knows the excess energy, it would be useful to communicate it somehow to third party products. The data communication methods like d-bus or mqtt require a high level of expert knowledge or programming skills, which most installers/users including myself do not have. On the other hand, many devices which allow the gradual regulation of power, like variable frequency drives and heating control devices, use standard industrial analogue control signals of 0-10 V or 4-20 mA, or can receive a PWM input signal. Those who know how to use an external controller (Raspberry etc) might then control a VFD or PWM consumer somehow, either by data communication (Modbus etc), or by creating a PWM or analogue control signal.

Therefore my second feature request: The Venus-device (or Multiplus, MPPT or any part of the Victron system) should have an analogue output for 0-10V and 4-20mA and/or a PWM output, so that those devices which are wide industry standard can be connected by a normally skilled electrician/installer, without innecessary additional control hubs in between. By the way, this analogue/PWM output might then be used also for communicating any other variable within the Victron system, like inverter power, AC Input power etc.

Maybe the MPPT controller itself could create a PWM signal output in the TX port to indicate the available excess energy, for use in a small system, even without a Venus device. I think the hardware in the MPPT is there as it has already a PWM light dimming control implemented. It just would need a software update?

For those who like the idea of knowing the excess solar energy for load management, but who do not want to wait if and when this is being implemented, and who have programming skills, I have the following suggestion: Add a cheap self-made solar radiation sensor and connect it to the analogue input of the Multiplus instead of a current sensor. I have done this with a small 3W panel, short circuited over a shunt which will deliver about 3V at the maximum panel power(current). The analogue input of the Multiplus can receive up to 4,5V. I configured it as current sensor for a PV grid inverter. I get the curve of the solar radiation during the day, but unfortunately in VRM there is not much flexibility for labelling and scaling the data, so it shows up as a PV inverter, and adds non-existent PV power to the monitoring. But it could be used to calculate surplus energy. If you read the radiation sensor directly in the external controller instead through the Multiplus, you don´t falsify PV power information in VRM.

For the meantime, I will try to learn using a Raspberry to do the missing link. I got one yesterday. Help is welcome :-)

And sorry for the long post...

MPPT - Solar Charge Controller
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

10 Answers
thanar avatar image

This is a nice idea, however I believe scanning of the maximum point requires that the produced power has to be able to go somewhere. Finding the maximum point is a dynamic process and the controller has no way to locate it unless it ramps up the current and does its thing.

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Phil Gavin avatar image

@Markus, Maybe that's an option, but ideally I would prefer to see 2 possible outputs in the single MPPT. Some MPPT makes have that, I think.

(Batteries and a Load output, that is).

I was thinking along the lines of SOC = x% and either the MPPT outputs get switched, or the second MPPT comes in and the first one is switched out.

Just spit-balling.

1 comment Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

"I would prefer to see 2 possible outputs in the single MPPT"

That would be it.

Phil Gavin avatar image

It feels like there is waste, that once the batteries are charged, there is excess PV power available but no loads to use it.

If there was a mechanism whereby a load could be automatically be varied to suit the available PV. Then the PV could be working at its MPP all day long. Which is the point I think tilo is making.

4 comments Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Yes.

As soon as there is consumption from an automatically adjusted additional variable load that is using all the previously unused excess solar power (not more and not less), then excess solar power will disappear (till a possible "offset" leaving a small amount of excess solar power of let´s say 50W). The control logic of the load management has to take that into account. In the ideal case the control logic knows how much power is consumed by the additional secondary loads which it switched on. But it might be enough that the logic just knows that additional loads (of less importance) are switched on or not.

However, the main advantage of knowing the exact amount of excess solar power is to be able to switch on a FIX load right at the moment when it can be covered completely by solar. Fix loads (water heaters, pumps) are much more common than variable loads, also easier to use.

@tilo I like your Ideas. I could have a good use of this, for my hydro power dump loads too.

A water heater in my opinion gives a very good variable load, or I misunderstood you at some point.

Regards,

Markus

A water heater (for hot water supply, or heating purposes) is a very good dump load, either with a fixed consumption, or, when adding some type of power electronics to regulate the consumption stepless from 0% to 100%, you can convert it into a variable load.

There are solid state relays with PWM control, or variable frequency drives (VFD) for 3 phase consumers. The VFD for single phase loads (230V 50Hz) are not so common, but they exist, for example Invertek or MICNO, I tested both. You would have to connect them to the inverter output, not to the battery. Some solid state relays exist also for DC voltage, so you don´t need to occupy the inverter, but you need a special heating element for the lower DC voltage which might be difficult to find.

Allright. Now I got what you meant.

Low voltage DC heating elements are commonly available, as they are used in caravans, RVs and yachting.

WKirby avatar image

Those are some good ideas.
There is a problem finding the maximum power point when the battery is full and there are minimal loads.
Think about it like this: Maximum Power Point. You know that Power = Volts x Amps.
So how will it be possible for the charge controller to find the Maximum Possible Power Point (MPPPT?!) when it cannot increase the Amps beyond a certain point? There is nothing available to take any more Amps, so it cannot increase any more to find the Maximum available PV power.
Loads would have to be turned of first, then it could make a sweep and detect the Maximum available power.
It all happens quite quickly though, if you have a water heater whose power you can slowly increase (like over a few seconds) and monitor the battery current and ensure that the Voltage is not dropping from what it is supposed to be (Absorb or Float), then the charge controller will be increasing its power accordingly. Water heaters are easy because they can take 1W up 3000W and the are just as easy to drive.

This is similar to ESS works. The grid is unlimited and willing to accept any amount of surplus power with the MPPT going full power. This surplus power can then be measured as it pours into the grid and then a water heater can be turned on by the same amount of power to bring the grid export to 0W. I have this working at home.
Of course ESS is no good without grid available.

2 comments Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi,

What control parameters do you have in place for the water heating

At the moment I'm using this device to soak up excess PV power. A friend gave it to me, so I thought I'd put it to use.

https://www.cclcomponents.com/marlec-solar-iboost-solar-immersion-heater-control?gclid=CjwKCAiA4OvhBRAjEiwAU2FoJepDNd-T-vdlGb-Vr5596p7RD_1lx3rK6WP76m3V1sfPgTjHQXg-xxoCsQoQAvD_BwE

Although ESS is not directly controlling the actual hot water heater, it plays an essential role in keeping my DC coupled MPPT charge controllers at maximum power all day long.

Swampbush avatar image

I have been thinking how to use this as well. If the mppt could operate a variable ac voltage inverter that feeds straight to the hot water and nothing else then it could control the voltage and hence the power. Power is 1/4 at half the voltage.

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Phil Gavin avatar image

@tilo,

1.) Agreed, with the note that it could be the lack of this current to actually switch that initiates the process. Granted switching back will be an issue though.

2.) Agreed

3.) Or invoke an existing MPPT process.

4). This I am not sure about, I think solar pump controllers already have something along these lines, whereby a small battery gets charged but the dc pump is on the "load out" terminals.

Could be wrong about this though.

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

tilo avatar image

@Markus Switching solar panels directly between different loads would have several disadvantages:

1) Switching higher voltage DC current requires special switch gear which is rare and expensive. The problem is the arc which is produced when you open the contact to cut the current. In AC a possible arc stops at the next zero-crossing of the voltage. But in DC the arc can remain there till everything is converted into smoke ;-) Therefore you cannot use AC switch gear for DC, except that it is approved also for DC.

2) Water heaters usually have the thermostat switch integrated with the heating element, which disconnects power if the max. temperature is reached. If you connect DC current, then the function of this thermostat is not secure, for the reason explained in 1). This is a big security risk.

3) If you connect solar panels directly to a fix load (water heater), you need to have the correct voltage for the heating resistance, so that the solar panels can work near their maximum power point. As soon as you have less solar radiation, the current reduces, but the resistance remains the same, thus the working voltage will drop together with the current (U = R * I). Then you have less current with less voltage = a very poor partial load efficiency/performance. If you want to connect the water heater in DC, do it AFTER the MPPT (battery or MPPT load output), which keeps the solar voltage at its optimum and therefore has a good efficiency also with partial load.

4) It would be very complicated in design and for operating/maintenance. The aim should be to keep it as simple as possible with standard components, so everybody can understand, install and maintain it easily.

1 comment Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

I agree in every single point. :o) Thank you for explanation.

Phil Gavin avatar image

@Markus, Along those same lines, I'm thinking of something like:

A parallel MPPT off the same array (that feeds variable loads), that gets switched in/out depending on current drawn from the first one that feeds the batteries and conventional loads.?

1 comment Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

This Idea might be a good one.

I could think of those 2 chargers MPPT circuit might disturb each other in some situations leading the system to swing or some other undesired behavior.

What about mixing an MPPT and a PWM?

@Phil_Gavin

Markus avatar image

@tilo I thought of a solution the other way round. Having a variable switched solar panel array, switched by actually used solar power. I mean, what if you have serial strings and you switch the panels one to one to some other load when not needed, a water heater for example, with some heavy duty relays, controlled by the MPPT. I was thinking about this, some time ago... What do you think?

Best Regards,

Markus

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

tilo avatar image

Scanning through the complete voltage range of a solar array to find the maximum power point can be quick, much less than a second. Solar panels in a factory are "flashed" from 0V to VOC in a fraction of a second to get their power curve. Also the MPPT-algorithms who claim to find the "absolute" MPP have to scan through a wider input voltage range if they don´t want to get stuck in a local maximum which might not the be highest power point in case there is more than one relative maximum power point, how it happens in partial shading conditions. I think the Victron MPPTs do that already, because they find the absolute MPP. However, I have not checked with a oscilloscope how long the scan takes and how often it is done.

Therefore I think a quick scan (milliseconds, not seconds or minutes) through the input voltage range of the solar array done by the MPPT charge controller at certain intervals (every minute, every 5 minutes or so) shouldn´t produce too much energy which cannot be handled. The battery could easily absorb that (if that power "spike" gets through to the battery and is not swallowed before in the capacitors of the charge controller circuitry). Energy(Wh) = Power(W) x time(h), and if time goes towards 0, there is almost no energy produced during this scan for the MPP.

The other approach that you mentioned, raising consumption slowly till a certain DC (float, absorption) voltage cannot be kept any more and starts dropping, is also possible for loads that can be increased gradually. But for fix excess loads, or one that need a minimum power, it does not work so nicely. You might require additional battery or grid power when you switch on a fix load in case the (unknown) solar surplus power was not enough. Consider also the off-grid installations, where you cannot feed to the grid and thus "measure" the surplus energy before switching on the additional loads.

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.