# What type of DC-DC converter should I use for solar MPPT?

I am currently doing a project that involves Maximum Power Point Tracking (MPPT) for Solar Panels. I plan to do this by using the Arduino as a controller to a DC-DC converter. I am going to use the perturb and observe algorithm in tracking the maximum power point of the solar panel. Now I am thinking of what converter topology to use: buck, boost, buck-boost, etc. What do you suggest I use?

• What are the input and output voltages that the converter will be handling? Oct 17 '12 at 10:51
• The input voltage would be from a solar panel, the solar panel's maximum or open-circuit voltage is 21.6 V. For the output voltage, since I should be able to track the MPP, and deliver the max power, I'm thinking that the maximum output should be the same as the input voltage, like ~20V.
Oct 17 '12 at 11:02
• Hmm. This sounds like an unusual application, and you should probably explain more about what you're trying to accomplish. Normally, this type of converter is used in order to allow the solar panel voltage to "float" to whatever voltage yields maximum power, while delivering a variable current at a fixed voltage to a load such as a battery charger. The selection of converter topology is based on whether the output voltage is always less than, always greater than, or falls in the middle of the useful range of voltages from the panel. Oct 17 '12 at 11:11
• @DaveTweed It seems that the choice depends on what load will I be using. I'm thinking of using a battery as the load. Can you explain more what you mean by "floating" the voltage to the voltage at max power?
Oct 17 '12 at 12:58
• Also, for example I use a buck converter and the output is lower than the panel voltage, wouldn't that mean less power and thus the load doesn't receive maximum power? I'm quite new to electronics so all of this is a bit confusing for me.
Oct 17 '12 at 13:12

I recommend that you use either buck or boost with a battery that is always below or always above panel voltage respectively. eg buck with a 12V battery system, boost with a 24V battery system. This is because buck-boost converters that swap from one to other mode usually have a low efficiency range in the changeover area and converters that buck-boost by inverting, tend to be lower efficiency as all delivered energy is stored in magnetics and converted.

If you have a choice of battery voltage I'd lean towards a buck converter as these tend to be more efficient than boost converters.

If you have choice of battery voltage, using a battery whose V_max_in is only slightly less the panels Vout_min operating makes it easier to get good efficiency.

Note that MPPT is getting increasingly hard tyo justify financially due to the falling cost of PV panels. MPPT will give you maybe 25% gains in low and variable light conditions but in a well designed system will give much less gain at full sun. Low panel [prices mean that adding say 10% panel capacity may be cheaper than using an MPPT controller. MPPT still makes sense in situations where absolute panel size or fitted weight is constrained by non financial aspects. (eg available room on a yacht or vehicle).

• That's a good idea. I just want to see how MPPT works so I'm doing this project. Thanks for the suggestion.
Oct 17 '12 at 13:16
• How do you plan to "Fix" the solar panel output voltage? If you can't fix the voltage physically then you won't be operating at the MPP
– user18741
Feb 6 '13 at 23:09
• @OrD - Question not fully understood. MPPT does not fix the voltage but rather adjusts the load until V x I is maximised - as I imagine you know. In the 2nd part of my answer I was suggesting that MPPT costs more than providing more solar panels to achieve the same result so it is only justified where more area of panel is a significant disdvantage - either due to available mounting area, or wind loading or whatever. Where MPPT is not used I was suggesting that the panel voltage at max power be optimised to suit battery voltage. Feb 11 '13 at 12:42
• @OrD - ... eg lead acid needs about 14.5V max and std 12V panels have Vmp=18V. While allowance MAY be made for low light, the 18V is higher than strictly sensible. Using a 16V panel would probably produce better efficiency overall. Up to 18/16 = 125% of output of 18V panel if area is the same. It MAY be worse in very low sun. eg lots of cloud in winter conditions etc. Feb 11 '13 at 12:45

There's a lot of examples and literature out there for boost converters. Also, if you go discontinuous boost converter, you can remove the current sensors and the whole control system becomes far simpler to run with an Arduino. I made one with a chipkit, full details with code are in our writeup, here and we also did a video to explain the principles (sounds like you won't need this explanation though), on youtube

• Thanks for the links! Videos are always a big help for me to understand electronics concepts.