0% found this document useful (0 votes)
13 views24 pages

Slope-Aware Backtracking For Single-Axis Trackers: Kevin Anderson and Mark Mikofski

The report presents a comprehensive mathematical treatment of slope-aware backtracking for single-axis solar trackers, addressing the issue of row-to-row shading on sloped terrains. It derives closed-form equations for true-tracking and backtracking angles, as well as the shaded fraction, which are essential for optimizing solar energy collection. The findings aim to enhance the performance of photovoltaic systems by providing a more accurate modeling approach that considers both horizontal and vertical offsets in tracker installations.

Uploaded by

苏先生
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views24 pages

Slope-Aware Backtracking For Single-Axis Trackers: Kevin Anderson and Mark Mikofski

The report presents a comprehensive mathematical treatment of slope-aware backtracking for single-axis solar trackers, addressing the issue of row-to-row shading on sloped terrains. It derives closed-form equations for true-tracking and backtracking angles, as well as the shaded fraction, which are essential for optimizing solar energy collection. The findings aim to enhance the performance of photovoltaic systems by providing a more accurate modeling approach that considers both horizontal and vertical offsets in tracker installations.

Uploaded by

苏先生
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Slope-Aware Backtracking for Single-Axis

Trackers
Kevin Anderson1 and Mark Mikofski2
1 National Renewable Energy Laboratory
2 DNV GL

NREL is a national laboratory of the U.S. Department of Energy Technical Report


Office of Energy Efficiency & Renewable Energy NREL/TP-5K00-76626
Operated by the Alliance for Sustainable Energy, LLC July 2020
This report is available at no cost from the National Renewable Energy
Laboratory (NREL) at [Link]/publications.

Contract No. DE-AC36-08GO28308


Slope-Aware Backtracking for Single-Axis
Trackers
Kevin Anderson1 and Mark Mikofski2
1 National Renewable Energy Laboratory
2 DNV GL

Suggested Citation
Anderson, Kevin and Mark Mikofski. 2020. Slope-Aware Backtracking for Single-Axis Trackers.
Golden, CO: National Renewable Energy Laboratory. NREL/TP-5K00-76626.
[Link]

NREL is a national laboratory of the U.S. Department of Energy Technical Report


Office of Energy Efficiency & Renewable Energy NREL/TP-5K00-76626
Operated by the Alliance for Sustainable Energy, LLC July 2020

This report is available at no cost from the National Renewable Energy National Renewable Energy Laboratory
Laboratory (NREL) at [Link]/publications. 15013 Denver West Parkway
Golden, CO 80401
Contract No. DE-AC36-08GO28308 303-275-3000 • [Link]
NOTICE

This work was authored in part by Alliance for Sustainable Energy, LLC, the manager and operator of the National
Renewable Energy Laboratory for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308.
Funding provided by the U.S. Department of Energy's Office of Energy Efficiency and Renewable Energy (EERE)
under Solar Energy Technologies Office (SETO) Agreement Numbers 34348. The views expressed in the article
do not necessarily represent the views of the DOE or the U.S. Government. The U.S. Government retains and the
publisher, by accepting the article for publication, acknowledges that the U.S. Government retains a nonexclusive,
paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to
do so, for U.S. Government purposes.

Neither DNV GL nor any group company (the "Group") assumes any responsibility whether in contract, tort
(including without limitation negligence), or otherwise and no company in the Group including DNV GL shall be
liable for any loss or damage whatsoever. This document is issued on a no reliance basis and nothing in this
document guarantees any particular energy resource or system output.

This report is available at no cost from the National Renewable


Energy Laboratory (NREL) at [Link]/publications.

U.S. Department of Energy (DOE) reports produced after 1991


and a growing number of pre-1991 documents are available
free via [Link].

Cover Photos by Dennis Schroeder: (clockwise, left to right) NREL 51934, NREL 45897, NREL 42160, NREL 45891, NREL 48097,
NREL 46526.

NREL prints on paper that contains recycled content.


Acknowledgments
The authors would like to thank Cliff Hansen and Matt Muller for significantly improving this
report with their review and helpful suggestions on the technical content and presentation.

iii
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Nomenclature
𝛽𝛽𝑎𝑎 Axis tilt, angle of inclination from horizontal of the tracker axes, 0° to +90°.

𝛽𝛽𝑐𝑐 Cross-axis slope angle, angle of inclination from horizontal of the plane
containing the tracker axes, in the cross-axis direction, −90° to +90°.

𝛽𝛽𝑠𝑠 Solar elevation angle, angle of sun above the horizontal, 0° to +90°.

𝛽𝛽𝑔𝑔 Grade slope angle, angle between slope plane and horizontal plane, 0° to +90°.

𝛾𝛾𝑎𝑎 Axis azimuth, angle clockwise from north of the horizontal projection of the
tracker axis, 0° to +360°.

𝛾𝛾𝑔𝑔 Grade azimuth, angle clockwise from north of the horizontal projection of falling
slope, 0° to +360°.

𝛾𝛾𝑠𝑠 Solar azimuth, angle of sun clockwise from north, 0° to +360°.

𝜃𝜃𝐵𝐵 Backtracking rotation, deviation from flat in the rotation plane, −180° to +180°.

𝜃𝜃𝑐𝑐 Backtracking correction angle, difference between true-tracking and backtracking


angles, −180° to +180°.

𝜃𝜃𝑇𝑇 True-tracking rotation, deviation from flat in the rotation plane, −180° to +180°.

𝑓𝑓𝑠𝑠 Shaded fraction, the fraction of a row that is shaded by the adjacent row, 0 to 1.

𝐺𝐺𝐺𝐺𝐺𝐺 Ground coverage ratio, the ratio of tracker collector width ℓ to row pitch 𝑝𝑝, 0 to 1.

ℎ Row offset, the vertical on-center z-distance between adjacent tracker axes.

ℓ Collector width, the cross-axis distance spanned by the tracker’s solar modules.

𝑝𝑝 Row pitch, the horizontal on-center distance between adjacent tracker axes.

iv
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Table of Contents
Abstract ...................................................................................................................................................... vii
1 Introduction ........................................................................................................................................... 1
2 Reference Frames and Coordinate Systems ..................................................................................... 2
3 True-Tracking Angle ............................................................................................................................. 5
4 Backtracking Angle .............................................................................................................................. 7
5 Axis Tilt and Cross Slope .................................................................................................................. 11
6 Shaded Fraction.................................................................................................................................. 13
7 Implementation Procedure ................................................................................................................ 14
References ................................................................................................................................................. 16

