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?
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).
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