Not so long ago I wrote here about my new deep cycle batteries. I also got a solar charge controller and two 10 Wp solar panels. One of those I am giving away on my other Polish blog to readers, the other is going to be used on my property for the composting toilet.

Almost 1,5 years ago I bought two 30 Wpanels. One such panel is now connected to the batteries via the charge controller. It means I have my own photovoltaic system, with large battery capacity and single small solar panel.

Last weekend I spent some time and played a bit with Arduino. I finally managed to set up a simple device, measuring both the voltage and current from the solar panel. I connected the Arduino to the PC, that gets the data from Arduino and stores in a text file, for later use. I like charts, so I made charts using that. 🙂

The PC is going to be connected to the Internet, and I plan to set up a small web server there. It’s going to publish the voltage and current on a web site one could visit to see how the system is doing. I’m working on that at the moment.

It all looks the following:

Akumulatory głębokiego rozładowania (żelowe i zwykłe)

Batteries connected together (in parallel). You can also see the solar charge controller (on the bottom of the photo).


Bateria słoneczna i czujnik pomiarowy.

Solar panel outside my window, connected by a 5 mm2 wire, and the voltage/current sensor. All bound together using Deans connectors.

czujnik pomiaru napięcia i prądu

The sensor. As you can see it’s able to measure up to 50V and 90 A.

Arduino pomiar napięcia i prądu

Arduino at work. Those three wires connect it to the sensor, via analog inputs.

The measurements are somewhat disapointing. During the last 4 days, the solar panel gave out only about 2,4 Wh of power. Yes, only a bit more than 2 watt-hours! It’s like it was operating on full power (30 Wp) for less than 5 minutes.

It’s probably because the batteries are already charged and the panel cannot push any more current into them.

The chart looks the following (voltage — blue line, left axis, in Volts, current — red line, right axis, in Amperes):

And now the rest of the reasons why it’s not working great.

First of all, the solar panel is on the west-facing wall. It doesn’t get much solar energy, mainly in the evening. Before that it only gets the diffused solar radiation. But the amount of radiation is so huge that the panel gets to high voltage very quickly. You can’t see it on the chart (as the voltage axis starts at 10 V), but it takes about 70 minutes for the battery to put out more than 12 V of voltage from the first minute it gives any voltage at all in the morning.

Then the voltage is limited by the batteries. If I disconnected the batteries from the panel, the voltage will quickly rise above 20 V.

The measuring sensor itself also has something to do with the poor results. The maximum current the panel can give is about 1,7 A. The measuring range for the sensor is 90 A. It works in analog mode, when the 3,3 V voltage is equal to 90 A current measured. So the maximum current from the panel will only result in 0,06 V on the output from the sensor. And since Arduino has the analog inputs working in the range of 0-5 V, it’s difficult to measure so small currents with the setup I have.

I tried to work around that by averaging the measurements. Arduino measures the voltage provided by the sensor twice each second, and then calculates the mean ot 120 consecutive values. I had to do it also because of the noise from the sensor, which you can see on the chart even after my efforts.

I will try to direct the panel to south. I have a part of pitched roof above my apartment almost directly facing south. I will try to install there more than one of my panels. I just need to get there… We’ll see what I come up with. 😉