Sun Tracking Solar Panel


The main goal of my project was to create a more efficient way for energy to be “created” given easily accessible tools. Fossil fuels are unsustainable and very harmful to the planet as sources of energy and are largely responsible for climate change, arguably the greatest current threat to humanity. Solar energy, on the other hand, is an unlimited resource and does not release nearly as many carbon emissions as fossil fuels do. In order to take action against climate change, I created a solar panel that follows the sun and always stays perpendicular to its strongest light rays, in order to increase the panel’s efficiency. An increased efficiency of these solar panels would decrease the necessity and dependence we have for fossil fuels and increase our use of solar energy.

My structure uses photoresistors and a servo motor to follow the sun daily and rotate on one axis, and a tall wooden beam to account for the sun’s varying elevation angles throughout they year. The light energy that the solar panel collects is then converted to electricity and can be used to charge batteries, phones, and possible homes. The photoresistors and servo motor are controlled by an Arduino Uno, which was something that I had never worked with prior to BlueStamp. Using an Arduino taught me about microcontrollers and programming in C and C++ and gave me a better understanding of for and while loops. I also got to work with servo motors and sensors for the first time, allowing me to learn about alternating and direct current as well as circuitry and soldering.

In the future, I hope to continue working on this project, namely by creating a web or mobile app that provides relevant information to the user. This could include statistics about how quickly the battery is being charged, how efficient the solar panel is being, as well as controls for the user, such as to stop or start charging the battery.

My Code

Final Milestone

For my final milestone I fully completed the base of my project and attached the bracket to it. I have beams for support on the bottom, and two bars attached to hinges screwed onto them. These allow the solar panel to rotate in another axis, for different times of the year, when the sun’s elevation angle is different. In summer and spring for example, the sun travels higher in the sky than in the winter or fall. To secure the solar panel, I can screw the bracket into a vertical beam, at any angle. I also rewrote all of my code. I have 4 photoresistors on the 4 corners of the panel. When one side has a significantly higher reading than the other side, the solar panel continuously rotates until this difference is negligible. In order to secure the photoresistors and connect them to my Arduino, I had to solder all of the wires  onto a PCB. My solar panel can now rotate to follow the sun at all times of the day and throughout the year in order to increase its efficiency and charge a battery and the structure itself.

Second Milestone

For my second milestone of the Sun Tracking Solar Panel, I created the bracket that the solar panel sits in. I mounted the servo to this bracket and used a threaded rod that goes through the solar panel and has a gear attached to it that meshes with the servo gear in order to make the solar panel rotate. I initially had trouble getting the gears to properly mesh, and I discovered that this was for a variety of reasons. The threaded rod was, at first, moving around inside the bracket instead of simply rotating about the center of its diameter. I solved this by adding bearings to the inside of the wooden beams to minimize friction and to restrict the rod to a purely rotational movement. I also discovered that the gears I was using on the servo and the rod would not mesh properly, so I had to find a different set of gears and file down their inner diameters to make them fit on the rod and the servo. Next, I will build a base for this bracket so that the structure can hold itself up.

First Milestone

My first milestone for the Sun Tracking Solar Panel was to write the code for an Arduino that will be connected to a servo motor. This servo motor will be what rotates and causes the solar panel to follow the sun by utilizing the servo library and the length of day. The way that my code works is that when given the time of sunrise and sunset, it calculates the length of day and the software keeps track of the time elapsed through a for loop, and every 59 minutes it rotates the motor 12 degrees until it reaches 180 degrees, or sunset. At this point it resets the position and starts over. I would like to soon make the tracking more continuous, or at least on smaller and varying intervals. I also plan on making the reset function wait until sunrise of the next day to start rotating again.

Starter Project : Simon Says

For my starter project, I built the Simon Says kit, which plays the game of Simon. On the circuit board, a set of 4 LED’s light up and a buzzer sounds, and they are controlled by an ATMega microcontroller, a small computer that has software loaded onto it to control the lights. On the board, a resistor regulates the current flow through the circuit, which is powered by the batteries,  and two capacitors store the charge and then release it in order to light up the LED’s and make the buzzer sound. The LED’s and buzzer light up and sound in accordance with the software on the microcontroller.

Leave a Comment

Start typing and press Enter to search