I am implementing an MPPT controller with a battery charging controller to charge a lead acid battery. The question has to do with my understanding of how MPPT works. From what I understand is that the MPPT controller will vary the duty cycle so that the load impedance matches that of the panel to extract maximum power for the PV panel. I have been looking for a way to charge the battery and extract maximum power from the panel simultaneously and my struggles was how the power will balance in a case where the PV panel generates way more power than needed. After reading some Q&A here one answer mentioned that "The MPPT controller varies the load so that the load will accept as much power as possible OR so that the panel will deliver as much energy as possible" by Russell McMahon . Does this mean that the MPPT controller will only extract power that the battery can accept/sink thus the input and output power will be somewhat balanced.

  • \$\begingroup\$ This has already been answered many times. You just do not like the answer. electronics.stackexchange.com/questions/521551/… \$\endgroup\$ – user_1818839 Sep 19 '20 at 13:03
  • \$\begingroup\$ Does this answer your question? lead acid battery charger from solar input \$\endgroup\$ – user_1818839 Sep 19 '20 at 13:04
  • 1
    \$\begingroup\$ The MPPT algorithm optimises the energy that is extracted from the source (here PV panel). What it does with the energy depends on the overall system design. A complete system includes a controller that delivers energy to the load appropriately. This does not have to be part of the MPPT system per se but can be. | Note that impedance matching the panel may produce energy at say 30V with a say nominal 12V battery. The energy is then "transformed" so that Vout matches the target load's requirements. The TRUE MPPT part of the system is the variation of the panel load so it operates at max power. \$\endgroup\$ – Russell McMahon Sep 19 '20 at 13:27
  • 1
    \$\begingroup\$ All the rest is supporting bonus. Overall if the load does not require the available energy the overall system does not provide i. In that case the system is NOT delivering max power because it has been "told" not to. \$\endgroup\$ – Russell McMahon Sep 19 '20 at 13:28
  • \$\begingroup\$ Thanks for your response @RussellMcMahon this clarifies everything. much appreciated \$\endgroup\$ – Kevin Sep 19 '20 at 13:38

MPPTs vary the impedance of the load seen by the panel, but this is varied as needed to track the maximum power operating point. They do not 'match the impedance' of a solar panel, but rather adjust the load impedance (typically by varying the duty cycle of a DC/DC converter) so the output current multiplied by the output voltage of the panel is at a maximum. Current x voltage = Watts, or power, of course.

This is needed as the operating point (a specific output current and output voltage) of a solar panel will change substantially depending on environmental conditions, time of day, and temperature of the panel.

In reality, this is usually just a buck-boost converter that regulates the input as well as the output, along with some additional circuitry that uses one of several methods of perturbing the panel's operating point to determine if it would be better to move the operating point in a certain direction.

It is important to understand that this still works like any other DC/DC converter, and any other load.

