Solar Tracker: Bachelor of Technology in Mechanical Engineering Submitted by
Solar Tracker: Bachelor of Technology in Mechanical Engineering Submitted by
Solar Tracker: Bachelor of Technology in Mechanical Engineering Submitted by
BACHELOR OF TECHNOLOGY
In
Mechanical Engineering
SUBMITTED BY
SUBMITTED TO
1
SOLAR TRACKER
A PROJECT REPORT SUBMITTED
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE AWARD OF DEGREE OF
BACHELOR OF TECHNOLOGY
In
Mechanical Engineering
SUBMITTED BY
SUBMITTED TO
Department of Mechanical Engineering
Ambala College of Engineering and Applied Research, Ambala
December 2016
2
CANDIDATE'S DECLARATION
We, Sachin(2313647), Sumit(2313648), Rohit(2313656), Hitesh(2314788), Sajan(2314789),
Khamish(2314791) hereby declare that the work which is being presented in the project entitled,
“Automatic side stand” in partial fulfillment of requirement for the award of degree of B.Tech.
(ME) and submitted in the Department of Mechanical Engineering, Ambala College of
Engineering and Applied Research, Ambala, Kurukshetra University, Kurukshetra, is an
authentic record of my/our own work carried by me under the supervision of Amit Arya
(Designation, Mechanical Department, Ambala College of Engineering and Applied Research,
Ambala).The matter presented in this project Report has not been submitted in this or any other
University / Institute for the award of B.Tech Degree.
Dated:
(Sachin)
2313647
Dated:
(Sumit)
2313648
Dated:
(Rohit)
2313656
Dated:
(Hitesh)
2314788
Dated:
(Sajan)
2314780
Dated:
(Khamish)
2314791
Department of Mechanical Engineering
Ambala College of Engineering and Applied Research, Ambala
(Affiliated With)
Kurukshetra University, Kurukshetra – 136119
(Established by the state legislature Act XII of 1956)
(“A” Grade, NAAC Accredited)
3
CERTIFICATE
Certified that this project report entitled “SOLAR TRACKER” is the bonafide work of
Engineering and Applied Research, Devsthali, Ambala”, who carried out the project work
4
ACKNOWLEDGEMENTS
The Project work is an important aspect in the field of engineering, where contribution is made
by many persons and organizations. The present shape of this work has come forth after
contribution from different spheres.
(Sachin) 2313647
(Sumit) 2313648
(Rohit) 2313656
(Hitesh) 2314788
(Sajan) 2314780
(Khamish) 2314791
5
TABLE OF CONTENTS
ABSTRACT ................................................................................................................................2
1. INTRODUCTION ...................................................................................................... 2
2.3. H-Bridge........................................................................................................... 10
3. RESULTS .........................................................................................................................19
4. CONCLUCION ..................................................................................................................35
5. APPENDICES ...................................................................................................................36
6
ABSTRACT
This project deals with the design and construction of a small scale photovoltaic
generator equipped with a solar tracker system. The unit built is protected against gusts of wind
50m/hr or greater that could potentially damage it, in which case the panel would be placed in a
protective position. The designed solar tracker is able to maintain a difference angle of 1.5
degrees between the normal to the PV panel and the sun rays. The unit is a mobile system
aimed to provide energy in remote areas or during emergency conditions.
1. INTRODUCTION
Since this project is about creating a solar tracker, some light dependent circuit element
would have to be used to determine the direction of the sun. The idea behind using solar cells
would be to place them at equal and opposite angles to receive signals from each based on the
strength of the sun in either direction. This would be done for both the vertical and lateral
direction, corresponding to the two motors that will drive the final reduced scale model solar
tracker. Using the differential voltage between the two, the direction of the motor changes
until the two opposing light detecting components produce roughly a zero volt differential
voltage.
7
Figure 1: Differential Voltage of Solar Cells
The difficulty was in finding the best light detecting circuit part. An important criterion
for this would be being able to adjust voltage levels based on the smallest amount of rotation of
the components while mounted to the solar panel.
The design for the analog version of our control circuit worked in three stages. It
involved taking the input from the something like photovoltides and amplifying their signal using
MOSFETs, and sending that signal to a comparator to drive them either high or low depending
on the input from the solar cells. Then from there the current had to be increased to the relays
using IRF520 MOSFETs. From there the relays are triggered to drive the motor.
The digital version of this was done using simple code that compared the voltage of
input from two ADCs, one for each pair of solar cells (possible code for this can be found in the
appendix). The ADC on the Arduino Uno Rev 3 produces a 10 bit value, meaning the smallest
value it can detect is 5mV. In addition it is easily programmable to adjust the sensitivity of the
solar tracking if needs be; it also has four additional ADCs which can be used for the wind and
pressure sensors specified in the product requirements for the solar tracker.
The H-Bridge needed to drive the motor can either use four single contact relays or 2
double contact relays. The general idea is that when one solar cell receives enough input over
the other one, a relay (or pair of relays) will cause current to flow in one direction. Relays were
selected due to their durability and lack of power consumption.
Lastly the wind sensing circuit is implemented by detecting wind gusts using the signal
from a vibration sensor. When the wind blows on the sensor it creates voltage spikes. A
MOSFET is used to limit the voltage range of the signal from the vibration sensor. The signal
output from the MOSFET goes to the microcontroller which is programmed to override the solar
tracker control code to put the panel in its protective position.
8
Figure 1.2: H-Bridge (Left) and Wind Sensor (Right)
In order to supply the system with power there is also a DC power supply that can
supply power to both the linear actuator and the slewing gear used to rotate the panel. It also
has the added feature of a connector specially for powering the Arduino microcontroller.
2. CIRCUIT DESIGN
The choice of a light-detecting component such as solar cells or LDRs was determined
based on a small set of criteria rated from 1 to 5 (since 5 difference possiblilities were chosen).
Most importantly they needed to adjust voltage based on small rotations of at least three
degrees (ideally the minimum angle detection would be infinitesimally small); voltage range
effects the sensitivity of the tracking because the larger voltage it produces, the larger the
change in voltage as the component is rotated away or toward the light, and the larger values
for the control circuit to detect. In addition another criterion was a component that did not
consume energy as it detected sunlight. Finally, as with any design cost was also a concern.
9
Voltage Power
Range Consumption Cost
Monochrystaline Solar Cells x 4(IXYS SLMD481H12L) 2 N/A 5
Monochrystaline Solar Cell (SCC2422) 3 N/A 4
Amorphous Solar Cell 3 N/A 3
Light Dependent Resistor 1 1 2
Photodiodes 4 N/A 1
Figure 2.2: Monochrystaline Cells (top left), Single Monochrystaline Cell (top right), Amorphous
Cell (bottom left), LDR (bottom left), Photodiode (middle right)
Ideally something like the array of amorphous solar cells would be best because they
don’t consume power and have a large range (max 2.4V x 4 cells = 9.6V) but the cost is $35.00
per cell array. Other than having the only power consumption among all the options the LDRs
has one of the nicest features of have an adjustable voltage range. The cost of the LDRs and
Photodiodes was very low making them good options. The amorphous cells were also relatively
cheap and produced even more voltage than the single monochrystaline cell and the
10
photodiode. Therefore the options for this solar tracker would be either the amorphous cells,
the diodes, or the LDRs.
For the solar tracker system, when the sunlight moves, and the panel has not adjusted
to the point of zero differential voltage, the angle to which the panel has to rotate to be face
directly at the sun is known as the degree of error. The goal for an acceptable degree of error
was to be about three degrees error at most. So every time light moves around the solar tracker
there should be no more than three degrees difference between the y-axis scene in figure 1 and
the perpendicular line that can be drawn from the light to the center. The light used on the cells
should create roughly an equal amount of voltage across each cell when shining at the center.
This can be seen below in figure 2.3.
One of the factors that also effected the differential voltage detection was the angle of
the two cells between each other. The differential voltage detection is the change in voltage as
the light is moved around them. Theoretically the larger the angle between cells the smaller the
detection range and the larger voltage drop across each, and the smaller the angle between
cells the greater the detection range and the smaller the voltage drop across each cell.
Intuitively this makes sense because if we take the two cells and lay them next to each other
they will produce the same voltage regardless of the angle they are at from the sun, but if we
place them back to back and do the same, the voltage across each will depend greatly on the
direction they’re facing.
11
Figure 2.4: Difference Angle
To test for the optimum angle between cells, tests were conducted in which we
adjusted the light from a range of about 60 degree from left to right across the two cells, and
adjust the “cell difference angle” shown above. In order to do this two wooden slabs were
taken and connected them together using a hinge. A single solar cell was attached to each
piece. A flashlight was positioned seventy-eight inches from the solar cells at a point
determined to be the “zero point” using the position of the shadows cast against the wall. Even
if the light were not exactly in front of the light the main goal was to make sure the light
movements were detected to a high degree of accuracy based on our estimated zero-point.
Once they were approximately directly in front of the cells (or at a 90 degree angle in front of
the cells according to the figure below) the resistance in the voltage divider to make the solar
cell voltages even could be adjusted so there would be almost exactly zero differential voltage.
Then, using the compass and the ruler, a 90-degree angle was used between cells and
the light was rotated around the cells. We calculated the position at which to move the light by
taking the angle we wanted to move the light and taking the tangent of that, and multiplying
that by the length of the distance between the light and the cells (78 inches) to determine the
place to place each of the 60 tick marks (distance of 1 degree from zeroed position = 78*tan(1) =
1.36 inches). Then, by running a tape measure from the solar cells to the tick marks, the yellow
arch seen below was covered with 60 tick marks to create sixty tick marks evenly around the
solar cells in a circle.
12
Figure 2.5: Solar Cell and LDR test set-up diagrams
This method was used for 90 degrees between cells, all the way to 40 degrees between
cells. For each of these angles we tested a change in the light from position 1 (seen above) to
position 2 and on to position 3 (an LED flashlight was used for this experiment because of it has
high light intensity and emits a relatively uniform beam). Position 2 is the zeroed position where
the voltage difference should be close to zero. We then took this data and tried to see which
angle between the cells produced the most linear and steep plot as we varied the position of the
light. This was important because we want the most sensitivity from the chosen angle
When selecting solar cells is it best to select two with very close voltages since the
voltage range can vary widely for each cell. For the cells used in this experiment, a desk lamp
was used to test each cell’s strength. They were both within 0.02 of each other, even when the
light’s distance to the cells was varied (which can make a difference).
To account for the difference in voltage between the two cells a voltage divider can be
used to make them equal, although the distance of the light from the solar cells will have an
effect as well. As long as that distance remains the same, the voltage divider should help keep
their voltages equal. For our circuit we used a voltage divider with a 1kΩ resistor as the first
resistor and a 1MΩ variable resistor to easily adjust the voltage to make them both even if
needed.
13
2.2. ANALOG SOLAR TRACKER CONTROLLER CIRCUIT
The analog motor driver circuit that was designed can be seen below. The diagram
below shows a single controller circuit, which would be connected to one solar cell and output
to the H-bridge. For a single motor there would be two of these circuits, one controlling each
direction of the motor.
The circuit starts by taking the solar cell input that could potentially be as low as 26mV
(because this is the minimum voltage change for at least one degree error) and amplifying it
using the ALD110800A MOSFET. This is a high precision N-Channel MOSFET that comes in a four
MOSFET array. It is high precision because it has a gate to source threshold voltage that ranges
from 2mV to 10mV at 1µA. This is ideal because it is desired to have the smallest possible
voltage be detected from the solar cells. It has a drain to source voltage rating of 10.6V, which is
why diodes are used to drop the voltage at the drain. Lastly, it has a 2K resistor on the input to
keep the input low when the solar cells are producing zero differential voltage.
14
Figure 2.7: ALD110800APCL: QUAD N-CHANNEL MOSFET Array
As can be seen from the schematic in figure 2.6 the comparators are LM311
comparators. From testing they required at least 0.13V differential input from the solar cells. A
comparator is used to boost the signal from the MOSFET to the supply rail value. The LM311 in
particular was chosen because it is a common comparator with a good gain and relatively low
power consumption.
The comparator is driven to the voltage of the supply rails, but alone do not produce the
necessary current to drive our motor. Next the IRF520 N-Channel MOSFET was used to increase
the current to the relays, which drive the motor. This was chosen because compared to many
other MOSFETs it has very little leakage current, which is undesired in order to conserve power.
This MOSFET is hooked up to simply amplify the signal by being a simple MOSFET amplifier.
2.3. H-Bridge
Finally we connected our MOSFETs to relays, which would be driving our motor. The
relays work as a standard h-bridge as seen in figure 2.8 below. Since only one will be switched
on at a time, when the contact of one is closed (i.e. High Side Left in the figure below), and the
others open (high right, low left), the current will go from the supply rail, across the contact, to
the motor, and then down to ground through the other relay (low right), which when the
contacts are closed connect to ground. The reason relays are preferred for our design is
because they use absolutely no current when the contacts are closed, and they only use current
on the coils which trigger the closing when the solar cells produce a voltage.
15
Figure 2.8: H-Bridge Design
The wind sensors implementation uses a vibration sensor to detect when there are wind
gusts. Gusts of wind blowing on the sensor cause it to vibrate and produce a signal. The
ALD110800A MOSFET is used to limit the range of the signal given to the Arduino to 0V-
5V. The ADC on the microcontroller is configured to read analog values from 0V-5V. In
order for the user to be able to adjust the sensitivity of the sensor to the wind, a
variable resistor is placed at the source of the transistor so the gate voltage necessary to
signal the microcontroller at the source will vary with the resistance and the voltage at
the source will be offset.
The vibration sensor produces voltages based on the degree to which its 28µm thick
piezoelectric PVDF polymer film is bent. The plot showing the relation between the two is
shown below. As can be seen the output voltage can get up to 24V but with very little current.
16
Figure 2.9: Voltage Output vs. Deflection
The voltage produced from the vibration sensor goes to a MOSFET, which is highly
sensitive to even the smallest increases in voltage. The vibration sensor is only moved about a
millimeter or two when blown by a hair dryer or small fan. Therefore we use the
ALD110800APCL MOSFET to increase that signal if it’s too small and keep it within the
zero to five volts range in case of large voltage spikes from the sensor (large
deflections). The chart below is for the MOSFET.
17
Figure 2.10: ALD110800APCL (ID vs. VDS)
Using the previous two graphs we can see that it requires an extremely small
voltage and deflection to create at least a detectable voltage at the source. For
example, when the deflection is one millimeter the voltage will be 3V, therefore the
drain voltage will be about 2mA, and therefore the voltage would be way beyond the
supply voltage (5V). Since the vibration sensor produces little current the actual output
voltage to the MOSFET will be lower. An example of this is shown in the results section.
18
Figure 2.11: MOSFET Connection In Wind Sensor
The resistor R3 is the variable resistor used to adjust the sensitivity of the
MOSFET to the vibration sensor. It is a 0Ω to 250kΩ resistor, so when it is zero, the total
resistance between the two resistors R2 and R3 is 100Ω.
When a voltage greater than 0V is detected four times at the input of the ADC (reserved
for the wind sensor circuit) it triggers the wind safe mode for the panel. The wind safe mode for
the track is initiated by having the solar tracking code overridden by code that drives the linear
actuator toward the horizontal direction. The pseudo code for this can be seen below and the
actual code can be seen in the appendix:
//loop forever:
//solar tracking code: drive h-bridge pins to drive motor in direction of solar cell with greater
//value (read from ADCs)
//increment static variable gusts, light LED, and delay briefly to capture only a single gust
//drive h-bridge pins high (ex. will drive linear actuator with a voltage needed to put panel in
//horizontal position) and delay for a period while panel gets into position
19
2.5. DC POWER SUPPLY
A standard rectifying method was chosen for the DC supply. It was created using half
wave rectification using a diode, and then full wave rectifying it using a rectifier IC. To almost
eliminate any additional ripple a large capacitor is placed in parallel with the IC. The schematic
can be seen below.
20
Figure 2.14: Arduino Power Supply Schematic
The DC power supply must have components that can handle the solar tracker
specifications which are 12V and 5A for the linear actuator and slewing drive. To begin with we
step down the wall power using the 165U11 Transformer. In addition, a switch, a light and fuse
are placed before the primary side of the transformer to turn the power off, signal when it’s on,
and avoid ruining the transformer and the motors using the fuse. At the secondary winding the
voltage between the terminals and the center tap is 11V (although the voltage under a large
may drop a small amount). The maximum current that can be produced is 15A, which is more
than is needed.
The diode that is used is the 1N3899 diode. It is rated to handle up 20A and has a
typical voltage drop of 1.1V and can handle up to 75V reverse voltage. This means it can handle
the required current, and will drop the voltage from the transformer down by 1.1V.
The rectifier used is the LM338. It is rated to handle 5A and a peak current of 7A, and is
rated for a voltage range of 1.2 to 32 volts, which is great for the DC power supply needed. It
also has a differential voltage drop when a certain amount of current is applied. The plot below
shows the amount of current per drop.
21
Figure 2.22: Output Current vs. Input-Output Differential
Finally a 1000µF capacitor was used to eliminate remaining ripple voltage left from the
rectifier. In addition to this there is also an 8.6V DC supply for the Arduino. This is implemented
using two diodes to drop the voltage down to 9V (should be between 7V and 12V according to
Arduino datasheet specs.). The 1N4004 and the 1N4735 are the two used and are rated at 1.1V
(for 1A), and 6.2V (with a maximum current of 146uA).
The first was chosen to drop the voltage and the second was chosen to drop it even
more and limit the current to the Arduino in case of large current spikes caused by the motor. If
the current were to go toward the power supply to the Arduino, the second diode would blow
(open circuit) because it can’t handle currents larger than 146uA. This portion can be seen
above in figure 2.18.
In order to truly determine how sensitive the solar track system is it was important to
test the wooden model that was implemented. The sensitivity of the system using the wooden
model was tested using both the LDRs and the photocells to see if at least one degree of
sensitivity could be achieved in both directions. The wooden model was mounted with a clear
piece of fiberglass marked with ticks placed at one-degree intervals. At the center of the ticks
was the photocells and LDRs, at the center of which was tied a piece of thread, the other end of
which was tied to the center of the flashlight used to test the degree accuracy. The thread
stretched from the center of the photocells and LDRs across the tics to show the degree of error
22
as discussed previously. A camera was placed along the side of the wooden model to monitor
the degree of error.
23
Figure 2.27: Degree Error View (Note tick marks)
Just like with the solar cell and LDR testing a flashlight was moved along the solar panel,
except this time the distance between the light and the center of the solar cells was eight and a
half feet.
3. RESULTS
As stated previously the angle between solar cells was tested for several different angles
and it was determined that an angle of 50 degrees between cells would create the greatest
voltage difference and therefore greatest light sensitivity. The data collected for this
experiment can be seen in the appendix. The plot below shows seven different angles between
cells ranging from 90 degrees to 30 degrees between cells. The x-axis represents the angle of
the light in one-degree increments, and the y-axis represents the differential voltage produced.
24
Figure 3.1: Composite Solar Cell Data
The goal hear is to find the cell difference angle that has the greatest rate of change (the
greater the rate of change the more sensitive). Most importantly it should have a large rate of
change around the zero degrees on the x-axis. Consider all the cell difference angles at once is
difficult to determine the one with the greatest rate of range, so the following graphs show each
individual difference angle plot with the best fitting curve line superimposed on top.
25
Figure 3.3: 80 Degree Difference Angle
26
Figure 3.5: 60 Degree Difference Angle
27
Figure 3.7: 40 Degree Difference Angle
With the exception of 50 degrees and 40 degrees difference angle each of the previous
plots is within 0.1V of its best fitting curve. For this reason the plots of a smaller range of angles
is shown in the following plots to see if a greater rate of change is seen.
28
Figure 3.9: 50 Degree Difference Angle
The greatest slope for any of the cells is at 50 degrees as seen from the graphs. Most
importantly the solar tracker must have the most sensativity around zero degrees so that small
degrees of error can be corrected when a small change in the lights position occurs.
Next the light dependent resistors were tested for their sensativity. The following
graphs were produced. The first are the composite voltage plots:
29
Figure 3.11: Composite LDR Data
Next are the indivdual plots which show the best fitting curves for each. The actual
collected data is show in the appendix:
30
Figure 3.13: 80 Degree Difference Angle
31
Figure 3.15: 60 Degree Difference Angle
32
Figure 3.17: 40 Degree Difference Angle
As can be seen from the graphs above the slope increases as the difference angle
decreases, but as the slope increases this area of increased sensativity narrows. In the figure
above the area of greatest sensativity narrows down to -15 to 15 degrees around the zeroed
position. For this reason 30 degrees would be the best option if LDRs were used because it has
this steep slope. The slope below and above -15 and 15 degrees respectfully are unimportant
because the error for the solar tracker should never get to this point.
Finally the photodiodes were tested for their light sensativity. The experiments
produced widely varying AC voltage values for the differential voltage so it was determined that
33
photodiodes were a bad choice. The plots below show the voltage varyation ranges for a
difference angle of nintey degrees between cells under the same conditions as the other light
dependent circuit elements. These plots were done for the light at an angle of zero degrees and
thirty degrees around the cells as the light was moved from six to seventy-eight inches from the
photodiodes. This was done to see if a difference in the light distance could make the voltage
more constant.
One of the features of the wind sensor is adjusting the sensitivity. By adjusting the
variable resistor used at the source of the MOSFET between 0Ω and 250kΩ the sensitivity is
changed. At 0Ω the total resistance at the source is only 100Ω and gives a scope reading as
shown below in figure 3.21 with an average voltage of 886µV (this is when the input value from
the vibration sensor is 0V). When the resistance is at 250kΩ the voltage at the source is on
average 6.69mV (figure 2.49). When at 886µV the voltage is below the readable value of the
ADC (5V/1023 = 4.888mV = the min ADC value), therefore the Arduino will read 0 for the digital
value. When it is at 6.69mV the “wind sensor” is at its most sensitive, so small voltage spikes
will create larger ones at the MOSFET’s source. NOTE: Sometimes the voltage value will be
below the readable value of the ADC (5mV).
34
Figure 3.21: 0Ω Variable Resistor Figure Figure 3.22: 250kΩ Variable
Resistor
When the “wind sensor” is at its least and most sensitive it is necessary to see how
sensitive the sensor is to vibrations caused from the wind. The following graph shows this
where the vibration sensor is repeatedly deflected to its furthest distance. The following
voltage spikes were recorded on the oscilloscope.
Figure 3.23: 0Ω Max Voltage Spikes Figure 3.24: 250kΩ Max Voltage Spikes
At its least sensitive the most voltage produced is about 1.6V and at its most sensitive its
max voltage is 5V, the supply voltage value.
Using a fan placed a foot and half away from the senor the following plot will be
produced of the source voltage (wind sensor set for high sensativity). For this test the variable
resistor was adjusted so the source voltage was slightly under the step size for the ADC (5mV).
As can be seen the mean value is 4.5mV. When the vibration sensor vibrates the max value is
18mV, which is more than enough for the ADC to detect. When the resistance is increased to its
max the voltage spikes increase. When the resistance is decreased the spikes decrease as
expected.
35
Figure 3.25: Source Voltage (250kΩ, 1.5ft away)
In order to determine the voltage needed to cause the max voltage spike seen in figure
3.25, the vibration sensor was supplied with an input voltage large enough to cause the max
voltage level seen above. The input was initially zero and then slowly rose to 22.193mV where
the source voltage reached the same maximum voltage as above (18mV). This can be seen in
the picture below. As the resistance is increased the needed deflection/vibration of the sensor
decreases (meaning a lower peak voltage value needed). According to the chart seen in section
2.3 this corresponds to a 0.007mm deflection.
36
3.3. DC POWER SUPPLY
Oscilloscope readings can be seen below showing the process of rectification for the DC
power supply. At the secondary winding of the transformer there is a 35Vpk-pk value. This is so
large because the voltage is being taken from one secondary terminal to the other. This is
shown below.
After being rectified by the diode the voltage looks as seen below where the average
value is 15.4V, slightly lower than the DC supply.
37
In order to lower this ripple we add the LM338 IC and a capacitor. It produces a voltage
of 15.6V without a load connected, although there is still a small ripple voltage of 13.2mV. This
is negligibly small when compared to the full 15.6V supply and the 2.2Vpk-pk voltage from before.
Once the actual load is connected the value of the DC supply drops down a bit to a
mean value of 10.1V. The waveform can be seen below. Since their more current required to
life the panel than to lower it, the voltage is slightly higher when lowering the panel (11.5V).
Figure 3.30: DC Supply Lifting Panel Figure 3.31: DC Supply Lowering Panel
In order to record the data for this experiment the degree error was recorded at the
peak value before the solar tracker moved to correct the degree error and the value after the
solar tracker moved. This is why the saw-like waveform is produced in these plots, and all the
38
data is recorded at these points. The linear region in between peeks is where the solar tracker is
not moving. The data can be seen in the appendix.
Based on the results for the wooden model test it was determined that using the
photocells there would be an average of 2.57 degrees error in the upward direction and -2.5
degrees in the downward direction. There is at least a 2.5 degrees lag in the upward direction
and at least a -1 degree lag in the downward direction.
The light dependent resistors stayed closer to zero degrees error, but varied more
widely. They also did not have as large a lag, but varied more widely. In order to increase their
sensativity the voltage range was increased to 7V. The average value in the upward direction
was 0.92 degrees error, and -0.58 degrees error in the downard direction.
39
Figure 3.33 Degree Error for LDRs
4. CONCLUCION
It was determined from the experimentation done that the best option for solar tracking
would be to use the light dependent resistors. Aside from their power consumption they are
the best option because they are clearly more sensitive; their optimum angle is at 30 degrees.
They’re sensitivity is followed closely by the amorphous solar cells with their optimum angle
being at 50 degrees.
To conclude there would have been a better method for implementing the analog
version of the control circuit. What would have been a slightly better design would have been
to use instrumentation amplifiers instead of comparators. Instrumentation amplifiers are used
for amplifying small voltage differences, like the difference between the solar cell voltages.
In addition the analog control circuit can cause chattering at the relay coils when the
signal is too close to the turn on voltage. In our case the signal from the MOSFET to the relay
may be around the 5V required to turn the relay on. In this case we’d get a chattering noise that
is undesirable. There are two methods that can help deal with this. One is to use a Schmitt
trigger that will only trigger comparators to go high and low when the solar cells have reached
certain high and lower threshold voltages. This way, anything in between will be ignored. The
other method, which is the one used for the analog version, is to have capacitors at the coils of
the relays that prevent the oscillation at the turn on voltage that causes chattering. What
happens is that the capacitors stay charged (keep the contacts closed) until the solar cells
40
voltage difference is completely back down to zero and then discharge and don’t create the
chattering of the relay contacts.
5. APPENDICES
41
-1 -0.0098 -0.0147 -0.0196 -0.0196 -0.0244 -0.0244 -0.0098
0 0 -0.0098 -0.0098 0 -0.0049 -0.0049 0.0049
1 0.0147 0.0293 0.0196 0.0049 0.0147 0.0098 0.0244
2 0.0293 0.0489 0.0391 0.0391 0.0293 0.044 0.0489
3 0.044 0.0587 0.0587 0.0782 0.044 0.0587 0.088
4 0.0538 0.0831 0.0782 0.088 0.0733 0.088 0.1173
5 0.0684 0.0929 0.1026 0.1075 0.0978 0.1026 0.1417
6 0.0831 0.1173 0.1222 0.1417 0.132 0.1271 0.176
7 0.0929 0.1369 0.1466 0.176 0.1466 0.1271 0.2053
8 0.0978 0.1613 0.1662 0.1808 0.1515 0.1564 0.2297
9 0.1222 0.1857 0.1857 0.2346 0.2199 0.1711 0.2444
10 0.1271 0.2151 0.2199 0.259 0.259 0.1906 0.2884
11 0.1369 0.2444 0.2395 0.2737 0.2981 0.2004 0.3177
12 0.1564 0.2688 0.2688 0.3226 0.3128 0.2102 0.3275
13 0.1808 0.2884 0.2933 0.3519 0.3324 0.2297 0.3324
14 0.1857 0.3128 0.3128 0.347 0.3666 0.1808 0.3617
15 0.2004 0.3372 0.3324 0.4008 0.391 0.2004 0.3617
16 0.2102 0.3617 0.3666 0.391 0.4203 0.2102 0.391
17 0.2199 0.391 0.3812 0.4545 0.4301 0.2151 0.4008
18 0.2395 0.4154 0.4057 0.4692 0.4057 0.2346 0.4106
19 0.259 0.4301 0.435 0.4545 0.3715 0.2493 0.4154
20 0.2639 0.4497 0.4497 0.5083 0.4008 0.2835 0.4301
21 0.2737 0.479 0.4741 0.5132 0.4154 0.3128 0.4497
22 0.2933 0.4985 0.4985 0.5425 0.4545 0.3275 0.4643
23 0.3079 0.5327 0.523 0.5425 0.467 0.3568 0.4643
24 0.3177 0.5523 0.5425 0.5474 0.4741 0.303 0.479
25 0.3275 0.5718 0.5621 0.5572 0.4741 0.333 0.4741
26 0.334 0.5914 0.5865 0.5425 0.4741 0.333 0.5083
27 0.334 0.6061 0.6012 0.5865 0.4985 0.303 0.5132
28 0.345 0.6207 0.6061 0.5865 0.4985 0.38 0.5132
29 0.364 0.632 0.6109 0.5621 0.514 0.44 0.523
30 0.364 0.632 0.632 0.5767 0.514 0.475 0.523
90 80 70 60 50 40 30
angle Degrees Degrees Degrees Degrees Degrees Degrees Degrees
42
-30 -1.6813 -1.911 -1.7546 -1.8556 -1.7808 -1.6975 -1.6353
-29 -1.6373 -1.8768 -1.6898 -1.8273 -1.7563 -1.6877 -1.6104
-28 -1.5738 -1.8426 -1.6532 -1.7976 -1.7166 -1.6632 -1.5808
-27 -1.5103 -1.7791 -1.6013 -1.7729 -1.6868 -1.6337 -1.5664
-26 -1.4076 -1.7204 -1.5482 -1.7434 -1.6521 -1.6193 -1.5222
-25 -1.3148 -1.652 -1.5182 -1.7136 -1.6375 -1.5995 -1.4964
-24 -1.2463 -1.5738 -1.4558 -1.6838 -1.6177 -1.5785 -1.4637
-23 -1.1779 -1.5152 -1.4057 -1.6264 -1.5873 -1.5453 -1.4324
-22 -1.1046 -1.4272 -1.3516 -1.5743 -1.5532 -1.5106 -1.4089
-21 -1.0362 -1.349 -1.3079 -1.5347 -1.5137 -1.4762 -1.3712
-20 -0.9677 -1.2561 -1.2631 -1.52 -1.4639 -1.4366 -1.349
-19 -0.9091 -1.1877 -1.2198 -1.4207 -1.4241 -1.4068 -1.3116
-18 -0.8456 -1.129 -1.1636 -1.3616 -1.3695 -1.3622 -1.2865
-17 -0.782 -1.0606 -1.1303 -1.2927 -1.3146 -1.3231 -1.251
-16 -0.7283 -0.9775 -1.0942 -1.2294 -1.2799 -1.2577 -1.2167
-15 -0.6647 -0.8993 -1.0348 -1.1461 -1.2053 -1.213 -1.1571
-14 -0.6061 -0.8407 -1.0166 -1.0779 -1.1562 -1.1238 -1.104
-13 -0.5523 -0.7674 -0.9384 -1.0299 -1.1068 -1.042 -1.0283
-12 -0.4936 -0.7136 -0.8456 -0.9268 -0.9677 -0.9835 -0.98
-11 -0.4448 -0.6403 -0.782 -0.8814 -0.9091 -0.9653 -0.894
-10 -0.3959 -0.5767 -0.6989 -0.8013 -0.8358 -0.876 -0.8298
-9 -0.347 -0.5083 -0.6256 -0.7331 -0.7625 -0.8362 -0.753
-8 -0.2835 -0.4497 -0.5523 -0.6549 -0.6794 -0.7674 -0.6858
-7 -0.2297 -0.3959 -0.4888 -0.5718 -0.5816 -0.7234 -0.6118
-6 -0.1857 -0.3372 -0.4301 -0.4888 -0.4839 -0.6598 -0.5474
-5 -0.1466 -0.2981 -0.3763 -0.4203 -0.4008 -0.5963 -0.5085
-4 -0.0978 -0.2297 -0.3177 -0.3275 -0.3079 -0.523 -0.4557
-3 -0.0538 -0.1808 -0.2395 -0.2737 -0.2248 -0.4448 -0.3715
-2 0 -0.1173 -0.1711 -0.2004 -0.1271 -0.347 -0.2981
-1 0.044 -0.0684 -0.1173 -0.132 -0.044 -0.2542 -0.1906
0 0.0929 -0.0244 -0.0635 -0.0538 0.044 -0.1711 -0.0929
1 0.1466 0.0196 0 0.0147 0.1173 -0.0684 0.0098
2 0.1906 0.088 0.0635 0.0782 0.1955 0.0391 0.132
3 0.2395 0.1222 0.1173 0.1613 0.2835 0.1369 0.2297
4 0.2981 0.1857 0.1662 0.2151 0.347 0.2102 0.3177
5 0.3421 0.2297 0.2199 0.2835 0.4252 0.2884 0.4154
6 0.391 0.2786 0.2737 0.347 0.4985 0.3812 0.5181
7 0.4448 0.3372 0.3372 0.4057 0.5718 0.4594 0.6109
8 0.4936 0.3959 0.3812 0.4741 0.6452 0.5523 0.7038
9 0.5523 0.4399 0.4448 0.6109 0.7087 0.6158 0.782
10 0.6061 0.4936 0.4985 0.6647 0.7869 0.7185 0.87
43
11 0.6549 0.5572 0.5572 0.7478 0.8504 0.8016 0.958
12 0.7038 0.6061 0.6158 0.8065 0.9286 0.8798 1.0313
13 0.7625 0.6745 0.6745 0.8847 0.9971 0.9433 1.0899
14 0.8211 0.7234 0.7331 0.9335 1.0802 1.0411 1.1632
15 0.87 0.7771 0.782 1.0166 1.1339 1.1095 1.2121
16 0.9433 0.8504 0.8553 1.085 1.217 1.1535 1.2708
17 1.002 0.914 0.9189 1.1535 1.2805 1.2366 1.305
18 1.0606 0.9726 0.9726 1.2121 1.3441 1.2903 1.3392
19 1.1339 1.0362 1.0362 1.2952 1.4076 1.3245 1.3734
20 1.1877 1.1144 1.0948 1.349 1.4712 1.3881 1.4027
21 1.2463 1.1681 1.1535 1.4174 1.5103 1.4516 1.4467
22 1.2463 1.2366 1.2219 1.4663 1.564 1.4761 1.4614
23 1.3148 1.3001 1.2952 1.5249 1.5982 1.4809 1.4858
24 1.3866 1.3587 1.3539 1.5689 1.6471 1.5054 1.5054
25 1.3866 1.437 1.4076 1.6276 1.6716 1.5445 1.5347
26 1.439 1.5054 1.4858 1.6618 1.7204 1.5591 1.5591
27 1.5103 1.5738 1.5494 1.7009 1.7351 1.5982 1.5787
28 1.6373 1.6373 1.6276 1.7302 1.7693 1.5982 1.5934
29 1.6373 1.7058 1.6716 1.7449 1.7937 1.6031 1.6129
30 1.6373 1.7595 1.7302 1.7449 1.7986 1.6373 1.6325
44
18 -2
19 -3
20 -1
21 -3
22 -2
23 -3
24 -2.5
25 -3
26 -2.5
45
/**************GLOBALS*************/
int sensorPin0 = A0; // select the input pin for the potentiometer
int sensorValue0 = 0; // variable to store the value coming from the sensor
float voltage0 = 0;
/**************CONSTANTS*************/
#define MAX_GUSTS 3
#define VOLTAGE_THRESHOLD 0
void setup()
pinMode(ledPin, OUTPUT);
pinMode(h_bridge0, OUTPUT);
pinMode(h_bridge1, OUTPUT);
46
digitalWrite(h_bridge1, LOW);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
void loop()
int sensorPin0 = A0; // select the input pin for the potentiometer
sensorValue0 = analogRead(sensorPin0);
voltage0 = float(sensorValue0)*STEP_SIZE;
Serial.println(voltage0,4);
Serial.println(gusts,DEC);
gusts++;
delay(GUST_REG_PERIOD);
47
//if gusts is greater or equal to MAX_GUSTS, then drive the motor to safe mode
digitalWrite(h_bridge0, HIGH);
digitalWrite(h_bridge1, HIGH);
gusts = 0;
digitalWrite(h_bridge0, LOW);
digitalWrite(h_bridge1, LOW);
/**********SOLAR_TRACKER.C****************
Dante Johnson-Hoyte
12/14/12
INTRODUCTION:
This program is used to trigger the activation of a motor which will turn
the panels on a solar tracker. The code will take solar cell inputs into
ADC0 and ADC1 and compare them. The greater value will activate the motor
48
to turn in a particular direction using pins 2 and 4.
******************************************/
/**********CONSTANTS*******************/
#define WEAKER_CELL_OFFSET 10
#define CELL0_STRONGER 1
#define CELL1_STRONGER 2
#define ZERO_ERROR 0
/****************************************/
/****************HEADER FILES*****************/
#include “wind_sensor.ino”
/****************************************/
/**********GLOBAL VARIABLES*******************/
volatile int solar_track = 1; //keep track of the state of the mode the program is in
/****************************************/
49
/**********FUNCTION PROTOTYPES*******************/
int errorCorrect(void);
/****************************************/
/**********SETUP**************************/
void setup()
pinMode(ledPin, OUTPUT);
pinMode(h_bridge0, OUTPUT);
pinMode(h_bridge1, OUTPUT);
digitalWrite(h_bridge1, LOW);
Serial.begin(9600);
/**********LOOP**************************/
void loop()
50
{
cell0_value = analogRead(A0);
voltage0 = float(cell0_value)*STEP_SIZE;
voltage1 = float(cell0_value)*STEP_SIZE;
Serial.println(voltage0,4);
Serial.println(voltage1,4);
else
Serial.println(“0V”);
51
52