Parabolic Solar Tracker in Carton (DIY Arduino)

by TechnoFabrique in Circuits > Arduino

5247 Views, 41 Favorites, 0 Comments

Parabolic Solar Tracker in Carton (DIY Arduino)

parabolic solar tracekr instructable.png

[FRENCH]

L'objectif est de créer un tracker solaire parabolique autonome permettant de suivre le soleil, et donc d'obtenir le meilleur ensoleillement possible.

[ENGLISH]

The goal of this project is to create a parabolic solar tracker that is going to follow the sun during the day , to get the maximum of light .

The Material You Need !

couv tracker.jpg

(x1) --- Arduino Uno

(x1) --- Stepper Motor Nema 17 ( +12V alimentation, Torque: 44 N.cm = 4.5kg.cm)

(x1) --- Driver to control the Nema 17 : A4988

(x1) --- Capacitor 47 uF

(x1) --- Stepper Motor 24BYJ48 ( +5V alimentation, Torque : 39mN.m = 350g.cm )

(x1) --- Driver to control the 24BYJ48 : ULN2003

(x3) --- photorésistor

(x3) --- 1kOhms résistor

(x1) --- Alimentation for the Stepper motor Nema 17 : +12V

(x1) --- Alimentation for the Stepper motor 24BYJ48 and the arduino : +9V for me , then +5V to the stepper motor

(x) --- Carton

(x) --- Glue pistol

(x) --- Aluminum

(x) --- Rope

How to Build the Parabola

parabola size.png
IMG_20170822_103308.jpg
IMG_20170822_103249.jpg
IMG_20170822_103238.jpg

The first step is to create the parabola.

In order to do this, we started by cutting 12 parallelogram of 16x26x10 (cm), and 12 other (10x17x2.5 cm).

We cover each parallelogram with paper aluminum and we stick them together to create the parabola.

Our parabola have a focus close to the base of the parabola, so maybe with 11 parallelogram, you can get a focus higher.

The Solar Tracker Device

IMG_20170822_103308.jpg

We reproducted a solar tracker made with 3 photoresistor. Each photoresistor is connected with a resistor of 1Kohm, and send to the analogic input of the arduino.

We can know if our parabola is well positioned or not, by checking our inputs.

Example : The picture

In the picture, we see that the photoresistor n°0 receive lesss light than the others photoresistor.

That is traducted in the arduino by a higher value in the input n°0 . So we know that we have to turn the motor used to the rotation of the parabola to be in front of the sun.

Rotation and Inclination

IMG_20170822_103238.jpg
IMG_20170822_103249.jpg

To inclinate the parabola, we used the 24BYJ48 Stepper motor and his driver ULN2003.

We just wrap the rope in the motor to make the parabola inclinate.

To make the parabola rotate, we glued a wheel at the base of the parabola, wich is pulled by the Nema 17 ( Stepper motor).

We only need 1 sense of rotation, because we just want to follow the sun.

That mean that every day, we have to put the parabola in the right way, but we are good with this.

The Setup

parabolic solar tracker_bb.jpg
(FRENCH)

ETAPE 1: La parabole

La parabole a été réalisée à partir de 2 x 12 parallélogrammes fait de carton et recouvert de papier aluminium. Cette parabole est ensuite traversée par une barre permettant d'incliner ou non la parabole grâce au moteur pas-à-pas 24BYJ48. Au bout de la barre, on a fixé notre module composé de 3 photorésistances . ( voir la page du

ETAPE 2 : Le moteur pas à pas 24BYJ48

Nous avons connecté le moteur bipolaire pas à pas 24BYJ48 à son driver associé contenant le circuit ULN2003. Il suffit de connecter les inputs INx (x = 1,2,3,4) aux sorties digitales de l'arduino. On alimentera le driver en +5V. Pour coder, nous utiliserons la bibliothèque Stepper.h , ce qui nous permet de commander facilement le moteur en lui donnant la vitesse : nom.setSpeed(vitesse), ainsi que le pas désiré : nom.step(+ou- pas)

ETAPE 3 : La rotation de la parabole

Pour faire tourner la parabole, nous avons mis celle-ci sur une base tournante. Le moteur pas-à-pas NEMA 17 ainsi que son driver A4988 permet de faire tourner la parabole dans un sens. Remarque : Nous n'avons besoin de faire tourner la parabole dans un seul sens pour ce projet, car la parabole doit suivre le soleil. Il faut par contre replacer la parabole tout les matins.

ETAPE 4 : Le moteur pas-à-pas Nema 17

sous-étape 1 : Liaison Arduino - A4988 On connecte l'alimentation de la partie commmande au module A4988. La broche 3 est connectée au step du driver: on pourra alors moduler la vitesse de rotation du moteur. La broche 4 est connectée au dir du driver: cela nous permet de choisir le sens de rotation en mettant ce pin à HIGH ou LOW. sous-étape 2 : Alimentation des moteurs Les moteurs sont alimentés en 12 V (nous avons utilisé une alimentation d'ordinateur). On ajoute un condensateur de découplage de 47uF pour sécuriser le driver de possible pique de courant causé par le moteur.

The Code You Need to Write

// 07/2017 - Programme C - Tracker solaire Parabolique -  Carte Arduino ( UNO )// Ce programme a pour objectif de :  //                                     -  Traiter les informations apportés par les photorésistances //                                     -  Gérer la rotation et l'inclinaison du module pour suivre une source lumineuse // Programme réalisé par Techno_Fabrik 


//********************BIBLIOTHEQUES****************************  // bibliothèque permettant d'utiliser les commandes pour le moteur pas-à-pas 24BYJ48 et son driver facilement  #include   //********************DECLARATIONS****************************  //Le moteur (fils 1 2 3 4) est branché sur les sorties 8 9 10 11 de l'Arduino (et sur GND, +V) Stepper small_stepper(STEPS, 8, 10, 9, 11);     // Sens horaire    int A4988_pas = 3; // nema 17 definir la vitesse int A4988_direction = 4; // nema 17 definir la direction float photo_r_0,photo_r_1,photo_r_2; // valeur des photorésisances 
//*************************INITIALISATION **********************
void setup() {
  
pinMode(A4988_pas,OUTPUT); 
pinMode(A4988_direction,OUTPUT);
Serial.begin(9600); 
}
//*************************************** BOUCLE ***************************
void loop() {
 
photo_r_0=analogRead(A0); // entrée analogique 8 bits = 1024 valeurs = 0 à 5V
photo_r_1=analogRead(A1);
photo_r_2=analogRead(A2);
   
if ( photo_r_0
photo_r_1+3)
{
   digitalWrite(A4988_direction,LOW); 
  for(int x = 0; x < 1; x++) 
  {
    digitalWrite(A4988_pas,HIGH); 
    delay(5); 
    digitalWrite(A4988_pas,LOW); 
    delay(5); 
  } 
}
if (photo_r_2>photo_r_1+3) // tourner la parabole en avant
{
small_stepper.setSpeed(40); // + Speed = - Couple  ,
small_stepper.step(10);
}
else if (photo_r_2









It's Finish ! See the VIDEO

Tracker solaire parabolique ( TechnoFabrique )

Thanks you very much !

If you liked this post, please come check our other presentation on Instructables !

If you want to visit our website : http://bit.ly/2viP7No

To follow us on Instructables: http://bit.ly/2vYQwL7

Hope you appreciated ...