Leo Rosetti Senior Thesis 2012
description
Transcript of Leo Rosetti Senior Thesis 2012
1
THE DESIGNING, BUILDING, AND TESTING OF AN AZIMUTH-ALTITUDE DUAL AXIS SOLAR
TRACKER
by
Leonardo Rosetti
Thesis Advisor: Dr. David Tanenbaum
A thesis submitted in partial fulfillment for the degree
Bachelor of Arts
in
Physics and Astronomy
at
Pomona College
May 2, 2012
2
3
Abstract To maximize a solar module’s power output the module needs to receive as much direct sunlight
as possible. By turning throughout the day with the sun, a dual axis solar tracker allows a
mounted module to remain perpendicular to incident sunlight, thus maximizing power output. I
have designed, built, and tested a functioning dual axis solar tracker that will be used for research
on photovoltaic cells. Doing a basic structural analysis using principles of continuum mechanics
and SolidWorks’ Simulation XPress tool allowed me to determine what kinds of stresses and
deflections would be present in the solar tracker under its own load and in a given external wind
load. This analysis showed that all the load bearing components of the solar tracker had a safety
factor of at least 3, meaning the design would not be in any danger of failing or yielding. The
data I received over the course of two testing days clearly indicated that the solar module
mounted on the solar tracker had a higher relative power output than a horizontal fixed panel in
the same location. This difference can be seen in the plots of the power output as a percentage of
the maximum power output for that particular day (Section 5.3 and Appendix D). The dual axis
tracker produced a significantly wider plot than the horizontal fixed panel. On the second testing
day (data from appendix D), the area under the curve for the dual axis tracker was 10.258 (% of
max power output)*hr, whereas the area under the curve for the fixed panel was only 7.381 (%
of max power output)*hr. This means the area under the curve for the dual axis tracker was about
39% larger than the area under the curve for the horizontal fixed panel and the ratio of the
efficiencies for the different modules was 10.258 to 7.381.
4
5
CONTENTS
1. Introduction 7
1.1 Solar Cells and Solar Trackers……………………………………..7
1.2 The Project………………………………………...……………….11
2. Design 13 2.1 The Four Major Subsystems………………………………………..13 2.2 Design Alternatives…………………………………………………15 2.3 Design Selection…………………………………………….............23 3. Control and Feedback System 27 3.1 Components of the Control and Feedback System…………………27 3.2 Programming/Implementing the Control and Feedback System…..30 4. Structural Analysis 35 4.1 Critical Load on the Central Shaft………………………………….35 4.2 The Crossbar………………………………………………………..36 4.3 The Rectangular Base………………………………………………39 4.4 Wind Loads on the Central Shaft……………………………………41 4.5 Finite Element Analysis……………………………………………..44 5. Data Acquisition and Results 48 5.1 Preparation for Testing………………………………………………48 5.2 Data Acquisition……………………………………………………..50
6
5.3 Results……………………………………………………………….51 5.4 Improvements………………………………………………………..57 6. Conclusion 61 Acknowledgements 63 Appendix A: Arduino Code 64 Appendix B: Additional Images 71 Appendix C: Circuit Diagram of the Electronics 77 Appendix D: Additional Data from April 17, 2012 78 References 81
7
Chapter 1. Introduction
1.1 Solar Cells and Solar Trackers
Every second about 1.75x1017 Joules of energy from the sun strike the face of the earth. If
we could harness 100% of this energy, it would take less than an hour to have enough energy to
satiate the world’s energy consumption for a year! In addition, it would take only about fifteen
minutes to produce enough energy to meet the United States’ needs for a year. Obviously
harnessing 100% of this solar energy is far from a reasonable goal, but using photovoltaic cells
we can turn some of this solar energy into more useful electrical energy to help meet our energy
needs. As the world starts to move away from fossil fuels and towards renewable energy it is
becoming increasingly important to understand solar energy, how it is converted to electrical
energy, and what we can do to maximize the amount of energy we harness from the sun.
In photovoltaic cells, semiconductors, such as silicon, are doped with another more
conductive material, such as phosphorous. The silicon atoms contain four electrons in their outer
shells, while the phosphorous atoms contain five. This means when the electrons in each atoms’
outer shell bond to each other there is an extra electron from the phosphorous atom that is
“loose.” This atom is held in place by the proton in phosphorous’ nucleus. However, once these
atoms are hit with incident photons, the energy frees this “loose” electron, as well as some
electrons from the silicon. The addition of the phosphorous simply increases the number of
electrons released when the atoms are hit by photons. These freed electrons travel in an electric
field from the positive (P) side of the cell to the negative (N) side, but cannot travel back. This
one directional movement of electrons causes a current (Toothman, 2010). The electrical energy
that this process produces can then be put to use doing just about anything.
8
To maximize the output of these solar cells, the amount of light incident on the cells
should be maximized. To do this, it is essential that as much area as possible is exposed to the
incoming light. This can be done by orienting solar modules perpendicularly to the incident light,
as seen below in figure 1.1a. A panel oriented in this way has its entire area A exposed to the
incoming sunlight, whereas a panel tilted by some angle θ (as in figure 1.1b below) only has an
exposed area of
!
Acos" .
(a) (b)
Figure 1.1 In (a) the solar panel of area A is oriented perpendicular to the incoming sunlight, maximizing the area exposed, thus maximizing the absorbed sunlight and the output of the solar panel. In (b) however, the panel of area A is at an angle θ from the vertical,
so that the incoming sunlight is not normal to the panel.
There has been much research done on the most effective way to orient a stationary solar
panel in order to maximize output. Two such methods use the latitude of the panel’s location.
The first is to tilt the panel with the site’s latitude angle, and the second is to tilt the panel with
the site’s latitude angle minus the solar declination angle, which is the angle between the sun’s
incoming rays and the plane on which the earth’s equator lies (Dousoky et al., 2011). Solar
panels can also be oriented at seasonally optimal and monthly optimal angles in order to
maximize output without having the panels move constantly. These monthly optimal angles
provide improved power outputs compared to the seasonally optimal tilt angles and the two
latitude-based angling systems mentioned (Kacira et al., 2004).
Sunlight Sunlight θ
9
However, in order to effectively maximize a solar panel’s output over the course of a day
or week or month, the panel would ideally remain perpendicular to the incident sunlight the
entire time. Since the position of the sun changes throughout the day with respect to the solar
panel, the panel would have to trace the path of the sun across the sky each day. This can be done
using a solar tracker, which follows the sun across the sky, constantly adjusting the panel’s
orientation so that it is perpendicular (or very nearly perpendicular) to the sun’s incoming rays.
Solar trackers either have one or two axes about which they move. A single axis solar
tracker follows the sun in one direction (from east to west) across the sky, but is fixed in the
other direction. The limitations of this design means that as the sun moves north and south in the
sky over the seasons the solar tracker will not be able to adjust accordingly. But even this one
axis tracker can provide a power increase upwards of 35% when compared to fixed photovoltaic
cells (Huang et al., 2011). On the other hand, the two dimensional movement of a two axis solar
tracker allows it to follow the sun as it moves throughout the day and throughout the year.
Naturally, the two axis solar tracker is the most optimal design in that it allows the panel to be
aligned perpendicularly to the incoming sunlight virtually 365 days a year. It offers larger output
improvements than the single axis tracker does when compared to the same simple fixed cell
(Huang et al., 2011). Even when compared to the most effective method for orienting a
stationary solar panel (the monthly optimal angle method), the two-axis tracker can generate
roughly 35% more power over the course of a month (Kacira et al., 2004). Figure 1.2 shows the
average daily solar radiation averaged over the course of a year gathered by a two axis tracker
and a fixed tracker oriented south at the site’s latitude angle.
10
(a)
(b)
Figure 1.2 (a) Average daily solar radiation averaged over a year for The United States received by a fixed solar panel tilted south at the site’s latitude angle.
(b) Average daily solar radiation averaged over a year for The United States received by a two axis solar tracker (NREL.gov).
There are two different types of two axis solar trackers: Tilt-tip solar trackers and
azimuth-altitude solar trackers. A tilt-tip solar tracker allows the panel to be adjusted in both
dimensions in which it lies while the support holding it upright remains fixed. An azimuth-
altitude solar tracker on the other hand not only allows the panel to tip in one direction, but also
allows its support to rotate. Simple images of a tilt-tip solar tracker and an azimuth-altitude solar
tracker can be seen in figure 1.3.
11
(a) (b)
Figure 1.3 (a) A tip-tilt solar tracker. The frame can angle itself
to the left, to the right, forwards (as shown), and backwards. Note that the vertical support in the middle is completely fixed (TradeKorea.com).
(b) An azimuth-altitude solar tracker with arrows showing how the support and panel can move (SolarEnergyforHomes.com).
1.2 The Project
The overall goal of this project was to design and build a functioning two axis solar
tracker. The tracker is autonomous and uses a commercially bought sun sensor to follow the sun
across the sky throughout the day. While building the tracker, I did some additional physical
analysis of the design. I have performed a structural analysis of various load-bearing components
of my tracker to shed some light on its durability and what kinds of elements it can withstand
(since it will always be outside exposed to the sun, wind, rain, etc.). Once the construction of the
solar tracker was completed, I also took some data with it. This data was then compared to data
from a fixed solar panel to see what kinds of power output improvements the tracker was able to
generate.
My completed project is a working solar tracker similar to those commercially available,
but with a few notable differences. My solar tracker can only support about one square meter of
solar panel. Most commercial solar trackers offer a larger area than this, but a square meter is
large enough to be effective and illustrate the main ideas of this project. Since my solar tracker is
12
custom designed it is made to perfectly fit its location (the roof of Pomona Hall). This “perfect
fit” means the tracker attaches easily to the supports on the roof of Pomona Hall, is the proper
height to not be obstructed by any obstacles or large shadows, and is the proper width to fit in
optimally with nearby objects. Building the tracker instead of purchasing a commercial one also
offers the opportunity to do an analysis of the strength and stability of the tracker. Doing some
structural analysis and finding out what stresses the tracker’s structure is under has helped me
understand how durable the tracker is and how well suited it is to endure the elements for months
at a time. Another benefit my project offers over simply purchasing a solar tracker is reduced
costs. A commercial tracker can cost several thousand dollars, whereas my tracker costs only a
tiny fraction of that. However, as I mentioned earlier, my solar tracker only supports a fraction of
the total solar panel area a commercial tracker can support. So in the end, my goal was to have a
stable, functioning, autonomous solar tracker that can generate a noticeable improvement in
power output over an extended period of time when compared to a fixed solar panel.
13
Chapter 2. Design
2.1 The Four Major Subsystems The complex and open-ended nature of this project allowed a lot of freedom when
coming up with design alternatives. Building an azimuth-altitude dual axis solar tracker from
scratch meant there were an enormous number of things to consider throughout the design and
building process. To help keep track of all these specific considerations and ensure that the
optimal design was chosen in the end, the solar tracker was split into four different subsystems.
Each subsystem had its own specific purpose, and thus required unique considerations. These
subsystems are the support/mounting system, the central shaft/crossbar system, the north-south
tipping system, and the solar cell mounting frame system.
The solar tracker’s most basic subsystem is the supporting/mounting system. As the name
implies, the main function of this subsystem is to support the top part of the tracker and secure
the entire device safely to roof of Pomona Hall. This was to be done using three steel supports
that are built into the roof of the building. The strength and stability of these supports make them
ideal attachment points for the tracker. The supporting/mounting system also needed to raise the
mounting frame above the roof’s 40-inch tall perimeter wall. Without raising the tracker above
this wall, a large area of the mounting surface would be in shadows throughout the day. Perhaps
the most significant function of this subsystem was to provide a stable rotating base for the
azimuth tracking. This subsystem’s rotating base provides the tracker’s east-west motion, giving
the tracker the ability to follow the sun as it moves across the sky daily. The other three
subsystems would also be mounted on this base. Since it is effectively the backbone of the entire
tracker, this supporting/mounting subsystem needed to be very sturdy. Not only is it meant to
bear the full weight of the tracker, but it must also be able to remain rigid and safely secured to
14
the roof under wind loads and various torques applied to the tracker. Since this subsystem’s
effectiveness is based primarily on its strength and stability, simplicity was also an important
objective.
The central shaft/crossbar system is another relatively simple subsystem of the tracker.
The central shaft is mounted on the rotating base of the previous subsystem. Attached
perpendicularly at the top of this shaft is the crossbar. This crossbar serves as a hinge point
around which the mounting frame may tip (allowing it to track in the north-south direction). The
central shaft simply supports this crossbar a few feet above the base so that the mounting frame
doesn’t hit the base of the tracker when it’s angled nearly perpendicularly to the ground. This
subsystem does not bear much weight, but it must be sturdy and rigid enough to withstand the
wind loads and elements that may be present on the roof.
The north-south tipping system is a slightly more complex subsystem than the previous
two. This system will be a mobile subsystem that is mounted on the rotating base of the
supporting/mounting system. It is made up of a base platform, a tipping mechanism, and an
attachment to translate the tipping motion to the upper frame system. The base platform extends
the reach of the rotating base from the mounting subsystem. This provides more surface area for
the tipping mechanism to be attached. This tipping mechanism would be used to translate a
stepper motor’s rotation into vertical motion. Through the use of some kind of attachment, this
vertical motion would tip the solar panel frame about its hinge point. The tipping mechanism and
its attachment to the upper frame needed to be able to give the hinged frame roughly 90 degrees
of motion (from horizontal to vertical). To ensure accurate and reliable tracking, choosing a
design that allowed for smooth tipping and good resolution were both important considerations
while designing this tipping mechanism.
15
The fourth and final subsystem is the solar cell mounting frame system. Using mounted
bearings, this system attaches to the crossbar described earlier. Solar cells will be mounted on
this one square meter frame as it tracks the sun across the sky throughout the day. A sun sensor
mounted on this frame will be used to determine the solar module’s orientation relative to the
incident sunlight. It is the output signals from this sun sensor that will tell the tracking devices
how to move the frame in order to remain perpendicular to incoming rays. This frame needs to
have some kind of surface that allows for easy attachment of a number of solar cells
simultaneously. With so much surface area this frame could potentially act as a sail and create a
very large wind load on the central shaft and crossbar. In designing this subsystem, finding a way
to minimize this wind load is a very important consideration that has a large effect on the
stability and effectiveness of the entire solar tracker.
2.2 Design Alternatives
With an understanding of the subsystems, it is possible to come up with various design
alternatives. A number of design alternatives were developed for each individual subsystem,
meaning the final solar tracker design is a collection of the most optimal designs for each
subsystem. To judge the effectiveness of each subsystem’s design alternatives a few things were
considered. First and foremost it was important to know that a specific design alternative would
be able to perform the functions required of that subsystem. This was the only constraint, and it
had to be met by every design alternative to even be considered. There were also a number of
objectives that each design alternative would meet to various degrees. The alternative that met
the one constraint and fulfilled all the objectives best would be the optimal design for that
subsystem. The first objective was to address all the considerations associated with each specific
subsystem. For example, design alternatives for the tipping subsystem would be judged based on
16
how smooth and accurate they are, while design alternatives for the frame system would be
judged on how well they dealt with the issue of the surface area acting as a sail. The next
objective was to have each design alternative be as simple as possible. Simplicity of design
would make it easier to turn a theoretical solar tracker design into a real, functioning solar
tracker. Furthermore, if a design is overly complex, there is a lot of opportunity for things to go
wrong. Another objective that was taken into consideration was the cost of each design. For
obvious reasons, all else equal, a cheap solar tracker is much more desirable than an expensive
one. The last objective was a high level of compatibility with the other subsystems. Since the
subsystems are designed separately and then assembled to form the whole tracker, they need to
fit together seamlessly. This will ensure that the various subsystems can easily collaborate to
track the sun.
Figure 2.1 The ion beam lithography system in the elevator room of
Milikan basement after being dismantled for mechanical parts.
One thing that greatly influenced my design alternatives was the old ion beam
lithography system in the basement of Milikan. Since it had not been used in years, I was given
17
permission to take it apart and salvage anything from it that I thought might be useful. This ion
beam lithography system (pictured after dismemberment in figure 2.1) proved to be a treasure
chest of useful mechanical parts. To call this ion beam lithography system hearty would be a
serious understatement. It was very well engineered and well machined, and was made almost
exclusively out of stainless steel. I salvaged two 14.5-inch long (figure 2.2a), fine-threaded steel
rods from this ion beam lithography system. Both rods also came with steel bases that would
allow for easy mounting and rectangular runners that rode very smoothly on the threads. I also
salvaged a 7-inch diameter turntable (figure 2.2b). This turntable was made of steel and could be
driven very smoothly by gears on its underside. It also had mounting wings extending about 2.7
inches out from it on both sides, giving the entire device a span of about 12.4 inches. The ion
beam lithography system had a number of useful gears as well, including a worm drive (figure
2.2c) that was designed to drive the turntable. I also took some high quality linear bearings and
three very powerful 5 phase stepper motors (figure 2.2d) from the ion beam lithography system.
18
Figure 2.2 The various materials salvaged from the ion beam lithography system.
(a) One of the 14.5-inch long threaded rods attached to its base. (b) The 7-inch diameter turntable. (c) The worm drive that fits
with the gear on the bottom of the turntable. (d) Some of the 5 phase stepper motors and linear bearings.
The first subsystem I came up with design alternatives for was the supporting/mounting
system. I knew the 7-inch diameter turntable I took from the ion beam lithography system would
serve as a perfect rotating base, so all the design alternatives included this turntable. One design
alternative was a simple framework of aluminum or steel bar stock. This framework would be
attached to the supports on the roof and reach just above the 40-inch perimeter wall. On top of
this structure, the turntable’s wings would be secured to the framework, holding it in place. The
other design alternatives used a 38-inch tall, large-diameter aluminum tube as the main support. I
found this large-diameter tube in the stock room and was told that I could use it if I chose to
(a)
(b)
(c) (d)
19
since it had been around for ages and wasn’t needed. This large tube had a diameter of 12 inches,
meaning the turntable’s wings would rest securely on the tube’s half-inch thick rim. There were
three design alternatives using this tube and turntable set up, each utilizing a different method to
secure the large tube to the roof. The first alternative (figure 2.3a) was to span a large steel U-bar
beam across two of the three supports on the roof and bolt it down. The large-diameter tube
would then have an end cap with tapped holes on it aligning with through holes in the steel
beam. Large bolts would then screw into the tube’s end cap, securing it to the steel beam. The
second design alternative (figure 2.3b) involves having an end cap on the tube that is bolted
securely to a thick piece of sheet metal. This sheet metal would lie on the ground and cover the
area between the three supports on the roof. Directly below the roof attachments, the sheet metal
would have tapped holes. There would then be metal blocks with a tapped hole through the
center of each sitting under the supports and on top to the sheet metal. Extra long bolts would go
through the roof supports’ through holes, through the blocks’ holes, and screw into the sheet
metal below, holding everything in place. The third design alternative (figure 2.3c) used only one
of the roof supports. In this alternative, the tube’s cap would be about 11-inches in diameter so it
would fit inside the tube. This cap would then be bolted to one of the roof supports. The large-
diameter tube would then be lowered onto this cap until it was resting on the ground, meaning
the cap sat inside the tube, 7-inches from the ground. The cap and tube would be bolted together
through the walls of the tube and into the thickness of the cap. Figure 2.3 shows some
preliminary sketches of the mentioned design alternatives for the supporting/mounting
subsystem.
20
Figure 2.3. Preliminary sketches of the design alternatives
for the supporting/mounting subsystem.
The simplicity of the central shaft/crossbar system meant there weren’t many design
alternatives to consider. One design alternative was to bolt the end of a solid square central shaft
directly to the base and then use a number of struts connecting the base to a higher point on the
shaft for extra stability (figure 2.4a). At the top of this shaft would be a T fitting that could
support the circular crossbar. Another design alternative was to take a large chunk of metal and
machine a basic flange from it, so the circular central shaft could be bolted to this flange (figure
2.4b). This flange would in turn be secured to the rotating base. At the top of the central shaft,
(a) (b)
(c)
21
there would be a through hole the same diameter as the crossbar. The crossbar would then be
stuck through this hole and secured by welding it in place or bolting it to central shaft (figure
2.4c). This would require that part of the central shaft near the hole be removed to allow for full
range of motion of the upper frame. The last design alternative was to fit a solid, short cylindrical
piece of metal into a cylindrical tube and secure the solid piece to the tube by bolting in through
the walls of the tube (figure 2.4d). This solid piece would then be secured to a sturdy piece of
sheet stock, which would bolt to the rotating base. The top part of this design would be the same
as the top of the last design alternative. These design alternatives have various aspects that could
be mixed and matched in order to come up with the optimal design for the entire subsystem.
22
Figure 2.4. Sketches of design alternatives for the central shaft/crossbar system. Parts (a), (b), and (d) are alternatives to secure the bottom of the shaft to the base
while part (c) is a method to secure the crossbar to the top of the central shaft.
Despite being the most complex subsystem, the tipping system only had two distinct
design alternatives. The first alternative used one of the 14-inch threaded rods that I salvaged
from the ion beam lithography system. This rod would be mounted using the stainless steel base
(a)
(b)
(c)
(d)
23
that it came attached to. The runner would be attached to a simple rigid arm that would move up
and down as the shaft was spun by a stepper motor. This up and down movement would provide
the tipping motion. This design would also necessitate a simple counterweight so that the load on
the rotating base is balanced. The other design alternative used a chain (like a bike chain) to tip
the upper frame. In this design, each end of a long chain would be attached to opposite ends of
the frame. There would then be a motor spinning a gear that fit into this bike chain. As the gear
turned, it would “walk” along the chain in one direction, pulling the corresponding side of the
frame and tipping it towards the gear. These design alternatives could both be mounted on either
circular or rectangular bases, which would be secured to the rotating base below and the central
shaft above.
The last subsystem, the solar cell mounting frame system, had only one design
alternative. This design was simply a 1 meter by 1 meter square metal frame divided into four
quadrants and welded together to ensure strength. On opposite ends of this frame were mounted
bearings to allow for tipping about the crossbar. A large piece of perforated sheet metal would
cover the quadrants. The perforations allow wind to pass through the frame, minimizing the wind
load experienced by the tracker while also providing a good mounting surface. The sun sensor
and solar cells would be mounted on this one square meter piece of perforated sheet metal.
2.3 Design Selection
After all the design alternatives had been conceived and sketched, the next step was to
use the objectives laid out earlier to choose a final design for each subsystem. For the
supporting/mounting system, I determined the best design alternative was the one using the steel
U-bar beam to span two roof supports and secure the large aluminum tube and turntable in place
(figure 2.3a). All the alternatives would be able to successfully perform the functions required
24
and integrate easily with the rest of the tracker. However, the bar stock framework and the other
two designs using the large-diameter aluminum tube came up short in the other two categories.
The framework would necessitate purchasing the appropriate sizes and lengths of bar stock and
machining them into a sturdy and appropriately sized structure. This would be relatively
expensive and very time consuming. The other two designs using the aluminum tube could be
made using exclusively spare metal in the stock room in Milikan, but were more complex than
the chosen design and would require a fair amount of machining. So in the end, the simplicity
and feasibility of the chosen design separated it from the rest.
For the central shaft/crossbar system, I decided the optimal design alternative was figure
2.4d for the bottom connection and figure 2.4c for the connection between the central shaft and
the top of the crossbar. This bottom interface fit a solid, short cylindrical piece of metal into the
end of an aluminum tube and secured the two together. The solid cylinder was also attached to a
base, which would be used to secure and stabilize the connected components. The top part of this
chosen design threaded the crossbar through a hole in the central shaft and secured it using
setscrews. The simplicity and strength of this design alternative were the major factors that led to
it being chosen. Machining a fitting for the inside of a large tube is much easier than machining a
custom flange to fit a smaller diameter solid piece of stock. Also, smaller diameter solid stock
would be less resistant to bending under perpendicular loads (like a wind load) than a large
diameter, thick walled tube would be. The design including struts was dismissed because making
all the struts would take many hours of machining for a very small relative gain in stability. The
simplicity of the chosen design alternative also meant that it could be made using spare metal in
the stock room, so it didn’t cost any additional money.
25
The clear optimal design alternative for the north-south tipping subsystem was the design
using the 14-inch threaded rod taken from the ion beam lithography system. This design beat the
chain design in every category. The fine threading of the rod and smoothness of the runner
would allow for a very smooth tipping motion, as well as good angular resolution. The simplicity
of using a rod, runner, and base that are already assembled minimized machining time. This
system also had less moving parts than the chain alternative, which means there were fewer
things that could jam, slip, or get caught. Unlike the chain design alternative, this design
wouldn’t necessitate the purchase of any new equipment (except the stepper motor used to drive
the rod). This tipping system would be mounted on a rectangular base because this would
minimize the amount of metal used, avoid having to cut a large circular piece of sheet metal, and
would allow me to use rectangular sheet stock available in the stock room, meaning nothing
would have to be purchased. Choosing this design alternative meant I needed to add a simple
attachment to the design for the upper frame. This attachment would connect the tipping arm to
the frame, translating the arm’s up and down motion into tilting of the frame.
By combining all of these design alternatives, the optimal solar tracker design was
chosen. A 3D representation of this final solar tracker design can be seen in figure 2.6. This
tracker was designed to get the most out of the resources that were available to me, minimizing
both cost and machining time. By striving for simplicity in design and using the well-engineered
parts available to me from the ion beam lithography system, the actual machining and assembly
of the tracker went relatively smoothly. Although the process was incredibly time consuming,
the planning and forethought I put in allowed everything to come together with only minor
bumps and hiccups along the way.
26
Figure 2.6. A front and back view of the SolidWorks model of the final solar tracker design.
27
3. Control and Feedback System
3.1 Components of the Control and Feedback System
After choosing and building the optimal design alternative, the control and feedback
systems had to be put into place to make the design function as a solar tracker. Although the
actual task of tracking the sun is not extraordinarily complicated, this particular project had a lot
of things to consider since the tracker needed to be able to track autonomously for an extended
period of time. At the end of each day the tracker needed to be able to reposition itself so it could
find the sun in the morning and start tracking again. Over the course of weeks or months the
tracker would also have to deal with varying weather conditions. This meant the control and
feedback system would have to be implemented in such a way to maximize the solar cell’s sun
exposure no matter what the weather conditions were. These and other issues had to be
accounted for when programming the tracker’s motion, timing, and response to environmental
stimuli.
The control and feedback system was implemented using various electrical devices. Each
device had a specific function in the process of recognizing the sun’s relative position and
tracking it throughout the day. One such device was a dual axis solar tracking sun sensor made
by Heliotrack, LLC. This sensor, which can be seen in figure 3.1, is a simple arrangement of 6
photodiodes: two for east-west tracking, two for north-south tracking, and two for measuring
overall solar irradiance (one of which is internally connected to ground within the sensor). When
the photodiodes are illuminated the sun sensor gives voltage outputs from 0 to +5 Volts (because
we are powering it with a +5 Volt power supply). The photodiodes used for tracking work in
pairs (east-west and north-south) to determine when the amount of incident light on
28
corresponding photodiodes is equal. These corresponding diodes balance each other, so when
one receives all the light the voltage output is 0 Volts, and when the other receives all the light
Figure 3.1. The dual axis solar tracking sun sensor with
a 7 cm tall shadow box made by Heliotrack, LLC.
the voltage output is +5 Volts. A voltage output of +2.5 Volts means the diodes are receiving
approximately equal amounts light. The aiming plot for the sun sensor’s tracking diodes can be
seen in figure 3.2. In this plot, 0 degrees is defined as the incident sunlight being perpendicular to
the sensor. Note that this plot is also using a supply voltage of only 4.5 volts, meaning the output
values will range from 0 to +4.5 Volts. It is also clear from this plot that the sun sensor has very
good resolution, and moving just half a degree off of the sun will send the output voltage very
near the extremes. The two non-tracking photodiodes (called the Sun Senor Detect and the Dark
Return Input diodes) work together to give an output from 0 to +5 V corresponding to the total
solar irradiance incident on the sun sensor. When it is dark and there is not much sunlight
reaching the sensor, the Dark Return Input diode (located on the base of the sun sensor right next
to the 7 cm shadow box) measures the incident light. This photodiode is sensitive, making it
good for using at night when there is little light to detect. Receiving a low signal from such a
sensitive diode means we can be sure it is in fact dark outside and not just cloudy. However,
29
when it gets to be sunny and bright outside, the Sun Sensor Detect diode becomes the active
photodiode. This means the sun sensor automatically switches to taking its measurements from
this less sensitive diode (located on top of the shadow box). Both of these diodes send their
voltage outputs through the Dark Return Input wire, making it easy to read the output voltages
and program tracking based on their signal.
Figure 3.2. The aiming plot for the dual axis solar tracking sun sensor with
a 7 cm shadow box. Notice that in this plot the sensor is powered by only +4.5 V whereas in my solar tracker it is powered by +5 V. (Email Correspondence with Justin Bruen, Heliotrack, LLC).
Another important device I used in the control and feedback system was an Arduino. In
the developers’ own words, an Arduino is an “open-source electronics prototyping platform
based on flexible, easy-to-use hardware and software” (Arduino.cc). Said differently, an Arduino
is a programmable microcontroller that is compatible with a wide variety of sensors. It’s
simplicity and versatility made the Arduino an ideal microcontroller to use in the tracker’s
30
control and feedback system. However, the Arduino was not the only microcontroller I used. I
also used two IM483 Microstepping Drivers made by Schneider Electric Motion USA. Each one
of these IM438 drivers was associated with a stepper motor and helped execute the dual axis
tracking. To prevent these drivers from overheating they were mounted on simple aluminum
frames with a lot of surface area to help disperse the heat. These programmable microcontrollers
are more advanced than Arduinos, but served a relatively simple purpose within the control and
feedback system.
Last but certainly not least, I used two NEMA 23 3.0 Amp 2-phase rotary stepper motors
(model M-2218-3.0-[S]) also made by Schneider Electric Motion USA. As the name suggests,
stepper motors are electric motors than rotate in small steps, allowing them to be very accurate
and have high resolution. The motors I used had 200 steps per revolution (the default setting).
Another feature of stepper motors that made them well suited for this project was the fact that
they can rotate easily in either direction, which was required to allow my tracker to return to a
home position at the end of a day.
3.2 Programming and Implementing the Control and Feedback System
The first step towards implementing the control and feedback system was to connect the
various electrical components. First, the sun sensor was connected to the Arduino. The sun
sensor had 6 output wires originally attached to an 8P8C modular connector (which is the same
connector as a common Ethernet plug). These output wires corresponded to ground, +5 Volts,
sun sensor detect, dark return input, east-west tracking, and north-south tracking. The sun sensor
detect conductor was internally grounded and returned an output of 0 Volts. The dark return
input wire corresponded to the dark return and the sun sensor detect diodes. It gave outputs from
both of these photodiodes as they measured total solar irradiance and gave an appropriate output
31
from 0 to +5 Volts (as described earlier). I was able to determine which wire was which by
shining different levels and angles of light on the sun sensor and measuring the voltage out of
each wire using a voltmeter. To attach the sensor to the Arduino I cut off the 8P8C modular
connector and attached the ground wire to the Arduiono’s ground pin, the +5 V wire to the
Arduino’s +5 V pin, and the other four cables to the analog input pins of the Arduino (pins A0-
A3). So with the analog inputs attached to the Arduino, the next step was to hook the Arduino up
to the stepper motors. I did this using the Microstepping Drivers. These drivers were wired to our
stepper motors by simply attaching the phase A, phase A Not, phase B, and phase B Not wires to
their respective pins on the driver. To connect the Arduino to the drivers, I wired two digital
output pins to the “Jog +” and “Jog –” pins on each driver. Digital output pins 7 and 8 were
wired to the east-west driver and digital output pins 12 and 13 were wired up to the north-south
driver. This meant whenever these digital outputs were sent low the motor would spin either
clockwise or counterclockwise depending on which jog switch was receiving the low signal. For
testing purposes I also wired LEDs in parallel to the jog switches so I could test a program before
running it with the motor to make sure I wasn’t giving my stepper motors contradictory signals
and possibly damaging them.
To allow the solar tracker to follow the sun throughout the day, the sun sensor needed to
be able to communicate with the two stepper motors driving the azimuth and altitude tracking.
This was a multi-step process that utilized all of the electric devices described above, but in
particular the programming of the Arduino dictated how the solar tracker would move and
respond to the brightness and position of the sun. The Arduino was programmed to allow the
solar tracker to respond to three different conditions: dark, cloudy, and sunny. To determine
which one of these conditions the solar tracker is experiencing, the Arduino uses the sun sensor’s
32
dark return input and sun sensor detect photodiodes. According to the developers, for these
photodiodes, a voltage output of 0-1.2 V corresponds to darkness, a voltage output of 1.2-2.2 V
corresponds to cloudy conditions, and an output of 2.2-5 V corresponds to sunny conditions
(Email Correspondence with Justin Bruen, Heliotrack, LLC). When the sun sensor is hit by light,
the dark return input or sun sensor detect determines the intensity of this incident light and sends
a corresponding voltage to the Arduino, which then maps this voltage to an integer from 0 to
1023 (so 0 V corresponds to 0 and +5 V corresponds to 1023). This means the darkness range is
0-245, the cloudy range is 245-450, and the sunny range is 450-1023. If the Arduino gets a value
from 0 to 220, it determines that it is dark outside. I lowered the dark cutoff from 245 to 220 to
avoid getting a dark reading when it is just a cloudy day. Once this happens, the Arduino turns
the motors off and waits for 7 and a half minutes. After this period the Arduino takes another
reading. If the measured value is no longer in the dark range the Arduino enters the program loop
corresponding to the value it read. If this value is still in the darkness range the program waits for
another 7 and a half minutes. This process repeats four times. After the fourth consecutive 7 and
a half minute pause, the Arduino is convinced that it is dark outside, so it writes the digital output
corresponding to each stepper motors’ Jog – low. This makes the tracker move from north to
south and from west to east. The motors continue to turn until the limit switches are reached.
These limit switches are simple magnetic relays that turn off the motor whenever they are
activated by a nearby magnet. The switches and magnets are mounted on the tracker in strategic
locations to prevent the tracker from running into a physical barrier or rotating out of control.
The north-south limit switches stop the motor when the frame is completely horizontal or at the
other extreme when it is almost completely vertical. The east-west limit switches stop the base
from rotating when the tracker is oriented east and when it is oriented slightly north of west.
33
Once the motors receive commands from the Arduino to move in the opposite direction the
motors are able to run again. So telling the tracker to move until it hits its limit switches will
result in the tracker parking itself facing east with the frame almost vertical: perfectly positioned
to pick up the morning sunlight.
If the Arduino reads a value from 220 to 450, the solar tracker knows it is cloudy, but the
sun is still up. When this happens, the solar tracker stops tracking and instead automatically jogs
a designated amount in a given time. Once the tracker determines it is cloudy it will stop the
altitude tracking completely and rotate azimuthally for 3.33 seconds every five minutes. This
comes out to 40 seconds of tracking per hour, which corresponds to a rotation of roughly 10
degrees per hour. This means the tracker will remain oriented approximately toward the sun if it
is cloudy so it will be in a good position to start tracking again should the clouds clear up. After
each five minute period with 3.33 seconds of rotating, the sun sensor takes a reading again. If the
value is still in the cloudy range, the tracker repeats this process. If it reads a value outside the
cloudy range the tracker will enter the programming loop associated with that value.
If the Arduino gets a value from 450 to 1023 it knows it is sunny outside and it can
finally do what it’s made to do: track the sun! Once the dark return input has recognized that it is
sunny outside, the Arduino is then programmed to look at what the north-south and east-west
tracking photodiodes are measuring. When the north-south or east-west photodiodes read a value
below 80, the Arduino recognizes that the sunlight is incident on one side more than the other.
To correct this, the Arduino sends one of the digital outputs low, which jogs the motor in the
correct direction until the signal is once again above 80. As the motor is jogging, the sun sensor
continues to take ten readings per second. When the incident light is more balanced on the
photodiodes and value gets above 80, the Arduino shuts the motors off until the sun moves
34
enough to give a low value again, at which point the tracker repeats this process. The same basic
process is used if the photodiodes read a value above 920. When the value exceeds 920 the
Arduino jogs the motor in the correct direction to balance the light on the photodiodes, which
makes the signal drop under 920, at which point the motors are shut off until the signal once
again leaves our target range of 80-920. At first this range may seem large, but by considering
the aiming plot of figure 3.2 it is easy to see that even this large range corresponds to the tracker
being within about half a degree of sun at any given time. See appendix A for the complete
Arduino code.
35
4. Structural Analysis
4.1 Critical Load on the Central Shaft
One of the most important aspects of this project was to identify how this solar tracker
would perform under its own weight load and other external loads associated with environmental
conditions (specifically wind loads). By performing a structural analysis of the final design I was
able to determine how my solar tracker would handle these conditions and how these conditions
might affect its ability to track (if at all). A structural analysis of the individual components also
allows me to identify areas of high stress concentration, which could be prone to failure or
fatigue over an extended period of time. Using finite element analysis and continuum mechanics
I was able to learn more about how my tracker would perform and respond to certain loads
without having to actually apply these loads and damage the tracker.
The first calculation I did was the simple calculation of the critical load on the central
shaft. Although this central shaft did not have to bear much weight since the frame it is
supporting is relatively light, I thought knowing exactly what this buckling load was would be a
useful and interesting bit of information. For all these structural analysis calculations, vertically
down is taken to be positive and vertically up is said to be negative. Some assumptions must be
made to simplify the buckling load calculation of the central shaft. First, the central shaft is
assumed to be elastic, homogeneous, and isotropic. It is also assumed to be in equilibrium,
meaning the forces on it are balanced and it is stationary. The shaft is also assumed to be free of
imperfections with the applied load acting through the center of the shaft’s cross-section (centric
loading). Our last major assumption is that during buckling, plane sections remain plane. This
simply means that any collection of points in a plane before bending or buckling must still be in
36
a plane after the bending or buckling. With all these assumptions, the Euler equation for buckling
load can be applied. This equation states that the critical buckling load for a column is given by,
!
Pcritical =" 2EI
Leffective2
, (1)
where E is the modulus of elasticity of the material and I is the second moment of area, which is
defined as,
!
I =" (r
outer
4# r
inner
4)
4, (2)
for a hollow cylinder. Since the shaft is essentially a column that is fixed on one end and free on
the other, Leffective = 2L where L is the height of the shaft. Plugging in the appropriate values (E
for aluminum 1060 is 72 GPa), we see that the buckling load is roughly 660 kN, which means
this shaft can support about 67,000 kg of centric loading before buckling! Obviously this load is
much larger than the actual load present on this shaft, which proves that this shaft is in no danger
of failing under axial loads.
4.2 The Crossbar In the final design there are two beams that are both loaded transversely. These beams
will both experience a deflection and stress associated with their applied loads. The first of these
beams is the aluminum crossbar that supports the upper frame. A free body diagram of this beam
can be seen below in figure 4.1a. Before calculating anything, it is important to understand the
assumptions that go into these calculations. For these methods to apply, the crossbar must be
perfectly straight, elastic, homogeneous, linear and isotropic. Like in the last example, the
crossbar is assumed to be in equilibrium as well. Furthermore, we operate under the assumption
that there is only deflection in the principle plane (meaning the beam doesn’t twist at all) and that
plane sections remain plane at all times. From this diagram it is clear that the load on this beam is
37
symmetrical, meaning that the beam can be modeled as a cantilever beam. From this model, load
q as a function of distance from the attachment point x can be determined using Macaulay
brackets. These Macaulay brackets are singularity functions that represent different kinds of
loads based on the exponent of each bracket. The value being subtracted from x represents where
on the beam the loads take place. Deflection w as a function of x can then be determined using
this function q(x) by applying the relationship,
!
EId4w
dx4
= q(x). (3)
So the load function q(x) with x in inches is given by,
!
q(x) = "R < x " 2 >"1
+RLoad < x " 20 >"1, (4)
where RLoad is the half the weight of the upper frame and R is the upward force provided by the
wall of the central shaft. The upper frame weighs in at about 15 lbs, which corresponds to a total
downward force of about 67 N. Since we are only considering one half of this frame because we
have symmetrical loading, R = 33.5 N. A simple summation of forces in this directions indicates
that RLoad = R = 33.5 N. The load function of equation 4 corresponds to a deflection function,
!
w(x) =1
EI
"R
6< x " 2 >
3+RLoad
6< x " 20 >
3+c1x + c2
#
$ % &
' ( , (5)
where c1 and c2 are both constants of integration. The constants are determined numerically
using the geometric boundary conditions associated with the model. These boundary conditions
state that at the attachment point, w(0)=0 and the derivative
!
dw
dx0( ) = 0 . By applying these
boundary conditions we get c1 and c2 to be -4.279346 and 0.731224 respectively. Plugging these
into equation 5 and solving numerically for w at the end of the beam, gives us a deflection of 2.0
mm at the point where the mounted bearing applies a load on the crossbar. It’s clear that this
deflection is very small and will not cause any damage to the structure or affect the tracker’s
38
ability to track. Basic continuum mechanics also allows us to derive a shearing force and bending
moment diagram on our beam. As the name implies, these diagrams represent the shearing force
V and bending moment M as a function of x on our beam due the applied loads. These diagrams
can be seen below in figure 4.1.
Figure 4.1. A free body diagram (a), Shearing force diagram (b), and bending moment diagram (c)
for the 40 inch aluminum crossbar. Values given in terms of RLoad. The positive z direction in these diagrams is defined as vertically down.
39
4.3 The Rectangular Base
The second component of the tracker that can be treated as a beam is the rectangular base
supporting the north-south tipping system and counterweight. This example requires similar
assumptions to the crossbar problem. First, we assume that the rectangular base is perfectly
straight, elastic, homogenous, linear and isotropic. We also assume it is in equilibrium, only
bends in the principle plane, and that plane sections remain plane. For this calculation I have
ignored any wind loads or loads associated with the driving of the north-south tracking motor.
Lastly, the turntable and large-diameter aluminum tube system that holds up
Figure 4.2. A free body diagram of the rectangular base beam.
All the reactions shown act over an area of the beam. The resultant forces of Rw = 67 N, of RA = 35 N, and of RT = -102 N.
this base is taken to be perfectly rigid, so the deflection of the beam over this length will be zero.
A free body diagram for this beam can be seen in figure 4.2. This beam is less rigid than the
crossbar, and it is under a larger load, so the structural analysis is less trivial. In fact, this
component is the source of the most play and instability in the system. Applying a similar
procedure to the one used on the crossbar, I performed a calculation of the deflection as a
function of x (measured from the left side of the beam in this case) for this rectangular base.
40
However, since the loads on this beam are not symmetrical about the beam’s midpoint, the
determination of w(x) is slightly more complex. Identifying all the loads on this beam is the first
step for this structural analysis. This results in a load function of,
!
q x( ) = Rw < x >0 " < x " 4.625 >0[ ] " RT < x " 7.25 >0 " < x "14.25 >0[ ] (6)
!
+RA
< x " 22.5 >0 " < x " 25.75 >0[ ], where Rw is the force from the counter weights per unit length, RT is the upward force from the
turntable per unit length, RA is the force from the tipping attachment per unit length, and x is
given in inches. Since the counter weights weighed in at 15 lbs, the resultant force of Rw was
about 67 N (Rw = 570 N/m). The tipping mechanism and stepper motor together weighed about 7
lbs, meaning the resultant force of RA came out to roughly 35 N (RA = 424 N/m). Then, using a
balance of the forces on the base we get the resultant force of RT to be about -102 N (RA = -574
N/m). The application of the function in equation 6 to equation 3 derives this beam’s deflection
function in terms of x. This equation comes out to be,
!
w x( ) =1
EI
Rw
24< x >4 " < x " 4.625 >4[ ] +
RT
24" < x " 7.25 >4 + < x "14.25 >4[ ]
#
$ % (7)
!
+RA
24< x " 22.5 >4 " < x " 25.75 >4[ ] + c
1x + c
2
#
$ % ,
where again c1 and c2 are constants of integration determined by the system’s geometric
boundary conditions. For this case, the boundary conditions state that w(x) is equal to zero when
7.25 < x < 14.25 since the turntable and base of the tracker are assumed to be perfectly rigid
supports. Since the cross section of this base is rectangular, the second moment of area I is given
by,
!
I =bh
3
12. (8)
41
Using the geometric boundary conditions we can solve for the constants of integration. These
constants c1 and c2 come out to be -3.471433 and 1.052152 respectively. By applying these
values and the corresponding I and E to equation 7 we are able to determine the deflection at any
point on the beam. At the end of the beam (x=30 inches), we get a deflection of 0.9 mm.
4.4 Wind Loads on the Central Shaft The last analysis done using hand calculations was the investigation into how the central
shaft and upper frame would behave under a given wind load. In order to give me insight into the
worst-case scenario, for this calculation I have assumed the tracker is oriented as vertically as
possible. A free body diagram of the central shaft and frame under an applied wind load can be
seen below in figure 4.3. Since the load of interest for this problem is the wind load, any axial
loading on the central shaft due to the frame’s weight has been ignored. The load on the
cylindrical shaft is negligible compared to the load on the frame so I will ignore this as well. I
will also assume that the turntable and base are completely rigid supports for this central shaft.
The other assumptions this analysis makes are the standard ones: the central shaft is assumed to
be perfectly straight, elastic, homogenous, linear, in equilibrium, and isotropic. In addition, it is
assumed that during bending plane sections remain plane this shaft only bends in the principle
42
Figure 4.3. Free body diagram of the central shaft
and frame with a drag force from an incoming wind. plane. To obtain a worst case scenario estimate I will assume that the sheet metal covering the
upper frame is not perforated. . The first step to solving this problem was to calculate the drag
force the wind causes on the frame. To do this, I used the equation
!
FD
=1
2cd"Av 2 , (9)
where ρ is the density of the fluid (air in this case), A is the frame’s surface area, v is the wind
speed, and cd is the drag coefficient of a nearly vertical square plate. This drag coefficient is
dependent on the Reynold’s number of our frame. To simplify the model, I have assumed the
sheet metal covering the frame is of negligible thickness and can thus be treated as two-
dimensional. This assumption means that the drag coefficient of the plate is about 1.9 (Rouse,
1946). Assuming a wind speed of 30 mph (which is much higher than a normal wind speed in
Claremont) we will get a drag force FD of about 210 N. This drag force can then be used to
calculate the maximum tensile and compressive stresses in the central shaft. Since we assume
43
plane sections remain plane, this max stress will occur on the front (facing the wind) and back
sides of the shaft right above the fixed base. The stress at these points comes from the stretching
and compression of infinitesimal volumes in the shaft as the column above bends. The simple
equation
!
"max
=Mz
I (10)
is used to calculate this max stress numerically. In equation 10, I is the central shaft’s second
moment of area, M is the bending moment of the shaft about its fixed point, and z is the distance
from the central shaft’s neutral plane to the edge. The neutral plane in the central shaft is the
plane that is neither in compression nor in tension due to bending. For beams with symmetrical
cross sections like the central shaft, z is simply the distance from the center point of the cross
section to the edge. So for this problem z is equal to the central shaft’s outer radius, which is 2
inches. M is simply the product of the drag force and the distance from the fixed point it is
applied ( roughly 30 inches in this case). This gives us a maximum tensile and compressive
stress of about +3.75 MPa (positive is the max tensile stress and negative is the max compressive
stress). The tensile strength at yielding for aluminum 1060 is roughly 17 MPa, which means that
even in the worst case scenario the central shaft is easily strong enough to withstand whatever
wind loads are present.
It is also interesting and useful to determine how much the central shaft will deflect under
a given wind load. To do this, I have modeled the central shaft as a cantilever beam with a force
acting at its free end. The deflection for this situation is given by,
!
" =PL
3
3EI, (11)
44
where P is the force applied to the cantilever, L is the length of the cantilever, E is the modulus
of elasticity, and I is the second moment of area. Applying the modulus of elasticity for
aluminum 1060 and same drag force calculated earlier, we get a deflection of about 0.2 mm at
the tip of the cantilever. Obviously this is a very small deflection and it will not affect the
performance of the tracker at all. Imperfections in the actual solar tracker mean the system has
more play than this tiny deflection, but this type of hand calculation helps to verify that the load
bearing parts of the tracker are robust enough to easily handle any situation it could be presented.
4.5 Finite Element Analysis Since I had modeled every component of the solar tracker on SolidWorks before I
constructed the tracker, I decided it would be very useful to do some simple finite element
analysis using SolidWorks’ Simulation Xpress tool (SolidWorks.com). Finite element analysis is
a computer-based method of calculating numerical solutions to stress problems for objects under
known loads (Roylance, 2001). This SolidWorks simulation tool allowed me to analyze a single
design component and provided me with useful color-coded images of the part indicating areas
of different stress concentrations, displacements, and safety factors. This finite element analysis
gave me similar data to the hand calculations I performed. The difference was the SolidWorks
finite element analysis provided much more data and presented it in a much clearer and more
enlightening way. The simplicity of this finite element analysis tool also made this method of
structural analysis very appealing. By simply choosing fixed points or surfaces on a component
and applying loads in the appropriate places, SolidWorks provided animation of how the
component would react, complete with numerical values for Von Mises stresses, displacement,
and safety factors at any given point on the component. The Von Mises stress is simply a stress
value that combines all the principle stresses on an object into one scalar. One thing to keep in
45
mind while looking at the finite element analysis images SolidWorks produces is that the images
show the components in their most deformed state. The images shown do not represent the
degree of deformation associated with the chosen load, but instead depict the component in its
most extreme state of deformation to show the manners in which the component will deflect.
The first component I performed a finite element analysis of was the rectangular base. I
fixed the area that would connect to the turntable and applied the forces identified earlier. The
images from this simulation can be seen in figure 4.4. As expected, figure 4.4a shows that the
area of highest stress concentration is right next to the fixed area. However, even here there is a
safety factor of about 3 which means this rectangular base is not in any danger of failing. Figure
4.4b shows the deflections at different points on the beam with the maximum deflection being
about 1.2 mm. This deflection value is very close to the 0.9 mm deflection calculated by hand
using the load functions. This verifies our methods and means that both of the analyses are
probably reasonable models.
(a)
46
Figure 4.4. (a) The Von Mises stresses on the rectangular base
when it is loaded as it is in the tracker design. (b) The deflections of the rectangular base under these same loads.
I also used this finite element analysis to do a very basic study of the central shaft and
upper frame under wind loads. To make this analysis work I had to model the shaft and frame as
a single component. This meant the frame was modeled as a solid slab of aluminum, which
would significantly alter the deflection data from this analysis. I also modeled the drag force on
the upper frame as being perpendicular to the cover sheet of metal. Due to the structural
adjustments that had to be made to run this simulation, I determined that the deflection data
would probably not be very accurate or useful. However, the structural liberties I took in creating
this model would not affect the Von Mises stresses as significantly, so these stresses can be seen
in figure 4.5. In this simulation I applied the drag force calculated earlier perpendicularly to the
frame. This figure makes it clear that the maximum tensile and compressive stresses are located
at the front and back of the central shaft right above the fixture. It also clearly illustrates how the
stress is distributed over the surface of the central shaft. These various types of structural
analysis provide insight into the performance of load bearing components of the solar tracker,
(b)
47
and also serve as verification that the tracker would be able to handle the loads it would be
subjected to.
Figure 4.5. A simplified simulation of the Von Mises stresses on the central shaft and upper
frame system with a 30 mph wind blowing directly at the sheet metal cover. To model worst case scenario conditions the sheet metal cover is assumed to be solid.
48
5. Data Acquisition and Results
5.1 Preparation for Testing With the tracker built and programmed, the final step was actually setting it up on the
roof of Pomona Hall to let it track. The tracker was set up on Sunday, April 15th in order to track
autonomously for the following days, April 16th and 17th. Unfortunately since the tracker took
much longer to assemble and program than expected, I was only able to gather two days of data.
Both Monday (4/16) and Tuesday (4/17) were calm sunny days with light winds (~5 mph)
blowing from the east. The temperatures ranged in the 70s with very little cloud cover, making
both days ideal for solar tracking. The sun rose around 6:20 AM and set around 7:20 PM, giving
me about a 13-hour time span to collect data over each day. The results from Monday the 16th are
detailed below in the results section, whereas the data recorded on Tuesday the 17th is presented
in appendix D.
Preparing the tracker for data collection proved to be a serious undertaking. After setting
up the physical device on the roof with the help of Kyle Pokory (PO ’12) and Jordan Hammond
(PO ’12), the next step was to wire it all up correctly and install the solar module that would
record data autonomously over the course of the next 24 hours or so. With a lot of help from
Emily Yang (PO ’14) and Professor David Tanenbaum, the solar module was put into place and
wired up to the laptop that would be recording the data. A LabView program would take data
from this module every five minutes and record it into a document on the computer’s desktop.
These early stages of the tracker installation all went relatively smoothly. The actual wiring of
the various components, on the other hand, gave me some trouble.
With everything in place and installed, the last step was to wire all the electronics
together to make the tracker run (see the circuit diagram in appendix C). The many different
49
sizes of wires and connectors all in a very tight space made this exceedingly tedious and
difficult. From figure 5.1 it is clear that the inside of the weatherproof JOBOX was very cluttered
and heavily wired during this initial testing. Once I was finally able to wire the components up
correctly I attached everything to its power source to make sure it ran properly. However, when I
did this, the north-south motor started to jog and made a very loud noise. It sounded as if the
motors were not grounded, but they certainly were. After fussing with it for a couple hours (at
night with only a headlamp as light), I decided to disconnect the Arduino from the IMS drivers.
Since the Arduino is what tells the drivers when to run the motors, if the motors still ran, there
was a problem. Sure enough, with the Arduino completely disconnected the north-south motor
still ran. My solution to this problem was to use the IMS drivers I had been doing my testing
with in the basement of Milikan. These drivers can be seen in the bottom right of figure 5.1.
This solved the problem and I was able to get the tracker running as it was supposed to.
Although this is not how I intended to run the solar tracker permanently, these drivers were a
good short-term solution because they are easier to wire up than the other drivers, provide more
stable connections, and most importantly they make the tracker work!
Figure 5.1. The inside of the JOBOX during data collection.
50
5.2 Data Acquisition With the tracker finally ready to go, all that was left to do was upload the Arduino
program (see appendix A) and let it run the tracker. The program was successfully compiled and
uploaded late Sunday night and the tracker was left running it’s dark function (described earlier).
The next morning when I checked on the tracker at around 8:30 I learned that something had
gone wrong. While returning home after determining it was dark, the tracker overshot its home
limit switch and rotated about a half a revolution too far. Luckily, some part of the azimuth
tracking system was preventing the tracker from rotating too far in the wrong direction. Although
I’m not completely clear on what this was, my best guess is that the anti-backlash gears used in
this system acted as a clutch and allowed some slipping when there was a lot of force on the
gears as they rotated out of control and were pulled by all the wires. This made me realize that I
should engineer the points of failure for the north-south tracking system as well so that I can
make sure if anything goes terribly wrong I will know exactly what it is and will be able to easily
fix the problem. This limit switch failure likely happened because I had accidentally switched the
limit A and limit B switches while wiring up the tracker the night before. Fortunately, this was a
simple problem to fix. After correcting the limit switches and reorienting the tracker, it was
finally ready to go. By this time it was about 9 AM, so only a short period of data collection time
was lost. From this point forward, the tracker ran autonomously all day.
I checked on the tracker periodically throughout the day to make sure everything was
going smoothly. The east-west tracking was pretty accurate and consistent throughout the day.
However, I noticed that in the morning the altitude tracking was not very stable. It would
constantly adjust its orientation and oscillate about the correct position. To a certain extent this
was the case throughout the day, but I noticed it being especially prevalent from about 9-10:30
51
AM or so. At one point in the late morning while I was checking on the tracker it began to tilt the
upper frame continuously. It did this until the frame was almost vertical, at which point it hit the
limit switch and shut the motor off. This was particularly strange because the sun was nearly
overhead and the tracking up until this point had been fairly accurate although not very stable.
Professor Tanenbaum noticed something similar happen around 1 o’clock in the afternoon.
Eventually, when the JOBOX was opened and some wires were jostled these problems fixed
themselves and the tracker continued to function. At the end of the day, the tracker worked very
well. It kept itself correctly oriented until its limit switches and shadows from nearby buildings
no longer allowed it to track the setting sun. When the sun had set and darkness set it, the tracker
successfully executed its dark function and returned to its home position (facing due east)
completely autonomously. Although it was not a perfect day of tracking, it was a successful first
run for the solar tracker.
5.3 Results* At the end of the first day of tracking I retrieved the data the solar cell had been logging
all day. Every five minutes the LabView program recorded the efficiency, the open circuit
voltage, the short circuit current, and the fill factor of the solar module. The quantity I was most
interested in was the power output of the solar module. This value was obtained by simply taking
the measured efficiency values and applying the formula,
!
P [W ] =Efficiency
20. (12)
Figures 5.2, 5.3, and 5.4 below show the values of power, short circuit current, and open circuit
voltage recorded from Sunday afternoon (April 16) to Monday evening (April 17).
* For results from data collection on April 17, 2012 see appendix D.
52
Looking at these plots, it is clear that the first two (figures 5.2 and 5.3) look very similar,
as expected. The values of the power output plot are consistent with what we’d expect because
the solar module we are using to test is rated at 1.2 W and we are only using one half of it. This
means we should expect max power outputs to be around 0.6 W, which is about what we’re
measuring. Ideally these two plots would have very sharp jumps when the sun first rose at
around 6:20 AM. The magnitudes of the recorded values would then stay high all day until the
sun sank too low in the sky to be tracked. When this happened the magnitudes of the values
would drop sharply to near 0. So a perfect solar tracker would produce plateau-shaped plots for
power output and short circuit current. The shape of the short circuit voltage plot was also
consistent with what was expected. The voltage values stayed pretty much constant throughout
the day, and dropped off and got a bit noisy at night.
Figure 5.2. Power output vs. time for the first round of
data collection for my dual axis solar tracker (April 15-16). Power output values determined using equation 9.
53
Looking at the power output and short circuit current plots, one notices some interesting
features spread intermittently throughout the day. These features serve as a timeline telling the
story of what happened to the tracker at different points in the day. The tracker got its first
sunlight over Pomona Hall at about 7:20 AM. By 7:30, the tracker started to get more sunlight
and attempted to orient itself. However, due to the failure of the limit switches the night before, it
got caught up by its own wires and was unable to track properly. At around 8:15 Professor
Tanenbaum freed the tracker and it was able to start tracking. This allowed the values to jump up
sharply. At around 9 AM, I jogged the motor 360 degrees to unwind the cables. This took about
15 minutes, meaning the solar cell was faced completely away from the sun for this time. This
period of jogging corresponds to the largest valley seen on the three plots. After that, the plots
reflect the fact that the north-south tracking was unstable in the morning although still oriented
fairly well toward the sun. From around 11 to 11:30 the north-south tracking oriented the frame
nearly vertical for no obvious reason. I opened the JOBOX and the problem seemed to fix itself
temporarily, but around 1 PM it did something similar. This time Professor Tanenbaum opened
the JOBOX, fixing the problem. Things went smoothly after that, until about 3 PM, when the
tracker seemed to stop tracking altogether. This can be seen clearly in the plots where the values
seem to drop off slowly. The tracker remained off until around 5 PM, when it woke up and
reoriented itself, indicated by the sharp jump after the slow decline. From this time until sunset
the tracker functioned correctly. The shapes of the plots during this time period were consistent
with what was expected for the end of the day.
54
Figure 5.3. Short circuit current vs. time for the first round of data collection for my dual axis solar tracker (April 15-16).
Figure 5.4. Open circuit voltage vs. time for the first round of
data collection for my dual axis solar tracker (April 15-16).
55
A solar tracker is meant to increase the power output of a solar module over the course of
a day. To see if my solar tracker was successful, I need to compare it to a fixed solar module in
the same place. Figure 5.5 shows data for the horizontally fixed solar panels on top of Lincoln-
Edmunds over the course of April 16th, 2012. This solar panel is much larger than the tiny solar
Figure 5.5. Power output of the horizontal fixed panels on the
roof of Lincoln-Edmunds for Monday, April 16.
module I was using so the power outputs are also much larger. However, the wider shape of the
power vs. time plot for the dual axis solar tracker indicates that this system provided more
relative power than the horizontal fixed panels did. Figure 5.6 provides a quantitative
representation of this fact. In this plot, power outputs for both solar modules are plotted as a
percentage of the maximum power output during that day. This figure shows that even with
imperfect tracking the dual axis tracker provides more power per unit area than the fixed panel
56
does. For further comparison, figure 5.7 shows the power output curve of a commercial dual axis
solar tracker made by Sonnen Systems Inc. Trackers made by this company are much larger than
the tracker I built and cost roughly $15,000 dollars each! The plots my tracker was able to
produced have a very similar shape to this commercial tracker’s curve, although my plots are a
bit noisier. However, my data is also from the very first day of testing, so after working out some
of the bugs my solar tracker should be able to produce the same basic power output curve but for
a tiny fraction of the price (and surface area).
Figure 5.6. Power outputs for the dual axis tracker and the horizontal fixed panels on the roof of Lincoln-Edmunds.
Values are plotted as a percentage of the maximum power output measured in this particular day (4/16/12).
57
Figure 5.7. Power output vs. time for a commercial solar tracker
made and distributed by Sonnen Systems, Inc. (SonnenSystems.com)
5.4 Improvements After testing and gathering data for a day, the weaknesses and strengths of the solar
tracker became clear. Identifying these weaknesses will ultimately allow me to remedy any
problems and optimize the tracker as a whole. The primary problem that must be addressed is the
instability of the altitude tracking. Tracking in this direction had difficulty fixing on a location.
Instead, the tracker would oscillate about the correct position. Although this isn’t terrible, an
ideal tracker would run the motors as little as possible and only make fine adjustments
throughout the course of the day as opposed to constantly shifting back and forth. During the
testing period on Monday there were also a few times (which can be recognized in figures 5.2
and 5.3) when this axis jogged itself far away from the sun. Although I don’t know for certain,
my hypothesis is that at these times (around 11:30, 12:45, and 3:00) the electronics in the
JOBOX overheated, malfunctioned, and then stopped tracking altogether. This JOBOX is large,
brown and metal, so it certainly heats up from being in direct sunlight all day. Also, since
opening the JOBOX solved these problems it is likely that the increased air flow cooled down
the components and allowed them to function properly again. The data in figure 5.2 also tells a
58
similar tale. The tracker appears to stop tracking at around 3:00 PM, presumably due to
overheating. For the next almost 2 hours the efficiency and power output dropped slowly as one
would expect for the curve of a fixed solar cell. However, at around 5:00 PM when the sun got
lower and the temperature started to cool off the tracker turned itself back on and started to track
again. This raised the efficiency and power output back to their previous levels, and they
remained high until the sun got very low in the sky.
There are a few simple ways that I can fix the north-south tracking issues that the tracker
has been having. To fix the constants oscillation of the frame I could lower the jog speed of the
motor. The most likely candidate for these constant oscillations is over corrections by the motor
every time the Arduino takes a reading. By slowing the jog speed the frame will tilt less between
each reading. This will make it less likely that the frame has overshot its optimal orientation
since the last measurement taken. The other possible solution to the oscillation problem is to
encase the sun sensor in some kind of tube to cut down on the amount of reflected light hitting
the photodiodes. These reflections are another possible cause for the north-south tracking’s
constant adjustments. To solve the overheating problem, the most obvious solution is to put a fan
in the JOBOX. This will circulate the air a bit and keep the electrical components cooler so they
can function properly. Giving the box a new paint job might also be a good idea. Currently the
brown metal allows the box to absorb a lot of solar energy and heat up significantly, turning the
JOBOX into a giant weatherproof oven. Painting the box white or putting some kind of reflective
coating on it would significantly lower the amount of solar energy absorbed, meaning the box
would heat up less.
Another adjustment that would improve the effectiveness of the solar tracker would be to
reinforce the rectangular base. Flexing of this base under wind loads is currently the largest
59
source of play in the system. During testing I noticed that wind loads on the upper frame would
transfer some force down the tipping arm and into this rectangular base, causing it to deflect
noticeably more than my calculations predicted. By adding attachments running along the length
of the base (essentially turning it into a U bar instead of a flat base) I would be able to increase
the stiffness of this base significantly. To get a quantitative idea of this difference, the second
moment of area I of the base as it is now is 0.01 inches4. Adding a half-inch thick, one-inch tall
runner on both sides along the base’s length would increase this second moment of area to .35
inches4. Additionally, figure 5.8 shows a SolidWorks finite element analysis of this new
rectangular base with added supports when it is under the load the rectangular base is currently
under. The significant increase in I and the finite element analysis both make it very clear that
adding the extra support along the beam’s length would significantly reduce bending in the
beam, which would ultimately lead to less play in the system and a more stabilized tracker.
(a)
60
Figure 5.8. (a) Von Mises stresses in the rectangular base with added
supports running along the beam’s length on both sides. (b) Deflection in this same rectangular base with added supports along the length. The beam
is under the same load, described in section 4.3, in both figures.
The final improvement that would significantly improve the tracker would be to fix the
wiring and electronics. Currently the wiring is done through a breadboard, which is not a good
long-term solution. Soldering all the connections and making sure all the connections are stable
would eliminate the chance of faulty wiring affecting tracking. In addition, attaching all the wires
to plugs would make it much easier to disconnect the tracker. This is essential for maintenance of
the solar tracker over long time spans. Wiring everything to plugs would also significantly
reduce clutter and make working on the electronics a much more manageable task.
(b)
61
6. Conclusion The goal of my senior thesis was to design and build a functioning dual axis solar tracker
that would improve a solar module’s power output when compared to a fixed solar module. In
the end, I achieved my goal with the help of a number of people in the Pomona College Physics
and Astronomy community (see Acknowledgements). By building the tracker mostly out of
spare equipment in Milikan I was able to cut the costs down significantly. Overall, I spent no
more than $500 on the solar tracker, and the actually figure was probably closer to $300.
Compared to the costs of a commercial solar tracker this is dirt-cheap. Breaking the design
process up into four smaller, more manageable subsystems made this complicated device a bit
easier to handle. With a SolidWorks model the machining went smoothly, but still took a very
long time to complete. The programming of the solar tracker was a difficult process with many
things to consider. Each step built off of the one before it, until they all came together in the end
to give the tracker the ability to successfully track the sun. Using simple principles of continuum
mechanics and the SolidWorks finite element analysis tool I was able to determine some of the
stresses and deflections that would be present in the solar tracker’s load-bearing components.
This allowed me to verify that the tracker could withstand even the worst-case scenario. In the
end, the data I gathered was useful and showed the increase in power outage that I was aiming
for. Further testing and refining of the design are still to come.
Although the solar tracker is built and has been successfully tested, it is by no means a
finished product. The next step is to implement and test the improvements discussed in section
5.4. Further testing is also required to try to work out all the programming bugs and optimize the
tracking accuracy, especially for the north-south tracking. The wiring also needs to be redone in
a more organized and user-friendly fashion. Furthermore, the solar tracker needs to be made
62
more weatherproof. To make the tracker useful it needs to be able to function in all weather
types. This means the electronics and motors have to be safely housed so that they can sit out in
the rain and not get damaged. The openings of the base and central shaft need to be covered so
the tracker doesn’t fill up with water in wet conditions either. All the metal will also be covered
with a protective coating to prevent rusting over the course of months. In addition, the wiring
needs to be able to withstand the constant bombardment of UV rays. Some of the current wiring
is UV protected, but not all of it. Right now the solar tracker is set up in a testing state, and there
is still work to be done to make it a finalized product. I will continue to work on this tracker up
until graduation, and possibly even over the summer. It has come a long way since September,
but it is far from completely done. Designing, building, and testing this solar tracker has been an
immensely fulfilling experience that has done a great deal to develop my skills as both a
physicist and an engineer.
63
Acknowledgements I would like to express my most sincere gratitude to Glenn Flohr and Tony Grigsby. I
cannot emphasize enough how vital they were to the success of this project. Their constant
willingness to assist me in any way is an enormous part of what made my senior thesis so
successful. They both taught me an enormous amount about their specific areas of expertise
throughout the course of this project, and I am truly grateful. Next, I would like to thank my
thesis advisor Dr. David Tanenbaum. His guidance and willingness to help gave me direction
and kept me on track throughout the many months of this project. The regular discussions we
had about the project always taught me a lot, helped me dissect the seemingly daunting task
before me, and made my goals very clear. I’m also grateful he gave me the opportunity to work
with him on such an interesting project. I would also like to thank Dr. Lori Bassman of Harvey
Mudd College for guiding parts of my structural analysis. Furthermore, I would like to thank the
entire Pomona College Department of Physics and Astronomy for continued support not only
throughout the course of my thesis, but for the support I have received over the last 4 years as a
whole. I would also like to thank Emily Yang (PO ’14), Kyle Pokory (PO ’12), and Jordan
Hammond (PO’12) for their assistance in setting up the tracker to take data. Last but not least, I
would like to thank my family for always supporting me and keeping me sane as I worked on
this project. This project would not have happened without all of these people, and I am truly
grateful.
64
Appendix A: Arduino Code const int analogInSSD = A0; //Define initial inputs. const int analogInDarkReturn = A1; const int analogInEastWest= A2; const int analogInUpDown= A3; int sensorValue = 0; int outputValue = 0; void setup() { // Initialize the digital pins as outputs. pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); //Write all the outputs high (motors off) unless otherwise //stated. Serial.begin(9600); digitalWrite(12, HIGH);. digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); } void loop() { //Print the sensor values for Dark Return, North-South, and East-West. Serial.print ("East West ="); Serial.println (analogRead(analogInEastWest)); delay(500); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); delay(500); Serial.print("\t Dark Return TEST= "); Serial.println(analogRead(analogInDarkReturn)); delay(500); //If it's dark, go to the function DarkRespond. if (analogRead(analogInDarkReturn) < 220) { DarkRespond (); }
65
//If it's cloudy, go to the function CloudyRespond. if (analogRead(analogInDarkReturn) > 220 && analogRead(analogInDarkReturn) <= 450) { CloudyRespond (); } //If it's sunny, go to the function SunnyRespond. if (analogRead(analogInDarkReturn) > 450) { SunnyRespond (); } } void DarkRespond () { //Turn the motors off for 7.5 minutes. Then print the values //of Dark Return, //North South, and East West. digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(450000); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return DARK #1 ="); Serial.println(analogRead(analogInDarkReturn)); delay(200); //If it's still dark, keep the motors off and wait 7.5 more //minutes. if (analogRead(analogInDarkReturn) <= 220) { digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(450000); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return DARK #2 ="); Serial.println(analogRead(analogInDarkReturn)); delay(200);}
66
//If it's still dark, keep the motors off again and wait 7.5 //more minutes. if (analogRead(analogInDarkReturn) <= 220) { digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(450000); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return DARK #3 ="); Serial.println(analogRead(analogInDarkReturn)); delay(200);} //If it's still dark, keep the motors off again and wait for //7.5 more minutes. This means 30 minutes of darkness from 4 //readings. if (analogRead(analogInDarkReturn) <= 220) { digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(450000); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return DARK #4 ="); Serial.println(analogRead(analogInDarkReturn)); delay(200);} //If it's still dark (5th reading), send the tracker jogging //west to east for a long period //of time, meaning it will eventually hit the limit switch //and stop at its home position. if (analogRead(analogInDarkReturn) <= 220) { delay(5000); Serial.print("\t Dark Return LET'S GO HOME ="); Serial.println(analogRead(analogInDarkReturn)); digitalWrite(12, LOW); digitalWrite(13, HIGH); digitalWrite(8, LOW); digitalWrite(7, HIGH); delay(600000);
67
} return; } void CloudyRespond () { //Print the sensor values. Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return CLOUDY ="); Serial.println(analogRead(analogInDarkReturn)); delay(200); //Turn off both motors completely for 4 minutes 56.667 seconds digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); delay(296667); //Turn east-west motor on for 3.333 seconds to jog east to west. digitalWrite(13, LOW); delay(3333); //Turn motors back off. digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); return; } void SunnyRespond () { //Print the sensor values. Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t North South = "); Serial.println(analogRead(analogInUpDown)); Serial.print("\t Dark Return SUNNY ="); Serial.println(analogRead(analogInDarkReturn)); delay(200);
68
//While both signals are low, turn 8 and 12 LOW until they’re //balanced. while(analogRead(analogInEastWest) < 80 && analogRead(analogInUpDown) < 80) { digitalWrite(12, LOW); digitalWrite(8, LOW); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); //Stop it when the signal is over 80. Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(13, HIGH); //turn the motor off digitalWrite(12, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); //While east-west is low, turn 8 LOW until it’s balanced. while(analogRead(analogInEastWest) < 80) { digitalWrite(8, LOW); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(13, HIGH); //turn the motor off digitalWrite(12, HIGH); //While east-west is low and north-south is high, turn 8 and 13 //LOW until they’re balanced. while(analogRead(analogInEastWest) < 80 && analogRead(analogInUpDown) > 920) { digitalWrite(13, LOW); digitalWrite(8, LOW); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH);
69
//While east-west is high and north-south is low, turn 7 and 12 //LOW until they’re balanced. while(analogRead(analogInEastWest) > 920 && analogRead(analogInUpDown) < 80) { digitalWrite(12, LOW); digitalWrite(7, LOW); Serial.print("East West = "); Serial.println(analogRead(analogInEastWest)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(13, HIGH); digitalWrite(12, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); //While east-west is high turn 7 LOW until it’s balanced. while (analogRead(analogInEastWest) > 920) { digitalWrite(7, LOW); Serial.print("East West = "); Serial.println (analogRead(analogInEastWest)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(12, HIGH); digitalWrite(13, HIGH); //While both are high, turn 7 and 13 LOW until they’re //balanced. while(analogRead(analogInEastWest) > 920 && analogRead(analogInUpDown) > 920) { digitalWrite(13, LOW); digitalWrite(7, LOW); Serial.print("North South = "); Serial.println (analogRead(analogInUpDown)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); //While north-south is low, turn 12 LOW until it’s balanced.
70
while(analogRead(analogInUpDown) < 80) { digitalWrite(12, LOW); Serial.print("North South = "); Serial.println (analogRead(analogInUpDown)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(7, HIGH); digitalWrite(8, HIGH); //While north-south is high, turn 13 LOW until it’s balanced. while(analogRead(analogInUpDown) > 920) { digitalWrite(13, LOW); Serial.print("North South = "); Serial.println (analogRead(analogInUpDown)); Serial.print("\t Dark Return SUNNY = "); Serial.println(analogRead(analogInDarkReturn)); delay(200); } digitalWrite(7, HIGH); digitalWrite(8, HIGH); return; }
71
Appendix B: Additional Images
(1)
(2) (3)
(4)
72
(5)
(6)
73
(7)
(8)
74
(9)
(11)
(10)
75
Image Descriptions:
1. Torque-Speed Curve for the IMS 3 Amp NEMA 23 rotary stepper motors used in the
tracker (IMShome.com).
2. One of the IMS drivers that will be used in the finalized solar tracker. It is mounted on an
aluminum frame meant to disperse heat.
3. The aluminum heat dispersion frame by itself.
4. The setup of the electronics attached to a wooden block to keep them together and
organized.
5. The supporting/mounting system set up. Pictured is the large cylindrical support, the
turntable, and the rectangular base that the central shaft secures to.
(12)
76
6-8. Images 6-8 are pictures of the solar tracker tracking on the roof of Pomona Hall on
Monday, April 16th, 2012. This was the first day of data collection and these pictures
are taken around mid-morning. The large JOBOX can also be seen in figures 7 and 8.
9. The IMS 3 Amp stepper motor used in the solar tracker.
10. The turntable with the worm drive and stepper motor hooked up to it. This is how this
turntable is assembled in the large-diameter aluminum tube while the tracker is
running.
11. The large, hollow cylindrical support by itself in the basement of Milikan.
12. The setup I used to mimic the sun while testing the tracking of the solar tracker.
77
Appendix C: Circuit Diagram of the Electronics
78
Appendix D: Additional Solar Tracker Data from 4/17/2012 The data taken on day 2 of testing (4/17/12) was much nicer and cleaner than the day 1
data. The plots of power output, short circuit current, and open circuit voltage are seen below. It
is important to note that in the fourth figure comparing the module on the dual axis tracker and
the Lincoln-Edmunds horizontal fixed panels the area under the curves are 10.258 (% of max
power output)*hr and 7.381 (% of max power output)*hr respectively. This corresponds to a
39% increase in area under the curve, which is around, or even slightly above, the increase
expected based on research detailed in the introduction.
79
80
81
References "Arduino - HomePage." Arduino.cc. Arduino. Web. 10 April 2012.
<http://www.arduino.cc/>.
Bruen, Justin. Email and Phone Correspondence. Heliotrack, LLC, Heliotrack.com. 2011.
March 2012. <http://www.heliotrack.com/>.
Chin, C.S. (2011). "Design, modeling and testing of a standalone single axis active solar
tracker using MATLAB/Simulink". Renewable energy (0960-1481), 36 (11), p. 3075.
Dousoky, Gamal M. (2011). "Improved Orientation Strategy for Energy-Efficiency in
Photovoltaic Panels". JOURNAL OF POWER ELECTRONICS (1598-2092), 11 (3), p.
335.
Huang, B.J. (2011). "Long-term field test of solar PV power generation using one-axis 3-
position sun tracker". Solar energy (0038-092X), 85 (9), p. 1935.
IMShome.com. Schneider Electric Motion USA. Web. 15 Apr. 2012.
<http://www.imshome.com/products/nema23.html>.
Kacira, M (2004). "Determining optimum tilt angles and orientations of photovoltaic panels
in Sanliurfa, Turkey". Renewable energy (0960-1481), 29 (8), p. 1265.
Mousazadeh, Hossein (2011). "Design, Construction and Evaluation of a Sun-Tracking
System on a Mobile Structure". Journal of solar energy engineering (0199-6231), 133
(1), p. 011003.
NREL.gov. National Renewable Energy Laboratory. Web. 20 Sept. 2011.
<http://rredc.nrel.gov/solar/old_data/nsrdb/1961-1990/redbook/atlas/>.
Rouse, Hunter. Elementary Mechanics of Fluids. New York: Dover Publications, 1946. Print.
82
Roylance, David. "Finite Element Analysis." Reading. MIT.edu. MIT, 28 Feb. 2001. Web. 12
Apr. 2012. <http://ocw.mit.edu/courses/materials-science-and-engineering/3-11-
mechanics-of-materials-fall-1999/modules/fea.pdf>.
Solar Energy for Homes. "Maximizing Your Solar Energy Output with a Solar Tracker."
2012. Web. 20 Sept. 2012. <http://www.solar-energy-for-homes.com/solar-tracker.html>.
SolidWorks. Computer software. SolidWorks.com. 2010 Education Edition. Dassault
Systèmes SolidWorks Corp., 2012. Web. 01 Dec. 2011. <SolidWorks.com>.
SonnenSystems.com. Sonnen Systems, Inc. Web. 15 April 2012.
<http://www.sonnensystems.com/products/tracker>.
Toothman, Jessika, and Scott Aldous. "How Solar Cells Work." HowStuffWorks.com.
Discovery Communications, LLC, 2010. Web. 11 Oct. 2011.
<http://science.howstuffworks.com/environmental/energy/solar-cell3.htm>.
TradeKorea.com. Korea International Trade Association, 2012. Web. 20 Sept. 2011.
<http://www.tradekorea.com/products/Tracker.html;JSESSIONID_TK=DB4vM2GCGf2
4JM0p5FhBdcRvs4mkGx1jZk3bCS8qbxQ3hPnPD3Yj!24655167!-
356936239?outMax=40>.