List of Figures
Figure 1: Comparison between global coordinate axes (blue) and tracker coordinates
axes (red). The global coordinates 𝒙𝒙, 𝒚𝒚, 𝒛𝒛 are defined by east, north, and up.
The tracker coordinates 𝒕𝒕𝒕𝒕, 𝒕𝒕𝒕𝒕, 𝒕𝒕𝒕𝒕 are defined by rotating by the tracker axis
azimuth 𝜸𝜸𝜸𝜸 and tilt 𝜷𝜷𝜷𝜷. ....................................................................................................... 2
Figure 2: Solar position angles and the corresponding Cartesian coordinates. The
global Cartesian coordinates are found by treating the solar position angles
as spherical coordinates. In this case, the corresponding Cartesian 𝒙𝒙 and 𝒚𝒚
coordinates are positive and negative, respectively (sun in eastern and
southern sky). ...................................................................................................................... 3
Figure 3: Tracker rotation 𝜽𝜽 relative to the tracker coordinate system. The rotation is a
right-handed rotation around 𝒕𝒕𝒕𝒕 equal to the angle from 𝒕𝒕𝒕𝒕 to the module
normal (shown in black). Because the rotation is right-handed, reversing the
direction of 𝒕𝒕𝒕𝒕 (for example from roughly south to north) determines which
direction (west or east respectively) is considered a positive rotation. This
example shows a positive rotation to the west assuming 𝒕𝒕𝒕𝒕 is roughly south.. 4
Figure 4: Cross-axis slope angle 𝜷𝜷𝜷𝜷 relative to the tracker coordinate system. The
rotation is a right-handed rotation around 𝒕𝒕𝒕𝒕. Because the rotation is right-
handed, reversing the direction of 𝒕𝒕𝒕𝒕 (from roughly south to north) determines
which direction of slope (west or east respectively) is considered a positive
cross-axis slope angle. This example shows a positive rotation to the west
assuming 𝒕𝒕𝒕𝒕 is roughly south.......................................................................................... 4
Figure 5. Projecting solar position onto the tracker rotation plane. AB shows a tracker
axis with its tracker rotation plane defined by the 𝒕𝒕𝒕𝒕 and 𝒕𝒕𝒕𝒕 axes. The
projected solar coordinates (𝒔𝒔𝒔𝒔′, 𝒔𝒔𝒔𝒔′) are found by rotating the solar Cartesian
coordinates (𝒔𝒔𝒔𝒔, 𝒔𝒔𝒔𝒔, 𝒔𝒔𝒔𝒔) into the tracker coordinate system. Note that in this
case, projected solar coordinate 𝒔𝒔𝒔𝒔′ is negative, meaning 𝜽𝜽𝜽𝜽 < 𝟎𝟎. ....................... 5
Figure 6. Cross-section of adjacent single-axis tracker rows with an offset 𝒉𝒉. The tracker
axes point into the page and are not visible in this 2D diagram. The slope-
aware backtracking position is shown in position D, with the true-tracking
position as F for comparison. Point E shows the midpoint of the line segment
(not shown) connecting the tracker axes, i.e. the segment between point A
and the corresponding point on the left tracker. ........................................................ 7
Figure 7. Cross-section of two adjacent tracker rows. The tracker axes point into the
page and are not visible in this 2D diagram. The two optimal positions P1 and
P2 eliminate row to row shading. P1 and P2 expose the same cross section to

v
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
beam irradiance and are symmetrical around the true-tracking position,
shown as a dotted line perpendicular to the solar vector........................................ 9
Figure 8. Geometry of a single-axis tracking axis AB on a slope which is non-parallel to
that axis. The vector 𝒗𝒗 is perpendicular to AB and parallel to the slope plane,
representing the cross-axis slope vector. Note that the (x,y,z) axes here are
arbitrarily chosen to align with the slope. .................................................................. 11
Figure 9. A cross-section of two adjacent tracker rows on a cross-axis slope. The tracker
axes point into the page and are not visible in this 2D diagram. The tracker on
the right is offset by 𝒉𝒉. ..................................................................................................... 13
Figure 10: Example true-tracking and backtracking curves for various array orientations.
................................................................................................................................................ 15

vi
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Abstract
Closed-form equations of the true-tracking angle, backtracking angle, shaded fraction, and
orientation angles of single-axis solar trackers installed on arbitrarily oriented slopes are derived.
These slope-aware adjustments are necessary to successfully prevent row to row shading in
arrays with nonzero cross-axis slope. A tracker rotation modeling procedure comprising these
equations is provided.

vii
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
1 Introduction
Solar trackers optimize collector orientation and PV yield by rotating collectors to track the sun’s
movement across the sky. As described by Marion and Dobos (2013), the main objective of a
tracker control algorithm is to maximize collector exposure to direct beam irradiance from the
sun by minimizing the beam irradiance angle of incidence. However, this behavior will cause
adjacent rows to partially shade each other across part of the module when the sun is low in the
sky. For certain module types where such a shadow is distributed across all cells equally (for
instance, thin film modules), this is an acceptable loss linearly proportional to fraction of shade.
However, conventional modules with crystalline silicon cells are usually arranged in such a way
that the shadow falls entirely on a few cells, creating significant production loss due to electrical
mismatch. In that case, the array should operate at increased angle of incidence when the sun is
low in the sky to prevent row-to-row shading. This behavior is called “backtracking” because it
is accomplished by the tracker rotating backwards from the “ideal” rotation so that the row’s
shadow is shortened and misses the row behind it. The optimal backtracking rotation sacrifices
as little beam irradiance as possible and is calculated using the spacing geometry between rows
and the instantaneous solar position so that each row’s shadow extends to, but not onto, the row
behind. However, the backtracking geometry used in many commercial single-axis tracker
systems is equivalent to the one described by Lorenzo, Narvarte, and Muñoz (2011), which
assumes tracker axes are contained within a horizontal plane, i.e.: there is no vertical offset
between rows. This is often a valid assumption for real-world PV systems, but for systems
installed on even mild cross-slopes, the harsh nonlinearity between shading and power loss
motivates a more general backtracking method that considers both horizontal and vertical row
offsets. Slope-aware backtracking has been explored briefly by Nascimento et al. (2015) and
Schneider (2012), but here we present a more comprehensive mathematical treatment.

Section 2 describes the various reference frames and coordinate systems used in later sections.
Section 3 provides a derivation of the ideal rotation angle that minimizes beam irradiance angle
of incidence for an arbitrarily oriented single-axis tracker axis. Section 4 derives a general
single-axis backtracking formula that prevents row to row shading in arrays on sloped terrain by
accounting for the component of the array’s slope that is perpendicular to the tracker axes.
Section 5 provides formulas for the required slope-adjusted orientation inputs (tracker axis
inclination angle and cross-axis slope angle) from base array and slope orientation. Section 6
provides a formula of calculating the shaded fraction of a row based on single-axis tracker
rotation angle, array geometry, and slope geometry. Finally, Section 7 outlines a step-by-step
procedure to combine these equations to model single-axis tracker rotations.

The tracker rotation and auxiliary equations presented here have applications in PV performance
simulations, O&M monitoring, and the control software used in field single-axis tracker units.
All equations presented here are closed-form and the final expressions are not substantially more
complex than the standard backtracking equations, so it should be straightforward to incorporate
them into modeling and tracker controller software.

