I am studying maximum power point tracking (MPPT), and I have found many setups using buck converter. Since buck converters step down the voltage, how can you have the maximum power at load if you step down the voltage? Do you increase the current so you get maximum power?

I am also confused about what load to use in the output of the buck converter. For example if you step down from a 17V solar panel input to a 5V output, and the maximum power from the solar panel is 10W, you need 2A current at the output (5V*2A = 10W), so your load should always be 2.5 \$\Omega\$? So if one changes the load, then the maximum power cannot be reached?

I hope someone can point me in the right direction, and correct me if my understanding is wrong.


1 Answer 1


First question : yes, a buck converter will increase the current delivered to the load as it reduces the voltage. (minus a small percentage loss)

Second question : if the output must be a constant 5V, and you always want to get the maximum power available from the panel, you must continually vary the load impedance to match the power available. So your load should ONLY be 2.5 ohms when the cell is actually delivering 10W. When a little haze reduces the cell's power to 5W (1 amp) the load must be 5 ohms, and so on. Otherwise the voltage delivered will vary from the desired 5V.

Most MPPT systems vary the load impedance by varying the charging current to a battery (or into a grid-tie inverter) If you don't have some sort of variable load (storage system, variable speed fan or even a heater!) you can't really implement MPPT.

  • 1
    \$\begingroup\$ Thanks for the answer! How do I vary the load? I have built a buck converter circuit, with an Arduino sensing output and input voltages and currents, and also varying the PWM at the MOSFET gate. I tested it with 100 ohms resistor and I only got around 40 mA and 5.00V, I am going to test it with 2.5 ohms resistance later. \$\endgroup\$
    – akubi
    Dec 17, 2012 at 11:58
  • \$\begingroup\$ That is entirely up to you. I gave several suggestions as starting points. If you were asking about the practical details of varying the load; one way would be to switch the 2.5 ohm resistor (heater!) on/off with another PWM controller. Log the percentage "on" time in the Arduino. \$\endgroup\$
    – user16324
    Dec 17, 2012 at 12:05

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.