MPPT (Energy Harvesting)

MPPT stands for Maximum power point tracking, although I also have read somewhere “maximum peak power tracking” for the same “MPPT”.

In any energy source, be it a solar cell or a battery you have the difference of the voltage with and without load. That is if you measure the voltage without anything on the battery it will give a different reading than if you have many LED’s or a running motor connected. This also means that the energy delivered is not just current times this Voltage under no load, the voltage (and so the power delivered) varies with the amount of current you have running in you circuit.

With solar cells this effect is very important because it is very easy to get them down to about 0 Voltage by just striving for the maximum current. If you look at the formula for Power: P = V*I you see that the P goes to zero if either the V or the I goes to zero (zero or very low). And for solar cells there is a lot in between, they have a definite maxiumum performance voltage called the maxium power point. You want your energy source to be most efficient, so you want this maximum in power. This maximum is dependent on the multiplication of two values, current and voltage and for human beings this most efficient combination of V and I not “intuitively” found.

Captura de pantalla 2014-08-16 a la(s) 16.37.58A plot for a solar cell of power versus voltage (red dots) with a clear maximum, and current versus voltage, (green dots).

You have to measure, with two multimeters, one for volt and one for current.

During measurements you vary the load using a potentiometer. You get a series of values, for Volt and current. Multiplying these values will give you a graph of the Power, which has a definite maximum.

mpp1 because of a cloud this experiment paper and pencil, by hand, is abandoned…

Finding this by hand and doing the calculations is very instructive, but also very tedious. The Maximum Power point of each solar cell is different (with other properties of V and I). Also the MPP is inlination, clouds etc.


So I built a circuit and made a Arduino sketch which does the calculations. The only thing I still have to do is vary the potentiometer. A liquid Crystal display gives the MPP in the Voltage.

2014-08-15 15.24.01

Still nicer is a graph or a plot, then you see clearly where the maximum is and you can fiddle around more precisely. I have made a simple sketch in Processing making this graph.


There are a few details, as always. Measuring a voltage between 0 and 5V can be done with the analog input pin of the arduino. But how to measure the current? This can be done with a so called shunt (very low resistance) inserted in your load circuit and an inamp. The inamp allows you to measure a tiny voltage and amplify the value. You measure the voltage drop over the shunt and knowing the resistance of the shunt you use the law of Ohm V=I.R to get a value for the current. I used the AD623 which I can bought here:

(An inamp or instrumental amplifier is a combination of three opamps, or operational amplifier. Explaining inamps and opamps is a bit detailed, better for another post, or just search the internet. )

As expected there are special IC’s for doing all this stuff automatically. I have been experimenting with these IC’s: These harvesting devices open up a whole new dimension of possibilites, but as always, also this electronics comes with a lot of details…..