1
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
2 Reference Frames and Coordinate Systems
Before deriving tracking strategy equations, it is worthwhile to take a moment to explain the
relevant reference frames and coordinate systems. Careless treatment of these details could end
up with tracker systems following the sun the wrong way across the sky or backtracking
according to a slope in the wrong direction. We draw attention to details like the distinction
between north-azimuth and south-azimuth tracker axes (𝛾𝛾𝑎𝑎 = 0° and 180°, respectively) and
positive and negative tracker rotations. The reader should be familiar with the right-hand rule to
determine the sign of angles and how coordinate axes relate to each other.

The first reference frame is the global reference frame of the location of the PV system in
question, described with a right-handed Cartesian coordinate system with 𝑥𝑥 axis pointing east, 𝑦𝑦
axis pointing north, and 𝑧𝑧 axis pointing up. It is indifferent to the specifics of a PV system and
acts as the fixed environmental frame that the local tracker reference frame is defined in relation
to. The various azimuth angles (axis azimuth 𝛾𝛾𝑎𝑎 , solar azimuth 𝛾𝛾𝑠𝑠 , and grade azimuth 𝛾𝛾𝑔𝑔 ) are
defined as angles in this global coordinate system. For consistency with existing industry
convention, azimuth is defined as a clockwise angle around the global 𝑧𝑧 axis, e.g. north is 0°,
east is 90°, south is 180°, and west is 270°. Note that these are left-handed angles with respect to
the global 𝑧𝑧 axis and need to be handled as such when used mathematically.

To describe rotations of the tracker plane, we define a second reference frame called the tracker
reference frame. This frame is specific to the PV system and is defined by rotating the global
frame by the system’s axis azimuth 𝛾𝛾𝑎𝑎 and axis tilt 𝛽𝛽𝑎𝑎 . The tracker reference frame is described
by the right-handed Cartesian coordinate system with coordinate axes ���⃗ 𝑡𝑡𝑥𝑥 , ���⃗
𝑡𝑡𝑦𝑦 , 𝑡𝑡���⃗𝑧𝑧 , where ���⃗
𝑡𝑡𝑥𝑥 is
horizontal and perpendicular to the tracker axis, ���⃗ 𝑡𝑡𝑦𝑦 is parallel to the tracker axis and points in the
direction of the tracker azimuth 𝛾𝛾𝑎𝑎 , and 𝑡𝑡���⃗𝑧𝑧 is the cross product of 𝑡𝑡���⃗𝑥𝑥 and 𝑡𝑡���⃗
𝑦𝑦 , so it points roughly
upward with 𝛽𝛽𝑎𝑎 as the angle between 𝑡𝑡���⃗𝑧𝑧 and vertical (𝑧𝑧) in the global reference frame. Like the
azimuth angles, the axis tilt is a left-handed angle around ���⃗ 𝑡𝑡𝑥𝑥 . Figure 1 shows the relationship
between the tracker and global reference frames.

Figure 1: Comparison between global coordinate axes (blue) and tracker coordinates axes (red).
The global coordinates (𝒙𝒙, 𝒚𝒚, 𝒛𝒛) are defined by east, north, and up. The tracker coordinates
�𝒕𝒕𝒙𝒙 , 𝒕𝒕𝒚𝒚 , 𝒕𝒕𝒛𝒛 � are defined by rotating by the tracker axis azimuth 𝜸𝜸𝒂𝒂 and tilt 𝜷𝜷𝒂𝒂 .

2
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Working in the tracker reference frame is convenient because it allows the system to be treated
as if it was a simple north-south horizontal axis system. However, it does require external
coordinates like solar position to be transformed into the tracker reference system. Because the
common solar position calculation methods predict solar position in terms of its angular
coordinates in the two-dimensional sky dome, we also consider a spherical coordinate system in
the global reference frame. Figure 2 shows how these spherical coordinates relate to the global
Cartesian coordinates.

Figure 2: Solar position angles and the corresponding Cartesian coordinates. The global
Cartesian coordinates are found by treating the solar position angles as spherical coordinates. In
this case, the corresponding Cartesian 𝒙𝒙 and 𝒚𝒚 coordinates are positive and negative, respectively
(sun in eastern and southern sky).

The sun’s position is identified here with the azimuth and elevation angles 𝛾𝛾𝑠𝑠 and 𝛽𝛽𝑠𝑠 , noting that
the elevation angle is the angular complement to the more common zenith angle.

Note that the system’s physical placement and orientation are described equivalently by two axis
azimuth angles separated by 180°. However, the choice of 𝛾𝛾𝑎𝑎 determines the direction of the ���⃗ 𝑡𝑡𝑦𝑦
axis and therefore also determines the sign convention for rotation angles. By the right-hand
rule, a rotation around an axis is positive when it is counterclockwise around the positive axis.
For example, consider a tracker array with 𝛾𝛾𝑎𝑎 = 180° (𝑡𝑡���⃗ 𝑦𝑦 pointing south) which places ���⃗
𝑡𝑡𝑥𝑥
pointed west. To orient the modules to the east in the morning, the rotation of the tracker around
the 𝑡𝑡���⃗
𝑦𝑦 axis is negative, and so 𝜃𝜃𝑇𝑇 < 0. Similarly, 𝜃𝜃𝑇𝑇 > 0 in the afternoon to orient the modules
to face west. For an array with the same geometry but 𝛾𝛾𝑎𝑎 = 0°, the reverse would be true:
positive rotation in the morning and negative in the afternoon. For a right-handed rotation to be
consistent with the industry convention of considering morning rotations negative and afternoon
rotations positive, a north-south aligned system must have 𝛾𝛾𝑎𝑎 = 180°. Figure 3 shows this
rotation in the context of the tracker coordinate system.

3
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Figure 3: Tracker rotation 𝜽𝜽 relative to the tracker coordinate system. The rotation is a right-
handed rotation around 𝒕𝒕���⃗𝒚𝒚 equal to the angle from 𝒕𝒕���⃗𝒛𝒛 to the module normal (shown in black).
Because the rotation is right-handed, reversing the direction of ���⃗ 𝒕𝒕𝒚𝒚 (for example from roughly south
to north) determines which direction (west or east respectively) is considered a positive rotation.
This example shows a positive rotation to the west assuming ���⃗ 𝒕𝒕𝒚𝒚 is roughly south.

Similarly, the orientation of ���⃗


𝑡𝑡𝑦𝑦 determines the sign of the cross-axis slope angle 𝛽𝛽𝑐𝑐 . By defining
𝛽𝛽𝑐𝑐 as a right-handed rotation around 𝑡𝑡���⃗
𝑦𝑦 and using the convention determined above for tracker
rotation angles, the right-hand rule determines west-facing slopes to have positive cross-axis
slope for 𝛾𝛾𝑎𝑎 = 180°. This is shown in Figure 4.

Figure 4: Cross-axis slope angle 𝜷𝜷𝒄𝒄 relative to the tracker coordinate system. The rotation is a
right-handed rotation around ���⃗
𝒕𝒕𝒚𝒚 . Because the rotation is right-handed, reversing the direction of ���⃗
𝒕𝒕𝒚𝒚
(from roughly south to north) determines which direction of slope (west or east respectively) is
considered a positive cross-axis slope angle. This example shows a positive rotation to the west
assuming ���⃗
𝒕𝒕𝒚𝒚 is roughly south.

