How to Set Up Solar Charging – eS2 Pro

< All Topics

It is very easy to implement solar charging with the energyShield 2 Pro.

Quick Start

  1. Connect your solar panel (7-23V) to the DC barrel jack connector on the energyShield 2 Pro. (Center +)
  2. Set VMPP to the manufacturer specified maximum power-point voltage by calling the setVMPP() command right after calling begin() in setup(). See setVMPP Reference for more information about the library.
  3. Put your solar panel in direct sunlight while keeping energyShield 2 Pro out of direct sunlight. (This will overheat the battery.) Consider using the solar panel itself to provide shade.

Choosing a Solar Panel

You must choose a solar panel that is compatible with the energyShield 2 Pro. The energyShield can accept input voltages from 7-23V, so the solar panel that you use must generate at least 7V and have an open circuit voltage of less than 23V, to prevent damage to the energyShield. As an all-purpose solar panel, a 12V, 5W panel works well.

For a specific application, you can determine how large of a solar panel is needed. The energyShield can use a maximum of 7.7W. However, the battery can only be charged at a peak of 4.2W. So the other 3.5W would have to be used as they were generated. A 5W solar panel works very well because you can charge at the full 4.2W and have some extra power to run the project while the battery charges. However, this does not mean that a smaller solar panel will not work. If your project only wakes up for a few seconds every 5 minutes, you could get away with a much smaller panel. The key is that you have to generate enough power during the solar hours of the day to recharge a day’s worth of power consumption. If your project uses 500mA while it is running and it runs 30 seconds every 5 minutes you are burning an average of 185mW (30s/300s*0.5A*3.7V). That’s 4.44Wh (0.185W*24h) of energy used over a 24 hour period. Considering that you might only get 6 hours of good solar exposure in a day you need to generate an average of, at least, 0.74W during those 6 hours. That means that you could probably use a 1W solar panel (with an appropriate voltage) and be just fine.

Once you have a solar panel, it needs to have the correct DC connector. The appropriate connector is a DC barrel jack (2.1×5.5×9.5mm) with the center positive.

Maximum Power-Point Operation

A solar panel does not behave like most power sources you are used to. Most power sources will give you a constant voltage and tell you the maximum current that you can draw. A solar panel is a bit of a balancing act. As you might know, power is a function of voltage and current (P=V*I). A solar panel with no load attached will generate the highest voltage possible; known as the solar panel’s open-circuit voltage (Voc). In this condition, we are not generating any power because there is no current (P=Voc*0=0).

Similarly, if you short the solar panel you will achieve the highest current possible; known as the short-circuit current (Isc). Again, this is not delivering any power because the voltage output is zero since the positive terminal is connected directly to the negative terminal (P=0*Isc=0). The ideal operating point lies somewhere in between these two extremes. What we are looking for is known as the maximum power point (MPP). You can see this illustrated in the graph.

The solar charger in the energyShield 2 Pro can be set to regulate charging current to ensure that the voltage of the solar panel does not drop below a set point. This allows you to get the maximum power from your solar cell. An approximate value for your solar panel’s MPP voltage is usually provided by the manufacturer. It is normally about 17.5V for a “12V” solar panel.

Current versus Voltage of a Photovoltaic Cell
PV Cell – Current versus Voltage
[Wikipedia – Maximum Power Point Tracking]

You can easily set up the maximum power point regulation on the energyShield 2 Pro by calling the setVMPP() command in your sketch. You should call the setVMPP() command immediately after the begin() command.

NS_energyShield2 es2;

void setup() {
es2.begin();
es2.setVMPP(17500); // Set MPP regulation at 17.5V
}

Now you can solar charge your energyShield 2 Pro!

Maximum Power-Point Tracking

Earlier, I mentioned that the manufacturer would supply you with an approximate MPP voltage. It is approximate because the maximum power point will change with the temperature of the solar panel. Because of this, the best way to get the most of your solar panel all the time is to use a maximum power point tracking (MPPT) algorithm. Because of the energyShield’s unique ability to adjust the MPP setpoint is software the user can implement an MPPT algorithm to update the set-point as needed. An example of this can be seen in the solarLCD example.

Previous energyShield 2 Pro Arduino Library Reference
Next Charging from a DC Source – eS2 Pro
Table of Contents