Inspiration

As we transition more and more to renewables the most common among customers is solar power. The traditional solar system involves solar panels charging batteries and the home using the batteries for its power. The issue with this is that you lose about 30-40% of efficiency from charging the batteries due to the hardware needed and heat. We wanted to create a way to fix this. Our solution uses machine learning to forecast the power output from the solar panels then we can decide if we want to use the batteries or direct solar power. This will allow for increased efficiency by cutting out the use of batteries. The user can set a threshold based on their needs.

If you were to connect solar to your house without batteries there will be no power at night or during very cloudy days. Why not create a system that knows when to switch between the two sources?

What it does

We predict the output from a solar power system 10 minutes in the future. If this prediction is below a set threshold then the system will switch to battery power. This softens the transition between the two power sources because we know when we want to switch before we have to switch.

How we built it

We got weather and PV output data as well as pictures of the sky using a full sky camera. This camera is very important to the system. It allows us to observe cloud movement and weather. These are factors that impact the output of a solar panel. We did use 4 lag variables to show the regression model what the previous output was. For data gathering, we will be using a raspberry pi and Arduino Mega with sensors to capture our weather data.

hardware specifics

  • Raspberry PI SoC main controller
  • Arduino Mega 2560 Sub Controller
  • 200mA mini Solar Panel
  • SCD40 for temperature, humidity, and co2 level detection,
  • SGP40 for MOX
  • AMG8833 for solar panel fault detection

Challenges we ran into

The biggest problem that we had was how big our dataset was. Due to the size of the dataset, we could not load it all into our computers at once. We needed to purge memory space in order to process all of our data. Also, we reduced the size of the images and reduced them to black and white to further assist with this issue. We were unable to use all of the data from the images so we opted to get the first 10 principal components.

Accomplishments that we're proud of

We are proud that we got an accuracy of 91% for predictions 10 minutes into the future using the image data and weather data.

What we learned

We learned how to deal with large datasets that are not on distributed file systems. Using something like pyspark would have helped greatly with the memory issue.

Share this project:

Updates