Solar Energy

Balcony solar panels – one-year results

Jan 19, 2022 5:52PM

Dmitrii Eliuseev

Using renewable energy is a popular trend in the 21st century. But how it really works? The best way to get an answer is to build such a system and to test it on their own. I bought two 160 Watt panels and installed them on my balcony. Results and details you will see in this article.

Before we begin, an important note: I live in Europe, in the Netherlands. In other countries and continents, energy export laws (and also a city grid voltage) can vary. This article is presented for information purposes only. I would appreciate it if somebody will repeat similar experiments on their own, but please check your local laws and contact professionals, if needed, before doing any electrical work. The author shall have neither liability nor responsibility to any person with respect to any loss or damage caused, or alleged to be caused, directly or indirectly by the information contained in this article.

As we know, there are two main principles of using solar power.

  1. Store the energy in batteries.
  2. Feed the energy directly to the power grid.

The first method is perfect when we need an autonomous energy source that can work without external electricity, i.e. when there is either no electricity at all, or it is irregularly supplied. In this case, solar energy is charging a large array of batteries. A special inverter is converting the DC battery voltage (usually 24 or 48V) to a “normal” 230/120V AC. The advantage of having batteries is that the system can work completely off the grid. Alas, there are much more disadvantages. Batteries are expensive, and their life span is limited, especially for lead-acid batteries. The second issue is efficiency — if the battery is already charged, then solar energy is wasted in vain. The newest devices, like Tesla Powerwall, are having better and more efficient lithium batteries, but with a price of about $6500, the payback of such a thing is still in question.

The second method, and it is also the most effective, is to transfer electricity directly from solar panels to the electricity grid. In this case, the panels are connected to a special grid-tie inverter, which not only converts the DC energy from the panels to the 230/120V grid AC voltage but also synchronizes the phase with the mains. The electricity is first consumed inside the house, the excess goes into the city grid, so we not only produce electricity for ourselves but also help to slightly unload the public electrical network. If our meter can count both energy “import” and “export”, we can even get some money back, but not in all countries it still works.

In my case, the “off-grid” mode was irrelevant, and there was no reason to clutter up the apartment with batteries, so the choice was obvious. By the way, the grid-tie inverter has a drawback — for safety reasons it does not work when the electricity is down. So even if your house has 3–4kW of solar panels on the roof, in the case of a blackout you will be without electricity. But in my case, blackouts are so rare that they can be neglected. If needed, a separated DC-DC converter can be added later, that can power a laptop, smartphone or LED lamps directly from the solar panels.

So, the general idea of what to do is clear, let’s get started.

The connection diagram is straightforward — we take the solar panels, connect them to the inverter, and plug it into a power outlet:

The first thing, we need to buy, is solar panels. In general, the larger the panel, the lower the price per watt is. In my case the optimum choice of the panels, available on Amazon, was around 160W:

Larger panels, like 320 or 360W, are also available, but they are rather bulky and heavy, with more expensive delivery, and for the balcony, they are just too big. 160 watts turned out to be the optimal value. The size of such a panel is 150x70cm, and the weight is 12.5kg. I bought two panels for 250 EUR including a delivery. The next thing I bought, is a flat roof mount (there are obviously no “balcony mounts” available on the market), the cost was 48 EUR per each:

The grid-tie inverter I bought for 90 EUR on Amazon:

As it turned out in practice, this inverter has a fan, which makes a pretty loud noise in the room. Another option is to use the so-called “micro-inverter”, which is mounted directly on the solar panel. The method is quite effective. The noise problem is eliminating, plus due to a higher voltage, there is less resistance loss in the wires. But for safety reasons, I decided not to use 230V wires on the balcony, it can be dangerous.

In practice, two 160W panels fit nice on the balcony, it was even possible to install a third one, but then the balcony space would be occupied entirely.

In this photo, the panels are not yet turned properly towards the Sun, and the inclination angle is also not quite right. Also, the wires were too thin, later I changed them to thicker ones.

Finally, the total cost of the system was 436 Euros.

In principle, our system is ready — it’s enough just to connect the solar panels to the inverter, plug it into a standard outlet, and everything will work. However, it is interesting to see how much energy we can get and to have some logging of the collected energy.

First time I was using an energy meter that can display the data on the screen:

It is nice to see the actual values, but this meter does not have any “smart” functions, as well as no ability to save logs. I decided to use a smart plug. After comparing different models functionality, I selected the TP-Link Kasa HS110:

It can not only measure the power but there is also an unofficial Python API for getting the values. As a bonus, the TP-Link software has its own “cloud”, and it is possible to see the energy generation ​​online from anywhere in the world:

Finally, I disconnected the energy meter, the smart plug functionality was sufficient enough.

However, there is no built-in data logging in the TP-Link application, so I decided to do it myself by using the Raspberry Pi and a https://github.com/python-kasa/python-kasa library.

The code is simple:

from kasa import Discover, SmartPlug, SmartDevice import datetime, logging, time, asyncio log_format = "solarlog-%Y-%m.csv" def get_power_from_meter() - float: try: logging.debug("Connecting the smart plug...") devices = asyncio.run(Discover.discover()) for addr, dev in devices.items(): if dev.is_plug: asyncio.run(dev.update()) if dev.has_emeter: logging.debug("Smart Plug found: %s", addr) emeter_status = asyncio.run(dev.get_emeter_realtime()) power = emeter_status['power'] return float(power) logging.debug("Smart Plug was not found") except Exception as e: logging.error("get_power_from_meter exception: %s", e) return -1.0 def write_log(power: float): log_name = datetime.datetime.now().strftime(log_format) with open(log_name, "a") as logfile: logfile.write(f'{datetime.datetime.now().isoformat()},{power}\n') if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG, format='[%(asctime)-15s] %(message)s') logging.debug("App started") # Read meter and save to the log try: while True: power = get_power_from_meter() logging.debug("Power reading: %f W", power) write_log(power) time.sleep(60.0) except KeyboardInterrupt: passlogging.debug("App done")

