Solar Tracker


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.
Downloads
Supplies
To reproduce this project, you will need :
Components :
- arduino uno board
- bread board
- 1 servo motor (we used a Feetech FS90)
- 1 stepper motor (https://joy-it.net/files/files/Produkte/SBC-Moto1/SBC-Moto1_Manual_2024-05-08.pdf)
- 3 photoresistors
- 3 resistors (4.7kΩ)
- jumper wires
- 1 plank (30x20cm)
- screws Ø3mm (to screw the components on the plank)
- 2 screws and 2 nuts Ø3mm (to fix the stepper motor on its support)
Tools :
- 3D printer
Print the Pieces of the Solar Tracker




You have to print 3 pieces :
- the stepper motor support which will be screwed to the plank
- the servo motor support which will be fit into the shaft work of the stepper motor
- the panel support
Assembly of the Structure






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



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


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 :
- 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
- 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 !