4
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
3 True-Tracking Angle
As described by Marion and Dobos (2013), the beam component of collected irradiance is
maximized by minimizing its angle of incidence with the module normal. Because single-axis
trackers cannot face directly towards the sun except in unusual circumstances, this minimization
is instead achieved by matching tracker rotation to the projection of the sun’s position onto the
tracking plane of rotation, i.e.: the plane swept by the panel normal over the tracker’s range of
motion. This projection is easier to calculate if the solar position, which is usually reported in
spherical coordinates, is expressed in Cartesian coordinates instead. As described in Figure 2,
the solar azimuth 𝛾𝛾𝑠𝑠 and elevation 𝛽𝛽𝑠𝑠 are converted from spherical coordinates to Cartesian
coordinates with:

𝑠𝑠𝑥𝑥 cos 𝛽𝛽𝑠𝑠 sin 𝛾𝛾𝑠𝑠


𝑠𝑠
� 𝑦𝑦 � = �cos 𝛽𝛽𝑠𝑠 cos 𝛾𝛾𝑠𝑠 � . (1)
𝑠𝑠𝑧𝑧 sin 𝛽𝛽𝑠𝑠

These Cartesian coordinates are used to calculate the solar projection onto the plane
perpendicular to the tracker axis. Figure 5 shows a tracker axis 𝐴𝐴𝐴𝐴 with tilt 𝛽𝛽𝑎𝑎 and azimuth 𝛾𝛾𝑎𝑎 .
The perpendicular vectors 𝑡𝑡���⃗𝑥𝑥 and 𝑡𝑡���⃗𝑧𝑧 together define the tracking plane of rotation. The projected
solar coordinates (𝑠𝑠𝑥𝑥′ , 𝑠𝑠𝑧𝑧′ ) on the tracking plane of rotation determine 𝜃𝜃𝑇𝑇 , the true-tracking
rotation angle.

Figure 5. Projecting solar position onto the tracker rotation plane. AB shows a tracker axis with
its tracker rotation plane defined by the 𝒕𝒕���⃗𝒙𝒙 and 𝒕𝒕���⃗𝒛𝒛 axes. The projected solar coordinates (𝒔𝒔′𝒙𝒙 , 𝒔𝒔′𝒛𝒛 ) are
found by rotating the solar Cartesian coordinates (𝒔𝒔𝒙𝒙 , 𝒔𝒔𝒚𝒚 , 𝒔𝒔𝒛𝒛 ) into the tracker coordinate system.
Note that in this case, projected solar coordinate 𝒔𝒔′𝒙𝒙 is negative, meaning 𝜽𝜽𝑻𝑻 < 𝟎𝟎.