When the program is running, the CSV log will be updated every minute. Files are month-separated and the data looks like this:

solarlog-2020-07.csv: 2020-06-25T11:36:27.021849,0.0 2020-06-25T11:37:32.646114,0.593 2020-06-25T11:38:38.207308,0.731 2020-06-25T11:39:43.695290,0.738 2020-06-25T11:40:49.320069,0.785 2020-06-25T11:41:54.805750,0.344 2020-06-25T11:43:00.367353,7.137

At the beginning of every month, I was downloading the new file using the free WinSCP tool, which is good enough for this task.

A small fuck-up

When the data logging was ready, I decided to run it in the “eco-friendly” way: not to use a separate device like Raspberry Pi, but to buy a good router that can run DD-WRT and run the logging in parallel with sharing WiFi for my home. I bought this mighty router:

As it turned out, the idea was bad for several reasons.

  • The router that can smoothly run DD-WRT, is 2–4 times more expensive than a standard one. It would be easier to use a Raspberry Pi instead and don’t reinvent the wheel.
  • The router itself is large and pretty warm, and I have a feeling that its power consumption is de-facto higher than for the standard router and a Raspberry Pi in total.
  • The router does not have an eMMC memory that can be used for saving the data. I plugged the 16GB USB stick in the router and was hoping that that 1 recording per minute will not cause any problems. As it turned out, I was wrong. After 5 months of use, the USB stick died, which caused the data loss, I collected in November.

Finally, I returned back to using the Raspberry Pi, which was working nice for the last half of the year. In general, collecting the data reliably within a year can be a challenging task. A better solution is to upload data immediately to the cloud. It can be done by using different services, for example, Dropbox has a Python API that can be easily used for free if the amount of data is small.

Finally, let’s see the results.

Obviously, the biggest amount of energy we can get in the summer months. It was quite difficult to find a perfectly sunny or completely cloudy day as an example. The power generation during an average sunny day in June looks like this:

For this day, 0.73 kWh of electricity was generated. It is interesting to see that the solar panel is generating its maximum power only for a short period of the day. The reason is obvious — the panels are illuminated by the sun at different angles, and the maximum possible angle occurs only once a day. In my case, the panels are shaded in the morning, full energy production starts only in the afternoon. Although at 9 am, up to 25W is given to the power grid, which is generally not bad. As can be seen from the graph, the peak power is about 175W, but power “drops” caused by clouds are also visible. Generation ends after 9 pm — in summer the days are long, in winter, of course, they will be shorter.

When it’s cloudy, the generation is obviously much less:

For this day only 0.21 kWh was generated.

July was sunny and the number of cloudy days was minimum:

17 kWh was generated in total within a month. Alas, when the summer ends, the solar insolation is also declining. In October only 4.2 kWh was generated for the entire month:

And the worst month was December when the Sun “gave” only 1.2 kWh of electricity:

It is interesting to mention that the difference in energy production between July and December was about 15 times. Let’s see the whole data on a graph:

In total, 110 kWh of energy was generated from two 160 W solar panels, which is about 18.7 Euros per year. Considering the 436 Euros price of the hardware, the return of investment interval would be about 23 years. I live in the Netherlands, it's not the sunniest place in the world, people who live in other areas can recalculate the value for their locations.

The last thing which is important to know is how we can send the electricity to the grid. It is simple from a technical point of view but can be complicated from the legal or financial point of view.

Technically, we are simply adding a new energy source to our household. The electricity meter is calculating the total energy balance for the property. If you consume more electricity than it is generated by panels, there are no problems at all. For example, if the washing machine is consuming 1000 W of energy and the solar panels are generating 800 W, the current energy consumption on your electricity meter will be 1000–800=200 W. This is the energy, you get from the city grid and you pay for it. Things are becoming more complicated when your house is generating more energy, for example, in the middle of a sunny day when there is nobody at home and all appliances are switched off.

  • The electricity meter should be able to separately calculate “incoming” and “outcoming” energy. Old electricity meters usually calculate the “absolute value” of the energy flow, in that case, you will pay for “outgoing” energy as for “incoming”, which is obviously not what you want. Your electricity provider should also be able to legally support the energy export, in some countries that can be an issue (from the technical perspective, nothing bad will happen, the electricity you send to the city grid will be consumed by your neighbours, but you will not get any payment for it).
  • The price for incoming and outgoing energy can be different. It can be much more profitable to consume the energy inside the house instead of sending the electricity to the city grid on a much lower tariff. But this can be practically inconvenient, for example, if there is nobody at home in the daytime.
  • In some countries, like Germany, additional tax can be added, even if you are consuming your own electricity provided by your own solar panels inside of your own house. Just because it is treating as an additional “profit source”. Weird but…

So, it makes sense to ask the professional advisor first, who knows the local laws and prices, the final results can vary.

Getting solar energy within a year was an interesting hobby project. After all, the best way to study a new technology is to try it. It is possible to read different articles, but it’s much better to do stuff yourself. It will give much more knowledge about how the system works, how different parameters can vary. It can also include some aside work like drilling the wall or making the wind protection, collecting statistics, and so on. It finally gives you more experience and understanding of different nuances that will never be published in the books or articles because they are too insignificant (but still important). From a financial point of view, the balcony system will not be profitable, the generation level is too small, but it is still fun to do this for self-education purposes.

To anyone who would make similar tests on their own, I wish successful experiments and enough sunny days.

Thanks for reading.

Mary Brennan

Author