rin67630
Solar Enthusiast
Hi,
the Perturb and Observe MPPT algorithm is well known and mainly works OOB.
I think a very few people did really really test how their implementation works under every possible situation.
I am looking to share experience about how to implement it to be as efficient as possible.
- How frequently should it run?
- What is amount of increments that gives you the best results?
- What are the other factors to get it running without oscillations ( e.g. constraining the output)
- What kind of set-point follow-up do you implement, in case of a voltage/ current limitation of the output?
I developed a plotter to plot:
the Panel voltage Vin,
the MPPT-modified Vin setpoint,
the output current Iout,
the corresponding output current setpoint
And have been observing my system (and also commercial ones) under various weather conditions.
Here are my current findings:
a) There is a difference, if you use a lead-acid battery vs a LiFePo one (with FLA, the SOC is more prone to oscillate)
b) Under bright sun, when the panel is partially shaded (e.g. by a tree/ building) many systems (also commercial ones) begin to oscillate since some cells deliver full power and the other ones add internal resistance.
-One can see if only half of the panel is shaded (oscillating between Vmp and Vmp/2)
-Or if both halves of the panel are shaded (oscillating between Vmp and ~the battery voltage)
c) there is a major difference, if you run panels with a MPP just 30% above the battery voltage or panels having at least twice the battery voltage.
These oscillations (sometimes at the pace of only a few seconds) remain mainly unnoticed and only last as long, as the shading occurs.
But during this oscillation phase, the harvesting is strongly reduced and the Perturb-and-Observe algorithm is... perturbed.
One can do better!
For my DIY system, I have developed an anti collapse mechanism:
I keep a trace of the last good panel voltage and am detecting the collapse by comparing the voltage to the last sample (every second)
if the voltage drops by 5V in one second, am reacting by:
- a) restoring the panel voltage set-point to the value it had before the collapse +1V,
- b) halving the the current setpoint to give a relief to the panel and enabling a restore from the bottom.
With that strategy I can fight oscillations pretty efficiently, a collapse is restored within 10 seconds.
That is also working pretty well, with scattered clouds on a windy day, where the panel irradiation change continuously and provokes collapses.
the plot runs at one pixel per second.
-Blue is Vin,
-Green Vin Setpoint,
-Red a fixed reference SetPoint (no impact in the process, just underlining the Vin variations)
-Orange, is the Output Current and
-Violet the Output Current SetPoint,
-Cyan has no signification.
I would love to hear from your personal experience.
Regards
Laszlo
the Perturb and Observe MPPT algorithm is well known and mainly works OOB.
I think a very few people did really really test how their implementation works under every possible situation.
I am looking to share experience about how to implement it to be as efficient as possible.
- How frequently should it run?
- What is amount of increments that gives you the best results?
- What are the other factors to get it running without oscillations ( e.g. constraining the output)
- What kind of set-point follow-up do you implement, in case of a voltage/ current limitation of the output?
I developed a plotter to plot:
the Panel voltage Vin,
the MPPT-modified Vin setpoint,
the output current Iout,
the corresponding output current setpoint
And have been observing my system (and also commercial ones) under various weather conditions.
Here are my current findings:
a) There is a difference, if you use a lead-acid battery vs a LiFePo one (with FLA, the SOC is more prone to oscillate)
b) Under bright sun, when the panel is partially shaded (e.g. by a tree/ building) many systems (also commercial ones) begin to oscillate since some cells deliver full power and the other ones add internal resistance.
-One can see if only half of the panel is shaded (oscillating between Vmp and Vmp/2)
-Or if both halves of the panel are shaded (oscillating between Vmp and ~the battery voltage)
c) there is a major difference, if you run panels with a MPP just 30% above the battery voltage or panels having at least twice the battery voltage.
These oscillations (sometimes at the pace of only a few seconds) remain mainly unnoticed and only last as long, as the shading occurs.
But during this oscillation phase, the harvesting is strongly reduced and the Perturb-and-Observe algorithm is... perturbed.
One can do better!
For my DIY system, I have developed an anti collapse mechanism:
I keep a trace of the last good panel voltage and am detecting the collapse by comparing the voltage to the last sample (every second)
if the voltage drops by 5V in one second, am reacting by:
- a) restoring the panel voltage set-point to the value it had before the collapse +1V,
- b) halving the the current setpoint to give a relief to the panel and enabling a restore from the bottom.
With that strategy I can fight oscillations pretty efficiently, a collapse is restored within 10 seconds.
That is also working pretty well, with scattered clouds on a windy day, where the panel irradiation change continuously and provokes collapses.
the plot runs at one pixel per second.
-Blue is Vin,
-Green Vin Setpoint,
-Red a fixed reference SetPoint (no impact in the process, just underlining the Vin variations)
-Orange, is the Output Current and
-Violet the Output Current SetPoint,
-Cyan has no signification.
I would love to hear from your personal experience.
Regards
Laszlo
Last edited: