Solar Tracker

by Roguy in Circuits > Arduino

33 Views, 0 Favorites, 0 Comments

Solar Tracker

IMG-20250531-WA0002copie.jpg
20250523_161643.jpg

This project has been made during a prototyping course.

The aim was to realise a solar tracker. It is a device which measures the light intensity with 3 photoresistors and then determines the orientation of the light. It has two axes of rotation : one vertical to face the light and one horizontal to have the best incline as possible.

Unlike other solar trackers we have seen, we have chosen to use only 3 photoresistors and not 4 in order to use materials sparingly and to save energy, because this is enough to orient correctly the panel.

Supplies

To reproduce this project, you will need :

Components :

  1. arduino uno board
  2. bread board
  3. 1 servo motor (we used a Feetech FS90)
  4. 1 stepper motor (https://joy-it.net/files/files/Produkte/SBC-Moto1/SBC-Moto1_Manual_2024-05-08.pdf)
  5. 3 photoresistors
  6. 3 resistors (4.7kΩ)
  7. jumper wires
  8. 1 plank (30x20cm)
  9. screws Ø3mm (to screw the components on the plank)
  10. 2 screws and 2 nuts Ø3mm (to fix the stepper motor on its support)

Tools :

  1. 3D printer

Print the Pieces of the Solar Tracker

panel support 1.jpg
panel support 2.jpg
Stepper motor support.jpg
support servo.jpg

You have to print 3 pieces :

  1. the stepper motor support which will be screwed to the plank
  2. the servo motor support which will be fit into the shaft work of the stepper motor
  3. the panel support

Assembly of the Structure

20250604_155352.jpg
20250604_140756.jpg
20250604_140815.jpg
20250604_140848.jpg
20250604_140910.jpg
IMG-20250514-WA0004.jpg

When your parts are printed, you can proceed to the assembly of the structure.

First, you can screw your stepper motor support on the plank. Insert the stepper motor in the support and screw it with two nuts (photo 1).

Fit the propeller of your servo motor in the panel support (photo 2).

You must screw the servo motor on its support (photo 3) and insert the hole of the panel support in the rotation axis of the servo motor support (photo 4). Then fit the propeller in the stepper motor (photo 5).

Finally, you can fit the servo motor support in the rotor of the stepper motor (photo 6).

Electrical Assembly

Schéma projet.png
Capture d’écran 2025-05-31 155944.jpg
20250604_140954.jpg

This is the most important part of the project. You have to reproduce the numerous connections as in the plan.

In the wiring diagram, the left photoresistor is "R1" of the photograph. On the right, the upper one is "R2" and the bottom one is "R0".

The piece at the top of the wiring diagram is the controller of the stepper motor. It is on the other image (taken from https://joy-it.net/files/files/Produkte/SBC-Moto1/SBC-Moto1_Manual_2024-05-08.pdf).

The electrical assembly measures the voltage at the photoresistor terminals with voltage dividers. By using the arduino code (following section), the arduino board controls the stepper motor and the servo motor to orient the panel towards the sun.

Arduino Code

Capture d’écran 2025-06-08 113502.jpg
Capture d’écran 2025-06-08 113556.jpg

Now, you just have to upload the arduino code and do some adjustments.

Indeed, for a better working of the code, you have to measure the maximum value of the voltage of each photoresistor by putting a light (of your smartphone for instance) right in front of it.

Take the smallest of these values and make a ratio for the two others : max_value_concerned_resistor / max_value_smallest_resistor. You have to divide the value of the concerned resistor by this ratio.

You might need to correct these values by testing and adjusting to have a proper working of the solar tracker.


The principle of the code is to measure the values of the photoresistors and compare :

  1. the mean of the values of the bottom photoresistors with the upper one to determine the inclination needed, then the servo motor moves in that direction
  2. the left and the right photoresistor in order to determine the correct orientation, then the stepper motor moves in that direction.

Downloads

Launch the arduino code and the solar tracker will continuously turn towards the light source !