5
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Rotation matrices enable transformation from the global coordinates (𝑠𝑠⃗) to the tracker
��⃗) by first rotating around the 𝑧𝑧 axis by the axis azimuth and then around the 𝑥𝑥 axis
coordinates (𝑠𝑠′
by the axis tilt:

��⃗
𝑠𝑠′ = 𝐑𝐑 𝐱𝐱 𝐑𝐑 𝐳𝐳 s⃗, (2)

where:
1 0 0 cos 𝛾𝛾𝑎𝑎 − sin 𝛾𝛾𝑎𝑎 0
𝐑𝐑 𝐱𝐱 = � 0 cos 𝛽𝛽𝑎𝑎 − sin 𝛽𝛽𝑎𝑎 � and 𝐑𝐑 𝐳𝐳 = � sin 𝛾𝛾𝑎𝑎 cos 𝛾𝛾𝑎𝑎 0� . (3)
0 sin 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑎𝑎 0 0 1

Note 𝐑𝐑 𝐱𝐱 and 𝐑𝐑 𝐳𝐳 are counterclockwise rotations around the global 𝑥𝑥 and 𝑧𝑧 axes, despite angles 𝛽𝛽𝑎𝑎
and 𝛾𝛾𝑎𝑎 being clockwise angles. This is because the angles 𝛽𝛽𝑎𝑎 and 𝛾𝛾𝑎𝑎 define the basis
transformation from global to tracker coordinates, so their negative is used for vector
transformations from global to tracker coordinates. This sign change cancels the sign change
from converting the left-handed angles to right-handed angles. For ease of implementation,
Equation 2 expands to:

𝑠𝑠𝑥𝑥′ 𝑠𝑠𝑥𝑥 cos 𝛾𝛾𝑎𝑎 − 𝑠𝑠𝑦𝑦 sin 𝛾𝛾𝑎𝑎



�𝑠𝑠𝑦𝑦 � = �𝑠𝑠𝑥𝑥 sin 𝛾𝛾𝑎𝑎 cos 𝛽𝛽𝑎𝑎 + 𝑠𝑠𝑦𝑦 cos 𝛽𝛽𝑎𝑎 cos 𝛾𝛾𝑎𝑎 − 𝑠𝑠𝑧𝑧 sin 𝛽𝛽𝑎𝑎 � (4)
𝑠𝑠𝑧𝑧′ 𝑠𝑠𝑥𝑥 sin γ𝑎𝑎 sin 𝛽𝛽𝑎𝑎 + 𝑠𝑠𝑦𝑦 sin 𝛽𝛽𝑎𝑎 cos 𝛾𝛾𝑎𝑎 + 𝑠𝑠𝑧𝑧 cos 𝛽𝛽𝑎𝑎

Note, in Lorenzo, Narvarte, and Muñoz (2011), 𝑠𝑠𝑦𝑦′ is missing sin 𝛾𝛾𝑎𝑎 from the first term, but it
doesn’t change their derivation because 𝑠𝑠𝑦𝑦′ is never used. Because the in-plane components 𝑠𝑠𝑥𝑥′
and 𝑠𝑠𝑧𝑧′ define the projection of solar position onto the tracking rotation plane, the tracker rotation
𝜃𝜃𝑇𝑇 that faces the collector surface at the projected position is given by:

𝜃𝜃𝑇𝑇 = atan2(𝑠𝑠𝑥𝑥′ , 𝑠𝑠𝑧𝑧′ ) (5)

where atan2(𝑠𝑠𝑥𝑥′ , 𝑠𝑠𝑧𝑧′ ) is preferred over the more common tan−1(𝑠𝑠𝑥𝑥′ /𝑠𝑠𝑧𝑧′ ) because it has an extended
range of (−180°, 180°], allowing 𝜃𝜃𝑇𝑇 to progress beyond ±90° when the sun is low in the sky
and crosses “underneath” a tilted array. This tracker rotation is called the “true-tracking” angle.
Note that Lorenzo et al. refer to the true-tracking angle as 𝜔𝜔𝐼𝐼𝐼𝐼 . It minimizes the angle of
incidence between the collector surface and the sun’s direct irradiance, thereby maximizing the
capture of direct irradiance.

6
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
4 Backtracking Angle
A system backtracks to avoid row to row shading while deviating as little as possible from the
true-tracking angle in order to still optimize capture of direct irradiance. This is achieved by
orienting the row such that the shadow cast from the top edge of one row is exactly tangent to the
bottom edge of the row behind it. Equivalently, when the solar vector is projected onto the
tracker rotation plane, it passes through a point on the upper edge of one row to a point on the
lower edge of the previous row.

This derivation of backtracking angle for trackers on a cross-axis slope extends the derivation
provided by Lorenzo, Narvarte, and Muñoz (2011) for trackers on a horizontal plane. Figure 6
shows a side view of two adjacent tracker rows on a cross-axis slope. The rows have collector
width 𝑙𝑙 and are separated by a horizontal pitch 𝑝𝑝 and z-offset ℎ. The true-tracking position 𝜃𝜃𝑇𝑇
and slope-corrected backtracking position are shown together for comparison. The backtracking
correction 𝜃𝜃𝑐𝑐 is the angle between the backtracking and true-tracking rotations.

Figure 6. Cross-section of adjacent single-axis tracker rows with an offset 𝒉𝒉. The tracker axes
point into the page and are not visible in this 2D diagram. The slope-aware backtracking position
is shown in position D, with the true-tracking position as F for comparison. Point E shows the
midpoint of the line segment (not shown) connecting the tracker axes, i.e. the segment between
point A and the corresponding point on the left tracker.

Note that, unlike the row pitch 𝑝𝑝, the row offset ℎ is a signed quantity depending on the direction
of the cross-axis slope as determined by the right-hand rule around 𝑡𝑡���⃗𝑦𝑦 . Because 𝑡𝑡���⃗𝑦𝑦 points into the
page, a positive 𝛽𝛽𝑐𝑐 appears as a clockwise rotation from the reader’s perspective. The slope in
Figure 6 is rotated counter-clockwise from the reader’s perspective, so 𝛽𝛽𝑐𝑐 is negative, and
therefore we define h as negative as well so it points down. For example, consider an array built
on a west-facing slope (𝛾𝛾𝑔𝑔 = 270) with tracker axis azimuth pointing south (𝛾𝛾𝑎𝑎 = 180). The
plane containing the tracker axes is tilted by a positive angle 𝛽𝛽𝑐𝑐 = tan−1 ℎ/𝑝𝑝 compared to the
horizontal plane by the right hand rule, and therefore ℎ would be positive (pointing up). If the
slope were east-facing (again with tracker axis azimuth pointing south), the tracker axes plane

7
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
would be tilted negative, and ℎ would also be negative (pointing down). Following these rules,
Figure 6 shows a negative ℎ: ���⃗
𝑡𝑡𝑦𝑦 points into the page, so the right hand rule determines that the
axes plane is rotated negatively.

���� to
Similarly, many of the segment lengths in the following equations can be negative; we use 𝐴𝐴𝐴𝐴
refer to this length and |𝐴𝐴𝐴𝐴| in the cases where the length is always positive.

Finally, it is important to realize that ℎ and 𝛽𝛽𝑐𝑐 are defined by the offset along the 𝑡𝑡���⃗𝑧𝑧 axis (i.e., in
the tracker reference frame), making it necessary to consider the axis tilt 𝛽𝛽𝑎𝑎 when calculating
them. Section 5 goes into more detail about calculating the cross-axis slope of tilted arrays.

The backtracking correction angle 𝜃𝜃𝑐𝑐 = ∠𝐷𝐷𝐷𝐷𝐷𝐷 is found by considering the right triangle AGD:

����
𝐴𝐴𝐴𝐴
cos 𝜃𝜃𝑐𝑐 = (6)
����
𝐴𝐴𝐴𝐴
���� through triangle 𝐸𝐸𝐸𝐸𝐸𝐸. Because ∠𝐸𝐸𝐸𝐸𝐸𝐸 = 𝜃𝜃𝑇𝑇 :
Realizing |𝐴𝐴𝐴𝐴| = ℓ/2, we next find 𝐴𝐴𝐴𝐴

����
𝐵𝐵𝐵𝐵 ���� + 𝐴𝐴𝐴𝐴
𝐵𝐵𝐵𝐵 ����
cos 𝜃𝜃𝑇𝑇 = = (7)
����
𝐵𝐵𝐵𝐵 ���
𝐵𝐵𝐵𝐵 + ���
𝐽𝐽𝐽𝐽

we have:

���� ��� + ���


𝐴𝐴𝐴𝐴 = (𝐵𝐵𝐵𝐵 ����
𝐽𝐽𝐽𝐽 ) cos 𝜃𝜃𝑇𝑇 − 𝐵𝐵𝐵𝐵 (8)

Because point 𝐸𝐸 is defined to be the midpoint between the tracker axes, by symmetry we have
|𝐽𝐽𝐽𝐽| = 𝑝𝑝/2 and ���
𝐽𝐽𝐽𝐽 = −ℎ/2. ���
𝐵𝐵𝐵𝐵 and ����
𝐵𝐵𝐵𝐵 are found by considering triangle 𝐴𝐴𝐴𝐴𝐴𝐴 and recognizing
that ∠𝐴𝐴𝐴𝐴𝐴𝐴 = 𝜃𝜃𝑇𝑇 :

ℎ/2 ℎ/2
��� = −
𝐵𝐵𝐵𝐵 and ���� = −
𝐵𝐵𝐵𝐵 . (9)
tan 𝜃𝜃𝑇𝑇 sin 𝜃𝜃𝑇𝑇
Then we have

����
𝐴𝐴𝐴𝐴 = (|𝐽𝐽𝐽𝐽| + ���
𝐵𝐵𝐵𝐵) cos 𝜃𝜃𝑇𝑇 − ����
𝐵𝐵𝐵𝐵
p h/2 ℎ/2
=� − � cos 𝜃𝜃𝑇𝑇 +
2 tan 𝜃𝜃𝑇𝑇 sin 𝜃𝜃𝑇𝑇
p ℎ/𝑝𝑝 ℎ/𝑝𝑝
= ��1 − � cos 𝜃𝜃𝑇𝑇 + �
2 tan 𝜃𝜃𝑇𝑇 sin 𝜃𝜃𝑇𝑇
𝑝𝑝 ℎ cos 𝜃𝜃𝑇𝑇 1
= �cos 𝜃𝜃𝑇𝑇 − � − ��
2 𝑝𝑝 tan 𝜃𝜃𝑇𝑇 sin 𝜃𝜃𝑇𝑇
p ℎ cos 2 𝜃𝜃𝑇𝑇 − 1
= �cos 𝜃𝜃𝑇𝑇 − � ��
2 𝑝𝑝 sin 𝜃𝜃𝑇𝑇

8
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
p ℎ
= �cos 𝜃𝜃𝑇𝑇 + sin 𝜃𝜃𝑇𝑇 �
2 𝑝𝑝

Using the definitions 𝐺𝐺𝐺𝐺𝐺𝐺 = ℓ/𝑝𝑝 and tan 𝛽𝛽𝑐𝑐 = ℎ/𝑝𝑝, we can now solve for the backtracking
correction angle:
cos 𝜃𝜃𝑇𝑇 + tan 𝛽𝛽𝑐𝑐 sin 𝜃𝜃𝑇𝑇
cos 𝜃𝜃𝑐𝑐 = , (10)
𝐺𝐺𝐺𝐺𝐺𝐺

or using the cosine angle addition identity:

cos (𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )


cos 𝜃𝜃𝑐𝑐 = (11)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

Note that 𝐺𝐺𝐺𝐺𝐺𝐺 is defined here as the ratio of collector width ℓ to horizontal separation 𝑝𝑝. This
means that 𝐺𝐺𝐺𝐺𝐺𝐺 remains a measure of array ground coverage when viewed from overhead; it
ignores the vertical dimension. Also note that when the tan 𝛽𝛽𝑐𝑐 is zero, the backtracking
correction reverts to the original formula derived on horizontal ground.

However, because cosine is periodic and even, Equation 11 is satisfied by four distinct tracker
rotations. For a given tracker rotation that satisfies Equation 11, its 180° opposite will satisfy it
as well, despite facing away from the sun. The second pair is generated by mirroring the first
pair across the true-tracking plane (i.e.: by rotating forward by the correction angle instead of
backward). The mirrored pairs have equivalent shading and direct irradiance capture
characteristics, as shown in Figure 7:

Figure 7. Cross-section of two adjacent tracker rows. The tracker axes point into the page and are
not visible in this 2D diagram. The two optimal positions P1 and P2 eliminate row to row shading.
P1 and P2 expose the same cross section to beam irradiance and are symmetrical around the
true-tracking position, shown as a dotted line perpendicular to the solar vector.

9
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
First, we will eliminate rotations that face away from the sun. These rotations come about in
cases where the plane containing the tracker axes (the “system plane”) is not horizontal and the
sun is above the horizon but below the system plane. In these cases cos(𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 ) < 0, implying
|𝜃𝜃𝑐𝑐 | > 90 in Equation 11, so the tracker will have crossed the system plane and presented the
row’s rear side to the sun. However, because cosine is periodic, we are free to take the absolute
value of the right-hand side (which is equivalent to adding 180° to 𝜃𝜃𝐶𝐶 ) while still satisfying the
equation. The effect is to keep |𝜃𝜃𝑐𝑐 | ≤ 90 so that the front surface of the row will always see the
sun (or, at worst, edge-on to it):

|cos (𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )|


cos 𝜃𝜃𝑐𝑐 = (12)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

The remaining two correction angles are given by:

|cos (𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )|


𝜃𝜃𝑐𝑐 = ± cos −1 � � (13)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

One of the two positions is the standard backtracking position, but (by virtue of the 𝜃𝜃𝑐𝑐
derivation) the other is equal in shading avoidance and direct irradiance capture. Because it
involves tracking forward beyond the true-tracking angle rather than behind it, it could be called
“over-tracking”. Whereas backtracking tends to orient rows flatter and pointing up, over-
tracking tends to orient them steeper and, at the edges of the day, upside down.

Because of the mechanical complications of such extreme rotations and the supposition that
more diffuse irradiance is available downwelling from above than upwelling from below,
backtracking will be preferred for PV systems. For the backtracking correction angle to tend to
cancel the true-tracking angle, the sign of the tracking adjustment must be opposite that of the
true-tracking angle:

|cos(𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )|
𝜃𝜃𝑐𝑐 = − sign(𝜃𝜃𝑇𝑇 ) cos−1 � �. (14)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

The final note is that in the middle of the day, the argument to the arccosine will be out of range
because there is no row-to-row shading to avoid. When the backtracking criterion given by

cos(𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )
� �<1 (15)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

is not satisfied, 𝜃𝜃𝑐𝑐 is set to zero.

The overall rotation when backtracking 𝜃𝜃𝐵𝐵 is then given by the sum of the true-tracking angle 𝜃𝜃𝑇𝑇
and the backtracking correction angle 𝜃𝜃𝑐𝑐 :

𝜃𝜃𝐵𝐵 = 𝜃𝜃𝑇𝑇 + 𝜃𝜃𝑐𝑐 (16)

10
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
5 Axis Tilt and Cross Slope
The axis tilt 𝛽𝛽𝑎𝑎 and cross slope angle 𝛽𝛽𝑐𝑐 are dependent on the grade slope angle 𝛽𝛽𝑔𝑔 and the
azimuth difference between tracker axis and grade Δ𝛾𝛾 = 𝛾𝛾𝑎𝑎 − 𝛾𝛾𝑔𝑔 . In Figure 8, segment 𝐴𝐴𝐴𝐴 is a
tracker axis. Points 𝐴𝐴, 𝐵𝐵, 𝐶𝐶 are coplanar with the grade and points 𝐵𝐵, 𝐶𝐶, 𝐷𝐷 define a horizontal
plane parallel to the x-y plane, with points 𝐶𝐶 and 𝐷𝐷 being directly downslope of and below 𝐴𝐴,
respectively. Points 𝐴𝐴, 𝐶𝐶, 𝐷𝐷 are coplanar with the vertical x-z plane. Vector 𝑁𝑁 �⃗ is the unit normal
to the slope plane while unit vector 𝑣𝑣⃗ is inside the slope plane and perpendicular to both 𝐴𝐴𝐴𝐴
�⃗ . Note that because the axis tilt and cross slope are invariant to azimuthal rotations, we use
and 𝑁𝑁
a rotated version of the global coordinate system here for convenience.

Figure 8. Geometry of a single-axis tracking axis AB on a slope which is non-parallel to that axis.
The vector �𝒗𝒗⃗ is perpendicular to AB and parallel to the slope plane, representing the cross-axis
slope vector. Note that the (x,y,z) axes here are arbitrarily chosen to align with the slope.

Defining segment 𝐴𝐴𝐴𝐴 to have length 1, the leg lengths of the right triangle 𝐴𝐴𝐴𝐴𝐴𝐴 are:

|𝐴𝐴𝐴𝐴| = sin 𝛽𝛽𝑎𝑎 and |CD| = cos 𝛽𝛽𝑎𝑎 cos Δ𝛾𝛾 (17)

Relating the grade slope angle 𝛽𝛽𝑔𝑔 = ∠𝐴𝐴𝐴𝐴𝐴𝐴 to these side lengths gives:

|𝐴𝐴𝐴𝐴| tan 𝛽𝛽𝑎𝑎


tan 𝛽𝛽𝑔𝑔 = = , (18)
|𝐶𝐶𝐶𝐶| cos Δ𝛾𝛾

which can be rearranged to define 𝛽𝛽𝑎𝑎 :

𝛽𝛽𝑎𝑎 = tan−1(tan 𝛽𝛽𝑔𝑔 cos Δ𝛾𝛾) (19)

11
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
The cross-axis slope angle 𝛽𝛽𝑐𝑐 is found by calculating the cross product

�⃗ × ���⃗
𝑣𝑣⃗ = 𝑁𝑁 𝑡𝑡𝑦𝑦 , (20)

where:

cos 𝛽𝛽𝑎𝑎 cos Δ𝛾𝛾 sin 𝛽𝛽𝑔𝑔


���⃗
𝑡𝑡𝑦𝑦 = � − cos 𝛽𝛽𝑎𝑎 sin Δ𝛾𝛾 � and �𝑁𝑁⃗ = � 0 � . (21)
− sin 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑔𝑔

We choose to define 𝑣𝑣⃗ = 𝑁𝑁 �⃗ × ���⃗


𝑡𝑡𝑦𝑦 over the alternative 𝑣𝑣⃗ = ���⃗ �⃗ so that 𝛽𝛽𝑐𝑐 is a right-handed
𝑡𝑡𝑦𝑦 × 𝑁𝑁
angle around 𝑡𝑡���⃗
𝑦𝑦 . Taking Figure 8 as an example, using the right-hand rule and assuming the axis
azimuth is along the downhill direction of the axis, the cross slope angle must be negative.

For ease of implementation, Equation 20 expands to:

𝑣𝑣𝑥𝑥 sin Δ𝛾𝛾 cos 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑔𝑔


𝑣𝑣⃗ = �𝑣𝑣𝑦𝑦 � = �sin 𝛽𝛽𝑎𝑎 sin 𝛽𝛽𝑔𝑔 + cos Δ𝛾𝛾 cos 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑔𝑔 � (22)
𝑣𝑣𝑧𝑧 − sin Δ𝛾𝛾 sin 𝛽𝛽𝑔𝑔 cos 𝛽𝛽𝑎𝑎

Because the vector 𝑣𝑣⃗ points across the trackers in the direction of the neighboring tracker axis, it
defines the cross slope with its vertical component. However, as noted in Section 4, the cross-
axis slope angle 𝛽𝛽𝑐𝑐 must be calculated in the tracker reference frame to be consistent with
Equation 14. Therefore, we rotate 𝑣𝑣⃗ to adjust for the effect of the tracker axis tilt (rotate by −𝛽𝛽𝑎𝑎
around the global 𝑦𝑦 axis) and azimuth difference (rotate by Δ𝛾𝛾 around the global 𝑧𝑧 axis):

cos 𝛽𝛽𝑎𝑎 0 −sin 𝛽𝛽𝑎𝑎 cos Δ𝛾𝛾 − sin Δ𝛾𝛾 0


𝐑𝐑 𝒚𝒚 = � 0 1 0 � and 𝐑𝐑 𝐳𝐳 = � sin Δ𝛾𝛾 cos Δ𝛾𝛾 0� (23)
sin 𝛽𝛽𝑎𝑎 0 cos 𝛽𝛽𝑎𝑎 0 0 1

���⃗
𝑣𝑣′ = 𝐑𝐑 𝒚𝒚 𝐑𝐑 𝒛𝒛 𝑣𝑣⃗ (24)

Now that the cross-axis vector has been rotated into the tracker reference frame, the cross-axes
slope is calculated with:

𝑣𝑣′𝑧𝑧
𝛽𝛽𝑐𝑐 = sin−1 . (25)
���⃗�
�𝑣𝑣′

To simplify the calculation, we can exploit the fact that rotation matrices do not scale the rotated
���⃗′ |, allowing us to skip the calculation of 𝑣𝑣𝑥𝑥′ and 𝑣𝑣𝑦𝑦′ :
vector, so |𝑣𝑣⃗| = |𝑣𝑣

�𝑣𝑣𝑥𝑥 cos Δγ − 𝑣𝑣𝑦𝑦 sin Δ𝛾𝛾� ⋅ sin 𝛽𝛽𝑎𝑎 + 𝑣𝑣𝑧𝑧 cos 𝛽𝛽𝑎𝑎
𝛽𝛽𝑐𝑐 = sin−1 � � (26)
|𝑣𝑣⃗|

12
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
6 Shaded Fraction
Again, extending the work provided by Lorenzo, Narvarte, and Muñoz (2011), we derive the
shaded fraction of module area for trackers on a cross-axis slope at any rotation 𝜃𝜃. In Figure 9,
the right tracker is shown raised above its horizontal-terrain analog.

Figure 9. A cross-section of two adjacent tracker rows on a cross-axis slope. The tracker axes
point into the page and are not visible in this 2D diagram. The tracker on the right is offset by 𝒉𝒉.

����/ℓ of a tracker in some position 𝜃𝜃 = ∠𝐴𝐴𝐴𝐴𝐴𝐴 with z-


To calculate the shaded fraction 𝑓𝑓𝑠𝑠 = 𝐶𝐶𝐶𝐶
offset ℎ = 𝑝𝑝 tan 𝛽𝛽𝑐𝑐 when the true-tracking angle is 𝜃𝜃𝑇𝑇 , realize that triangles 𝐴𝐴𝐴𝐴𝐴𝐴 and 𝐴𝐴𝐴𝐴𝐴𝐴 are
similar and that the ratios of their corresponding side lengths are equal:

����
𝐶𝐶𝐶𝐶 ����
ED
= , (27)
����
𝐴𝐴𝐴𝐴 ����
AD
giving:

1 ���� ����
𝐸𝐸𝐸𝐸 𝐴𝐴𝐴𝐴
𝑓𝑓𝑠𝑠 = . (28)
ℓ ����
𝐴𝐴𝐴𝐴
Using the side lengths given by:

����
𝐸𝐸𝐸𝐸 = ℓ − ℎ/ sin 𝜃𝜃 (29)

����
𝐴𝐴𝐴𝐴 = ����
𝐴𝐴𝐴𝐴 + ����
𝐹𝐹𝐹𝐹 = (ℓ sin 𝜃𝜃 − ℎ) tan 𝜃𝜃𝑇𝑇 + (ℓ cos 𝜃𝜃 + h cot 𝜃𝜃) (30)

���� ���� − 𝐵𝐵𝐵𝐵


𝐴𝐴𝐴𝐴 = 𝐴𝐴𝐴𝐴 ���� = (ℓ sin 𝜃𝜃 − ℎ) tan 𝜃𝜃𝑇𝑇 − (p − ℓ cos 𝜃𝜃) , (31)

and simplifying, the shaded fraction is given by:

𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝜃𝜃 + (𝐺𝐺𝐺𝐺𝐺𝐺 sin 𝜃𝜃 − tan 𝛽𝛽𝑐𝑐 ) tan 𝜃𝜃𝑇𝑇 − 1


𝑓𝑓𝑠𝑠 = max �0, min � , 1�� (32)
𝐺𝐺𝐺𝐺𝐺𝐺 (sin 𝜃𝜃 tan 𝜃𝜃𝑇𝑇 + cos 𝜃𝜃)

Note that 𝑓𝑓𝑠𝑠 must be clamped to the range [0, 1] to make physical sense as the shaded fraction.

13
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
7 Implementation Procedure
Here we outline the process of calculating a tracker’s true- and backtracking rotation angles.
1) Using the array’s location and the datetime of interest, calculate the solar azimuth 𝛾𝛾𝑠𝑠 and
elevation 𝛽𝛽𝑠𝑠 with ephemeris tables or a solar position algorithm like that described in
Reda and Andreas (2014).
2) If the array is mounted on a cross-axis slope, calculate the slope-adjusted axis tilt 𝛽𝛽𝑎𝑎 and
cross-axis slope angle 𝛽𝛽𝑐𝑐 using the slope tilt 𝛽𝛽𝑔𝑔 , the azimuth difference Δ𝛾𝛾 = 𝛾𝛾𝑎𝑎 − 𝛾𝛾𝑔𝑔 ,
and equations 19, 22, and 26:

