Department of Electrical Engineering
Solar Panel Tracking Control
Tracking the variations caused due to reflection from snow and other factors.
—
Saroj Pandey
Master Thesis in Electrical Engineering, July 2016
Title:
Solar Panel Tracking Control Date: July 04, 2016 Classification: Open
Author: Saroj Pandey Pages:61
Attachments: 1
Department: Department of Electrical Engineering Studieretning: Electrical Engineering
Supervisor: Trond Østrem
Principal: UiT The Artic University of Norway, Campus Narvik Principal contact: Trond Østrem
Keywords: Solar Tracking Control, Optimization of Solar Tracker’s Angle, Finding optimal Angles of a Solar Tracker, Control Mechanism for Dual Axis Solar Tracker, Solar Tracking Using Slewing Drive, Control of Solar Tracker Having Two Degrees of Freedom.
Acknowledgements
First and foremost I would like to thank my supervisor, Associate prof. Dr.
Trond Østrem, for his excellent supervision during my entire work. He gave me uncountable number of suggestions, ideas and motivation during our tireless meetings. He was always there whenever I ran into problems.
I would also like to thank Prof. Lars Norum, Prof. Per-Ole Nyman, Associate Prof. Dr. Pawan Sharma and all the other lecturers for the guidance and lectures they provided in their respective courses.
Lastly, I would like to appreciate my friends and family for inspiring me and motivating me to work hard.
Saroj Pandey July 2016
Abstract
This report presents the design and simulations of a dual-axis solar tracker. This solar tracker works solely based on the output power of the PV panel mounted to it. It does not use any photosensors to orient the PV module. Describing the process in short, the position of the Sun is first calculated based on time and location information. Since this solar panel will be mounted here at UiT, Norges Arktiske Universitet, Narvik. So, it’s latitude and longitude is always fixed.
Theoretically, PV panel should be placed such that it’s face is perpendicular to the Sun. But the optimal position for the PV module may be slightly different from the astronomical position (facing perpendicular to the Sun) due the reflection of snow and other factors. So to track for the optimal position, the panel is moved in the tilt direction first. And the tilt angle is increased slightly by a certain step size and the output power is compared in each tilt angles. The tilt angle that gives maximum power is set as optimal tilt angle. The PV panel is then kept at this optimal tilt angle and then the same process is repeated to find the optimal azimuth angle.
For the movement of the PV panel a slewing drive has been selected by other student groups. The other half of this report deals with the control of the dc motors used in the slewing drive. The rotation of the dc motors are observed and controlled so that the PV module always faces the correct direction that is required during the tracking process.
Strong wind can cause mechanical damage to the PV module. Therefore, when strong wind over the danger limit is detected, the PV panels is kept parallel to the ground to minimize the surface area that comes in contact with the strong wind.
When the system starts for the first time or after a power failure then It should first put itself to the 90 ̊ tilt and 0 ̊ azimuth position.
In short, this report details the complete control system for dual-axis solar tracker and the protection from strong wind.
Abbreviations and Nomenclature
PV Photovoltaic
,
Es a Sun’s elevation angle
Atilt Module’s tilt angle
Toptm The optimum tilt angle for module that will
give maximum output power possible.
Aoptm The optimum azimuth angle for module that
will give maximum output power possible.
Sout Solar Intensity out of the PV panel.
Si Solar intensity incident on the PV panel.
Tout The current tilt angle of PV panel at any position.
Aout The current azimuth angle of PV panel at any position.
I/O Inputs and outputs-
Pin Input power to the angle optimizer block
and output power form the PV panel.
RST The reset pulse given to denote the starting
of every optimizing process.
X tilt The Boolean signal from the angle
controller. ‘0’ indicates the tilt drive is still rotating to reach a certain position. ‘1’
indicates that the tilt drive has gained a given position and has stopped rotating.
Xazth The Boolean signal from the angle
controller. ‘0’ indicates the azimuth drive is still rotating to reach a certain position. ‘1’
indicates that the azimuth drive has gained a given position and has stopped rotating.
, min
Atilt Starting tilt angle for tilt optimization. It equals to (Atilt, min 90 Es a, ).
Steptilt Step size for tilt optimization.
Dtilt The direction of Steptilt. It decides whether the tilt drive should move in negative or positive direction based on the comparison between output power from the solar panel in the previous and current tilt angles.
tiltloop
E Enable signal for the tilt loop block.
, min
Aazth Starting azimuth angle for azimuth angle optimization. It equals to Es a, .
Stepazth Step size for tilt optimization.
Dazth The direction of Stepazth. It decides whether the azimuth drive should move in negative of positive direction based on the comparison between output power between iterations.
azthloop
E Enable signal for the azimuth loop block.
HallTilt Hall output signal from hall sensors attached to the dc motor of slewing drive governing the movement in tilt direction.
Azimuth
Hall Hall output signal from hall sensors attached
to the dc motor of slewing drive governing the movement in azimuth direction.
module
Tilt Current tilt angle of the PV module.
module
Azimuth Current azimuth angle of the PV module.
tilt, 90
Reset and Resettilt, 0 Logical Pulse output from the end-stop switches placed at 0 ̊ and 90 ̊tilt directions.
Azimuth, 0
Reset and
, 330 azimuth
Reset
Logical Pulse output from the end-stop switches placed at 0 ̊ and 330 ̊azimuth directions.
dc, tilt
V and Vdc, azimuth: Output voltage from the H-bridge to the
motors placed at tilt direction and azimuth direction respectively.
, m tilt
Position of DC motor placed at tilt directiondrive
D The direction indicator for the DC drive
placed at tit or azimuth direction.
E Enable signal for the Hall Decoder
, drive tilt
Current position of the slewing drive placedin tilt direction. (Direction feedback)
, req tilt
The tilt angle that the drive placed at tilt direction should turn to.
Table of Contents
Acknowledgements ... iii
Abstract ... iv
Abbreviations and Nomenclature ... v
List of Figures ... ix
List of Tables ... x
1 Introduction ... 1
2 Literature Review ... 2
2.1 Sun’s Path ... 2
2.2 Photovoltaic System (PV System) ... 3
2.3 Solar Position ... 3
2.4 Solar Tracking Methods ... 4
2.5 Solar Trackers ... 4
Single Axis Solar Trackers ... 5
Dual-Axis Solar Trackers ... 5
2.5.2.1 Tip-Tilt Dual-Axis Solar Trackers ... 5
2.5.2.2 Azimuth-Altitude Dual-Axis Solar Trackers ... 6
3 Solar Tracker Modeling ... 7
3.1 Top Level Functional Block diagram ... 7
3.2 PV Panel ... 8
3.3 Slewing Drive ... 9
3.4 Global Positioning System (GPS) ... 10
3.5 Astronomical Angles Calculator ... 11
3.6 Angle Optimizer ... 12
Tracking Process For The Optimal Angles ... 14
Inside the Angle Optimizer Block ... 15
Tilt Controller Block ... 17
3.6.3.1 Comparator ... 18
3.6.3.2 Direction changer ... 19
3.6.3.3 One Time Switch ... 19
3.6.3.4 Final Value Selector ... 20
3.6.3.5 Tilt Extractor ... 20
3.6.3.6 Flow Chart for Tilt Controller... 20
Inside the Azimuth controller ... 22
The Flow Chart of the Angle Optimizing Process ... 23
3.7 Angle controller... 25
Tilt Motor Controller ... 27
3.7.1.1 Block Diagram of Tilt Motor Controller ... 27
3.7.1.2 Hall Signal Decoder ... 29
3.7.1.3 Gear Ratio ... 31
3.7.1.4 Reset Monitor and Direction Selector ... 31
3.7.1.5 Motor signal generator ... 32
3.7.1.6 Protection During Storm ... 33
Azimuth motor controller ... 34
3.7.2.1 Block Diagram of Azimuth Motor Controller ... 34
3.8 Orientation of PV Panel When the System Starts ... 36
4 Simulations and Results ... 37
4.1 When the System Starts for the First Time or After Power cut. ... 37
4.2 Optimal Angles Tracking ... 39
4.3 Angle Controller ... 41
Hall Signal Output From Motor ... 41
Outputs From Single Hall Decoder and Gear Ratio ... 41
Tilt and Azimuth Motor Controller Output ... 42
When Storm Flag is Set ... 43
5 Conclusions and Recommendation for Further Work ... 44
6 References ... 45
Appendix A: Simulink Models ... 48
Appendix B: Datasheets For Slewing Drive ... 59
List of Figures
Figure 2.1.1 Sun's path during different seasons [5] ... 2
Figure 2.1.2 Sun's angles with an earth's object [6] ... 3
Figure 2.5.1 Horizontal type single-axis trackers [25] ... 5
Figure 2.5.2 Tip-Tilt Dual-Axis Solar Tracker [27] ... 5
Figure 2.5.3 Azimuth-Altitude Dual-Axis Solar Tracker [28] ... 6
Figure 3.1.1 Top level block diagram of complete system ... 7
Figure 3.2.1 Sun's elevation and PV panel's tilt [29] ... 8
Figure 3.3.1 Dual hall output ... 10
Figure 3.6.1 Angle optimizer outer block view ... 12
Figure 3.6.2 Inner view of angle optimizer block ... 15
Figure 3.6.3 Tilt controller block diagram ... 18
Figure 3.6.4 Flow chart of direction changer ... 19
Figure 3.6.5 Output of one time switch for a single optimization cycle ... 20
Figure 3.6.6 Flow chart for tilt controller ... 22
Figure 3.6.7 Block diagram of azimuth controller ... 23
Figure 3.6.8 Flow chart for angle optimizer (part a) ... 24
Figure 3.6.9 Flow chart for angle optimizer (pat b) ... 25
Figure 3.7.1 Angle controller block diagram ... 26
Figure 3.7.2 Tilt Motor Controller ... 27
Figure 3.7.3 Block diagram of tilt motor controller ... 28
Figure 3.7.4 Flow chart for single hall decoder ... 30
Figure 3.7.5 Flow chart of motor signal generator ... 33
Figure 3.7.6 Azimuth motor controller ... 34
Figure 3.7.7 Block diagram for Azimuth motor controller ... 35
Figure 4.1.1 Self orient tilt using reset switch at 90 ̊ tilt. ... 37
Figure 4.1.2 Self orient azimuth using reset switch at 0 ̊ azimuth ... 38
Figure 4.2.1 Optimal angles tracking ... 39
Figure 4.3.1 Dual hall output ... 41
Figure 4.3.2 Hall decoder and gear ratio output ... 41
Figure 4.3.3 Tilt motor and H-bridge output ... 42
Figure 4.3.4 Operation during storm... 43
List of Tables
Table 1 Data contained in GPS output message [32] ... 11 Table 2 Signal mapping between direction selector and reset monitor ... 32
1 Introduction
Solar energy is an important part of life and has been since the beginning of time. Increasingly, man is learning how to harness this important resource and use it to replace traditional energy sources [1].
Solar energy is sustainable as well as indefinitely renewable source of energy, at least until the sun runs out in billion years. It is one of cleanest source of energy available today. It doesn’t even produce noise pollution [2]. In fact we were and we are already getting the energy from sun even without using the solar panels in the form of fossils fuels. Actually fossils fuels are sun’s energy, stored in the form of 200 million year old plants and extracted today by dangerous, costly and environment destroying methods. Whereas solar power comes directly from the sun [3].
The main disadvantage of a solar panel is that it has very low efficiency. A common solar panel has efficiency around 11-15% [4]. Apart from the efficiency, for maximum output from a solar panel it should point in the direction where it can get maximum sunlight. Generally the optimal angle is achieved when the solar panel is perpendicular to the Sun, but here in north it may be slightly different due to the reflection from the snow.
But as we know the Sun’s position is continuously changing with respect to the time. The position of the Sun is not same even at a particular time in different months of a year. In order to track the Sun in any direction a dual axis model of solar tracking system is considered in this thesis.
2 Literature Review
In this section, a brief description and literature survey of the following concepts are presented:
2.1 Sun’s Path
It’s a fact that Earth revolves around the Sun. Sun’s path is the relative change of the position of the Sun, both hourly and seasonal, as viewed from the earth.
The position of the Sun at a given time is different in different seasons or even months. The path of the Sun during different seasons can be seen in the Figure 2.1.1 below.
Figure 2.1.1 Sun's path during different seasons [5]
It is important to know the different angles that a Sun makes with the earth and they are shown below in the Figure 2.1.2.
Figure 2.1.2 Sun's angles with an earth's object [6]
2.2 Photovoltaic System (PV System)
Photovoltaic system is a relatively new source of clean energy. The high demand of clean energy sources might have played a vital role in research and development of the PV system. The new PV systems are much more efficient now as the earliest PV systems had just efficiency around 6% [7].
One important aspect in PV systems is the charge controller that adjust the charging rates based on battery’s charge level. It charges the battery’s closer to its maximum capacity. It also monitors the battery’s temperature thus preventing overheating. Maximum power point tracking(MPPT) and pulse width modulation(PWM) are the two commonly used charge controllers. A good comparison between the two techniques are given in the references [8], [9]. There are many MPPT techniques. Some of the popular MPPT techniques are explained in reference [10], and in more detail in the reference [11].
Another important part of a PV system is its stability and control. The PV systems output has poor stability. There are only few papers that have emphasized the control and stability for PV systems. Reference [12] shows the study on stability control of dispatchable grid connected PV system. It explains that with energy storage system, the dispatchable grid-connected PV system can effectively improve the power quality system and can stabilize the power fluctuation of the system. And reference [13] shows the stability control of large scale dispatchable grid connected PV system by using super capacitor and batteries as energy storage system.
2.3 Solar Position
In order to track the Sun continuously it is needed to be able to calculate the exact position of the Sun at a given time. There are many algorithm that can calculate the position of Sun quiet efficiently.
Michalsky’s calculation can calculate the solar position with uncertainty greater than 0.01 . And the calculations are limited from 1950 AD to 2050 AD [14].
Blanco-Muriel et al.’s calculations have uncertainty greater than 0.01 . And
the calculations are limited from 1999 AD to 2015 AD [15]. Jean Meeus’s algorithm can calculate the solar position with uncertainties 0.00003 . And the calculations are limited from -2000 AD to 6000AD [16].
The technical report presented by National Renewable Energy Laboratory (NREL) has used the Jean Meeus’s algorithm and has developed codes written in C++, Python and Matlab [17]. It takes input as date, time, latitude, longitude and elevation and gives output Sun’s current elevation and altitude.
2.4 Solar Tracking Methods
In this solar tracking methods literature survey, I would like to mention few of many mechanisms that are currently used.
One of the most common method used today comprises of two photo-sensors placed at two opposite sides of solar panel. Tracking is done by comparing the output of two photo-sensors. If the output of the two sensors mismatches by more than a certain acceptable error value then the solar panel is moved in the respective direction [18].
Another interesting method uses image processing to track the Sun’s current position. It uses a designed reflecting type Cassegrain telescope to get an image.
It then uses image processing to get the coordinate of center of the Sun and then aims the panel at the Sun’s center [19].
The third methods include GPS receiver. And the output from the GPS receiver is fed into a microcontroller which calculates the Sun’s current elevation and altitude. Then solar panel is pointed to that particular direction [20].
Reference [21] uses both the photo-sensors as well as astronomical equations to build a standalone solar tracker.
This topic is about the research of possibility of solar tracking using astronomical angles as well as perturbation taking astronomical angles as reference to find the optimum angles. The optimization of tilt and azimuth angles is done by comparing the output power from the PV panel at different angles.
2.5 Solar Trackers
Solar tracker is a device that orients the payloads (typically PV panels) towards the direction of Sun [22]. Is it worth to have solar tracker? References [23] and [24] discusses in detail about finding out if it is worth to have solar trackers in terms of initial costs, available space and advantages and disadvantages of having a solar tracker.
Single Axis Solar Trackers
These type of trackers have only one degree of freedom, and can rotate only in one direction. It usually rotates to follow the Sun’s elevation only [25]. A typical single axis solar tracker looks like in Figure 2.5.1. As I am designing a control system for solar trackers that can move in both directions so let’s not go deep into single axis trackers.
Figure 2.5.1 Horizontal type single-axis trackers [25]
Dual-Axis Solar Trackers
These type of trackers have two degree of freedom and has two axes of rotation.
Normally these axes are perpendicular to each other. The axis that is fixed with respect to the ground is considered as primary axis. Two common implementations of dual-axis solar trackers are given below [26].
2.5.2.1 Tip-Tilt Dual-Axis Solar Trackers
In this type of dual-axis solar tracker configuration the PV panel is mounted at the top of the pole. The east-west movement is performed by rotating around the pole. The vertical rotation of PV panel is governed by a T- or H-shaped mechanism placed at the top of the pole [26]. A typical tip-tilt dual-axis solar tracker looks like Figure 2.5.2.
Figure 2.5.2 Tip-Tilt Dual-Axis Solar Tracker [27]
2.5.2.2 Azimuth-Altitude Dual-Axis Solar Trackers
Azimuth axis is considered as primary axis and is vertical to the ground. The secondary axis is considered as elevation axis and is normal to the primary axis.
As opposed to the tilt-tip dual axis solar trackers it uses a large ring mounted on the ground with the PV panel mounted on a series of rollers. This type of arrangement is suitable for the large and heavy PV panels [26]. A typical azimuth-altitude dual-axis solar tracker is shown in Figure 2.5.3.
Figure 2.5.3 Azimuth-Altitude Dual-Axis Solar Tracker [28]
3 Solar Tracker Modeling
3.1 Top Level Functional Block diagram
The top level block diagram of a complete solar tracking system is shown below in Figure 3.1.1. My thesis contains the work within angle optimizer and angle controller part only.
Figure 3.1.1 Top level block diagram of complete system
First let us suppose that the PV module(Solar panel mounted in the slewing drive) is in any arbitrary position and has a certain power (current × voltage) output. The GPS Block outputs the current time to the block Astronomical angles calculator. The Astronomical angles calculator then calculates the current position of Sun at that particular time in terms of azimuth and
elevation angles. The Sun’s azimuth and elevation angles are passed on to the block angle optimizer.
The angle optimizer also receives or generates a reset signal in every 5 minutes to restart it’s optimization process. The Angle optimizer block also receives the output power from the PV module. The Angle optimizer block is responsible to output the respective tilt and azimuth angles the PV panel has to move. It then finds the optimal angles for the PV module where it receives maximum sunlight by using iterative method. The optimization method is described in the respective sub-topic for Angle optimizer block.
The Angle controller takes the azimuth and tilt angles from the Angle optimizer block continuously. Compares it with the current azimuth and elevation angles of the PV module in the form of hall signals. And generates the required signal to the slewing drive in terms of negative, positive and zero voltages. When the desired position is reached then it sets the position reached flags to indicate the Angle controller that the PV panels has reached the desired position and the Angle controller is ready for another movement.
The Angle controller block also has a wind sensor attached to it. When the storm is dangerously high, it sets the PV module to parallel to the ground to prevent it from mechanical damage.
The brief description of each of the components is given in the following headings.
3.2 PV Panel
In order to simulate and test the control systems that we are going to develop, we need a test model that can give the power output at any direction from the Sun.
Let’s consider first a tilted PV panel against the Sun’s elevation as shown in Figure 3.2.1.
Figure 3.2.1 Sun's elevation and PV panel's tilt [29]
Here α = Sun’s elevation angle (Es a, ), it would be 90 ̊ when Sun is perpendicular to the horizontal plane (ground).
and β= Module’s tilt angle (Atilt), It would be 0 ̊ when the PV module is parallel to the ground.
Azimuth angle is considered 0 ̊ at true North and 90 ̊ at East and so on. The azimuth angle of both the Sun and PV module is considered to be 0 ̊ at North.
If we consider a small variation ( , ) is added in both astronomical tilt and astronomical azimuth angles. Then the relation between optimum angles and astronomical angles would be as follows.
90 ( s a, )
Toptm E (1.1) , and
,
optm s a
A A (1.2) A relation for Solar Intensity out of the PV panel (Sout ) and Solar intensity incident (Si )on the PV panel can be given below as [30]:
, , ,
[cos( )sin( ) cos( ( )) sin( ) cos( )]
out i s a out out s a s a out
S S E T A A E T (1.3)
So, Sout would be maximum when ToutToptm and AoutAoptm .
3.3 Slewing Drive
To build a solar tracker a mechanical device is needed that can rotate in any tilt and azimuthal direction. So a slewing drive SDE7C is chosen by other students of industrial engineering faculty. The data sheet of that slewing drive is given in the appendix.
The only things about the slewing drive that is required to build the Angle controller block are
It contains two identical brushed dc motors in the tilt and azimuth directions.
Both motors has same gear ratio (reducer ratio = 236:1 and slewing drive gear ratio = 73 ).
Operating voltage is equal to 24 volts.
Both DC motors are fitted with dual hall sensors (+12 volts peak) for position feedback.
The slewing drive will be able to rotate from 0 ̊ to 90 ̊ in tilt direction and from 0 ̊ to 330 ̊ in the azimuth direction.
Four reset switches will be place at 0 ̊ and 90 ̊ tilt and 0 ̊ and 330 ̊ azimuth directions respectively.
Then a Hall encoder is built to convert the motor position to dual hall signal.
The output of the Dual Hall Senor looks like in Figure 3.3.1 below.
Figure 3.3.1 Dual hall output
When the system starts for the first time or after the power cut. The current position of the PV panel cannot be determined. So to set itself to the correct position the four reset switches are used. The PV module will always rotate in the positive tilt direction until the reset switch at 90 ̊ tilt is hit. And the PV module will rotate to the negative azimuthal direction until the reset switch at 0 ̊ azimuth is hit.
It can be said that when the system starts it should always set itself at 90 ̊ tilt and 0 ̊ azimuth. This is further explained in the sub-topic 3.8.
3.4 Global Positioning System (GPS)
GPS was developed by U.S. Department of Defense (DoD). It is a satellite based navigation system. It continuously provides timing and positioning information’s for unlimited number of users under any weather conditions and anywhere in the world [31].
The standard format for data received from GPS is in NMEA-0183 format. It outputs lots of sentences such as GGA, GLL, GSA, GSV,RMC, and VTG. But for our needs we only need to look at sentences starting with GGA [32].
An example of NMEA V3.01 GGA data received from the GPS looks like:
$GPGGA,153041,6033.8963,N,10143.6383,W,1,05,1.5,101.1,M,- 22.4,M,,,*70. [32].
Data from the GPS can be viewed as given in the following Table 1
Table 1 Data contained in GPS output message [32]
Name Example data
segment Description
Sentence Identifier $GPGGA Global Positioning
System Fix Data
Time 153041 15:30:41 UTC
Latitude 6033.8963,N 60d 33.8963 N or 60d
33' 54" N
Longitude 10143.6383,W 101 43.6838 W or
101d 43' 41" W Fix Quality:
- 0 = Invalid - 1 = GPS fix - 2 = DGPS fix
1 Data is from a GPS fix Number of Satellites 05 5 Satellites are in view Horizontal Dilution of
Precision (HDOP) 1.5 Relative accuracy of
horizontal position
Altitude 101.1,M 100.1 meters above
mean sea level Height of geoid above
WGS84 ellipsoid -22.4, M -22.0 meters
Time since last DGPS
update blank No last update
DGPS reference
station id blank No station ID
Checksum *70
Used by program to check for transmission
errors
So the time should be extracted from the GPS’s message and should be sent to the next block Astronomical angles calculator.
3.5 Astronomical Angles Calculator
The only function of this block is to feed in the current time then it outputs the current position of Sun in terms of Sun’s elevation angle and Sun’s azimuth angle.
There are certain calculations involved to complete this process. The different methods to calculate these angles and their relative accuracy is explained in the sub-heading 2.3 Solar Position of this document.
The most accurate method till date to calculate astronomical angles is developed by National Renewable Energy Laboratory (NREL) and their source code in C language can be found in reference [17] and in appendix.
3.6 Angle Optimizer
The inputs to this block are astronomical angles and the power from a PV panel.
The power from the PV panel is fetched via MPPT charge controller. The MPPT charge controller part is already done by an previous year student. So, I will only consider that the angle optimizer block is receiving the maximum power possible to start with angle optimizing.
The function of this block is basically to track for the optimal angles at which the PV panels receives the maximum power possible. The optimal angles for the solar panel might be slightly different from the astronomical angles (i.e. PV panel facing perpendicular with the position of the Sun) due to the reflection from snow or other factors. A block diagram of this block is shown below in Figure 3.6.1.
Figure 3.6.1 Angle optimizer outer block view
The definitions of I/O signals of Figure 3.6.1 is given below 1. Inputs
a. Input Power (Pin) : Input power from the PV panel through MPPT block.
b. Reset (RST) : Should get a pulse input to restart the optimization process again. In this report the input RST is given a pulse in every 5 minutes.
c. Astronomical Sun’s elevation (Es a, ): The elevation angle of the Sun at the current time.
d. Astronomical Sun’s azimuth (As a, ): The azimuth angle of the Sun at the current time.
e. Tilt position reached (Xtilt): A feedback input from the angle controller block. It indicates that the slewing drive in the tilt direction has reached the required position. Logical 1 when the PV panel has finished rotating to a given tilt angle else logical 0.
f. Azimuth Position reached (Xazth):A feedback input from the angle controller block. It indicates that the slewing drive in the tilt direction has reached the required position.
Logical 1 when the PV panel has finished rotating to a given azimuth angle else logical 0.
2. Outputs
a. Tilt (Atilt) :Tilt angle the PV panel should rotate to.
b. Azimuth (Aazth) : Azimuth angle the PV panel should rotate to.
The function of this block can be explained as below:
Takes the input power continuously from the MPPT block.
Takes Sun’s elevation and azimuth angle as given by the Astronomical Angles Calculator block. Astronomical Angles Calculator block gives a new Sun’s elevation and azimuth angles continuously.
Reset input should receive a pulse every 5 minutes. When an pulse is received at the Rest input, the process of angle optimizing will start again.
The output tilt gives the changing tilt (based on step size for iteration) and then when the optimum tilt angle is found then it outputs that optimal tilt angle until the reset signal is given at the Reset input of this block. When it receives the reset signal, the whole process repeats.
The output at the Azimuth output port is same as Sun’s Azimuth until the optimal tilt angle is found. Then it gives the changing Azimuth (based on the step size for iteration) and when the optimal Azimuth angle is found it outputs the optimal Azimuth angle until it receives the reset signal at the Reset input port. When it receives the reset signal, the whole process is repeated.
Tracking Process For The Optimal Angles
The main idea behind the tracking is moving the PV module by a fixed step size of 0.5 ̊ continuously and measuring the comparing the output power at each step it takes. The PV panel is first moved to the Sun’s astronomical angles. PV module’s tilt angle is the difference between 90 ̊ and the Sun’s elevation angle.
The module’s azimuthal angle is equal to the Sun’s azimuthal angle. Then the optimization process starts.
The optimization process starts with the tilt angle first. The PV panel is moved in the positive direction first by a step size of 0.5 ̊. If the new output power from the solar panel is less than the old output power then it changes the direction of the step size and the solar panel starts moving in the negative direction. The power then starts increasing and the PV module is further moved in that direction. The output power from the PV panel is compared between each steps it takes. If the power starts decreasing again then the angle that generated the maximum power is taken as a new tilt angle for the solar panel.
After the tilt angle optimization is finished, the azimuth angle optimization starts with exactly same process but the PV panel stays at the new tilt angle.
When both optimal tilt and optimal azimuthal angles are calculated then the solar panel stays in that position until the next reset pulse(RST) is given.
Inside the Angle Optimizer Block
Figure 3.6.2 Inner view of angle optimizer block
The definitions of I/O of Figure 3.6.2 is given below
i. Tilt loop: It just increment or decrement the current tilt angle value by step.
1. Atilt, min :The reference tilt angle for the optimization process. It is given by,
, min 90 ,
tilt Es a
A (1.4)
2. Steptilt: The step size by which the tilt angle changes during the tilt optimization and is given by,
0.5
tilt tilt
Step D (1.5)
Where, Dtiltis the output from the tilt controller block.
3. Varying tilt (Tout): Output tilt angle for during the optimization process. This can simply be expressed as follows:
For the first step,
, min out tilt
T A (1.6) For other steps,
out out Steptilt
T T (1.7) When the optimal tilt angle is found,
out optm
T T (1.8)
4. Etiltloop: This signal is used to enable or disable the tilt loop. This gets enabled with an input greater than zero. And gets disabled by an input equals to zero. It is enabled at the start of optimization process and is disabled after finding the optimal tilt angle(Toptm) and Tout
stays at Toptmuntil the next optimization process starts.
ii. Azimuth loop: Same as tilt loop but for Azimuth angle 1. Aazth, min :The reference azimuth angle for the
azimuth angle optimization process. It is equal to the astronomical azimuth each time the optimization process starts.
, min ,
azth Asa
A (1.9)
2. Stepazth: The step size by which the azimuth angle changes during optimization process and it is given by,
Stepazth0.5Dazth (1.10) 3. Aout: The azimuth angle output during
optimization process. This can be expressed as follows:
for the first step,
Aout Aazth, min (1.11)
For other steps,
A A Step (1.12)
When the optimal azimuth angle is found,
out Aoptm
A (1.13) 4. Eazthloop: Enables or disables the azimuth
loop based on the logical value of this input. It’s only enable after the tilt optimization process is finished.
iii. Tilt controller
1. Varying tilt (Tout): This is the output from tilt loop block. The output tilt angle during each iteration.
2. Input power (Pin): Current power input from the PV panel.
3. Direction (Dtilt) : It gives the direction for the tilt slewing drive. Output is +1 for the positive step and -1 for the negative step.
4. Final tilt (Toptm ) = Optimal Tilt angle for which the output power of PV panel is maximum.
iv. Azimuth controller
1. Varying Azimuth (Aout): The output from the azimuth loop block. The output tilt angle during each iteration.
2. Input power (Pin): Current input power from the PV panel.
3. Direction (Dazth)=It gives the direction for the azimuth slewing drive. Output is +1 for the positive step and -1 for the negative step.
4. Final Azimuth (Aoptm) = Optimal azimuth angle at which the output power of PV panel is maximum.
Tilt Controller Block
The tilt controller block deals with finding the optimal tilt angle by comparing the input power at different tilt angles. It changes the tilt direction of the PV module if it was moving in wrong direction at start. The block diagram of the tilt controller is shown in Figure 3.6.3.
Figure 3.6.3 Tilt controller block diagram
The inputs and outputs (I/O) of this block diagram is already defined in sub- heading 3.6.2 Inside the Angle Optimizer Block. The function of different blocks are explained below.
3.6.3.1 Comparator
The comparator block just compares the power at current tilt angle with the power at tilt angle one step earlier and gives the logical outputs depending upon the states below.
If power at current tilt angle is less than the power at previous tilt angle then it gives ‘is decreasing?’ flag as 1 else 0. The others two flags ‘is increasing?’ and ‘is constant?’ has value 0.
If power at current tilt angle is greater than the power at previous tilt angle then it gives ‘is increasing?’ flag as 1 else 0. The others two flags
‘is decreasing?’ and ‘is constant?’ has value 0.
If power at current tilt angle is equal to the power at previous tilt angle then it gives ‘is constant?’ flag as 1 else 0. The others two flags ‘is decreasing?’ and ‘is increasing?’ has value 0.
3.6.3.2 Direction changer
The main function of the direction changer block is to detect whether the PV panel is moving in the wrong direction. If it is moving in wrong direction then change the direction multiplier to -1. It should only change the direction once until the next reset signal is received to avoid the PV panels moving back and forth continuously. The flowchart is given below in Figure 3.6.4.
Figure 3.6.4 Flow chart of direction changer
The starting state is always positive and it outputs Dtilt= 1 . If the power starts to decrease it goes to the negative block and outputs Dtilt= 1 . When Dtilt= 1 , it gets multiplied with the step and results in the varying tilt angle to decrease.
3.6.3.3 One Time Switch
The main function of this block is to generate a pulse having on-time equal to the time when the current power input is greater than delayed power input (i.e.
when the power is increasing). The output of this block is given below in Figure 3.6.5.
Figure 3.6.5 Output of one time switch for a single optimization cycle
This block starts it operation in OFF1 state. When the power starts increasing then it moves to ON state (i.e. start of pulse). When the power starts decreasing again then it goes to OFF2 state and outputs 0 (end of pulse). It remains on the OFF2 state until it receives the reset pulse. The ‘is constant?’ input denotes that this switch should not operate when the PV panel receives the constant power.
3.6.3.4 Final Value Selector
This block tracks the pulse generated by the one time switch. First it gives logical 0 output. It start producing continuous logical output 1 when the one time switch’s output goes to OFF2 state. When it receives a reset signal then it again gives logical 0 output and waits for the one time switch’s pulse.
3.6.3.5 Tilt Extractor
This block gives the optimal tilt angle as an output. This blocks feeds the current varying tilt angle (Tout). When it receives the logical 1 output from the final value selector block above, it fixes the varying tilt angle at that particular instance as optimal tilt angle. It gives ‘0’ output before the optimal angle is found.
3.6.3.6 Flow Chart for Tilt Controller
For simplicity let’s use the following notations.
Pin
n : The current power at current tilt angle (Tout[ ]n ) of the PV module. Pin[n1]: The power from the PV panel when it was at tilt angle one step earlier. It is the output power at Tout[n1].
Tout[ ]n : The tilt angle that the module is facing now. The tilt angle that gives the output power Pin
n . Tout[n1]: The tilt angle that the module was facing one step earlier. The tilt angle that gives the output power Pin[n1].
The Flow chart for this process is given below in Figure 3.6.6. The flow chart below shows how an optimal tilt angle is found for the PV module. When the current tilt angle is increased or decreased by a fixed step size. Then the current output power (Pin
n ) at the current tilt angle (Tout[ ]n ) is compared with the previous output power (Pin[n1]) at the previous tilt angle (Tout[n1]).During the first step of iteration the direction is always set as positive. After the initial step if the Pin[n1] is less than Pin
n . The PV module has a wrong direction so the direction is corrected to negative. Notice that direction can only be changed one time at the starting step. So either PV module start the step in right direction, in which case the direction does not needs to change. But if the starting step was in wrong direction then it will correct the direction. And the comparison between Pin[n1] and Pin
n continues until Pin
n is greater than[ 1]
Pin n . This means that the maximum power was Pin[n1] at Tout[n1]. Which is our required optimal tilt angle.
Figure 3.6.6 Flow chart for tilt controller
Inside the Azimuth controller
Similar to tilt controller block, this azimuth controller deals with finding the optimal azimuth angle using the iterative technique. The block diagram of this controller is shown below in Figure 3.6.7.
Figure 3.6.7 Block diagram of azimuth controller
The Working principle of this Azimuth controller is exactly same as that of tilt controller block. It uses exactly same principle and components so it’s not needed to explain those blocks.
The Flow Chart of the Angle Optimizing Process
The flow chart for the Angle optimization block is given below in Figure 3.6.8 and Figure 3.6.9.
Direction changer
One time switch
Final value selector Comparator
Is decreasing?
RST Direction ( )
Is
increasing?
RST
Azimuth extractor Varying azimuth ( )
Is constant?
Final azimuth ( )
RST
E1E2
Figure 3.6.8 Flow chart for angle optimizer (part a)
Figure 3.6.9 Flow chart for angle optimizer (pat b)
3.7 Angle controller
This blocks sits between the angle optimizer and slewing drive. It’s main function is to communicate between the angle optimizer and the slewing drive.
The block diagram of this block is as shown below in Figure 3.7.1.
Figure 3.7.1 Angle controller block diagram
1) Inputs
a) Wind Flag : Set to 1 when there is strong wind and the PV panel should be 0 ̊ (parallel to the ground to minimize wind resistance). When it is set to 0 , It should run in normal operation mode.
b) HallTiltand HallAzimuth :Current motors position fetched as outputs from
the hall sensors attached to the tilt and azimuth direction motors.
c)
Tilt
moduleand Azimuthmodule: The output from angle optimizer (A
tiltand
A
azth).d)
Reset
tilt, 90andReset
tilt, 0: Output from reset switches for tilt direction, placed at 90 ̊ and 0 ̊ respectively.e) ResetAzimuth, 0 and Resetazimuth, 330: Output from reset switches for azimuth direction, placed at 0 ̊ and 330 ̊ respectively.
2) Outputs
a)
V
dc, tilt andV
dc, azimuth: Positive or negative voltage for the motor of slewing drives for tilt or azimuthal direction respectively. Positive voltage turns the motor in positive direction whereas negative voltage turns the motor in negative direction.b) Tilt position gained (Xtilt) and Azimuth position gained (XAzth): Equals to 0 when the motor is operating and equals 1 when the motor has reached the desired position in tilt and azimuth direction respectively.
This Angle Controller contains two separate and similar blocks for tilt angle control and azimuth angle control.
Tilt Motor Controller
The block diagram of Tilt Motor Controller is shown below in Figure 3.7.2.
Figure 3.7.2 Tilt Motor Controller 3.7.1.1 Block Diagram of Tilt Motor Controller
The block diagram of the Tilt Motor Controller is shown below in Figure 3.7.3.
It has the basic function to controller the slewing drive of tilt direction.
Figure 3.7.3 Block diagram of tilt motor controller
The starting point of this Tilt controller block is Hall signal decoder. It decodes the input hall signal from the slewing drive in the tilt direction and outputs the current position of that motor (
m tilt, ). This Hall signal decoder requires the current direction of tilt motor (Ddrive) to calculate the current position of the motor in degrees. When it receive E = 0 , Then it resets it current direction as 90 ̊.The current position of tilt motor (
m tilt, ) is then fed to the gear ratio block. The Gear ratio block outputs the current position of the slewing drive (
drive tilt, ).The Switch1 block checks the Storm flag. If it’s set the required angle for the tilt motor is zero degrees and if it is not set then the required angle is equal to the output tilt angle(Atilt) from the angle optimizer block.
The current position of slewing drive in tilt direction is then compared with the new tilt angle (req tilt, ) to find the direction (Ddrive) that the drive needs to rotate to gain the required position.
The Reset Monitor Block checks whether any of the end-stop reset buttons(
tilt, 90
Reset or Resettilt, 0) are pressed and outputs the required choice that needs to be selected to the Direction selector block.
The Direction Selector Block then selects the new direction of the motor based on the choice input from the Reset Monitor Block. This block can either output
(Ddrive, positive, negative or stop ) directions to the Motor Signals Generator
block.
The Motor Signals Generator blocks then generate the control signals to the H- bridge which rotates the tilt slewing drive to the direction based on control signals. When a given direction is reached then this block also sets the
Tilt position gained (Xtilt)signal to the Angle Optimizer Block.
The H-bridge control signals are generated and sent to the H-bridge which handles the change in direction and braking.
The functions and operation of each block is described in the sub-topics below.
3.7.1.2 Hall Signal Decoder
The Hall Signal Decoder block contains counters to decode the current position of the motor shafts in degrees. Hall signal decoder contains an enable port so that it could be used to reset the counter every time the tilt slewing drive reaches 90 ̊ position. The flowchart for Hall signal decoder can be seen below in Figure 3.7.4.
Figure 3.7.4 Flow chart for single hall decoder
3.7.1.3 Gear Ratio
This block just takes the input, tilt motor’s current position (
θ
m,tilt) and converts it to the position of the slewing drive for tilt direction(θ
drive,tilt). The slewing drive chosen has the motor reducer parameter ratio is given as 236 and the gear ratio of the slewing drive is 73 so we can simply calculate it by using the relation, ,
236 73
m tilt drive tilt
(1.14) 3.7.1.4 Reset Monitor and Direction SelectorThis blocks handles the input from reset switches. There will be 2 reset switches for each direction (i.e. tilt and azimuth). The tilt rotation of the slewing drive is limited from 0 ̊ to 90 ̊. And the azimuth rotation of the slewing drive is limited from 0 ̊ to approximately 330 ̊. Therefore there will be 4 reset switches altogether in complete system at those angles for each motions. And the signals through them are named as
Reset
tilt, 0,Reset
tilt, 90,Resetazimuth, 0and, 330 azimuth
Reset .
In case of tilt motion it will generate logical input 1 at direction 0 and 90 ̊ when the PV module hits those reset switches. So the control mechanism when each reset switches are hit can be explained as follows.
Resettilt, 0: When a Resettilt, 0has logical input 1 then the PV module should rotate in the positive direction until it hits the Resettilt, 90and then should continue the tracking process. When it hits the Resettilt, 90, the current position of the motor should be set as 90 ̊.
Resettilt, 90: When a
Reset
tilt, 90has logical input 1 then the PV module should rotate in the positive direction until it hits the Resettilt, 0and then should continue the tracking process.This reset control is done by the reset monitor block and a direction selector.
The I/O from the Reset monitor maps with the direction selector as in Table 2.
Table 2 Signal mapping between direction selector and reset monitor
Reset monitor input Direction selector output (Dout)
Remarks
tilt, 0 tilt, 90
Reset
= 0 and
Reset= 0
DdriveNo reset switch is hit. Continue normal
operation
tilt, 0 tilt, 90
Reset
= 0 and
Reset= 1
-1tilt,90
Reset is hit. So move the PV module
in negative tilt direction
tilt, 0 tilt, 90
Reset
= 1 and
Reset= 0
+1tilt,0
Reset is hit. So move the PV module
in positive tilt direction 3.7.1.5 Motor signal generator
It’s function is to generate the control signals to control the direction of the tilt slewing drive. It’s flow chart is given below in Figure 3.7.5.
From the flow chart below we can see that it has basically Positive, Negative and Stop states. The A, B, C, D are the control signals for H-bridge switches.
The ‘ε’ denotes the absolute error threshold value between the slewing drive angle and the input tilt angle. When given position is reached, the position reached flag (Xtilt in case of tilt ) is set as ‘1’ for the tilt controller.
The Doutcan be negative, positive or zero based on the current position and the required position of the motor.
The generated control signals for H-bridge switches A, B, C, D will be passed to the H-bridge and the H-bridge will either rotate the motor is positive , negative direction or it will apply brake to the motor to fix its current position.
Figure 3.7.5 Flow chart of motor signal generator 3.7.1.6 Protection During Storm
When the wind speed is too high, It causes a lot more load to the PV panel. In case of storm the PV module is at high risk of mechanical damage. So in order to protect the PV system, a storm input is kept in the tilt motor controller block.
The main concept of dealing with storm would be to set the PV panel is such a way that it has minimum surface area. That could only be achieved if we set the PV panel parallel to the ground (i.e. when the Tiltmoduleequals to 0 ̊ ).
So if the tilt motor controller receives a logical 1 input in wind flag then it sets the PV panel at 0 ̊ (parallel to horizontal plane) tilt until it receives a logical 0 input.
Azimuth motor controller
This block controls the movement of the slewing drive in azimuthal direction.
The block diagram of this system is shown below in Figure 3.7.6.
Figure 3.7.6 Azimuth motor controller 3.7.2.1 Block Diagram of Azimuth Motor Controller
The block diagram of the azimuth motor controller is given below in Figure 3.7.7. The model as well as the operation of this block is almost same as that of Tilt motor controller. The Only difference is it has 2 reset switches in 0 ̊ and 330 ̊. And it does not have storm flag. It is not needed to change PV panel azimuthal position during storm.
The reset mechanism can be explained as follows:
ResetAzimuth, 0: When it hits the ResetAzimuth, 0 , the current position counter is set to 0 ̊ and then it moves in the positive direction until it hits the Resetazimuth, 330switch. Then the normal operation progresses.
Resetazimuth, 330: When this switch is hit, the PV module is moved in negative direction until ResetAzimuth, 0is hit. Then the current position counter is set to 0 ̊ and the normal operation is progressed.
Figure 3.7.7 Block diagram for Azimuth motor controller
3.8 Orientation of PV Panel When the System Starts
When the system starts the PV panel should be facing 90 ̊ in tilt direction and 0 ̊ in azimuth direction. One big question is how to orient the PV panel in the correct tilt and azimuth direction when the system starts for the first time or after a power failure? To solve this problem the reset button can be used.
In tilt direction : The system Should be given a logical 1 pulse to the inputResettilt, 0. Then the reset routine follows and PV panels moves in positive direction until the Resettilt, 90is hit and sets current position as 90 ̊.
In azimuth direction: Same as in case of tilt direction but the logical 1 pulse should be given to the inputResetazimuth, 330. So that the PV module moves in negative azimuthal direction until it reaches the 0 ̊ in azimuth direction.
4 Simulations and Results
In order to simulate and test the control systems of Topic 3: Solar Tracker Modeling, the Simulink models for all the blocks have been developed. The Simulink models are given in the appendix of this report.
4.1 When the System Starts for the First Time or After Power cut.
When the system is switched on it should orient itself. In other words it should first set itself to 90 ̊ tilt and 0 ̊ azimuth. This is shown in Figure 4.1.1. During the system start up. A small pulse at Resettilt, 0 and Resetazimuth, 330should be given.
Figure 4.1.1 Self orient tilt using reset switch at 90 ̊ tilt.
At start the PV module is at any arbitrary position. The tilt angle counter is initialized as 90 ̊ but the module is at any arbitrary direction between 0 ̊ and 90 ̊.
The slewing drive at tilt position moves further in the positive direction until the reset switch at 90 ̊ is hit. When the reset switch at 90 ̊ is hit. The tilt angle counter resets itself to 90 ̊ , which is the actual tilt position of the PV module at that time.
When the motor reaches the given tilt position then the tilt position reached signal is set, indicating the Angle Optimizer Block that the motor has reached the given position and is ready for the new operation cycle.
The process is exactly same for drive’s azimuth angle also. The only difference is that the reset at 0 ̊ azimuth is hit and it sets itself to 0 ̊ azimuth. This is shown in Figure 4.1.2.
Figure 4.1.2 Self orient azimuth using reset switch at 0 ̊ azimuth
4.2 Optimal Angles Tracking
The simulation results of optimal angles tracking process is shown below in Figure 4.2.1. Below the figure we will discuss the key points and events marked as alphabets in the figure.
Figure 4.2.1 Optimal angles tracking
The input power to the angle optimizer (output power from the PV panel) in the Figure 4.2.1 is shown to have maximum power before the point ‘A’. But in practical application it will have dropped by a little amount before the another cycle of tracking starts. Because the Sun moves continuously in the sky. But in this test the Sun is considered to be changing place every 5 minutes.
A : Before the point ‘A’ both tilt angle and azimuth angle are optimal for the previous reset cycle. At point ‘A’ the angle optimizer block receives new astronomical tilt and astronomical azimuth angles.
B: At this point the optimal tilt angle tracking process starts in positive direction. Whereas the Azimuth angle remains at constant value (new astronomical azimuth angle).
C: The tilt angle is increased by one step. And it results in further decrease in output power. So from next step it starts decreasing the tilt angle. Consequently the power starts increasing.
D: With further decrease in tilt angle at point ‘D’ the power decreases.
E: Since the power again decreased in point ‘D’ so at this point the angle before the point ‘D’ is taken as optimal tilt angle.
F: Right At point ‘E’, when the optimal tilt angle has been found, the azimuth optimization starts. The tilt angle remains constant as optimal tilt angle that has just been found. The azimuth angle starts to increase by step size.
G: At this point the further Increase in azimuth angle decreases the power. Therefore the previous azimuth angle results in highest power.
H: The optimum azimuth angle is found and it remains constant until the next astronomical angles input is given with a reset signal.
4.3 Angle Controller
Hall Signal Output From Motor
The Figure 4.3.1 shows the hall signal that we get from slewing drive.
Figure 4.3.1 Dual hall output
Two complete pulses from a single hall (A or B) means a 360 ̊ rotation of the motor.
Outputs From Single Hall Decoder and Gear Ratio
The Figure 4.3.2 shows the output from the hall decoder and gear ratio block of angle controller.
Figure 4.3.2 Hall decoder and gear ratio output
The Hall decoder output indicates the current position of the DC motor in degrees, whereas the Gear ratio output indicates the current position of the slewing drive in degrees.
Tilt and Azimuth Motor Controller Output
The output of tilt motor controller is given below in Figure 4.3.3.
Figure 4.3.3 Tilt motor and H-bridge output
As we can see from the figure above. When the required tilt angle decreases, the output voltage is negative. When the required tilt angle is reached, the output voltage is zero and when the required tilt angle increases the output voltage becomes positive.
The same process goes for the azimuth angle controller so it is not necessary to show the output from the azimuth motor controller block.
When Storm Flag is Set
The storm flag only affects the tilt controller. The operation follows as in Figure 4.3.4 below.
Figure 4.3.4 Operation during storm
Whenever the storm flag is set. The PV panel is set at zero degrees (parallel to the ground). When the storm flag is unset it restores it’s normal operation.
5 Conclusions and Recommendation for Further Work
The control system for the solar tracker was designed and simulated successfully in the Simulink. It includes two major control systems. The control system for optimal angles tracking and the control system for the movement of slewing drive based on the output from the optimal angles control system.
Since the solar tracker has limited movement range. It also includes the operation of end stop switches (reset switches) in each directions.
Storm protection is implemented and the tracker is able to locate its position and orient itself during the system start or after the power failure.
Still lots of work remains so for future work I would like to recommend the following points.
Interfacing GPS and extracting the current local time from it.
Building a system that calculates the current position of the Sun. Which is our starting point for optimal angles tracking.
Interfacing a wind sensor and apply the algorithm that can give storm flag output to the angle controller. Since the storm can remain up to hours, it is necessary to develop algorithm that can estimate the time to check for wind in certain fixed intervals.
Implementing a complete solar tracking system in hardware.