I have some confusion about how the output of an MPPT solar charge controller should behave. In my head, I'm thinking of a perturb and observe system where the output should oscillate around the Maximum Power Point (MPP). Let's say I'm using a 12 Voc panel where the MPP is around 10 V. Is the output of the MPPT solar charge controller going to be the 10 V? If so, and I want to charge a single Li-ion cell from this solar charge controller, wouldn't the solar charge controller's output voltage be far too high to connect to my battery?

Should I just add a buck/boost downstream of the solar charge controller to get to my desired voltage? I just feel like I'm missing something in my understanding of how MPPT solar charge controllers behave.



6 Answers 6


An MPPT (Maximum Power Point Tracking) charger gives whatever is specified as its output, whether it's a 4.2V Li-Ion cell, or a battery of any other voltage, that should be specified on the charger. The maximum voltage and current at its output therefore are determined by the type of cell or battery it is made for.

You have misunderstood what the MPPT part refers to: it actually talks about its INPUT, which is the side connected to the solar panel.
Such charger monitors both the input and the output voltages and currents independently and will reduce the output current if the input voltage starts going down, but will not increase the output voltage or current above its set limits for the specific cell or battery, regardless of the input power available - if the battery is full, almost no current will be flowing on the output side, even if a noon Sun is shining and full power is available from the panel.
Likewise, even if the battery is empty and can take its full charging current, an MPPT charger will only increase its current until the input voltage starts going below solar panel's maximum power point.

A solar panel can only give a certain amount of current until its voltage drops too significantly, and this current depends on its physical size and the amount of light hitting its surface.
Most solar chargers on the market merely connect the panel directly to the battery being charged, and disconnect it once the battery is charged up.
However, the greater the voltage difference between the panel's output and battery's voltage, the greater will be the amount of solar panel's power wasted this way.
As an example, let's assume details in your case:

  • Pmp (maximum power) = 10W
  • Voc (open-circuit voltage) = 12V
  • Vmp (voltage at maximum power) = 10V
  • Isc (short-circuit current) = 1.1A
  • Imp (maximum power current) = 1.0A
  • Li-Ion cell voltage = ~4V (average)

