So I'm reading up on MPP, and I don't get it.

Let's say there's solar panel, now there's flow of electrons from solar panel, correct? That's how you get so-called "power" into the battery, right?

I don't get what's the point of Boost converter, if you just simply need to hook solar panel to battery, why does it not give maximum power point?

The so-called "explanation" is that current varies non-linearly to voltage? Some kind of IV curves, and how you need to change voltage to get MPP.

I don't get all that? Like, why?

Formula for power can be written as:

\$ P = i^2 \cdot R \$?

doesn't matter what voltage is! Just make R as big as you can, and voila! You've got the maximum power point! Why doesn't it work that way?

So R, I guess is the load, right?

I looked at circuit diagrams for solar panels, inverter and battery. And I don't quite understand why they draw solar panel as "voltage source", this is false.

In reality, you have flow of electrons from solar panel, so it's more accurate to draw current source, not voltage source... Right?

So for simplicity sake, here's circuit:

enter image description here

I1 is current from solar panel, say it's 50 mA, so in order to maximize charging of battery, R1 must have maximum voltage across it, correct?

Since R1 and Battery are in parallel, so they both will have same voltage.

\$ V_{R1} = i \cdot R1 \$

In the example shown, \$ V_{R1} = 50mA \cdot 1000Ω = 50V \$

And same with power coming out from resistor? \$P = i^2 \cdot R1\$

So obviously, I should just make resistor as big as I can to get maximum \$V_{R1}\$, and thus power! What's wrong with this thinking?

The only way this won't work, is if current somehow drops if you increase resistance... but why would it? ... I don't think current coming out solar panel would care... the flow of electrons just gonna keep flowing into load... no matter load's resistance... right?

  • 2
    \$\begingroup\$ \$P=IV\$ is the general case, the formula \$P=I^2R\$ only applies to linear resistors where \$V=IR\$. \$\endgroup\$
    – The Photon
    Feb 22, 2018 at 2:47
  • \$\begingroup\$ why isn't V = IR above? \$\endgroup\$
    – Jack
    Feb 22, 2018 at 3:06
  • 1
    \$\begingroup\$ It's because a solar panel isn't a resistor. (And although plenty of things that aren't resistors still behave like resistors, solar panels don't) \$\endgroup\$
    – user253751
    Feb 22, 2018 at 3:17
  • \$\begingroup\$ By the way, maximizing R1 in your circuit means removing it from the circuit entirely (so you get infinite R1) \$\endgroup\$
    – user253751
    Feb 22, 2018 at 3:18
  • 1
    \$\begingroup\$ @Jack But the flow of electrons changes based on the voltage... \$\endgroup\$
    – user253751
    Feb 22, 2018 at 22:32

4 Answers 4


Here's a realistic curve for a realistic solar "panel" that you can get from a variety of hobbyist suppliers. This particular one has 9 solar cells (a 3x3 grid) wired up in series.

enter image description here

Now, the blue curve represents the current vs voltage for the device. But what does it really mean? Well, assuming full sunlight (whatever that means for this curve) is hitting it, then:

  1. If you short-circuit the output using an ammeter to do it, then there will be about \$80\:\text{mA}\$ current as measured with an ammeter across the solar cell terminals. Note here that, by definition, the output is shorted so the voltage at the output is going to be about \$0\:\text{V}\$. If you look at the blue curve, this is the left-most end of it. The power delivered by the solar cell into the ammeter will be close to \$0\:\text{W}\$ because although there is current flowing, there is no voltage across the ammeter. So the power delivered to the ammeter is close to zero.
  2. If you leave it open-circuit and measure the voltage with a high impedance voltmeter, then you will measure about \$4.2\:\text{V}\$. Note here that, by definition, the output is essentially open, so the current at the output is going to be about \$0\:\text{mA}\$. If you look at the blue curve, this is the right-most end of it. The power delivered by the solar cell into the voltmeter will be close to \$0\:\text{W}\$ because although there is voltage present, there is no current drawn through the voltmeter. So the power delivered to the voltmeter is close to zero.

Now, ammeters and voltmeters are ideal devices for the work they do. But they aren't designed or intended to dissipate power from circuits. They are supposed to do their work with the least possible disturbance to it. So they do a job very well. But not the job you want, here.

Now, look at the curve at about where the blue curve crosses through about \$2.7\:\text{V}\$. At that point, the curve also shows about \$60\:\text{mA}\$. Clearly, the load here must be \${{2.7\:\text{V}} \over {60\:\text{mA}}}=45\:\Omega\$. So that must have been the resistor used there to measure that data point for the curve. But this also means \$\left(60\:\text{mA}\right)^2\cdot 45\:\Omega=162\:\text{mW}\$! That's more than zero power into the load!

If you try out different resistors (loads) across the solar cell shown above, you will get different values of both voltage and current. For example, if you tried out an \$82\:\Omega\$ resistor, you'd probably get \$3.3\:\text{V}\$ and \$40\:\text{mA}\$. But this would only be \$132\:\text{mW}\$.