For example, a lead acid battery of even relatively small size is typically capable of supplying hundreds of amps (at least, briefly) into a load that demands it. But does that mean that the battery will dump 300 amps into any load? Will it dump 300A into a 10K resistor? Of course not. The supply, be it a battery, solar panel, or wall-wart, determines how much power can be provided if needed. But 12V N sized photoflash battery and a 600Ah AGM Lead Acid battery will both supply exactly the same amount of current through a given load (assuming the load's demands don't exceed either battery's current capability, anyway). Even though one is tiny and the other is huge.

The load itself always determines power draw. Hence the word draw - the load draws out the amount of power it wants (assuming a fixed voltage) and no more than that.

In the case of an MPPT, the whole point is to regulate both the input to a constantly changing operating point, while also regulating the output to a fixed voltage, as in a typical buck-boost converter. This is assuming your MPPT is just an MPPT and your battery charging circuitry is separate.

The PV panel will always generate exactly as much power as is needed or as much as it is able to, whichever is the limiting factor. It will never produce way more power than is needed because it only produces as much power as the load demands. If you connect a tiny LED to a 10kW PV system, assuming you sized the series resistor correctly and the MPPT has decent output regulation, that LED will run just fine from that 10kW system.

This would, of course, be a huge waste since most of the theoretical power the panels could generate is simply charge recombining without ever doing anything, so at least while such a small load is connected, that 10kW PV system is effectively a 50mW system.

As the load varies on an MPPT, it will vary the operating point further and further away from the true maximum power point, simply because there is not enough load for that to even have any meaning anymore. As long as the input voltage requirements are met, it doesn't really matter what the operating point is of the panel in such light or no load conditions.

That said, you cannot charge a battery directly from an MPPT for the same reason you cannot charge a battery from any standard buck-boost converter or other fixed voltage source - at least if you want the battery to not be overcharged or venting (exploding).

Most batteries will happily suck down substantially more current than they should ever be charged at if you connect it to a voltage that is already at your desired charge cutoff voltage. This kills the battery.

You need a dedicated battery charger OR a combination MPPT/battery charger that lets you set the charge current and float voltage for the battery.

No matter what, you'll need some sort of additional regulation that will limit the charge current into the battery by adjusting the output voltage as needed.

However, most charging modules/circuits require an input voltage some what higher than the maximum charge voltage so it can buck this down as needed to limit the current during the first part of the charge. After that, the battery will draw less and less current as it reaches the float voltage (this is usually a constant current stage which gradually increases the terminal voltage until that voltage reaches the maximum you've set for the charger, and after that, it goes into constant voltage mode where the current will fall off).

This is a problem because an MPPT doesn't have a known output power, and if the load on the MPPT exceeds the power it can supply, then it will need to reduce the output voltage to account for this.

Worse, you actually always need to be in this region - where you're trying to draw more than the MPPT can provide - to ensure that the panel is loaded enough that you are fully utilizing it.

What this means is that you must include the battery charger in the regulation loop of the MPPT. In other words, you must charge a battery using an MPPT designed to charge a battery of that chemistry. If your MPPT doesn't have a way to set the charge current or cutoff voltage, then it is not designed to charge a battery and you cannot use it to do so. The realities of this aren't going to change even if you ask another question.

Yes, you can charge the battery using the MPPT by powering a battery charging circuit from the MPPT, but you will not be able to actually use the maximum power of the panel because the battery charger has no way of knowing that it needs to reduce the charging current dynamically. Instead, you can just hope that it never tries to draw too much power, and if it does, it will probably just turn off due to under voltage lock-out circuitry. Or worse, oscillate between on and off.

Simply put, you cannot charge a battery by connecting it directly to a regular MPPT and actually fully utilize (reach the maximum power point) of the solar panel. If you want to charge a battery while staying at the maximum power point, you must use a MPPT that incorporates battery charging circuitry already (so it can regulate it as needed).

There is no way around this unless you don't use any sort of charge controller, and simply set the MPPT's output voltage to your desired cut-off voltage. This is dangerous, and will almost certainly result in a much shorter life/cycle count for any battery abused in this way. Don't do it. It will cost you more in the long run by ruining your batteries than simply buying the right thing for the job would.

But if you don't care about money, safety, and longevity/capacity loss of the batteries, then the MPPT will simply drop the output voltage to whatever it needs to be for a given load. So the battery will only ever draw the maximum amount of current at whatever voltage yields that current that the MPPT can supply. This can potentially exceed the safe charging voltage of the battery (as you're MPPT is really trying to do a constant-voltage only charge of the battery, but is limited by the output power of the solar panel). And you simply can't finish charging the battery at the maximum power point. Simply because the battery stops drawing as much power, eventually falling to some fixed amount at a given float voltage.

  • \$\begingroup\$ Comment only: re " They do not 'match the impedance' of a solar panel, but rather adjust the load impedance ..." -> Arguably, as ever :-), they do both. At it's Wmp point the panel has a specific impedance. Maximum power transfer occurs when load impedance = source impedance. At Wmp point the panel is loaded with an impedance (usually pure resistance) equal to its current effective resistance. As the Wmp point moves the effective resistance changes and the MPPT tracker adjust the load to match it. Yes? \$\endgroup\$ – Russell McMahon Sep 21 '20 at 0:42
  • \$\begingroup\$ Thanks again for your responses they are very much appreciated. When i asked the question I was at the theoretical phase of my design and now I am done with the hardware. I have a boost cascaded by a buck converter for my system. The boost converter for P&O MPPT and the buck for the 3 stage battery charging algorithm. So now I am looking to implement the control. So on a theoretical base I understood that load determines the power drawn with the use of the battery charger and that as the load varies on an MPPT the operating point will move away from true maximum power point. \$\endgroup\$ – Kevin Oct 1 '20 at 23:21
  • \$\begingroup\$ With that said, does it mean that the P&O MPPT algorithm can just be implemented independently and will move from true MPPT on its as when connected to a battery charger ? as in will the charging limits set by the battery charger "tell" the MPPT circuit to move further away from true MPPT or is there a combined algorithm for this ? Is there a source code for this that you guys can refer me to? \$\endgroup\$ – Kevin Oct 1 '20 at 23:26

The MPPT will do whatever it has been told to do.

If it has been told it's attached to a big battery, then it will attempt to supply a lot of power. If in fact it's got a small battery attached, then it could overcharge it, or charge it too fast.

Make sure you understand how your MPPT is programmed, and tell it the truth about its environment.


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