If your charger merely connects the panel to the cell, the battery will draw all the current until the panel voltage drops to 4V, but since the panel can't give more than 1.1A, that will be the maximum current drawn, while the maximum power drawn from the panel will be less than half of its maximum power, or about 4.4W in this case (I will ignore charger inefficiencies).
If your charger keeps track of the MPPT, it will not allow the voltage at the panel output to drop below 10V AND will use its built-in DC-DC converter to drop the 10V to 4V while at the same time increasing the output current to 2.5A, which will result in the full 10W of the panel's power transferred to the cell, helping charge the cell much faster.
Or, if there is less light hitting the panel (due to Sun's movement or a cloudy sky), the panel will only be able to give out, for example, 2W or 0.2A, which, as explained above, would actually become about 0.8W or less than half of the available power without an MPPT circuit, which is often critical if your battery can barely get charged sufficiently during such times.

The "perturb and observe" is one of the methods used to track the maximum power point, where the solar panel voltage is slightly increased or decreased in steps (by decreasing or increasing the load on them) while measuring the output power. If such increase or decrease of voltage decreases output power, the direction of panel voltage change is reversed, but if the power keeps increasing, the direction of voltage change remains until the output power starts dropping.
These steps are done very fast so that they can keep track of the changing conditions (like clouds suddenly shading the panels).

Additional note regarding PWM: There are many cheap solar chargers marketed as PWM, and although some of them do employ PWM, it is merely a fast ON/OFF circuit without other elements like INDUCTORS/COILS which serve to transform the higher voltage and lower current into a lower voltage and higher current, basically giving nearly the same amount of power at the output as it takes at its input. If you open a "PWM" charger and don't see even a single (relatively large) coil/inductor, you shouldn't waste your time and energy with it.


MPPT is a technique. "An MPPT" is a somewhat meaningless term unless it's in the context of some load that can take varying power gracefully (i.e., the system is a battery charger, a grid-tie inverter, or whatever).

An MPPT battery charger should be designed for the batteries it is charging. As such it has to both manage maximum power point tracking, and managing the batteries. This makes things a bit complicated. If the system is also supplying power to some load, then things get more complicated yet.

The amount of power the thing takes from the input side should be conditioned by the amount of power it can safely stuff into the batteries.

If, for instance, the batteries are almost fully charged, then it should not be grabbing as much power as it can from the input -- instead, it should be only pulling as much power as the batteries can absorb. With solar cells, this would probably best be done by letting the input current drop and the output voltage rise.

On the other hand, if the batteries aren't at the maximum power they can handle, then the MPPT should kick in, and the whole "perturb and observe" process should go on, until either the maximum input power is found, or until the batteries are being fed as much power as they can handle, whichever comes first.

  • \$\begingroup\$ Thanks for the response! I'm looking at designing one for battery charging. Does the battery connected to the output force the output voltage of the MPPT to be the same as the battery? If so, I would just need to measure current/voltage from the panels and current going to the battery, correct? And assuming current going to the battery is less than the max it can handle, then I can perturb and observe the input? \$\endgroup\$ Commented Jan 9, 2023 at 1:16
  • 2
    \$\begingroup\$ Electrochemical cells don't act like perfect voltage sources. A good first approximation is a voltage source in series with a resistance, with both voltage and resistance varying with the state of charge. I strongly suggest you learn as much as you can about how electrochemical cells work before you try making a charger, especially if they're ones like LiPo cells that can burst into flame if they're mistreated. \$\endgroup\$
    – TimWescott
    Commented Jan 9, 2023 at 1:23
  • \$\begingroup\$ @MicrocontrollerEnjoyer if you are asking whether two things in parallel have the same voltage, then maybe start with a simpler project to get some experience. \$\endgroup\$ Commented Jan 9, 2023 at 13:29
  • 1
    \$\begingroup\$ @user253751 The question was simply asking if the output voltage is clamped by the battery connected or if it's set by the switching regulator. Thanks for the condescending comment, though! \$\endgroup\$ Commented Jan 9, 2023 at 19:13

The MPPT charge controller you describe actually is a DC-DC converter (a buck converter). The input to the controller is the solar panel voltage. The output is the battery voltage. Conceptually, all you have to do to implement MPPT is vary the duty cycle of the buck converter to maximize battery charge current (for example using a micro-controller that is sensing battery charge current). You don't even need to sense the solar panel voltage or current if you don't want to.

Of course, if the charge current is higher than the maximum allowable charge current, you need to abandon MPPT and do battery current limited charging instead.

Likewise, if the battery reaches its maximum allowable voltage, you have to abandon MPPT and implement voltage limited charging instead.

That is the basic version. Lots of details to worry about, obviously.

  • \$\begingroup\$ Actually, without sensing the panel's voltage, the plain buck converter will overload the panel and drop its voltage to the battery's voltage, so there is no MPPT without AT LEAST observing the input voltage at the converter which is the output of the solar panel. I speak from experience. \$\endgroup\$ Commented Jan 10, 2023 at 15:59
  • \$\begingroup\$ @EdinFifić no that is not true. There is exactly one duty cycle that produces maximum battery charge current. I mean, I am not sure what you mean when you say "plain buck converter." What I am referring to is a buck converter where the duty cycle is set by a microcontroller that can monitor battery charge current. \$\endgroup\$
    – user57037
    Commented Jan 10, 2023 at 18:43
  • \$\begingroup\$ You're still talking about monitoring the OUTPUT current, which is similar to CV/CC buck converters I've used to charge a battery; the CC control allows the output current to up to the set maximum current, but it doesn't take into account the current that is actually AVAILABLE at the input. During cloudy weather, a solar panel's output current will drop to anywhere from 3% to 20% of its full power current, and your CC converter will keep loading it until its voltage drops to the battery voltage, which will not leave any room for the impedance conversion which buck converters normally provide. \$\endgroup\$ Commented Jan 10, 2023 at 20:38
  • 1
    \$\begingroup\$ I understand what you mean, and such thing is feasible if you start from 0 or the shortest duty cycle and keep increasing it until output current starts dropping. I didn't think much about it that way. I am by no means confused between CC, CV and buck terms, I know very well what they mean. I just thought that YOU were confused while I actually didn't immediately get your point. I know that without the above steps involved, a buck converter would overload the panel and drop its voltage if it weren't producing enough current, but I stand corrected in my assumption you didn't know the issues. \$\endgroup\$ Commented Jan 11, 2023 at 15:05
  • 1
    \$\begingroup\$ I probably should have put in a graph or something to explain better. \$\endgroup\$
    – user57037
    Commented Jan 11, 2023 at 17:08

. Is the output of the MPPT solar charge controller going to be the 10 V?

Not answerable.

The output voltage of any charger is always the voltage of the battery. The charger doesn't force a voltage onto the battery. The battery is in control of the voltage. All the charger can control is the current limit and the voltage limit.

A charger may be either working in constant current or constant voltage

  • In consonant current, the battery sets the voltage, not the charger
  • At the end of charge, in constant voltage, the charger limits its voltage but it's the battery that reached that voltage, not the charger; the battery sets the current
  • 1
    \$\begingroup\$ The voltage of the battery is affected slightly by the charge current (due to ESR and longer term electrochemical effects). I get what you are saying but I wonder if it is too emphatic considering the more nuanced reality. Not intended to be a harsh criticism. I think this is a good answer. \$\endgroup\$
    – user57037
    Commented Jan 9, 2023 at 17:38
  • \$\begingroup\$ The voltage of the battery is affected slightly Correct. That doesn't change the answer: "The output voltage of any charger is always the voltage of the battery". You say that the battery voltage is affected by conditions. It does. And the charger voltage changes to that affected value. So, once more, the output voltage the charger is always the voltage of the battery. \$\endgroup\$ Commented Jan 9, 2023 at 21:14
  • \$\begingroup\$ Yes I agree with that part. It is where you say "the battery is in control of the voltage". I mean, sort of. But a high capacity source can change the voltage of a small battery pretty much arbitrarily and instantly due to ESR. Anyway, I don't mean to nitpick. Its a good answer. \$\endgroup\$
    – user57037
    Commented Jan 9, 2023 at 21:22

"Is the output of the MPPT solar charge controller going to be the 10 V?"

Not usually. The solar panel volage is the input to the controller. The output voltage could be different.

In the case of charging a battery for example, the MPPT controller could simply be a DC-DC converter plus extra logic for the MPPT tracking and battery charging.

I'm thinking of a perturb and observe system where the output should oscillate around the Maximum Power Point (MPP).

That is a valid way of determining the maximum power point. There are chips like the LT8490 that do just that. Every so often it attempts to sweep the panel voltages over a range to measure where maximum power delivery actually occurs.

Battery charging current generally increases if the input voltage is slightly increased. Therefore, the MPPT logic would raise or lower the output voltage to draw more or less current from the panel, trying to find the maximum power point.

For battery charging from solar, the charger itself should have logic that works with the MPPT logic. Otherwise, what's to stop the charger from requesting too much power from the panel and collapsing the input voltage?

In the worst case this could result in the charger itself malfunctioning for various reasons (including any timers or other charging logic resetting due to low input voltage). In the best case, your battery takes much longer to charge because you aren't getting the full wattage out of the panel.


They're two completely different functional modules.

  • MPPT solar controller seeks out the maximum power point for the solar, and that happens at whatever voltage that is.
  • Battery charge controller seeks out correct voltage and current for the battery.

Wouldn't it be nice if you could get it done "all in one shot" with a single buck or boost converter. But the functions can't really be separated. Even if you could do it in one converter, that would require careful matching of panels to battery. And most customers want more freedom than that.

Consider this model here. It supports 12V, 24V and 48V batteries. And it supports solar input of 8-72V. Obviously they have two stages there. And this is normal.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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