𝛽𝛽𝑎𝑎 = tan−1(tan 𝛽𝛽𝑔𝑔 cos Δ𝛾𝛾) (19)

𝑣𝑣𝑥𝑥 sin Δ𝛾𝛾 cos 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑔𝑔


𝑣𝑣⃗ = �𝑣𝑣𝑦𝑦 � = �sin 𝛽𝛽𝑎𝑎 sin 𝛽𝛽𝑔𝑔 + cos Δ𝛾𝛾 cos 𝛽𝛽𝑎𝑎 cos 𝛽𝛽𝑔𝑔 � (22)
𝑣𝑣𝑧𝑧 − sin Δ𝛾𝛾 sin 𝛽𝛽𝑔𝑔 cos 𝛽𝛽𝑎𝑎

�𝑣𝑣𝑥𝑥 cos Δγ − 𝑣𝑣𝑦𝑦 sin Δ𝛾𝛾� ⋅ sin 𝛽𝛽𝑎𝑎 + 𝑣𝑣𝑧𝑧 cos 𝛽𝛽𝑎𝑎
𝛽𝛽𝑐𝑐 = sin−1 � � (26)
|𝑣𝑣⃗|

3) Calculate the solar projection and true-tracking angle using equations 1, 4, and 5:

𝑠𝑠𝑥𝑥 cos 𝛽𝛽𝑠𝑠 sin 𝛾𝛾𝑠𝑠


