Here’s how to build a buck converter using an Arduino Nano (as well as another 28 listed components) to supply the maximum power that you can to your PV cell. This is known as maximum power point tracking, abbreviated MPPT.
Photovoltaic (PV) cells produce different amounts of current and voltage depending on light and temperature conditions. As shown in the curve in the chart below, since Power (P) = voltage (V) multiplied by current (I), there is an optimum point where the current and voltage produced will give the maximum power.
If one were to charge a battery directly, the voltage produced would be near the load voltage of the battery, possibly producing a less-than-optimal power output.
As you might suspect from the number of components, this isn’t the simplest project. Despite the challenge, it looks like an interesting project; after all, not everyone can say they’ve wound their own toroidal inductor!
For more background on how MPPT works, be sure to check out the presentation below.