Multifunctional Solar Tracking System using AT8952

12. CONCLUSION

Solar energy is unlimited, solar panels are easy to maintain and has a very long lifetime. We have to harvest it efficiently and use it to our full benefit. With  a  system that can track the sun – this renewable energy can be harvested even more efficiently  and  maybe  two  houses  can  be  supplied  with  electricity  using  the panel that could only support one house without any tracking mechanism. Because  of  this form of  harvesting  energy,  many  houses  in  rural  areas  can enjoy the blessing of electricity.

13. FUTURE SCOPE

Tri-lateration method in which three LDRs used to determine the accurate direction of the sun can be used to improve the solar panel efficiency much better. In this thesis only a single axis tracking was done. Two axis tracking can also be done to improve the output power.

14. REFERENCE

  •  “The 8051 Microcontroller and Embedded Systems” by Muhammad Ali Mazidi and Janice Gillispie Mazidi.
  • 8051 Microcontroller Architecture, programming and application” by Kenneth Jayala.
  • “Exploring C for Microcontrollers” by Jivan S.Parab,Vinod G.Shelake, Rajanish K.Kamat, Gourish M.Naik.

 15. SOURCE CODE OF THE PROJECT

#include<reg52.h>
#include<string.h>
void delay(int );  /*DELAY FUNCTION*/
sbit motor_on= P2^1;
sbit motor_direction= P2^2;
sbit upper_ldr=P1^0;
sbit down_ldr=P1^1;
sbit start_limit_swithch =P1^2;
sbit stop_limit_swithch =P1^3;
int i=0;
int j=0;
void main(void)
{
    motor_on= 0;
    motor_direction= 0;
    while(1)
    {
        if(upper_ldr==0 &amp;&amp; down_ldr==1   )
        {
            motor_on= 1;
            motor_direction= 0;
            delay(100);
            motor_on= 0;
            motor_direction= 0;
            delay(1000);
        }
        if(upper_ldr==1 &amp;&amp; down_ldr==0   )
        {
            motor_on= 1;
            motor_direction= 1;
            delay(100);
            motor_on= 0;
            motor_direction= 1;
            delay(1000);
        }
    }
}
/********* DELAY **********/
void delay(int m)
{
    int n;
    while(m)
    {
        for(n=0;n&lt;10;n++);
        m--;
    }
}

Leave a Reply