�𝑠𝑠𝑦𝑦 � = �cos 𝛽𝛽𝑠𝑠 cos 𝛾𝛾𝑠𝑠 � . (1)
𝑠𝑠𝑧𝑧 sin 𝛽𝛽𝑠𝑠

𝑠𝑠𝑥𝑥′ 𝑠𝑠𝑥𝑥 cos 𝛾𝛾𝑎𝑎 − 𝑠𝑠𝑦𝑦 sin 𝛾𝛾𝑎𝑎



�𝑠𝑠𝑦𝑦 � = �𝑠𝑠𝑥𝑥 sin 𝛾𝛾𝑎𝑎 cos 𝛽𝛽𝑎𝑎 + 𝑠𝑠𝑦𝑦 cos 𝛽𝛽𝑎𝑎 cos 𝛾𝛾𝑎𝑎 − 𝑠𝑠𝑧𝑧 sin 𝛽𝛽𝑎𝑎 � (4)
𝑠𝑠𝑧𝑧′ 𝑠𝑠𝑥𝑥 sin γ𝑎𝑎 sin 𝛽𝛽𝑎𝑎 + 𝑠𝑠𝑦𝑦 sin 𝛽𝛽𝑎𝑎 cos 𝛾𝛾𝑎𝑎 + 𝑠𝑠𝑧𝑧 cos 𝛽𝛽𝑎𝑎

