pvl_singleaxis

Determine the rotation angle of a 1 axis tracker, and sun incident angle on the tracked surface.

Contents

Syntax

[TrkrTheta, AOI, SurfTilt, SurfAz]= pvl_singleaxis(SunZen, SunAz, Latitude, AxisTilt, AxisAzimuth, MaxAngle)

[TrkrTheta, AOI, SurfTilt, SurfAz]= pvl_singleaxis(SunZen, SunAz, Latitude, AxisTilt, AxisAzimuth, MaxAngle, Backtrack)

[TrkrTheta, AOI, SurfTilt, SurfAz]= pvl_singleaxis(SunZen, SunAz, Latitude, AxisTilt, AxisAzimuth, MaxAngle, Backtrack, GCR)

Description

Determine the rotation angle of a single axis tracker using the equations in [1]. Backtracking may be specified, and if so, a ground coverage ratio is required.

Rotation angle is determined in a module-oriented coordinate system. The tracker azimuth AxisAzimuth defines the positive y-axis; the positive x-axis is 90 degress clockwise from the y-axis and parallel to the earth surface, and the positive z-axis is normal and oriented towards the sun. Rotation angle TrkrTheta indicates tracker position relative to horizontal: TrkrTheta = 0 is horizontal, and positive TrkrTheta is a clockwise rotation around the y axis in the x, y, z coordinate system. For example, if tracker azimuth AxisAzimuth is 180 (oriented south), TrkrTheta = 30 is a rotation of 30 degrees towards the west, and TrkrTheta = -90 is a rotation to the vertical plane facing east.

Inputs

Outputs

Example 1

Horizontal single axis tracking without back-tracking (max angle = 45 deg)

MATLABDatenum=datenum('1-Jun-2011 02:00:00'):1/(24*60/5):datenum('1-Jun-2011 21:59:59');  % times at 5 minute intervals
Time = pvl_maketimestruct(MATLABDatenum,-7);
dH = Time.hour+Time.minute/60+Time.second/3600;
Location = pvl_makelocationstruct(35, -106, 0);
[SunAz, SunEl, ApparentSunEl, ~]=pvl_ephemeris(Time, Location);
[TrkrTheta, AOI, SurfTilt, SurfAz] = pvl_singleaxis(90-ApparentSunEl, SunAz, Location.latitude, 0, 180, 45);

figure
plot(dH,TrkrTheta, '-') %tracking angle
hold all
plot(dH, ApparentSunEl, '-') %sun elevation
plot(dH, SunAz, '-')
plot(dH, AOI, '-')
plot(dH,SurfTilt, '-')
xlabel('Hour of Day')
title({'Horizontal, South azimuth, no backtracking';'June 1, Albuquerque'});
l1=legend('Tracking angle', 'SunEl', 'SunAz', 'AOI','SurfTilt','Location','NorthWest');

Example 2

Horizontal single axis tracking with back-tracking (assumes GCR of 0.3)

MATLABDatenum=datenum('1-Jun-2011 02:00:00'):1/(24*60/5):datenum('1-Jun-2011 21:59:59');  % times at 5 minute intervals
Time = pvl_maketimestruct(MATLABDatenum,-7);
dH = Time.hour+Time.minute/60+Time.second/3600;
Location = pvl_makelocationstruct(35, -106, 0);
[SunAz, SunEl, ApparentSunEl, ~]=pvl_ephemeris(Time, Location);
[TrkrTheta, AOI, SurfTilt, SurfAz] = pvl_singleaxis(90-ApparentSunEl, SunAz, Location.latitude, 0, 180, 45, 1, 0.3);

figure
plot(dH,TrkrTheta, '-') %tracking angle
hold all
plot(dH, ApparentSunEl, '-') %sun elevation
plot(dH, SunAz, '-')
plot(dH, AOI, '-')
plot(dH,SurfTilt, '-')
xlabel('Hour of Day')
title({'Horizontal, South azimuth, with backtracking';'June 1, Albuquerque'});
legend('Tracking angle', 'SunEl', 'SunAz', 'AOI','SurfTilt','Location','NorthWest')

Example 3

20 deg titled single axis tracking with back-tracking (assumes GCR of 0.3)

MATLABDatenum=datenum('1-Jun-2011 02:00:00'):1/(24*60/5):datenum('1-Jun-2011 21:59:59');  % times at 5 minute intervals
Time = pvl_maketimestruct(MATLABDatenum,-7);
dH = Time.hour+Time.minute/60+Time.second/3600;
Location = pvl_makelocationstruct(35, -106, 0);
[SunAz, SunEl, ApparentSunEl, SolarTime]=pvl_ephemeris(Time, Location);
[TrkrTheta, AOI, SurfTilt, SurfAz] = pvl_singleaxis(90-ApparentSunEl, SunAz, Location.latitude, 20, 180, 45, 1, 0.3);

figure
plot(dH,TrkrTheta, '-') %tracking angle
hold all
plot(dH, ApparentSunEl, '-') %sun elevation
plot(dH, SunAz, '-')
plot(dH, AOI, '-')
plot(dH,SurfTilt, '-')
xlabel('Hour of Day')
title({'20 deg tilt, South azimuth, with backtracking';'June 1, Albuquerque'});
legend('Tracking angle', 'SunEl', 'SunAz', 'AOI','SurfTilt','Location','NorthWest')

References

[1] Lorenzo, E et al., 2011, Tracking and back-tracking, Prog. in Photovoltaics: Research and Applications, v. 19, pp. 747-753.

See Also

pvl_ephemeris , pvl_spa, pvl_getaoi

Copyright 2014 Sandia National Laboratories