By tracing your fingers over each point along the blue curve and dividing the voltage at a point by the current also at that point, you can work out what resistor was used there. And you can work out the power. Or you can just multiply the voltage by the current for each point on the blue curve. If you do that, you will get the red curve. This is the power that would be delivered into the appropriate resistor which allows the solar cell to develop a certain voltage and current with that resistor value.

However, the curve isn't the same for any two solar cells. Nor is it the same with different temperatures. Nor is it the same with different light striking it. The blue curve varies with many different situations. An MPP circuit attempts to trace out the curve for you, in each and every one of these special cases (solar cell, temperature, lighting, etc) and searches for and holds near to the maximum power point -- the highest part of the red curve. Unfortunately, there is no specific voltage nor any specific current that always works. So the circuit has to constantly "hunt" around in order to stay close to it.

  • \$\begingroup\$ why do we talk about stupid voltages, when all that matters is flow of electrons. All we need is to get maximum amount of electrons from solar panels into battery, and that's it... so virtually there should simply be a wire with no resistance... \$\endgroup\$
    – Jack
    Feb 23, 2018 at 20:03
  • \$\begingroup\$ @Jack My apologies. You must be the expert here. \$\endgroup\$
    – jonk
    Feb 23, 2018 at 20:11
  • \$\begingroup\$ @Jack Did you look at the first graph in this answer? That maps out what current will be produced at different voltage levels (blue curve). The red curve maps out how much power is produced at different voltage levels. \$\endgroup\$
    – user253751
    Feb 24, 2018 at 6:10

The problem with your reasoning is that your model is wrong.

A solar cell is a current source - yes - but it's also a diode, which is effectively in parallel with that current source, which starts to conduct when the voltage across it reaches about 0.45 or 0.5V, and conducts well enough to consume all the current at about 0.55V.


simulate this circuit – Schematic created using CircuitLab

Thus, 0.55V is the "open circuit" voltage of the cell.

As 0.55V is not very useful, most solar panels have several of these cells in series; 36 cells is commonly used for charging a 12V battery, and that would have an open circuit voltage of nearly 20V.

Now you are correct that P = i^2 * R1 but once the voltage across R reaches these levels, the diode starts stealing current, reducing I in this equation. You asked why the current should reduce ... this is why.

MPPT is simply the art of changing R so that you get as much voltage as you can across R before the losses to the internal diode waste more power than you are gaining. It's a dynamic process because the best value depends on the current available, which depends on the (varying) illumination.

  • \$\begingroup\$ what do you mean starts "stealing"? It just lets current pass through it... current doesn't go anywhere... \$\endgroup\$
    – Jack
    Feb 23, 2018 at 20:01
  • \$\begingroup\$ When the voltage is high enough to start turning the diode on, some current flows through the diode instead of through the external wires. \$\endgroup\$ Feb 23, 2018 at 20:07
  • \$\begingroup\$ all you have to do is connect a wire to make sure that current goes into R1? Btw, where in this circuit schematic that you posted, would be the output? That is, how would a dc-dc boost converter such as this: i.stack.imgur.com/Ah5Of.jpg use whatever voltage is across R1 as a voltage source connected to inductor and then the rest of circuit ... p.s. and why do you even need a diode there... \$\endgroup\$
    – Jack
    Feb 24, 2018 at 3:13
  • \$\begingroup\$ I also don't get why current would change due to different resistor value... it doesn't matter. Current in a cell only depends on how well sunlight shines upon the cell... \$\endgroup\$
    – Jack
    Feb 24, 2018 at 3:17
  • 1
    \$\begingroup\$ I1 and D1 in parallel represent the solar cell. D1 represents the fact that it is just a big photodiode, and I1 represents the current generated from incident light. \$\endgroup\$ Mar 2, 2018 at 23:41

A PV is a (solar controlled) current source with a Voc limit and a battery is a voltage sink. As we know from the Max Power transfer Theorem, the max power transfer is when the source impedance matches the load. This is the job of the MPPT controller. to regulate the output current and source voltage such that the impedance V/I matches the load impedance Z = ΔV/ΔI. However there are many methods for MPPT controllers including hunting, but the result is always a match impedance.


Put a panel in full sun. Connect up different resistors. Start with 1 Ohm. Then 2 Ohms, then 3 Ohms, etc. For each resistor, you can calculate the power. It will be V^2/R. What you will find is that at first, making the resistor bigger gives you more power. But at some point, when the resistor gets too big, the power will start going down again. Because you have gone past the maximum power point. Voltage will be higher, but not high enough to make up for the larger R in the denominator. What the MPPT controller does is discover and present itself to the panel like the optimum resistor. A battery can't do that, for example. If the battery voltage happens to coincide with the MPP, that is just good fortune.

The exact maximum power point varies a bit with temperature and brightness of the sun, so the MPPT controller constantly checks to make sure it is still at the correct point to get maximum power.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.