Solar Tracker


Short description of your project:

The prototype is built on a dual-axis solar tracker that is managed by an Arduino Uno, an open-source prototyping platform with user-friendly hardware and software. Light-dependent resistor (LDR) sensors can be used to automatically control the solar tracker, or a potentiometer can be used to manually control it. Additionally, this test bench offers Excel-based virtual instrumentation that allows users to collect and display data from their solar trackers. The intended test bench is made to help students in better grasping control theory and its applications.

  • Being very interested in solar panels, initially, I thought that I would like to make a system in which a solar panel would spin after the sunlight, but I would also like to make a statistic on its efficiency and consumption. So I looked for a program that would connect to this system from which it takes data and do with it a statistic.

General description

Fig. 1 presents the suggested test bench. It is built on a solar tracker that rotates either automatically using a potentiometer and four LDR sensors or manually using two servomotors (SM1 and SM2). A push-button is utilized to alternate between the two modes, automated and manual. To regulate the movement of the SM1 (up-down servomotor) or SM2 (left-right servomotor), a second push-button is utilized to connect them to the potentiometer. Additionally, a computer is utilized as a virtual instrument to display the PV panel's mode, current, voltage, and power over time in MS Excel. To implement all of the system's software requirements, an Arduino Uno board is used.

Hardware Design

Parts used:

  • Resistor 330 ohm

  • Arduino UNO

  • Rotary Potentiometer - 10k Ohm

  • BreadBoard

  • Pushbutton

  • SG90 Micro-servo motor

  • MG996 Micro-servo motor

  • LDR-5528

  • Mini Solar Panel-1W, 5V

Hardware schema

Fig. 2. Electronic circuit of the solar tracker with manual and automatic modes

Electric schema

Fig. 3. represents the electrical circuit of the project. The microcontroller transforms the analog values of the LDR sensors (pins A0 to A3) into digital values in automated mode. Then, to track the sun, it uses two Pulse-Width Modulation (PWM) signals (pins 5 and 6) to operate two servomotors (up-down and left-right). The rotational movements take place along two axes: azimuth, which moves from east to west according to the path of the daily sun, and elevation, which moves from south to north according to the course of the seasonal sun. In manual mode, a push-button (pin 11) is utilized to link a potentiometer to either a left-right or up-down servomotor in order to control the movement of the two servo motors. In addition, pin 12 is utilized to press another pushbutton to switch between the two modes.

In reality, it looks like this :-D :

I also have a video that shows exactly how it works:

Software Design

The software will be built into the hardware (Arduino Uno) so that it can be used to control and watch the solar tracker. The program that is built in is made to meet the following needs:

  1. There are two ways to use the test bench: manually and automatically. To switch between the two states, a push button is wired to pin 12.
  2. If the manual mode is on, the potentiometer can direct the servomotors from east to west for the left-right motor or from south to north for the up-down motor. Pin 11 is linked to a push button that lets you choose which of the two motors the potentiometer controls. It can either control the left-right servomotor or the up-down servomotor.
  3. The method that is presented in the next figure will run in automatic mode. It employs LDR sensor analog values. For vertical axis, the average readings from two right LDRs and two left LDRs are compared, and if the left set receives more light, the left-right servomotor moves the solar tracker. The latter rotates until the difference result is [−10, 10]. This range stabilizes the controller, and once the solar tracker is perpendicular to the sun, control stops. However, if the right LDRs receive more light, the solar tracker moves in that direction through the left-right servomotor and continues to spin until the difference result is in the range [−10, 10]. Elevation axis works similarly. We also calculated the average radiation from the four LDR sensors and whether it is less than a small value. It's night time, in this instance, the solar tracker must return to sunrise. If the sun rises at 0 degrees in the left-right servomotor and 30 degrees in the up-down, set them accordingly. The Arduino IDE C function “servox. write(angle)” makes this easy.
  4. It is necessary to process and use the PV voltage measured by analog pin A5 to calculate the PV current and power. Then, the data and the real mode must be sent to the computer via USB cable and shown in Microsoft Excel.

Obtained results

Data can be sent from an Arduino microcontroller to an Excel spreadsheet with the help of the PLX-DAQ Excel Macro. All that has to be done is downloaded. A “PLX-DAQ” folder, containing a “PLX-DAQ Spreadsheet” shortcut, will be created on the PC after installation. Then, to get the board talking to Excel, we open Excel and specify the connection parameters (Baud rate and port) in the PLX-DAQ window. Clicking “connect” then causes the Excel sheet to update in real time with the output data.



O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.


7.05.2023-I wrote the first part of the page

11.05.2023-I did the hardware design part at the lab

17.05.2023-I wrote the second part of the project (hardware design)

26.05.2023-I wrote the third part of the project (software design)


Export to PDF

pm/prj2023/apredescu/solar_tracker.txt · Last modified: 2023/05/29 23:48 by george.cristea1210
CC Attribution-Share Alike 3.0 Unported Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0