Lukas Fässler has designed a MPPT Solar Charger Arduino Shield and document it on the link below. A Solar MPPT charger is used to convert the solar panel voltage to the optimal voltage for charging a battery in the most efficient way. This way the solar panel works on the maximum power point and thus delivering maximum power to the battery.
The basic idea behind an MPPT solar charger is simple. A solar panel has a certain voltage (in the region of 17 to 18 volts for a 12 volts panel, somwhat dependent on temperature) at which it provides most power. So as long as the battery needs charging, you want to pull just as much current to reach this voltage. But once the battery is full you need to avoid overcharging the battery. So you want to maintain a maximum voltage for your battery (somewhere around 13.8 volts for a 12 volt lead acid battery) and no longer care about the pannel’s voltage.
Arduino MPPT Solar Charger Shield – [Link]