𝜃𝜃𝑇𝑇 = atan2(𝑠𝑠𝑥𝑥′ , 𝑠𝑠𝑧𝑧′ ) (5)

4) Calculate the preferred backtracking correction angle using equation 14:

|cos(𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )|
𝜃𝜃𝑐𝑐 = − sign(𝜃𝜃𝑇𝑇 ) cos−1 � �. (14)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

5) Determine if backtracking is required by checking the condition in equation 15:

cos(𝜃𝜃𝑇𝑇 − 𝛽𝛽𝑐𝑐 )
� �<1 (15)
𝐺𝐺𝐺𝐺𝐺𝐺 cos 𝛽𝛽𝑐𝑐

6) Calculate the overall tracker rotation using equation 16:

𝜃𝜃𝐵𝐵 = 𝜃𝜃𝑇𝑇 + 𝜃𝜃𝑐𝑐 (16)

14
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
Figure 10 shows several example tracker rotation curves calculated with the above procedure
for the date 2019-01-01 at coordinates (40.0, −80.0) with 𝐺𝐺𝐺𝐺𝐺𝐺 = 0.5 and 𝛽𝛽𝑔𝑔 = 10° at
various tracker axis and slope azimuth.

Figure 10: Example true-tracking and backtracking curves for various array orientations.

Table 1: Validation data set for example in Figure 10 with 𝜸𝜸𝒂𝒂 = 𝟏𝟏𝟏𝟏𝟏𝟏° 𝐚𝐚𝐚𝐚𝐚𝐚 𝜸𝜸𝒈𝒈 = 𝟏𝟏𝟏𝟏𝟏𝟏°.
Time (UTC−05:00) Apparent Elevation Solar Azimuth True-Tracking Backtracking
8 AM 2.404287 122.791770 −84.440 −10.899
9 AM 11.263058 133.288729 −72.604 −25.747
10 AM 18.733558 145.285552 −59.861 −59.861
11 AM 24.109076 158.939435 −45.578 −45.578
12 PM 26.810735 173.931802 −28.764 −28.764
1 PM 26.482495 189.371536 −8.475 −8.475
2 PM 23.170447 204.136810 15.120 15.120
3 PM 17.296785 217.446538 39.562 39.562
4 PM 9.461862 229.102218 61.587 32.339
5 PM 0.524817 239.330401 79.530 5.490

axis tilt 𝛽𝛽𝑎𝑎 = 9.666°


cross-axis slope angle 𝛽𝛽𝑐𝑐 = −2.576°

15
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.
References
E. Lorenzo, L Narvarte, and J Muñoz. 2011. “Tracking and back-tracking.” Progress in
Photovoltaics: Research and Applications 19: 747-753. [Link]

W. Marion and A. Dobos. 2013. “Rotation Angle for the Optimum Tracking of One-Axis
Trackers.” NREL Technical Report NREL/TP-6A20-58891. [Link]

D. Schneider. 2012. “Control Algorithms for Large-scale Single-axis Photovoltaic Trackers.”


Acta Polytechnica, vol. 52, no. 5.

B. Nascimento, D. Albuquerque, M. Lima, P. Sousa. 2015. “Backtracking Algorithm for Single-


Axis Solar Trackers installed in a sloped field.” Int. Journal of Engineering Research and
Applications, vol. 5, no. 12.4, pp. 100-103.

I. Reda and A. Andreas. 2004. “Solar position algorithm for solar radiation applications.” Solar
Energy, vol. 76, no. 5, pp. 577-589. [Link]

16
This report is available at no cost from the National Renewable Energy Laboratory at [Link]/publications.

You might also like