Solar Panel Light Tracking System

SolarBlogImage_ThumbServomotors are handy and practical in today’s robotic and mechatronic systems as they are accurate, easy to wire up and simple to control. Using the EB059 servo motors and the Flowcode programming language we have created a tracking system for solar panels. The program will rotate the solar panels to allow them to point directly at the strongest light source, read on to find out more!


Servomotors are handy and practical in today’s robotic and mechatronic systems as they provide a high level of accuracy, are simple to wire up and relatively simple to control. They are also more applicable for certain applications then standard D.C. motors as they are position controlled rather then rotation controlled. To make controlling servomotors even easier we have created a servomotor Eblock, which can drive up to 8 individual servomotors. This combined with the Flowcode servo component allows for a very fast and easy to implement method of creating powerful embedded position actuators. A good application for servomotors is a sun tracking system for solar panels. The system requires a fairly high positional accuracy so servomotors are ideal for the job.

A solar panel is much more efficient at converting light energy into electrical energy when it is aimed directly at the light source. The reason for this is that less light is reflected away by the glass coating and therefore more light rays hit the energy converting substrate, which in turn generates more power. Also if 5% of the panel is in shade then 95% of the overall power output will be lost due to increased resistance caused by the shaded portion of the light converting substrate.

Using two servomotors, a light dependant resistor (LDR) and a solar panel we can create a very basic solar tracking system to allow the solar panel to remain pointed at the brightest light source throughout the day i.e. the sun as it moves through the sky.

The first servomotor is connected to the LDR and is responsible for searching for the brightest light source. A timer interrupt drives this searching process by incrementing the servo position before taking a light level reading. If the light level is higher then the previous reading for the current scan then that value is saved as the new highest level. Once the scan is complete the highest level is stored and the position is passed onto the second servomotor. This means that both motors need to be aligned before starting the program running.

The second servomotor is responsible for positioning the solar panel itself. For larger solar panels you may have to up the size of the servomotor or simply use some method of gearing to help to correctly position the panel.

As we are dealing with solar energy there is a 2minute delay in the program between scans where the servo motor outputs are disabled. This means that the servos are not being driven during this time so that the servomotors are not wasting too much energy and the extra power created by the solar panel can be put to other uses.

Here is a block diagram overview of the system.


The battery shown in the current system block diagram will actually consume a small amount of energy, which will affect overall efficiency. The current limiting resistor is simply there to allow for the output from the solar cell to stay below a safe trickle charging current, meaning you do not have to monitor the battery voltage. If you were monitoring the battery voltage in your application then you could use a MOSFET to switch between fast charge and trickle charging modes.

Taking this further you could add a second pair of servomotors to scan and save the optimal elevation position as well as the optimal rotational information. This way you can also track the sun fully as it rises and falls in the sky during the day and also over the year. You could even add a method of storage to the system like a SD card E-block and use this to log the servo positions or even to record the solar cell power output for efficiency monitoring etc. If you recorded the positions then you could maybe only scan the light levels once a week therefore saving on driving the second servomotor. The rest of the time you could drive the panel servomotor based on time of day and recorded scan positions.

There are products currently available called energy harvesting devices which basically store incoming energy without consuming any energy. These are currently very expensive to purchase but hopefully as the demand for them increases they will drop in price.

We have now built a version of this using twin servo motors for both the scanner and the solar panel found here.


6,365 total views, 1 views today

Leave a Reply