Proceedings of the 2019 5th International Conference on Advances in Electrical Engineering (ICAEE)
26-28 September, Dhaka, Bangladesh
Design of an Automatic High Precision Solar
Tracking System with an Integrated Solar Sensor
Taslim Ahmed
Department of Electrical and Electronic Engineering
Rajshahi Science and Technology University (RSTU), Natore
Natore-6400, Bangladesh
taslimeee@gmail.com
Imran Chowdhury
Department of Electrical and Electronic Engineering
University of Information Technology & Sciences (UITS)
Dhaka-1212, Bangladesh
last4first@yahoo.com
Abstract—A sustainable powered standalone automatic
Solar Tracking System is designed and successfully simulated to
provide the best alignment of solar panel with position of the sun
automatically, to extract an increased efficiency by 40 percent.
A very low cost (approx. 5 USD), high precision Solar Tacking
Sensor has been designed to rotate the solar panel coupled to the
stepper motor rotates 25.70 degree at single step and to tracks
the whole 180-degree trace in 8 (eight) steps per day with greater
accuracy. Microcontroller (ATmega16) is used as main control
unit where its ADC ports are used to interface the Sensor unit
and ULN2000A motor driver is used to interface the stepper
motor to rotate the solar panel at maximum solar energy angle.
The results found from the simulation and analysis shows that,
the system required 12.04 mA and 37.163 mA current, and
144.48 mW and 445.956 mW power, during standby and panel
rotating mode respectively. The maximum current drawn by the
Solar Tracking Sensor is less than 0.5 mA. ‘Proteus ISIS 7.7
professional’ is used for design and simulation, and ‘Code
Vision AVR v2.5’ is used to write the program code and burning
into the ATmega16 for simulation and analysis.
the Light Dependent Resistor (LDR) is used to design the
Solar Sensor. For processing and control, the ATmega16 has
been used which will generate pulse to the motor driver ULN
2003A to move the motor along with the solar panel in
clockwise (CW) or counter clockwise (CCW) direction [8, 9].
The unipolar stepper motor has been used due to its advantage
over higher power and torque requirement [10].
II. SYSTEM DESIGN
The block diagram in Fig. 1 depicts the concepts and
configurations for developing a microcontroller based solar
tracking system; which will automatically control the motor
position by tracking maximum light intensity with the help of
Solar Tracking Sensor (designed and tested); and, displays the
updated position of the motor in a 16x2 LCD display [11, 12].
Keywords—Solar Power, Sustainable Energy, Renewable
Energy, Sensor, Sensor Design, Solar Tracking, Microcontroller,
ATmega16, LDR, Proteus, Code Vision AVR.
I. INTRODUCTION
The ability to capture and transform a tiny portion of the
sun's daily heat and light efficiently, to beat the limitation of
energy resource threat rapidly becoming unavoidable. Also,
most solar panels operate at less than 40% efficiency [1],
which forces to meet the energy need either purchasing high
cost solar panel or by solar tracking system [2]. Solar tracker
is an automated solar panel that follows position of the sun to
maximize the solar energy collection. One well-known type
of solar tracker is the heliostat, a movable mirror that reflects
the moving sun to a fixed location, but many other approaches
are used as well [3]. Active trackers use motors and gear trains
to direct the tracker as commanded by a controller responding
to the solar direction. The solar tracker can be used for several
applications such as solar cells, solar day-lighting system and
solar thermal arrays [4].
A comparative study shows an increase of energy
extraction by about 40% over fixed panels and big advantage
of the optimized scheme over continuously rotating panel. It
was found that the energy saving on the consumption side is
just over 20% [5].
In this work, an automated solar tracking system
integrated with a low-cost solar sensor has been designed and
simulated for residential, agricultural or large-scale solar grid
application; which will improve the overall efficiency of a
solar panel [6, 7], by tracking the movement of the sun at very
high precision and accuracy. To track the position of the sun,
978-1-7281-4934-9/19/$31.00 ©2019 IEEE
Fig. 1. Block Diagram of the designed system.
The required components list to configure and design the
system is given in the Table I.
TABLE I.
COMPONENTS OF THE SYSTEM.
Devices
Reference
Value/ID
Resistor
R1-R7
10k
Capacitor
C1, C2
Integrated
Circuit
U1, U2, U3, U4
1000uF
LM016L (LCD), Atmega16,
ULN2003A (motor driver),
7805 (voltage regulator)
1N4007(4), LED (3)
Diodes
Others
D1-D7
LDR0-LDR7,
Solar Panel,
Storage, Stepper
motor
LDR(0) to LDR(7), PV cell
(12 volt), Battery (12V dc),
Unipolar 4 wire 12V
The flowchart in Fig. 2 describes the work flow of the
system and its working principle. Where the main control unit
rotates the motor in CW or CCW motion or stay stationary,
with respect to the position of the sun.
decision whether the motor will rotate and at how many
degrees, CW or CCW or the solar panel will remain at same
position. It consists of 8 (eight) LDRs encapsulated in a
conical shaped black foiled paper and grouped into a semicircular disc, with a little whole on the top for the entrance of
sun light. Due to this unique design, only the LDR aligned
with the sun will have the greater light intensity and
consequently lower resistance and higher voltage drop across
the conjugated resistor. And, that voltage drop is read by the
eight ADCs (ADC (0) to ADC (7)) of ATmega16 to compare
the values for largest one and accordingly will track the
position of the sun as per designed and designated degree
shown in the earlier section. Therefore, the control unit rotates
the motor to face the solar panel with the sun at greater
accuracy and precision. The expected cost of the solar tracking
sensor is about 400 BDT or 5 USD approximately.
IV. CIRCUIT DESIGN & SIMULATION
The operation and characteristic behaviors of the designed
system is simulated by the software ‘Proteus 7.7 professional’.
And the result found by simulation is verified according to the
expected outcomes theoretically projected by the program
code and working principle [15]. The schematic of the system
is shown in Fig. 4.
Fig. 2. Basic logic flowchart of the system.
III. DESIGN OF SOLAR TRACKING SENSOR
Here, 8 (eight) photo-resistors (LDR) which have a
negative temperature coefficient have been taken [13, 14].
Each one of them senses light and for that voltage increases.
They been placed in a manner that, the 180° divided into seven
parts. That is (180 degree) /7= 25.7 degree; and the designed
sensor shown in Fig. 3.
Fig. 4. Schematic of the designed system.
When highest voltage is across the LDR (2), then motor
rotates 57.9° and at position 5 the motor rotates 77.1° in CW
motion and the solar panel positions at 135°, which is shown
in the Fig. 5 and Fig. 6.
Fig. 3. Position alignments of solar tracking sensor.
The LDRs connected with the ADCs of microcontroller
ATmega16 will position themselves into the specific angles,
as shown below:
LDR (0) = 0.00 degrees, LDR (4) = 102.86 degrees
LDR (1) = 25.70 degrees, LDR (5) = 128.57 degrees
LDR (2) = 51.43 degrees, LDR (6) = 154.29 degrees
LDR (3) = 77.14 degrees, LDR (7) = 180.00 degrees
The greater the incident light on a specific LDR, the higher
the voltage across the corresponding resistor and the solar
panel will rotate accordingly, as per angle mentioned above.
Therefore, the designed Solar Tracking Sensor provides
the real time analog data to the microcontroller for taking
Fig. 5. Position of largest LDR value=2; rotaion angle=57.9 degree and
shown in LCD (zoom in view).
STEP IX:
STEP X:
Show the updated info in the LCD display.
END and Start over again the processes from
STEP II into a continuous infinite loop.
Regarding the set of rules and processes which is
described in Fig. 2 and in the developed algorithm, has set a
challenge to write a program for an automatic solar tracking
system. And for that, ‘Code Vision AVR version 2.5
Professional’ is used to write the codes, shown in Table II.
There are some basic set of codes which were generated by
Code Vision AVR itself automatically [16]. The codes are
written in the exact way as shown below, which follows the
flowchart in Fig. 8.
Fig. 6. Position of largest LDR value=5; rotaion angle=77.1 degree.
When highest voltage is across the LDR (1) then motor
rotates 96.40 in CCW motion and the solar panel positions at
38.60, which is shown in the Fig. 7.
Fig. 7. Position of largest LDR value=1; rotaion angle=96.4 degree.
V. ALGORITHM & PROGRAMMING
To operate the system shown in Fig. 4 automatically as a
standalone sustainable powered solar tracker, it required an
algorithm that would allow the system to figure out the
solution of problems in an orderly, numerical and precise
manner; resulting in some inclusive sequential steps of
procedures that been given below:
STEP I:
START and Initialize the system, ADC, Timer,
Comparator and Solar Tracking Sensor.
STEP II: Read ADC (0) to ADC (7) connected to LDR
(0) to LDR (7) of the Sensor.
STEP III: Compare the values to find the largest one and
if none; then go to STEP II.
STEP IV: Find the corresponding LDR number for the
largest value.
STEP V: Store this value as the motor final position ‘mpf’
(variable); where motor initial position ‘mpi’
(variable) is initially ‘0’.
STEP VI: Show the info in the LCD display.
STEP VII: If ‘mpf’ is greater than the ‘mpi’, then rotate the
motor for [4*(mpf-mpi)] times in CW direction.
STEP VIII: Store this motor position ‘mpf’ as equal to
‘mpi’; to update the motor initial position.
Fig. 8. Programming flowchart of the system.
TABLE II.
PROGRAM CODES FOR THE DESIGNED SYSTEM.
while (1)
{
for(i=0;i<=7;i++)
{read_adc(i); delay_ms(50);}
for(k=0;k<=7;k++)
{ if(read_adc(k)>sum1)
{sum1=read_adc(k); delay_ms(50); mpf=k;}}
lcd_clear(); lcd_gotoxy(0,0);
sprintf(lcd1,"Init. Position=%d",mpi);
lcd_puts(lcd1); delay_ms(50);
lcd_gotoxy(0,1);
sprintf(lcd2,"Final Position=%d",mpf);
lcd_puts(lcd2); delay_ms(50);
if((mpf-mpi)>0)
{for(j=mpi;j<mpf;j++)
{
PORTB=0x06; delay_ms(20);
PORTB=0x03; delay_ms(20);
PORTB=0x09; delay_ms(20);
PORTB=0x0C; delay_ms(20);
}}
else if((mpf-mpi)<0)
{
for(j=mpi;j>mpf;j--)
{
PORTB=0x0C; delay_ms(20);
PORTB=0x09; delay_ms(20);
PORTB=0x03; delay_ms(20);
PORTB=0x06; delay_ms(20);
}}
else
{PORTB=0x00;}
mpi=mpf;}
But, when the LDR (1) (Channel B- color ‘blue’) voltage
is set HIGH to 3.333V; then the changes in voltage of LDR
and motor is shown in Fig. 11, where the motor rotates CCW.
In both cases the motor rotates CW and CCW to position the
solar panel aligned with the sun.
VI. RESULTS & DISCUSSION
The system operation and transient response is verified by
plotting the input and output variables and parameters, to
check the system behavior as per the flowchart (in Fig 2) and
program code. The results obtained by simulation are shown
in Fig. 9 to Fig. 11; correspond to Fig. 5 to Fig. 7. Any change
of the LDR’s value will change the motor angle (Channel Acolor ‘yellow’) which will make the transient change in the
simulation graph in oscilloscope. When the LDR (2) (Channel
C- color ‘purple’) and LDR (5) (Channel D- color ‘red’)
voltage is set HIGH to 1.667V and 2.499V respectively, then
the changes in voltage of LDR and motor is shown in Fig. 9
and Fig. 10, where the motor rotates CW.
Fig. 11. ADC (1) = HIGH and motor rotates from position LDR(5) to
LDR(1) in CCW motion at 38.6 degree.
The simulation results (both operational and transient) are
summarized below in brief:
•
•
•
•
The motor is OFF (initially), while all the voltage
across the LDRs are in 0 volt.
When the LDR’s voltages are increased from left to
right; motor rotates in CW motion.
Again, when the LDR’s voltages are increased from
right to left motor rotates in CCW motion.
Motor position is changed by the change of voltage
across the LDR’s number. And, even for a 0.01%
change in voltage in-between two LDR will trigger
the sensor and rotate the panel accordingly.
The results obtained by operational and transient analysis
shows that, the operation and control behavior of the system
are in the sequence, as instructed in the program code and
algorithm. Also, the data obtained by measuring various
changes in circuit parameters (current, voltage, power, etc.)
with respect to the change in Solar Sensor and Solar Panel
Rotation Angle; are given in Table III.
VII. CONCLUSION
Fig. 9. ADC (2) = HIGH and motor rotates from position LDR(0) to
LDR(2) in CW motion at 57.9 degree.
Fig. 10. ADC (5) = HIGH and motor rotates from position LDR(2) to
LDR(5) in CW motion at 135 degree.
An automated microcontroller based sustainable powered
standalone solar tracking system with an integrated low-cost
solar sensor (approx. 5 USD) has been designed and simulated
with some important findings to remark. The solar panel
always traces the vertical plane for maximum light intensity
where the incident angle is at ideal ‘0’ degree; which increases
efficiency by 30-40% ["Solar cells -- performance and use",
solarbotics.net, 2002.]. The system requires maximum current
and power only less than 50 mA and 500 mW (when motor is
ON or rotating) respectively and, at idle condition it only
consumes around 12 mA and 150 mW; which indicates very
high power efficiency and cost effectiveness. The maximum
current drawn by the Sensor is less than 0.5 mA which is
significantly low in power consumption by the designed
sensor. The system accuracy in its automated operation is
found to be very reliable and it works as a solar powered
standalone system. The solar panel moves only 8 (eight) times
per day, operated with a low-cost highly accurate and precise
Sensor. Further scopes of this work may include, analyzing
performance evaluation of large solar grid and tracking
systems like RADAR and Dish Antennas with monitoring and
control from faraway distance, etc.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
"Solar cells -- performance and use", solarbotics.net, Shedding a little
light on photovoltaics, 28 February, 2002.
Green, M. A., Emery, K., Hishikawa, Y., Warta, W. & Dunlop, E. D.
Solar cell efficiency tables (version 39). Progress in Photovoltaics:
Research and Applications 20, 12–20 (2012).
N L Shraman, “Solar Panel Installation Guide and User's Manual: Solar
Electrical Energy”, the memory guru of India, Indian Edition, pp. 5052, 2014.
Mayank Kumar Lokhande, “Automatic Solar Tracking System”,
International Journal of core Engineering & Management (IJCEM),
ISSN:2348 9510, Volume 1, Issue 7, October 2014, pp.123-124.
Mostefa Ghassoul, “Single axis automatic tracking system based on
PILOT scheme to control the solar panel to optimize solar energy
extraction”, Energy Reports 4, Elsevier, November 2018, pp. 520-527
Roger A. Messenger, Amir Abtahi, “Photovoltaic Systems
Engineering”, 3rd edition, CRC Press, pp. 215-219, 2010
Imran Chowdhury, Rumana Amin, Shuza Binzaid, “Optimal Control
on Environments for Improving the Piper betle (Paan) Growth”,
International Research Journal of Life Sciences Leaflets, Gujarat,
India, Vol. 17, 2011, pp. 605-615.
[8] Uday A. Bakshi, Atul P Godse, “Linear Integrated Circuits”, 4th
edition, Technical Publications, pp. 54-60, 2009.
[9] Motor driver, https://en.m.wikipedia.org/wiki/ULN2003A
[10] Stepper motor, https://en.m.wikipedia.org/wiki/Stepper_motor
[11] LM016L 16x2 LCD Display,
https://www.engineersgarage.com/electronic-components/16x2-lcdmodule-datasheet.
[12] T. Ahmed, Md. K. N. Islam, I. Chowdhury, Dr. S. Binzaid "Sustainable
Powered Microcontroller-Based Intelligent Security System for Local
and Remote Area Applications", IEEE/IARP International Conference
on Informatics, Electronics & Vision (ICIEV 2012), Dhaka,
Bangladesh, ISSN: 2226-2105, pp. 276-280.
[13] LDR, http://www.resistorguide.com/photoresistor/
[14] Askari Mohammad Bagher, Mirzaei Mahmoud Abadi Vahid,
Mirhabibi Mohsen, “Types of Solar Cells and Application”, American
Journal of Optics and Photonics. Vol. 3, Issue 5, October 2015, pp. 94113.
[15] ATmega16 Datasheet,
https://www.microchip.com/wwwproducts/en/ATmega16#datasheet
[16] Dhananjay V. Gadre, "Programming and Customizing the AVR
Microcontroller", pp. 21 – 59, 2000.
TABLE III.
RESULTS OF CHANGE IN CIRCUIT PARAMETERS WITH RESPECT TO CHANGE IN ‘SOLAR SENSOR’ AND ‘SOLAR PANEL ROTATION ANGLE’.
Greatest
LDR V.
(V)
Greatest
LDR #.
49.5m
0
Rotates motor
for 0 steps
4.95u
12.00m
1.667
2
Rotate motor
for 2 steps
0.167m
35.976m
2.499
5
Rotate motor
for 3 steps
0.249m
35.976m
3.333
1
Rotate motor
for 4 steps
0.333m
35.976m
Microcontroller
Decision
ILDR
(A)
IMOTOR
(A)
PT
(W)
MOTOR
Rotation
(CW
/CCW)
Solar
Panel
State
(angle)
12
144.48m
CW
at 00
12
434.124m
CW
at +57.90
12
437.064m
CW
at +1350
12
441.012m
CCW
at +38.60
IT
VT
(system)
(system)
(A)
(V)
12.04m
(Motor
OFF)
36.177m
(Motor
ON)
36.422m
(Motor
ON)
36.751m
(Motor
ON)
[Greatest LDR V. (V): Greatest LDR voltage amongst the sensors (voltage across the corresponding resistors); Greatest LDR #.: Position number of the
LDR, which sends the Greatest value to ADC of ATmega16; PT: Total power of system; Imotor: Current through the motor; Voltage across the port, interfaced
with POT; ILDR: Current through the LDR; IT(system): Total current drawn by the system; VT: Input voltage of the system;]
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )