Arduino Projects

What is an Arduino dual Axis solar tracker? Dual axis solar tracker System Engineering Project

Dual axis Solar tracker is one of the most searched projects nowadays. Hey guys, welcome back to the techatronic. we are Shahid and Adnan. I hope you all are good.

if you are looking for the newest embedded project this would be helpful for you.

Introduction

This time we brought a very amazing project for you. which is knowns as the Dual axis solar tracker system. It is cool and you can make this easily with this  Article.

what do you need? you need to read this article carefully. if you are an engineering student you must have some basic knowledge of electronics and controllers.

if you want to learn basic electronics and microcontrollers like Arduino and avr we are making the course in the category section Arduino tutorial. I hope you will learn a lot from there.

The last time you guys are voted for gsm based home automation system. so we also have uploaded the same on our website you can check it in our recent post. So, now Let’s start the project with the next paragraph.

A preview image of the project

dual axis solar tracker

As you can see in the above image a solar panel and 2 LDR sensor which are located at the upper and lower part of the system detects the light intensity of the sun. which LDR sensor detects the more intensity the whole system will move in that direction. the working of the system is very simple.

What is an Arduino dual Axis solar tracker?

  • Dual axis solar system project is one of the most popular projects recently and Arduino projects.
  • It is just a system that follows the sunlight according to its intensity.
  • it can increase the power collected through the sunlight by the solar system.
  • a system contents the solar panel on it, tracks the solar light in all four directions. for example, the sun has a different direction according to time. so, to store the maximum power from the light solar tracker track the maximum intensity light which causes the maximum power.

before making this project we can calculate the power store by the normal solar panel system and solar panel with the automatic solar tracker.

the solar tracker-based system can store 30% more power than a simple system.

dual axis solar tracker solar panel

How does dual axis solar tracker work?

When sunlight incident on the solar tracker. it starts calculating and comparing that from which direction the maximum intensity sunlight is coming.

after comparing the panel above the system start to move toward the maximum intensity so that the solar panel has the maximum intensity and makes the maximum power.

“The maximum intensity of light directly proportional to the maximum power convert 

  • There we are using the LDR sensor which is known as the LIght dependent resistor when the sunlight incident the LDR sensor the resistor value of the LDR sensor will decrease.
  • it means it only controls the resistance by using light. so, we are using this method. which LDR sensor decreases the maximum resistor the dual axis solar system will move in that direction.
  • this is the principle of this project. there we are using two servo motors which help to move the panel in all directions. Arduino, help to make all processing. calculation etc.
  • Simple working of LDR Sensor with arduino.
  • you can also make single axis solar tracker.
dual axis solar tracker ldr sensor

Components Required:- 

dual axis solar tracker component

Circuit diagram

By this Fritzing-based circuit diagram of this project. you can get the actual connection of the project. if you still stuck anywhere you can ask us in the comment section.

dual axis solar tracker

Connection Table

Arduino UNOServo Motor 1Servo Motor 2
D9 PinOut Pin 
D10 Pin Out Pin
+5V VCC 
GND GND 
 Arduino UNOLDR 1LDR 2LDR 3LDR 44p, 10k Res
A0 PinTer. 1   Ter. 1
A3 Pin Ter. 1  Ter. 1
A1 Pin  Ter. 1 Ter. 1
A2 Pin   Ter. 1Ter. 1
+5V Ter. 2Ter. 2Ter. 2Ter. 2 
GND    Ter. 2

Ter. 1 = Terminal 1

Ter. 12= Terminal 2

Arduino code:-


// Techatronic.com

#include <Servo.h>
Servo horizontal; // horizontal servo
int servoh = 180;
int servohLimitHigh = 175;
int servohLimitLow = 5;
// 65 degrees MAX

Servo vertical; // vertical servo
int servov = 45;
int servovLimitHigh = 100;
int servovLimitLow = 1;


 
// LDR pin connections
// name = analogpin;
int ldrlt = A0; //LDR top left – BOTTOM LEFT <— BDG
int ldrrt = A3; //LDR top rigt – BOTTOM RIGHT
int ldrld = A1; //LDR down left – TOP LEFT
int ldrrd = A2; //ldr down rigt – TOP RIGHT

