Shop OBEX P1 Docs P2 Docs Learn Events
Solar Panel MPPT methods — Parallax Forums

Solar Panel MPPT methods

macrobeakmacrobeak Posts: 354
edited 2014-03-24 21:31 in General Discussion
As you know, solar panels have a sharp power peak and need a MPPT (maximum power point tracker) to maximise the power output.
I enjoy building bare-bones panel-motor combinations (for water pumps and water drones) without a battery, and it is very satisfying squeezing the maximum wattage out of the panels.
Up to now I have only used the P&O (purturb and observe) method which is a little crude and invasive.
In the latest ASME mag I see a paper on solar panel and wind turbine Extremum Seeking (continuous oscillatory perturbation with convergence).
The control maths is quite daunting, but I suspect that this can be simplified somewhat into practical algorithims for a Prop or Stamp.
Does anyone have any practical experience with this topic?

Comments

  • Peter KG6LSEPeter KG6LSE Posts: 1,383
    edited 2014-03-23 07:54
    Aloha ! ...... I have made along with a fellow student a very nice MPPT . for a IEEE competition

    To start here is the tech report for the entire boat . In it is some of the data we used on our home brew MPPT


    http://www.cns.uni.edu/eboat/images/Tech_Report.pdf

    Bear in mind I did very little SW but most of the hardware on it .
  • LawsonLawson Posts: 870
    edited 2014-03-23 09:32
    With a sufficiently fast power sensing circuit, you should be able to sense how the power from the solar array changes during each PWM cycle. This will let you estimate the first derivative of power as a function of voltage. This derivative will cross zero at the MPPT. As long as you don't care what the actual power output is, the circuit in the image gives a simple way to do this. (note, components and values will need to change for >100mW solar arrays)

    uA_power_sensor.PNG


    This circuit works by adding the logarithm of current to the logarithm of voltage. The resulting sum is approximately the logarithm of power which will reach a maximum at the same current/voltage that the power reaches a maximum. Note: the logarithm and summing circuits will need adjustment with actual components. As it's built it's calculating [Log(A*V^2)] which will give some error in the MPPT position.

    Marty
    954 x 558 - 20K
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2014-03-23 10:32
    Another solar controller thread was rejuvenated earlier this week, and I noticed a link there to a good tutorial. That includes well documented Arduino code that could be ported with both the input solar loop and the output SLA charging loop.
  • jmgjmg Posts: 15,173
    edited 2014-03-23 16:48
    macrobeak wrote: »
    Up to now I have only used the P&O (purturb and observe) method which is a little crude and invasive.
    In the latest ASME mag I see a paper on solar panel and wind turbine Extremum Seeking (continuous oscillatory perturbation with convergence).

    Those are essentially the same thing, and the approaches that appeal the most to me, are the ones mentioning using the converter ripple as the 'continuous oscillatory perturbation'.

    In a switching converter there will already be some dV effects at the Cell terminals, and the choices from there seem to be either
    a) A fast ADC, triggered to measure 3 points on the charge-slope portion of the switching ripple.
    or
    b) Gated Sample and integrate, I think using 3 phased windows on the ramp.

    The advantage of b) is the results average over many SMPS cycles, and would probably be suited to a zone type design.
    ie You reality check I/V and if well clear of MPPT point, just use a simple 'go that way' control algorithm.
    If the panel looks to being loaded close to the MPPT zone, then use the more complex 3 point checking algorithm.
  • macrobeakmacrobeak Posts: 354
    edited 2014-03-23 19:20
    jmg wrote: »
    Those are essentially the same thing, and the approaches that appeal the most to me, are the ones mentioning using the converter ripple as the 'continuous oscillatory perturbation'. Jmg, I think you are on the right track. You need an oscillation to monitor and if you can use your converter ripple, that is great. The alternative is to cause your PWM stream to oscillate, then monitor the feedback. I guess the heavy maths in the Extremum Seeking paper comes from the optimisation of the oscillation frequency/amplitude and the analysis of the oscillation feedback to predict the MPPT direction. I am hoping there are some simple algorithm guidelines out there. I guess I will just have to experiment with a panel and motor - it is easy and cheap enough to do so. I was able to optimise the crude MPPT P&O method through experiment quite easily.
  • jmgjmg Posts: 15,173
    edited 2014-03-23 20:21
    macrobeak wrote: »
    Jmg, I think you are on the right track. You need an oscillation to monitor and if you can use your converter ripple, that is great. The alternative is to cause your PWM stream to oscillate, then monitor the feedback. I guess the heavy maths in the Extremum Seeking paper comes from the optimisation of the oscillation frequency/amplitude and the analysis of the oscillation feedback to predict the MPPT direction. I am hoping there are some simple algorithm guidelines out there. I guess I will just have to experiment with a panel and motor - it is easy and cheap enough to do so. I was able to optimise the crude MPPT P&O method through experiment quite easily.

    Since you will need to sample at the PWM switching speed anyway, to avoid that ripple messing with any lower modulation, to me is it simplest to just use the PWM modulaiton.

    Choose a Solar Cell load Cap that gives some useful modulation ripple, (easy to change) and then something like a Prop+HC4052 would do a simple 3 sector sync sample, easiest with a fixed off time PWM.
    A HC4052 can sample both dI (via ripple, which I think can be simply AC coupled to the sampler) and dV via a voltage divider.

    The resulting 6 sample-average caps (3 x I, 3 x V) can be plotted as you sweep the load, and a low cost, slower ADC can be used.
    The centre sample in both is used a reference, and the readings either side tell you where on the curve you are.
    The maths is then not complex.
  • macrobeakmacrobeak Posts: 354
    edited 2014-03-24 16:48
    OK jmg, its off to the experiment bench then.
    I will do this the fast way (individual pwm cycle) and the slow way (oscillation of pwm stream).
    Incidentally, if you wiki or google Extremum Seeking Control, you will find it is a branch of adaptive control with applications in solar, turbines, lasers, distance measurement, automatic break systems, paper and processing industry and so on.
    The attached paper gives a summary.
  • jmgjmg Posts: 15,173
    edited 2014-03-24 19:08
    macrobeak wrote: »
    OK jmg, its off to the experiment bench then.
    I will do this the fast way (individual pwm cycle) and the slow way (oscillation of pwm stream).
    Incidentally, if you wiki or google Extremum Seeking Control, you will find it is a branch of adaptive control with applications in solar, turbines, lasers, distance measurement, automatic break systems, paper and processing industry and so on.
    The attached paper gives a summary.

    Interesting, they seem to include notes on what I called Zone Approach above - ie one algorithm to get to close to the operating point, and then apply the modulated-check

    It should even be possible to learn the family of MPPT points, so the 'first guess' from outer zone could improve with experience.

    Split of the Solar RAMP time (PWM off time) into 3 sampling windows should be fairly easy on a Prop.
  • Duane C. JohnsonDuane C. Johnson Posts: 955
    edited 2014-03-24 21:31
    Take a look at many patents of MPPT chargers.

    Duane J
Sign In or Register to comment.