void setup(){
horizontal.attach(9);
vertical.attach(10);
horizontal.write(180);
vertical.write(45);
delay(2500);
}
void loop() {
int lt = analogRead(ldrlt); // top left
int rt = analogRead(ldrrt); // top right
int ld = analogRead(ldrld); // down left
int rd = analogRead(ldrrd); // down right
int dtime = 10; int tol = 90; // dtime=diffirence time, tol=toleransi
int avt = (lt + rt) / 2; // average value top
int avd = (ld + rd) / 2; // average value down
int avl = (lt + ld) / 2; // average value left
int avr = (rt + rd) / 2; // average value right
int dvert = avt – avd; // check the diffirence of up and down
int dhoriz = avl – avr;// check the diffirence og left and rigt


 
if (-1*tol > dvert || dvert > tol)
{
if (avt > avd)
{
servov = ++servov;
if (servov > servovLimitHigh)
{servov = servovLimitHigh;}
}
else if (avt < avd)
{servov= –servov;
if (servov < servovLimitLow)
{ servov = servovLimitLow;}
}
vertical.write(servov);
}
if (-1*tol > dhoriz || dhoriz > tol) // check if the diffirence is in the tolerance else change horizontal angle
{
if (avl > avr)
{
servoh = –servoh;
if (servoh < servohLimitLow)
{
servoh = servohLimitLow;
}
}
else if (avl < avr)
{
servoh = ++servoh;
if (servoh > servohLimitHigh)
{
servoh = servohLimitHigh;
}
}
else if (avl = avr)
{
delay(5000);
}
horizontal.write(servoh);
}

delay(dtime);

}

I hope you all will make this awesome embedded project. there are two types of solar tracker, single axis solar tracker, and dual axis solar tracker. dual axis is more beneficial so we have done it here. if you have any queries you can ask in the comment section.

Single-axis solar tracker project tutorial

Light Dependent Resistor | LDR sensor | Photoresistor

Solar Panel Voltage Measure project using Arduino

Understand the working of Servo motors with Example

Types Of Arduino Boards | Arduino Uno | Mega | Mini | Specification

dual axis solar tracker

Video sample

Learn 10+ basic activities & sensor interfacing with our Arduino ebook. Well explained program. And a brief circuit diagram of WhatsApp and email support. which will help you to learn basic electronics, Arduino Coding, Sensor interfacing with Arduino, Arduino, and much more. buy Arduino Ebook to learn https://techatronic.com/arduino-ebook/

Related Articles

3 Comments

  1. Arduino: 1.8.11 (Windows 10), Board: “Arduino Uno”

    suntrack:39:17: error: stray ‘\342’ in program

    int dvert = avt – avd; // check the diffirence of up and down

    ^

    suntrack:39:18: error: stray ‘\200’ in program

    int dvert = avt – avd; // check the diffirence of up and down

    ^

    suntrack:39:19: error: stray ‘\223’ in program

    int dvert = avt – avd; // check the diffirence of up and down

    ^

    suntrack:40:18: error: stray ‘\342’ in program

    int dhoriz = avl – avr;// check the diffirence og left and rigt

    ^

    suntrack:40:19: error: stray ‘\200’ in program

    int dhoriz = avl – avr;// check the diffirence og left and rigt

    ^

    suntrack:40:20: error: stray ‘\223’ in program

    int dhoriz = avl – avr;// check the diffirence og left and rigt

    ^

    suntrack:53:10: error: stray ‘\342’ in program

    {servov= –servov;

    ^

    suntrack:53:11: error: stray ‘\200’ in program

    {servov= –servov;

    ^

    suntrack:53:12: error: stray ‘\223’ in program

    {servov= –servov;

    ^

    suntrack:63:10: error: stray ‘\342’ in program

    servoh = –servoh;

    ^

    suntrack:63:11: error: stray ‘\200’ in program

    servoh = –servoh;

    ^

    suntrack:63:12: error: stray ‘\223’ in program

    servoh = –servoh;

    ^

    C:\Users\gauth\OneDrive\Desktop\suntrack\suntrack.ino: In function ‘void loop()’:

    suntrack:39:21: error: expected ‘,’ or ‘;’ before ‘avd’

    int dvert = avt – avd; // check the diffirence of up and down

    ^~~

    suntrack:40:22: error: expected ‘,’ or ‘;’ before ‘avr’

    int dhoriz = avl – avr;// check the diffirence og left and rigt

    ^~~

    exit status 1
    stray ‘\342’ in program

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button