Transcript
8/10/2019 Solar Tracker Report Example
1/75
i
Mechanical/Electrical/Software
TeamDesignandPrototyping
fora
SunTrackingSolarEnergyCollector
System
ForMechanicalEngineering4B03
Authors:
TylerKenyon
YajieJiang
AllanD.Spence
August2010
8/10/2019 Solar Tracker Report Example
2/75
I
TableofContents
1.Introduction................................................................................................................................ 1
2.
Fixed
vs.
Tracking
Solar
Panels
....................................................................................................
1
3.OrbitalMechanicsReview.......................................................................................................... 2
4.SystemRequirementsSummary................................................................................................. 3
5.ComponentsandEquipment...................................................................................................... 4
6.ConceptualMechanicalDesign................................................................................................... 7
6.1AzimuthTrackingBase.......................................................................................................... 8
6.2ZenithTrackingUpperStage................................................................................................. 9
7.
CAD
Detail
Design
and
Assembly
..............................................................................................
14
7.1AzimuthTrackingBase........................................................................................................ 14
7.2ZenithTrackingTop............................................................................................................. 14
9.PhysicalModelRealizationfromCAD....................................................................................... 18
10.Summary................................................................................................................................. 18
Acknowledgements....................................................................................................................... 18
11.Appendix................................................................................................................................. 19
Appendix
A1
Electrical
Implementation
.................................................................................
19
AppendixA2ArduinoSoftwareTutorial................................................................................ 32
AppendixA3SoftwareImplementation................................................................................. 37
AppendixA4CADDrawings.................................................................................................... 38
AppendixA5RapidPrototypedComponentCosts................................................................ 39
References.................................................................................................................................... 40
8/10/2019 Solar Tracker Report Example
3/75
1
1.IntroductionHarnessingsolarphotovoltaicenergyisapromisinggreenenergytechnology. Toensure
highestenergy collectionefficiency, it isproposed thatanautomatic sun tracking systembe
developed to continuously align the collector surface normalwith the instantaneous solarvector(thedirectionfromthecollectortowardsthesun. Anexampleofafullscalesystemis
showninFig.1. Thefocusofthisprojectistwofold:
1. Mechanicaldesignandprototyping
2. Electronicandsoftwaredesignandimplementation
Forconsistencywithestablished industryandscientificstandards, thesystemwill trackusing
AzimuthandZenithangles (Fig.2) [1].Theprojectdeliverablesaredesigndocumentsandan
actual scale model prototype that faithfully represents the design required for a full size
system. CoordinatedteameffortofstudentsinbothMechanicalandMechatronicsEngineeringismandatory.
TheCADdesignforthesolartrackingsystemwascreatedusingAutodeskInventor2010
[2].PrototypeplasticcomponentswereproducedusingaDimensionBST[3]rapidprototyping
machine. The software and electronics are based on an Arduino Duemilanove [4]
microcontroller.
2.Fixedvs.TrackingSolarPanelsSmall solarpanelsare frequently installedata fixedorientation,whereas larger installations
typicallytrackthesolarvectorusing2axisAzimuth/Zenithaxes. Thereturnoninvestmentfor
theaddedexpenseoftrackingcanbeestimatedbyreferringto insolationdataavailablefrom
[7]. ForCanada, the preferred fixedorientation is adue South facingAzimuth,with Zenith
angle corresponding to the latitude. Using Hamilton as an example, selected mean daily
insolation values [8] are reproduced inTable1. DuringDecemberdays,when thedays are
short and the sun is predominantly towards the South, there is a limited gain from 2axis
tracking. During the long days of June and July, the 2axis advantage is 8.9 kWh/m2 / 5.5
kWh/m2=62percent. Thereasonforthe2axisadvantageisthegreaterAzimuthrangeinthe
summer. Recognizingthattheextremeweathersummerairconditioningloadcausesagreater
electricityloadthanwinterheating[9],harnessingtheextraenergyfromsolartrackingonhot
summerdaysisattractive. Itisabalancebetweeninitialcapitalcost,extramaintenance,and
powerconsumedfortrackingvs.extraenergycollectedessentiallyaneconomyofscale. This
optimizationisanessentialengineeringdesignissueforfullscaleimplementation. Forthescale
model project in this course, it is sufficient to recognize the significant potential gain for
8/10/2019 Solar Tracker Report Example
4/75
2
tracking, but limit activity to demonstrate application of the course product design and
developmentconcepts.
3.OrbitalMechanicsReview
Thesunchangespositionintheskybecauseoftwoeffects(Fig.3):
1. DailyrotationoftheEarth
2. Seasonalvariationdueto23.5degreerotationaxistilt
Thesunposition(orsolarvector)hasbeenobservedforthousandsofyears,and isknownto
highaccuracy. Usingalmanactablesoronlinesoftware[6],sunriseandsunsetinformationfor
specific latitudesand longitudescanbeobtained. Forexample (Fig.4),on June21,2010at
Toronto,Ontario,thesunrisesat5:36amEDTatanAzimuthof56degreesEastofNorth. Itsets
at 9:03pm at anAzimuthof304degrees. Atnoon theAltitude angle is69.8degrees. The
Zenithangleis9069.8=20.2degrees. BecausethelatitudeofTorontois43.7degreesNorth,
andtheaxistiltis23.5degrees,aZenithangleof43.723.5=20.2degreesisexpected.
Thefactthat,duringtheNorthernsummer,thesunrisesandsetsNorthofEast/West, isalso
duetotheaxistilt. SeeFig.5foranillustration. At43.7degreesNorthlatitude,themorningis
longerby24.49degrees. Since15degreesisonehour,thiscorrespondstoalongermorningby
1.63hoursor1hourand38minutes. Theeveningissimilarlylengthenedforatotaldaylength
of12+3.26hours=15.26hours=15hours16minutes. Actuallengthofdayisslightlylonger
thanthisduetoatmosphericrefraction(about7minutesintotalattheequator).
Attimesotherthansunrise,noon,orsunset,thesolarvectorcanbecalculatedusingpublished
algorithms [1]. Thisparticularalgorithmacceptsas inputthe location latitudeand longitude,
andthetimeofdayexpressedinCoordinatedUniversalTime(UTC),themeansolartimeatthe
prime longitudemeridianpassing through theRoyalObservatoryatGrenwich,England. This
informationisavailableusingaGlobalPositioningSystem(GPS)receiver. Forafixedposition,
the latitude and longitude are constant, and a realtime clock is sufficient. The algorithm
outputisthesolarvectorAzimuthangleandZenithangle,asdefinedinFig.2.
8/10/2019 Solar Tracker Report Example
5/75
3
4.SystemRequirementsSummaryForthisreport,theprototypesolartrackeristobeascalemodelofaproposedfullsizedesign
withthefollowingrequirements:
Figure1. ExampleFullScaleSunTrackingSolarPhotovoltaicEnergyCollectionSystem(photo
byA.Spence)
Table1.MeanDailyInsolation(inkWh/m2)forHamilton,Ontario(summarizedfrom[8])
South-facingvertical
(tilt=90)
South-facing,tilt=latitude
South-facing,tilt=latitude+15
South-facing,tilt=latitude-
15
Two-axissun-
tracking
Horizontal(tilt=0)
January 2.8 2.8 2.9 2.5 3.3 1.6
June 2.6 5.4 4.7 6.0 8.8 6.2
July 2.7 5.5 4.8 6.1 8.9 6.3
December 2.2 2.2 2.3 2.0 2.6 1.2
Annual 2.9 4.2 4.0 4.3 5.9 3.7
8/10/2019 Solar Tracker Report Example
6/75
4
ItisintendedforuseinCanadaatlatitudesbetween40and60degreesNorth.
Sofarasispossible,itistoutilizethecomponentsandequipmentdescribedherein.
Itistocalculateazimuth/zenithanglesusingthecurrenttimeobtainedfromtherealtime
clock.
Itisassumedthattherealtimeclockremainspoweredupfromitsbackupbatteryandisalwaysreliable,evenifpowerislosttotheArduinoandsteppermotors. Uponpowerup
(includingafterapowerfailure),thesystemmustrecoverinawaythatavoidsovertravel
orwindupofeithertheazimuthorzenithstage.
Powerwillbeprovidedusingawalltransformersupplying9VDC1000mAtotal.
Duringdaylighthours,thesystemmusttracktowithin1degree. Afterdarkthesystem
istoparkwithazimuthSouthandZenithanglezero(upwards). Apinholeorothermeans
toverifytrackingfidelitymustbeincluded.
Theprototypemustbereasonablysafetooperatewithlowriskofinjurytooperators,or
damagetoequipment.
5.ComponentsandEquipment
Components
The project involves mechanical/electrical/software (mechatronic) product development.
Emphasis ison themechanicalaspects,withjudiciouschoiceofelectrical/software interface.
Thefollowinglistdescribesthesuppliedcomponentsavailabletocompletetheproject.
ArduinoDuemilanove
microcontroller:
This microcontroller provides a very simple programmable interface to the electrical
switches,motor,clock,etc. Forcommunicationandcustomization, it isconnectedtoa
Windows/MacOScomputerusingastandardUSBcable. Theassociatedprogramming
softwareisavailableatnocharge. Implementationofthecurrenttimetoazimuth/zenith
angleconversionprogram[1]isprovidedforyoutouse. RefertoAppendixA1fordetails.
ArduinoDuemilanovecustomexpansionshield:
Toprovide a standard interface for theproject, an expansion shield is provided. This
custommade
shield
includes
(see
below)
aDS
1307
real
time
clock,
two
MC
3479
stepper
motor drivers, and support components for themechanical limit and optical homing
switches. RefertoAppendixA2fordetails.
ElectroMechanicalComponents:
Autodesk InventorCADdrawingsareprovided inAppendixA3,andcomputer readable
modelfilesareavailableonthecoursewebsite.
8/10/2019 Solar Tracker Report Example
7/75
5
o JapanServoKP35FM2035StepperMotors
Thesemotorshaveafullstepresolutionof1.8degrees(200stepsperrevolution).
Maximumtorqueis700gcmoftorqueat24VDC/500mA. Installedconditionsare
9VDC,andhenceamaximumtorqueof250gcmisrealistic.
o MechanicalLimit
Switch
Amechanical limit switch isused. On theprovidedprototype, the switchwillbe
triggeredwhen the azimuth stage approachesNorth, and can be sensed by the
microcontroller. Together with the optical homing switches, checking for
unintended azimuthwindup after power loss can be programmatically detected
andrecoveredfrom.
o OpticalHomingSwitches
Optical switchesareused to sense,withhigh repeatability,both theazimuthand
zenithhomepositions. ByinterruptingtheLEDlightbeam,theprovidedprototype
homestheazimuthat90degrees(East),andtheZenithat90degrees(horizon).
SignificantMechanicalHardware:
o AzimuthStageLazySusanBearing:
Thechosen3 inchDiameterLazySusanbearing(LeeValleyToolsSKU12K01.01) is
usedtotakethegravityweightthrustloadfortheAzimuthrotationalstageonthe
prototype. This bearing is quite loose, and a higher quality choice would be
requiredforafullsizeimplementation.
o MountingHardware:
Unlessstatedotherwise,thethreadedfastenersare#632threadinstalledin4mm
diameterclearanceholes. Forsnugness,pivotsusemetricM40.7thread. Alength
of#1032threadedbrassrod,withcorrespondingnuts,wasusedfortheprototype
Zenithstageleadscrew.
o SheetPlastic:
Smallquantitiesof0.125 inchand0.250 inchthickclearsheetplasticareavailable
fromtheMechanicalEngineeringTechnicalServicesstafflocatedatJHE205.
Equipment
DigitalMultimeterCircuitTestKit:
TheelectricalcomponentsareprewiredforconnectiontotheArduinocustomexpansion
shield. For convenience,minor circuit testingcanbeaccomplishedusing theCanadian
Tirekit#52-0064-4 digital multimeter, wire strippers, and pliers.
8/10/2019 Solar Tracker Report Example
8/75
6
SmallWrenches,ElectricDrills,etc.:
Smallwrenchesforsecuringfasteners,etc.areavailablewiththemultimeterkits. Electric
drills fordrilling sheetplastic are available from theMechanical Engineering Technical
ServicesstafflocatedatJHE205. Successfulcompletionofashopsafetytrainingcourse
at
the
beginning
of
the
term
is
required
before
using
powered
equipment.
RapidPrototypingPrinter:
RapidPrototypingservicesareprovidedbyMechanicalEngineeringTechnicalServicesfor
afeeof$12percubicinchofpartmaterial. TheDimensionBST768maximumbuildsize
is 8 inches (~200mm) 8 inches (~200mm) 12 inches (~300mm). The printing
resolution is0.010 inches (~0.25mm). Supportmaterialwillautomaticallybeaddedby
theDimensionCatalystsoftware. Thereisnochargeforsupportmaterial,butyoushould
considertheneedtomanuallyremovethesupportmaterialinyourdesign.
TheprinterusesABSplastic,amaterialwithapproximatematerialproperties:
Youngsmodulus=2.89GPa PoissonsRatio=0.38
YieldStrength=40MPa Density=1.06g/cm3
Becausethematerialisnottrulysolid,itisrecommendthatyourdesignassumestiffness
and strengthvalues thatare50%of solidABS. Usingawall thicknessno thinner than
0.060 inches(1.5mm)toavoidrapidprototyping layerdelamination. Tomostfaithfully
emulateplasticinjectionmoulding,constantwallthicknessesshouldbeused.
ComputerAidedDesignSoftware:
The facultyhasnow standardizedonAutodesk Inventor forgeneralCADuse. Allwork
submittedforgradingmustbecreatedusingInventor(noexceptions). Itisexpectedthata kinematically correct mechanism solution will be completed before physical
prototyping. Finiteelement analysis isnotessential,but reasonablejudgmentofpart
stiffnessisexpected.
Whensavingparts inSTL format for rapidprototyping,select theoption tousehighest
resolution. Designswillbereviewedbytheinstructor/TAs/TechnicalServicesstaffbefore
printing. Advice to revisedesignsareprovided toavoidwastedprinting,and the final
decisionwhenandiftoprintanypartrestssolelywiththeinstructionalteam.
8/10/2019 Solar Tracker Report Example
9/75
7
6.ConceptualMechanicalDesignInordertofullytrackingthesunfromsunrisetosunsetusingthesuppliedrealtimeclockand
Azimuth/Zenith calculation algorithm, the preferred mechanical design should employ
matchingrotaryaxes. Foramaximumlatitudeof60degreesNorth(suchasnearYellowknife,NWT),atthesummersolsticethesunrisesat27degrees(measuredEastfromNorth),andsets
at333degrees. At40degreesNorth(suchasnearWindsor,ON),theZenithstage,onwhich
thesolarpanelismounted,mustcoverarangefrom90degrees(horizon)to16.5degreesfrom
overhead.
Figure2. SolarVectorAngleDefinitions(from[1]). TheAzimuthangle()ismeasuredfrom
True North towards True East. Therefore True North corresponds to 0 , True East
corresponds to 90 degrees,TrueSouth corresponds to 180 degrees,andTrueWest
correspondsto 270 degrees. TheZenithangle( Z ) ismeasuredfromdirectlyoverhead.
Hence 0Z means that the sun isdirectlyoverhead,castingno shadow. Thisoccurs, forexample, at local solar noon on the equator on an Equinox (approximatelyMarch 20 or
September22).
8/10/2019 Solar Tracker Report Example
10/75
8
Toavoiddependenceonelectricmotor torque tomaintainpositionagainstwindandgravity
forces,goodbalancingand selflockinggear reduction shouldbeused. For rotarymotion,a
wormgearcanbeused. For linearmotion,a leadscrewcanbeused. For learningpurposes,
theprototypedescribedinthisreportusesawormgearfortheAzimuthstageandaleadscrew
fortheZenithstage. Thisisnotnecessarilyoptimal,andyouareexpectedtocriticallyevaluate
choices foryourteamdesignbasedonspecificrequirementsannounced forthecurrentyear
courseoffering.
6.1Azimuth-TrackingBaseForlearningpurposes,andtopermitcustomization,theAzimuthwormgeardrivewasdesigned
using theDesignAcceleratorwithinAutodesk Inventor. Sizeswere approximated to fit the
supplied steppermotors, switches,and LazySusanbearing. Forademonstrationprototype,
this is somewhatabestjudgmentapproach. Full sizedesignsmust includeoptimization for
technicalcapability,attractiveness,environmentalcompatibility,cost,etc. Aworm(thescrew
likegearthatattachestothesteppermotor)pitchdiameterof20mmwaschosen. Thecenter
distance (from thecenterof theworm/motoraxis to thecenterof the largewormgearaxis
(alignedwiththeAzimuthaxis)wassetto82mm(Fig.6).
A coarse approximation for the ABS dry coefficient of friction is 0.5fc . For the chosen
lead/helix angle 11.3 degrees, tan 11.3 0.2 0.5 fc and hence self locking is
assured.
Withthechosenratioof36,themotor/wormwillrevolve36timesforeachrevolutionofthe
larger(LazySusanaxis)wormgear. Eachmotorrevolutionequals10wormgeardegrees,and
hencewith200fullstepspermotorrevolution,theresolutionis10degrees/200steps=0.05
degreesperstep.
Atpowerup,themicrocontrollerhasnoinformationonthecurrentAzimuthangle,andhence
an initialization procedure is needed. After initial installation, a properly operating system
shouldneverbeoutsideofthe27to333degreeAzimuthrange,evenifpowerislost. Hencea
powerupmotion that turns theAzimuth stageEastward toan initializationpositionof22.5
degreesshouldalwayssucceed. Intheprototype,thisisaccomplishedusingasmallscrewthat
protrudesdownward from theAzimuthwormgearand interrupts theopticalhoming switchLED light beam. Themicrocontroller senses the change in switch status, stops the stepper
motor, and initializes its internal Azimuth angle counter to correspond to an angle of 22.5
degrees. If,foranyreason,theopticalswitchsensingprocedurefails,motionwillcontinueuntil
anangleof zerodegrees (dueNorth) is reached. At thispointa second,upwardprotruding
screwwillcontactthemechanicalrollerleverlimitsafetyswitch,disconnectingsteppermotor
power independentofthemicrocontroller. Thisisconsideredtobeafaultconditionthatcan
8/10/2019 Solar Tracker Report Example
11/75
9
onlybeclearedbydepressingtheoverride limitswitchandcommandingthesteppermotor
to move the Azimuth stage Westward, or by manually moving the Azimuth worm gear
Westwardbeyond22.5degreeswhilethesteppermotorisunpowered.
6.2
Zenith-
Tracking
Upper
Stage
TheZenithtrackingstagesimilarlymustbeselflockingtoavoiduncontrolledmovementinthe
eventofelectricalpowerloss,highwinds,andthegravityforceduetothesolarpanelmass. A
wormgeardrivesimilartothatusedfortheAzimuthstagemaybethebestchoiceforpractical
implementation. Foracademic illustration,theprototypedescribedhereinusesaselflocking
leadscrewimplementation. ThekinematicconceptisshownasaCADsketchinFig.7. Allunits
areinmillimetersanddegrees. Theleadscrewnutpivotislocatedatpoint ,0A X ,where
0X whenthepivot is locatedatpoint D . Asthesteppermotorturnsthe leadscrew,the
nut pivot is constrained to travel along the horizontal lead screw bounded by points
24,0M and 88,0N . ThesolarpanelpivotsarelocatedatpointsB andC.
Usingtrigonometry,thenonlinearkinematicrelationshipbetweenthelinearmotionofthenut
pivot A andtheZenithangle (theta)canbeexpressedusingthesystemofequations
cos cos 180
cos cos
0 15 sin sin 180
15 sin sin
X BC AB
BC AB
BC AB
BC AB
ForadesiredZenithangle,iterativeNewtonRaphsonzerofindingtechniquescanbeusedto
solve for the corresponding nut pivot position ,0A X . Details are presented in the
softwarealgorithmimplementation(AppendixA1).
The lead screw used has a #1032 thread (32 threads per inch), and hence the nut pivot
advancesby1/ 32*25.4 0.79375 mm perrevolutionor0.79375 / 200 0.004 mm perstep.
8/10/2019 Solar Tracker Report Example
12/75
10
Figure3. EarthOrbitandAxisTiltEffectonSeasons(from[5])
8/10/2019 Solar Tracker Report Example
13/75
11
Figure4. SunriseandSunsetDataforJune21,2010atToronto,Ontario(from[6])
(a) (b)
Figure5. SummerSolsticeGeometryatToronto,Ontario. Theearthaxistiltis23.45degrees.
Thelatitudeis43.7degreesnorth. Thesliceofearth(inthechestnutbrowncolour)isfrom90
degreeseastback towhere theday/nightboundary ison June21. (a)Ata latitudeof43.7
degrees,thislengthensthemorningby24.49degreesoflongitude,or1hourand38minutes.
The
evening
length
increases
by
an
equal
amount,
for
a
total
of
3
hours
and
16
minutes,
makingthegeometricdaylength15hoursand16minutes. TheextratimeshowninFigure4
isduetorefractionnearthehorizon(upto7minutesneartheequator). (b)Toanobserveron
thesurfaceoftheearthatToronto,thesunappearsatthedawnhorizon56.6degreesnorth
ofeast.
8/10/2019 Solar Tracker Report Example
14/75
12
Figure6. AzimuthStageAutodeskInventorDesignAcceleratorWormGearParameters
8/10/2019 Solar Tracker Report Example
15/75
13
(a)
(b) (c)
Figure7. LeadscrewZenithTrackingStageKinematicConceptSketch: (a) pointandangle
labels; (b) geometryatZenithangleof90degrees; (c) geometryatZenithangleof0
degrees.
8/10/2019 Solar Tracker Report Example
16/75
14
7.CADDetailDesignandAssemblyComputer Aided Design of all major system components was performed using Autodesk
Inventor,withassembliesandkinematicmechanismconstraintsusedtoverifycorrectmotion.
Asbefore, theCADdesign is separated into theAzimuthandZenith tracking stages. Abrief
summaryispresentedhere. DetaileddrawingsarecontainedinAppendixA3.
7.1Azimuth-TrackingBaseFig.8(a)showsthegeneralCADdesignoftheazimuthtrackingbaseanditsassemblysituation.
Otherthanpurchasedhardware,thedetaildesignedcomponentsincludeanacrylicbaseplate,
arapidprototypedwormwheelgearring,theworm,andamotorbracket.Thebaseplate#632
clearancemountingholesweremadeusingaworkshopdrillpress/millingmachine. Therapid
prototypedsteppermotorbracket ismountedtothebaseplateandadjustedsothatcorrect
gearengagement isachieved. The Lazy Susanbearing ispositioned10mm above theplateusingspacersandlonger#632screws,washers,andnuts.Thewormgearisdesignedasaring
shapetoreducerapidprototypingmaterialconsumption.Acorrespondingholepatternmates
to the topplateof theLazySusanbearing.Theopticalswitch isusedtohomethesystemat
powerup. AlimitswitchmustbeaddedtoyourdesigntoavoidAzimuthwindup.
Fig.8(b) shows thedesignofwormandmotor shaft coupling.Theworm isdesignedwitha
centralshaftdiameterhole.Twoholesaredrilledandtapped90aparttoaccept#632plastic
screws.Theplasticscrewsprotectthemotorshaftfromdamage.
7.2Zenith-TrackingTopInadditiontohardwarecomponents,theZenithtrackingtopassembly(Fig.9(a))consistsofan
acrylicsupportplate,motorhub,motorbracket,leadscrewslidebridge,slidingnutandpivot,
crank, front pivot, pinhole sun locator, solarpanel plate, homing optical switchmount, and
homingtab. Thecrankframeisdesignedina'C'shapewithstrengtheningcornerribs. The
pinholesunlocatorisinstalledabovethepanelusinglong#632screwsandnuts,andisusedto
verify the system performance. If the tracking system performs well the pinhole will aim
sunlightontothecentermarkonthesolarpanel.Thetwothroughholesintwouppercornersof thepanel canbeused to install analog LightDependentResistors foroptimal solarpanel
operationoncloudydays,andtotakeadvantageofgroundsnowreflection. Thisoptimization
isbeyondthescopeofthecourse.
8/10/2019 Solar Tracker Report Example
17/75
15
Thehomingopticalswitchismountedontothefrontsideofthepivot(Fig.9(b)). Anextension
tab,mountedon thesolarpanelplate, interrupts theopticalswitchat the90degreeZenith
homeposition. Clearanceslotsareincludedtoaccommodateelectricalwirerouting.
(a)
(b)
Figure8.AzimuthTrackingStage: (a)BaseDesignandAssembly; (b)WormGearCoupler
8/10/2019 Solar Tracker Report Example
18/75
16
The rapidprototypednuthousinghasaxial#1032hexagonaldepressions toaccept the lead
screwnut.Thepivotaxishasdepressionstoaccept#632nutsforthecrankjoint. Thebridge
hasaslottoallowtheslidingmotionalongtherail(Fig.10).8.KinematicSimulation
(a)
(b)
Figure9.(a) ZenithTrackingTopAssembly; (b)OpticalSwitchDetails
8/10/2019 Solar Tracker Report Example
19/75
17
To simultaneously simulate the Azimuth and Zenith trackingmotion, the Autodesk Inventor
AssemblyStudioapplicationwasused.First, thejointconstraintsweredefined, including the
positional constraint for the slider, the gear ratio constraintbetweenworm andworm gear
ring,andtherotationalangularconstraintforthe leadscrewrod.Foreachoftheconstraints,
thecorrespondingmotionspeedsaresetupaccordingtothesystemkinematicproperties.
Figure10. LeadScrewDetails
(a) (b)
Figure11. Final(a)CAD;and(b)PhysicalModels
8/10/2019 Solar Tracker Report Example
20/75
8/10/2019 Solar Tracker Report Example
21/75
19
11.Appendix
AppendixA1ElectricalImplementation
ArduinoDuemilanove
To improve the efficiency of a solar energy collector, an active tracker that continuously
accommodatesthevaryingpositionofthesun isnecessary.Tomeettheserequirements,the
ArduinoDuemilanove [4]microcontrollerboard is responsible forcalculating thesolarvector
andcontrollingthesteppermotors.TheArduinoDuemilanoveisbasedontheAVRATmega328
andincludes14digitalinput/outputpinsand6analoginputs(FigA11).
FigureA11.AcircuitschematicsymbolfortheArduinoDuemilanovedemonstratingthedevice
pinout.
8/10/2019 Solar Tracker Report Example
22/75
20
RealTimeClock
ForthepurposeofZenithandAzimuthanglecalculations,thesolartrackerrequiresanaccurate
estimation of the current Coordinate Universal Time (UTC). The DS1307 Real Time Clock
integratedcircuit isused toprovideprecisetimekeeping (Fig.A12).TheDS1307requiresa5
voltsupplywiredtopin8,anda32.768kHzcrystaloscillatorconnectedbetweenpins1and2.
Toutilizethe I2Cserial interfacesupportedbytheArduinoDuemilanove,theSerialDataLine
and Serial Clock Line from the DS1307must bewired to analog input pins 4 and 5 of the
Arduino,respectively.TheDS1307chipalsousesanexternalbatterythatcanprovideover10
yearsofbackuppowerintheeventofpowerfailure.
External components such as resistors or capacitors are not required for the supporting
circuitryoftheDS1307.However,a32.768kHzcrystaloscillatorisrequiredtogenerateaclock
signal.
Figure A12. The circuit schematic illustrates the Arduino Duemilanove interfaced with the
DS1307RealTimeClock
8/10/2019 Solar Tracker Report Example
23/75
21
StepperMotorDriver
TocontroltheAzimuthandZenithsteppermotors,anMC3479steppermotordriver(Fig.A13)
wasused.
FigureA13.TheMC3479StepperMotorDriverconfiguredforusewiththesolartrackerdesign.
Thesteppermotordriverusesfour inputpinstoconfiguretheoperationofasteppermotor.
For thepurposeof this solarcollectordesign,only twopins from theArduinocontrollerare
required.Digitaloutputpin6oftheArduinoDuemilanoveiswiredtoCW/CCWofthedriverto
control the clockwise/counterclockwise direction of the motor. Arduino digital pin 5 is
connectedtotheCLKpinoftheMC3479totriggereachmotorstep.MC3479pins8and9are
8/10/2019 Solar Tracker Report Example
24/75
22
tiedtogroundtorestrictoperationtohighimpedanceandfullsteppingmode,respectively.A
seconddriverisusedtocontrolthesolarZenithtrackingstage.Arduinodigitaloutputpin7 is
connectedtoCW/CCWanddigitaloutputpin8isconnectedtoCLK.Controlandconfiguration
oftheMC3479driverissummarizedinTableA11.
TableA11.FourpinsoftheMC3479driverareusedtoconfiguretheoperationofthestepper
motor.
The supporting circuitry for each stepper motor driver includes a 1N5221A Zener diode
connectedbetweenVmandVdtopreventdamagefromvoltagespikesduringcurrentswitching
in themotor coils. There also exists4 groundpinsoneachMC3479driver to improveheat
dissipationwithintheintegratedcircuitfromthemotorcoils.Thebias/setresistor,RB,iswired
between Bias (pin 6) and ground. The resistor valuewas selected to encourage low power
operation.Bylimitingthebiascurrent,IBS,thebiasresistorreducestheoutput(motor)current
andtherebyreducespowerconsumption.FromtheformulaforRbias,thevalueischosentobe
51.1k.
1000 0.86
0.7
Pin Name Input Description
7 CLK PositiveEdgeTriggered Themotor takesa step foreach risingedgeof
theinputsignal.
8 OIC GND OutputImpedanceControlonlypertainstohalf
steppingoperation.
9_______________
FULL/HALF GND A logic low (ground) input signal enables full
stepping.
10____________
CW/CCW DigitalSignal Thelogicleveloftheinputsignaldeterminesthe
directionof rotation.The rotor stepsclockwise
if the input signal is logic low (ground) orcounterclockwiseiftheinputislogichigh(+5V).
8/10/2019 Solar Tracker Report Example
25/75
23
LimitSwitches
Toensurerobustoperation,thesolarenergycollectorisfittedwithlimitswitchestopreventa
stepper motor from exceeding the angular bounds of the design. A micro roller switch
mountedonthebaseofthesolarenergycollectorpreventsmultiplerevolutionwindupofthe
Azimuthtrackingstage.ThesolarcollectoralsoincludestwomorelimitswitchesontheZenith
trackingstagetopreventovertraveldamagetotheleadscrewmechanism.Eachswitchisrated
upto2Aat30VDC
FigureA14.LimitSwitchescontributetofailsafeoperationofthesolarcollector.
The limitswitchesareconnected inserieswiththepowersupply line(Fig.A14)andoperate
completelyindependent
of
the
Arduino
Duemilanove.
The
switches
are
organized
inthis
way
to
immediatelycutpowertothemotordrivers intheeventoffailure.Assoonaseachswitch is
triggered,thecircuitisopenedandunabletosupplypower.
Afterthesourceofthefaulthasbeencorrected,onecancontinueoperationofthesolarenergy
collector. To resume supplying power to the motors, a jumper shunt can be applied
momentarily to a pair of header pins marked RESET_MTR on the printed circuit board.
A full scale implementation would require relays and additional software to automatically
correctthepositionuponfaultcorrection.
8/10/2019 Solar Tracker Report Example
26/75
24
OpticalHomingSensor
Twoopticalslotsensorsareusedtodetectwhenthesolarenergycollectorhasbeenoriented
inthehomeposition.Ahomingsensormountedonthebaseofthesolartrackeristriggeredby
a#256screw.Thescrew isdesignedtopassthroughtheslotsensorastheAzimuthtracking
stageofthecollectorpositions itselfforsunriseat22.5degreesEastofNorth.Asecondslot
sensor detectswhen the Zenithtracking stage is oriented directly towards the horizon (90
fromZenith).
FigureA15.Anopticalslotsensorisusedtohomethedevice.
The optical slot sensors are connected to the printed circuit board through a polarized
connector.Eachhomingsensorrequiresa5Vandgroundconnection.Thesensoroutputsare
wired todigital inputpins 2 and 3on theArduinoDuemilanove (Fig.A15).A 10k pullup
resistorwiredtoeachdigitalinputpinensuresthatthesensoroutputavoidsanindeterminate
digital logic state.Uponactivation,each individualoptical slot sensorproducesa logical low
signal(0V).Otherwise,thesensoroutputsalogicalhighsignal(+5V).
8/10/2019 Solar Tracker Report Example
27/75
25
PrintedCircuitBoard
The PCB consists of several core logical components (Fig. A16). The Arduino Duemilanove
controlstheoperationofthesteppermotordriversandrequiressensorinputfromtheslotted
homingsensorsandtherealtimeclock.
Fig.A16.Hierarchyofcoresolarenergycollectorcomponents.
CircuitSchematic
First,thecircuitschematicdiagramwasdesignedanddrawnwiththeCadSoftEAGLESchematic
Editor(Fig.A17)[10].
8/10/2019 Solar Tracker Report Example
28/75
26
Fig.A17.SolarTrackerv4.4completecircuitschematic.
8/10/2019 Solar Tracker Report Example
29/75
27
PCBPrototype
Usingasolderlessbreadboard,aprototypeofthefinaldesignwasconstructedandtestedusing
adigitalmultimeter,andbyobservingsensorsandmotorresponses(Fig.A18).
FigureA18.Eachaspectofthedesignwastestedwiththeuseofasolderlessbreadboard.
PCBFabrication
The printed circuit board layout was designed using CadSoft EAGLE Layout Editor. The
dimensionsoftheprintedcircuitboard(PCB)weredesignedtocorrespondwiththestandard
Arduinodimensions so that itcouldbeeasilymountedabove theArduinoDuemilanove (Fig.
A19). To interfacewith the Arduino,male header pins from the printed circuit board are
matched tomatewith femaleheaderson theArduinoDuemilanove.Three0.125diameter
holesaredrilledforthepurposeofmountingthePCB.
8/10/2019 Solar Tracker Report Example
30/75
28
FigureA1
8.The
PCB
measures
2.4
x2.1.
Theboarddesignconsistsofa topandbottomcopper layer.Extracopperareasareused to
reducenoiseandensureallcomponentsshareacommongroundpotential.Componentsare
useathroughholemountingscheme.Forthepurposeofsolderingcomponentstotheboard,
eachthroughholeontheprintedcircuitboardisdrilled0.019largerthanthediameterofthe
componentleadandplatedwithcoppertoprovideanelectricallyconductivesurface.Polarized
connectorsandsocketsareusedextensivelythroughoutthedesigntopreventincorrectwiring
duringinstallation.Aswell,connectors,jumpersandotherrelevantcomponentsarelabeledon
thesurfaceoftheprintedcircuitboardbymeansofsilkscreenprinting(Fig.A110).
8/10/2019 Solar Tracker Report Example
31/75
29
FigureA110a.ThetoplayeroftheSolarTrackerv4.4.
FigureA110b.ThebottomlayerofSolarTrackerv4.4.
8/10/2019 Solar Tracker Report Example
32/75
30
ThefinallayoutoftheprintedcircuitboardwasbrandedSolarTrackerv4.4(Fig.A112).ACAM
processorintegratedwithEAGLEwasusedtoproduceanindustrystandardfileformatforPCB
manufacturingmachines,GerberRS274X.
FigureA112.SolarTrackerv4.4fabricated.
FigureA113.Thefinalproductoftheprintedcircuitboardafterassembly.
8/10/2019 Solar Tracker Report Example
33/75
31
BillofMaterials
Allmaterialsarethroughholemountedwith2.54mmspacing.
1xSolarTrackerv4.4PrintedCircuitBoard2xMC3479StepperMotorDriver
2xDIPSocketSolderTail 16Pin
3x4PinMolexSLSeriesHeaderSocket
2x0.1FElectrolyticCapacitors
2x1N5221AZenerDiode
1x330 Resistor
2x51.1k Resistor
1x10k Resistor
2xKP35FM22PhaseBipolarStepperMotor2xOpticalSlotHomingSensors
3xNormallyClosedLimit(roller)Switches
4x40PinMaleHeaderPins
1x6PinFemaleWiretoBoardconnector
1x2PinJumperShunt
1xDIPSocketSolderTail 8Pin
1xDS1307RealTimeClockIC
1x32.768kHzCrystalOscillator 12.5pFInternalCapacitance
1x3V48mAh12mmBR1225LithiumCoinCellBattery1x12mmCoinCellBatteryHolder
8/10/2019 Solar Tracker Report Example
34/75
32
AppendixA2ArduinoSoftwareTutorial
ArduinoInstallationandTestProcedure
Tosetupand familiarizeyourselfwith theArduinoDuemilanove,youcan tryblinkingtheon
boardLED(connectedtopin13)onandoff.Thestepsbelowoutlinetheprocedure:
1. DownloadtheArduinointegrateddevelopmentenvironment(IDE)fromthemain
Arduinowebsitehttp://arduino.cc/en/Main/Software.Arduinoprovidesdistributions
forWindows,MacOSX,andLinux.Forthiscourse,theinstallationontheJHE219A
computers(WindowsXP)isofficiallysupported.Instructionsbelowcanbeusedifyou
wishtotestwithyourpersonalcomputer.
2. ConnecttheArduinoDuemilanovetoyourcomputerwithastandardUSBcable.
3. InstallthenecessarydriversforUSBserialconversion.Ifthedriversarenot
automaticallyinstalled,followthedirectionsofthewizardtosearchforUSBserial
converterdrivers.FTDIUSBDriverscanbefoundinthedriversfolderoftheArduino
distribution.
4. ConfirmthataUSBSerialPorthasbeensuccessfullyinstalled.InWindows,openthe
DeviceManager(ControlPanel>System>Hardware>DeviceManager)andnotethe
nameoftheserialportused(e.g.COM3).
8/10/2019 Solar Tracker Report Example
35/75
33
5. LaunchtheArduinoapplication.
6. Changethesettingstoworkwithyourconfiguration.Selecttheserialporttobe
programmed(Tools>SerialPort>YourPort).Next,ensurethattheArduino
environmentisconfiguredtoprogramtheArduinoDuemilanove(Tools>Board>
ArduinoDuemilanoveorNanow/ATmega328).RefertoAppendixA1formoredetail
regarding
the
Arduino
Duemilanove.
7. OpentheBlinkexample(File>Examples>Digital>Blink).
8. Click tocompilethecode.
9. Click touploadthesoftwaretotheArduinoboard.Executionwillautomaticallystart
afewsecondsafterthesoftwarehasfinisheduploading.
8/10/2019 Solar Tracker Report Example
36/75
34
ArduinoProgrammingTutorial
Software iswritten using the C/C++ based Arduino programming language. Each software
program written using the Arduino platform is called a sketch. Sketches do not include a
mai n( ) functionbutinsteadusefunctionsset up( ) andl oop( ) workinginconjunctiontoperform similar functionality. The set up( ) functionwill run only once at the beginning of
execution. Itmaybeusedto initializeserialportsettingsorconfigure input/outputports, for
example. Any local variables defined within set up( ) cannot be used in l oop( ) . The
l oop( ) functionwillexecuterepeatedlyuntiltheArduinoisreset.
TheArduinoplatformprovides itsown IntegratedDevelopmentEnvironment(IDE)todevelop
software, upload programs, and communicate with Arduino hardware (Fig. A21). The
developmentenvironmentcontainsatexteditorforwritingcode,aconsoleforerrormessages,
andatoolbar(TableA21).Aswell,thereareanumberofprojecttemplatesandotherfeaturesthatcanbeaccessedfromthedropdownmenus.
FigureA21.
8/10/2019 Solar Tracker Report Example
37/75
35
Verify/Compile Checkssoftwareforerrorsandcompilescode.
Stop Stopstheserialmonitor.
New Createsanewsketch.
Open Presentsamenuofallthesketchesinyoursketchbook.Clickingonewillopenit
withinthecurrentwindow.
Save Savesyoursketch.
UploadtoI/OBoard CompilesyourcodeanduploadsittotheArduinoI/Oboard.
SerialMonitor Openstheserialmonitor.
TableA21.
TheSerialMonitorrecordsallactivityovertheserialportanddisplaysitonscreen.Thistoolis
particularly useful for debugging your software because it can verify all input/output. After
openingtheSerialMonitor,adjustthebaudratesothatitcorrespondswiththebaudratethat
wasselectedduringinitializationoftheconnection.
AtutorialontheArduino languageanddevelopmentenvironmentfollowsbelow.Thetutorial
willintroduceserialcommunicationwiththeDS1307RealTimeClock.
RealTime
Clock
Communication
TheDS1307 isaRealTimeClockwithcalendarfunctionalitywhichtracksthesecond,minute,
hour,date,andyearinanindependenttimekeepingregister. Settingtheindividualparameters
ofthetimekeepingregistersorretrievingthecurrenttimefromtheRealTimeClockrequires
communicationusingInterIntegratedCircuit(I2C)serialcommunicationprotocol.
TheI2Ccommunicationprotocoloperatesinamaster/slaveconfigurationandrequiresonlythe
SDA (SerialData)andSCL (SerialClock) lines forbidirectionaldata transmission.TheArduino
Duemilanoveoperatesas themasterdevice,which supplies the clock line (SCL)and initiatesdatatransfers.TheslaveDS1307respondstothemasterArduinorequests.A7bitaddressing
systemisusedtodifferentiatebetweeneachindividualslavedeviceontheI2Cbus.TheDS1307
address(assignedbyindustrystandard)ishexadecimal0x68.
TheArduinoDuemilanovehardwarenativelysupportstheintegratedI2Cinterfacefoundonthe
ATmega328microcontroller.TheArduinoarchitectureassignsSDAandSCLtoanaloginputpins
8/10/2019 Solar Tracker Report Example
38/75
36
4and5respectively.Associated20k pullupresistorsarebuiltintotheArduinohardware,as
requiredforcorrect I2Coperation.TheArduinoWireLibrary(Wire.h) isusedtosimplifyserial
communicationwithI2Cdevices.
SettingParameters
For theDS1307, the contents of each clock and calendar register are encodedwith Binary
Coded Decimal (BCD). BCD represents each decimal digit with a halfbyte (4 bits) binary
sequence.Sinceonlytwodecimaldigitsarerequiredtorepresenteachunitoftime,1byte(8
bits) can store each timekeeper register. This facilitates data transmission since theWire.h
librarycansendandreceive individualbytessequentially.Becauseahexadecimaldigit isalso
encodedusingahalfbyte,wecansimplywritehexadecimalvaluestothetimekeeperregisters
insteadofworryingaboutconvertingtoBCD.
ThefirstbyteofanI2Ctransmissionincludestheslavedeviceaddressanddatadirection(7bits
areused forthedeviceaddress followedby1bittodesignatethereadorwritedirection). If
thedirectionbitisazero,themasterwillwritetotheDS1307.Ifthedirectionbitisaone
themasterwillreadfromtheDS1307.
TosetthedateandtimeforSaturday,March14,2022,at1:59AMUTC,forexample:
Wi r e. begi n( ) ; / / J oi n I 2C Bus
Wi r e. begi nTr ansmi ssi on( 0x68) ; / / Sl ave addr ess byt e f or DS1307Wi r e. send( 0) ; / / Set r egi st er poi nt er
Wi r e. send( 0x26) ; / / Second 00- 59
Wi r e. send( 0x59) ; / / Mi nut e 00- 59
Wi r e. send( 0x01) ; / / Hour 00- 23
Wi r e. send( 0x07) ; / / Day of week 01- 07
Wi r e. send( 0x14) ; / / Dat e 01- 31
Wi r e. send( 0x03) ; / / Mont h 01- 12
Wi r e. send( 0x22) ; / / Year 00- 99
Wi r e. send( 0x10) ; / * Cont r ol r egi st er def i nes squar e wave
oper at i on on pi n 7 */Wi r e. endTr ansmi ssi on( ) ;
8/10/2019 Solar Tracker Report Example
39/75
37
AppendixA3SoftwareImplementation
8/10/2019 Solar Tracker Report Example
40/75
/ / The Sol ar Vect or t r acki ng code i s f r omt he j our nal paper/ / "Computi ng t he Sol ar Vector "/ / Sol ar Energy 70( 5) , 431-441, 2001/ / aut hor s M. Bl anco- Mur i el , D. C. Al arcon- Padi l l a, T. Lopez- Moratal l a, and M. Lar a-Coi r a
/ / I mpl ement ati on of t he Newt on al gor i t hmi n C/ / htt p: / / deadl i ne. 3x. r o/newt oncode. ht ml
/ / i nst r uct or demonst r at i on Azi mut h / Zeni t h
#i ncl ude
#i ncl ude#i ncl ude#i ncl ude
#def i ne ASCI I ZERO 48 / / ' 0' = 48#def i ne pi 3. 1415926535897932384#def i ne t woPI ( 2. 0*pi )#def i ne r ad ( pi / 180. 0)#def i ne dEar t hRadi us 6371. 01 / / i n km#def i ne dAst r oUni t 149597890 / / i n km#def i ne OPTOPI NAZ 2#def i ne OPTOPI NZE 3#def i ne MOTZECWCCW 5#def i ne MOTZECLK 4#def i ne MOTAZCWCCW 7#def i ne MOTAZCLK 6
#def i ne MAXAZHOMESTEP 6250#def i ne MAXZEHOMESTEP 10000 / / ZE home max subj ect t o revi si on#def i ne STEPSAZHOME 1800 / / AZ home posi t i on = East = +90 degrees = 1800 st eps *** Update f or f i nal ver si#def i ne ANGLEZEHOME 90. 0 / / ZE home posi t i on = Hori zon = +90 degrees#def i ne STEPDLY 5
#def i ne ZENI THHOMENUTPOSI TI ON 24
#def i ne STEPSPERDEGAZ 20. 0 / / 1. 8 deg per st ep and 36:1 reduct i on worm gear s#def i ne STEPSPERMMZE 100 / / t empor ary demo
/ / Lat i t ude and Longi t ude f or McMaster ( J HE) = 43. 260181 ( N) , 79. 920892 ( W) . Lati t ude i s consi der ed posi t i ve t o the/ / Use deci mal f ormat ( Lat i t ude = 43 + 26. 0181/ 60 = 43. 434; Longi t ude = - 1 * ( 79 degr ees + 92. 0892/ 60) = - 80. 535; )const doubl e MCMASTERLATI TUDE = 43. 434;const doubl e MCMASTERLONGI TUDE = - 80. 535;
st r uct cTi me {
i nt i Year;i nt i Mont h;i nt i Day;doubl e dHour s;doubl e dMi nut es;doubl e dSeconds;
};
st r uct cLocat i on {doubl e dLongi t ude;doubl e dLat i t ude;
};
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
41/75
st r uct cSunCoor di nates {
doubl e dZeni t hAngl e;doubl e dAzi muth;
};
st r uct cTi me ut cTi me;st r uct cLocat i on ut cLocat i on;st r uct cSunCoor di nates utcSunCoor di nates;
i nt i Er rorAZFl ag; / / err or f l ag homi ng AZ
i nt i Er rorZEFl ag; / / err or f l ag homi ng ZE
i nt i St epsAZ = STEPSAZHOME;doubl e dAngl eZE = ANGLEZEHOME;doubl e dZeni t hNut Posi t i on = ZENI THHOMENUTPOSI TI ON;i nt i Curr ent ZEsteps = 8692;
/ / **************************************************************************************************************
voi d setup( ){/ / setup seri al communi cati onSeri al . begi n( 9600) ;Wi r e. begi n( ) ;Seri al . pr i nt l n( "Sol arTracker v4. 4" ) ;Seri al . pr i nt l n( "Ser i al Connecti on i ni t al i zed") ;Seri al . pr i nt l n( "" ) ;
pi nMode( MOTAZCWCCW, OUTPUT) ; / / AZ motor pi nMode( MOTAZCLK, OUTPUT) ;pi nMode( OPTOPI NAZ, I NPUT) ; / / opt o sl ot sensor AZdi gi ta l Wri te( MOTAZCWCCW, HI GH) ; / / al ways go home CCW = HI GHpi nMode( MOTZECWCCW, OUTPUT) ; / / EL motorpi nMode( MOTZECLK, OUTPUT) ;pi nMode( OPTOPI NZE, I NPUT) ; / / opt o sl ot sensor ZEdi gi ta l Wri te( MOTZECWCCW, HI GH) ; / / al ways go home CCW = HI GH
utcLocat i on. dLati t ude = MCMASTERLATI TUDE;utcLocat i on. dLongi t ude = MCMASTERLONGI TUDE;
Seri al . pr i nt l n( "Locat i on: McMaster Uni ver si t y, Hami l t on, ON") ;Seri al . pri nt ( "Lat i t ude ( Deci mal For mat) : ") ; Ser i al . pr i nt l n( ut cLocat i on. dLat i t ude) ;Seri al . pri nt ( "Longi t ude (Deci mal For mat) : ") ; Seri al . pr i nt l n( ut cLocat i on. dLongi t ude) ;Seri al . pr i nt l n( "" ) ;
/ / home the AZ st epper by l ooki ng f or bl ocked opto sl ot , when home = East = 90 degrees = 1800 st epshomeAzi muth( ) ;
/ / home t he Zeni t h st epper homeZeni t h() ;
} / / end set up( ) / / **************************************************************************************************************
voi d loop( ) {
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
42/75
getCur r ent Ti me() ;begi nTr acki ng( ) ;
Seri al . pr i nt l n( "" ) ;del ay( 2000) ;
} / / end l oop( ) / / **************************************************************************************************************
voi d getCurr ent Ti me() {
Wi r e. begi nTr ansmi ssi on( 0x68) ;Wi r e. send(0) ; / / poi nt t o addr ess of t he ti mekeepi ng r egi st ersWi r e. endTr ansmi ssi on( ) ;
Wi r e. r equest From( 0x68, 7) ; / / r equest 7 bytes f r omDS1307utcTi me. dSeconds = convert HEX( Wi r e. r ecei ve( ) ) ;utcTi me. dMi nut es = conver t HEX( Wi r e. r ecei ve( ) ) ;utcTi me. dHour s = conver t HEX( Wi r e. r ecei ve( ) ) ;Wi r e. recei ve( ) ; / / di sr egard t he day of t he weekutcTi me. i Day = convert HEX( Wi r e. recei ve( ) ) ;utcTi me. i Mont h = conver t HEX( Wi r e. r ecei ve( ) ) ;ut cTi me. i Year = 2000 + conver t HEX( Wi r e. recei ve( ) ) ;
Seri al . pr i nt l n( "" ) ;Seri al . pr i nt l n( "Uni ver sal Coor di nat e Ti me") ;Seri al . pri nt ( "Ti me ( Hh: Mm: Ss) : ") ;i f ( ( i nt ) utcTi me. dHour s < 10) Seri al . pri nt ( "0") ;Seri al . pri nt ( ( i nt ) utcTi me. dHour s, DEC) ;Seri al . pri nt ( " : ") ;i f ( ( i nt ) utcTi me. dMi nutes < 10) Seri al . pri nt ( "0") ;Seri al . pri nt ( ( i nt ) utcTi me. dMi nutes, DEC) ;Seri al . pri nt ( " : ") ;i f ( utcTi me. dSeconds < 10) Seri al . pri nt ( "0") ;Seri al . pr i nt l n( ( i nt ) utcTi me. dSeconds, DEC) ;
Seri al . pri nt ( "Dat e (Dd/ Mm/ YYYY) ") ;i f ( ut cTi me. i Day < 10) Ser i al . pri nt ( "0") ;Seri al . pri nt ( ut cTi me. i Day, DEC) ;Seri al . pri nt ( " / ") ;i f (ut cTi me. i Mont h < 10) Ser i al . pri nt ( "0") ;Seri al . pri nt ( utcTi me. i Mont h, DEC) ;Seri al . pri nt ( " / ") ;i f ( ut cTi me. i Year < 10) Seri al . pri nt ( "0") ;Seri al . pr i nt l n( ut cTi me. i Year , DEC) ;Seri al . pr i nt l n( "" ) ;
} / / end getCur r ent Ti me() / / **************************************************************************************************************
voi d homeAzi muth( ) {
Seri al . pr i nt l n( "" ) ;Seri al . pr i nt l n( "Homi ng t he Azi muth- t r acki ng st age t o 90 degr ees East of Nort h") ;
/ / Home the AZ st epper by l ooki ng f or bl ocked opto sl ot . Home = East = 90 degrees = 1800 st eps
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
43/75
i Err orAZFl ag = 0;i nt i Count ;i nt optoStateAZ;
f or ( i Count=0; i Count/ / shoul d be home i n 180 deg wort h of st epsopt oSt at eAZ = di gi t al Read( OPTOPI NAZ) ;i f ( opt oSt ateAZ == HI GH) { / / HI GH i s bl ocked (home)
br eak; / / now home} / / end i f
di gi ta l Wri te( MOTAZCLK, HI GH) ; / / STEP 1. 8 DEG ( wi t h 36 r educt i on = 0. 05 deg)
del ay( STEPDLY) ;
di gi ta l Wri te( MOTAZCLK, LOW) ;del ay( STEPDLY) ;
} / / end f or
i f ( i Count < MAXAZHOMESTEP) {/ / safel y homei Er rorAZFl ag = 0;i St epsAZ = STEPSAZHOME;
}el se {
/ / di dn' t get home i n 270 degi Er rorAZFl ag = 1;
} / / end i f
} / / end homeAzi muth( ) / / **************************************************************************************************************
voi d homeZeni t h( ) {
Seri al . pr i nt l n( "Homi ng t he Zeni t h- t r acki ng st age to +90 degrees ( Hori zon) ") ;Seri al . pr i nt l n( "" ) ;
/ / home t he Zeni t h st epper i Err orZEFl ag = 0;i nt i Count ;i nt optoSt ateZE;
f or ( i Count=0; i Count/ / shoul d be home i n 180 deg wort h of st epsopt oSt at eZE = di gi t al Read( OPTOPI NZE) ;i f ( opt oSt ateZE == HI GH) { / / HI GH i s bl ocked (home)
br eak; / / now home} / / end i f
di gi ta l Wri te( MOTZECLK, HI GH) ; / / STEP 1. 8 DEG ( document amount r at i o) del ay( STEPDLY) ;
di gi ta l Wri te( MOTZECLK, LOW) ;del ay( STEPDLY) ;
} / / end f or
i f ( i Count < MAXZEHOMESTEP) {/ / safel y homei Err orZEFl ag = 0;dAngl eZE = ANGLEZEHOME;
}
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
44/75
el se {/ / di dn' t get homei Err orZEFl ag = 1;
} / / end i f
} / / end homeZeni t h() / / **************************************************************************************************************
voi d begi nTracki ng( ) {
Seri al . pr i nt l n( "Sol ar Tracki ng I ni tal i zed. " ) ;
Seri al . pr i nt l n( " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " ) ;
i nt i Del t aSt epsAZ, i Del t aSt epsZE;
GetSunPos( ut cTi me, utcLocat i on, &ut cSunCoor di nates) ; / / get t he curr ent sol ar vector Seri al . pri nt ( "Azi muth = ") ; Seri al . pr i nt l n( ut cSunCoor di nat es. dAzi muth) ;Seri al . pri nt ( "Zeni t h = ") ; Seri al . pr i nt l n( ut cSunCoor di nat es. dZeni t hAngl e);
Seri al . pri nt ( "Motor AZ= ") ; Seri al . pri nt ( ( doubl e) i St epsAZ/ ( doubl e) STEPSPERDEGAZ) ;Seri al . pri nt ( " Cur r ent i St epsAZ= ") ; Ser i al . pri nt ( i St epsAZ) ;i Del t aSt epsAZ = ( i nt ) ( utcSunCoordi nat es. dAzi muth*STEPSPERDEGAZ) - i StepsAZ;Seri al . pri nt ( " i Del t aSt epsAZ= ") ; Seri al . pr i nt l n( i Del t aSt epsAZ) ;MoveMotorAZ( i Del t aSt epsAZ) ;i St epsAZ = ( i nt ) ( utcSunCoordi nat es. dAzi muth*STEPSPERDEGAZ) ;
Seri al . pri nt ( "Motor ZE= ") ; Ser i al . pri nt ( dAngl eZE) ;Seri al . pri nt ( " Curr ent dAngl eZE= ") ; Ser i al . pr i nt l n( dAngl eZE);
Seri al . pri nt ( "ut cSunCoor di nates. dZeni t hAngl e = ") ;Seri al . pr i nt l n( ut cSunCoor di nat es. dZeni t hAngl e, DEC) ;
i f ( utcSunCoor di nat es. dZeni t hAngl e > 00. 1 && utcSunCoor di nat es. dZeni t hAngl e < 89. 9) {
i nt i Fut ur eZEsteps = get Zeni t hSteps( ut cSunCoor di nat es. dZeni t hAngl e);i nt del t aZeni t hSt eps = i Cur r ent ZEst eps - i Fut ur eZEst eps; / / store i n getZeni t h resul t i n vari abl e
MoveMotorZE( del t aZeni t hSt eps) ;
dAngl eZE = utcSunCoor di nat es. dZeni t hAngl e;i Cur r ent ZEst eps = i Fut ur eZEst eps;
}el se {
Ser i al . pr i nt l n( " The sun has set - no update" ) ;homeAzi muth( ) ;
homeZeni t h() ;} / / end i f
Ser i al . pr i nt l n( " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ") ;} / / end begi nTr acki ng( )
/ / **************************************************************************************************************
voi d MoveMot or AZ( i nt i Del t aSt epsAZ) {i nt i Count ;
Seri al . pri nt ( "Movi ng Azi muth motor t hi s many st eps: ") ;Seri al . pr i nt l n( i Del t aSt epsAZ) ;
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
45/75
i f ( i Del t aSt epsAZ == 0) {
return;} / / end i f i f ( i Del t aSt epsAZ > 0) {
di gi ta l Wri te( MOTAZCWCCW, LOW) ; / / posi t i ve CW= LOW }
el se {i Del t aSt epsAZ = - i Del t aSt epsAZ;di gi ta l Wri te( MOTAZCWCCW, HI GH) ; / / negati ve CCW = HI GH
} / / end i f
del ay(10);
i f ( i Er r orAZFl ag == 0) {f or ( i Count =0; i Count di gi t al Wr i t e(MOTAZCLK, HI GH) ; / / STEP 1. 8 DEG ( wi t h 36 r educt i on = 0. 05 deg)
del ay( STEPDLY) ;di gi ta l Wri te( MOTAZCLK, LOW) ;del ay( STEPDLY) ;
} / / end f or } / / end i f
} / / end MoveMotorAZ( ) / / **************************************************************************************************************
voi d MoveMot or ZE( i nt i Del t aSt epsZE) {i nt i Count ;
Ser i al . pri nt ( "Movi ng Zeni t h motor t hi s many st eps: ") ;Ser i al . pr i nt l n( i Del t aSt epsZE) ;
i f ( i Del t aSt epsZE == 0) {return;
} / / end i f i f ( i Del t aSt epsZE > 0) {
di gi ta l Wri te( MOTZECWCCW, HI GH) ; / / posi t i ve CW = LOW }
el se {i Del t aSt epsZE = - i Del t aSt epsZE;di gi ta l Wri te( MOTZECWCCW, LOW) ; / / negat i ve CCW = HI GH
} / / end i f del ay(10);
i f ( i Er r orZEFl ag == 0) {f or ( i Count =0; i Count di gi t al Wr i t e(MOTZECLK, HI GH) ; / / STEP 1. 8 DEG ( wi t h 36 r educt i on = 0. 05 deg)
del ay( STEPDLY) ;di gi ta l Wri te( MOTZECLK, LOW) ;del ay( STEPDLY) ;
} / / end f or
} / / end i f } / / end MoveMot orZE( ) / / **************************************************************************************************************
voi d GetSunPos(s t r uct cTi me ut cTi me, st r uct cLocati on ut cLocati on, st r uct cSunCoor di nat es *ut cSunCoor di nates){
/ / Mai n var i abl esdoubl e dEl apsedJ ul i anDays;doubl e dDeci mal Hour s;doubl e dEcl i pt i cLongi t ude;doubl e dEcl i pt i cObl i qui t y;doubl e dRi ght Ascensi on;doubl e dDecl i nat i on;
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
46/75
/ / Auxi l i ary vari abl esdoubl e dY;doubl e dX;
/ / Cal cul at e di f f erence i n days bet ween the cur r ent J ul i an Day/ / and J D 2451545. 0, whi ch i s noon 1 J anuar y 2000 Uni versal Ti me{
doubl e dJ ul i anDat e;l ong i nt l i Aux1;l ong i nt l i Aux2;
/ / Cal cul ate t i me of t he day i n UT deci mal hour sdDeci mal Hour s = utcTi me. dHour s + ( utcTi me. dMi nut es
+ ut cTi me. dSeconds / 60. 0 ) / 60. 0;/ / Cal cul at e cur rent J ul i an Dayl i Aux1 =( utcTi me. i Mont h-14) / 12;l i Aux2=( 1461*( ut cTi me. i Year + 4800 + l i Aux1) ) / 4 + ( 367*( ut cTi me. i Mont h
- 2-12*l i Aux1) ) / 12- ( 3*( ( ut cTi me. i Year + 4900+ l i Aux1)/ 100)) / 4+ut cTi me. i Day- 32075;dJ ul i anDate=( doubl e) ( l i Aux2) - 0. 5+dDeci mal Hour s/ 24. 0;/ / Cal cul ate di f f erence between cur r ent J ul i an Day and J D 2451545. 0dEl apsedJ ul i anDays = dJ ul i anDate- 2451545. 0;
}
/ / Cal cul at e ecl i pt i c coor di nat es (ecl i pt i c l ongi t ude and obl i qui t y of t he/ / ecl i pt i c i n r adi ans but wi t hout l i mi t i ng t he angl e to be l ess than 2*Pi/ / ( i . e. , t he resul t may be gr eat er t han 2*Pi ) {
doubl e dMeanLongi t ude;doubl e dMeanAnomal y;doubl e dOmega;dOmega=2. 1429- 0. 0010394594*dEl apsedJ ul i anDays;dMeanLongi t ude = 4. 8950630+ 0. 017202791698*dEl apsedJ ul i anDays; / / Radi ansdMeanAnomal y = 6. 2400600+ 0. 0172019699*dEl apsedJ ul i anDays;dEcl i pti cLongi t ude = dMeanLongi t ude + 0. 03341607*si n( dMeanAnomal y )
+ 0. 00034894*si n( 2*dMeanAnomal y ) - 0. 0001134- 0. 0000203*si n( dOmega);
dEcl i pt i cObl i qui t y = 0. 4090928 - 6. 2140e-9*dEl apsedJ ul i anDays+0. 0000396*cos( dOmega);
}
/ / Cal cul at e cel est i al coordi nat es ( ri ght ascensi on and decl i nat i on ) i n r adi ans/ / but wi t hout l i mi t i ng t he angl e t o be l ess t han 2*Pi ( i . e. , t he r esul t may be/ / great er t han 2*Pi ) {
doubl e dSi n_Ecl i pt i cLongi t ude;
dSi n_Ecl i pt i cLongi t ude= si n( dEcl i pti cLongi tude );dY = cos( dEcl i pti cObl i qui ty ) * dSi n_Ecl i pt i cLongi t ude;dX = cos( dEcl i pti cLongi t ude );dRi ght Ascensi on = atan2( dY, dX ) ;i f( dRi ght Ascensi on < 0. 0 ) dRi ght Ascensi on = dRi ght Ascensi on + t woPI ;dDecl i nati on = as i n( si n( dEcl i pt i cObl i qui ty ) *dSi n_Ecl i pti cLongi tude );
}
/ / Cal cul at e l ocal coor di nat es ( azi mut h and zeni t h angl e ) i n degr ees{
doubl e dGr eenwi chMeanSi der eal Ti me;doubl e dLocal MeanSi der eal Ti me;
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
47/75
doubl e dLat i t udeI nRadi ans;doubl e dHour Angl e;doubl e dCos_Lat i t ude;doubl e dSi n_Lat i t ude;doubl e dCos_Hour Angl e;doubl e dPar al l ax;dGr eenwi chMeanSi der eal Ti me = 6. 6974243242 +
0. 0657098283*dEl apsedJ ul i anDays+ dDeci mal Hour s;
dLocal MeanSi der eal Ti me = ( dGr eenwi chMeanSi der eal Ti me*15+ ut cLocat i on. dLongi t ude) *r ad;
dHour Angl e = dLocal MeanSi der eal Ti me - dRi ght Ascensi on;dLat i t udeI nRadi ans = ut cLocat i on. dLat i t ude*rad;dCos_Lat i t ude = cos( dLat i t udeI nRadi ans );dSi n_Lat i t ude = si n( dLat i t udeI nRadi ans );dCos_HourAngl e= cos( dHour Angl e );utcSunCoor di nat es- >dZeni t hAngl e = ( acos( dCos_Lat i t ude*dCos_Hour Angl e
*cos( dDecl i nat i on) + si n( dDecl i nat i on ) *dSi n_Lat i t ude) ) ;dY = - si n( dHour Angl e );dX = t an( dDecl i nati on ) *dCos_Lat i t ude - dSi n_Lat i t ude*dCos_Hour Angl e;utcSunCoordi nat es- >dAzi muth = atan2( dY, dX ) ;i f ( ut cSunCoor di nat es- >dAzi muth < 0. 0 )
utcSunCoor di nat es- >dAzi muth = utcSunCoor di nat es- >dAzi muth + t woPI ;utcSunCoor di nat es- >dAzi muth = utcSunCoor di nat es- >dAzi muth/ r ad;/ / Paral l ax Corr ecti ondParal l ax=( dEar t hRadi us/ dAst r oUni t )
*si n( utcSunCoor di nat es- >dZeni t hAngl e);utcSunCoor di nat es- >dZeni t hAngl e= ( utcSunCoor di nat es- >dZeni t hAngl e
+ dParal l ax)/ rad;}
} / / end GetSunPos( )
byt e convert HEX( byt e val ue) {/ / Thi s works f or deci mal 0- 99return ( ( val ue/ 16*10) + ( val ue%16) ) ;
} / / end convert HEX/ / **************************************************************************************************************
i nt get Zeni t hSt eps( doubl e t het a) {doubl e beta0; / / I ni t i al guessdoubl e beta; / / Appr oxi mate sol ut i ondoubl e epsi l on; / / Maxi mumer r ori nt maxI t er ati ons; / / Maxi mumnumber of i t erat i onsi nt i terat i ons; / / Act ual number of i t er ati ons
i nt converged; / / Whet her i t erat i on conver ged
doubl e t het aRAD = t het a * rad;
bet a0 = 0;epsi l on = 0. 00001;maxI t erat i ons = 10000;
doubl e nut Posi t i on =- 1;
/ / Fi nd t he f i rst posi t i ve sol ut i on. whi l e ( nut Posi t i on
8/10/2019 Solar Tracker Report Example
48/75
beta = newt onsMethod(bet a0, epsi l on, maxI t erat i ons, &i t erat i ons, &conver ged, t hetaRAD) ;nut Posi t i on = 25*cos( t het aRAD) + 53*cos( t het aRAD+PI +beta) ;bet a0++;
}
i f ( conver ged) {Ser i al . pri nt ( "Newt on al gor i t hmconver ged af t er t hi s many st eps: ") ;Ser i al . pr i nt l n( i te rat i ons , DEC) ;Ser i al . pri nt ( " f ( ") ;Ser i al . pri nt ( beta, DEC) ;Ser i al . pri nt ( ") = ") ;
Ser i al . pr i nt l n( f ( t het aRAD, bet a) , DEC) ;}
el se {Ser i al . pr i nt l n( "Newt on' s method al gori t hm di dn' t conver ge") ;Ser i al . pri nt ( "The fi nal esti mate was: ") ;Ser i al . pr i nt l n( i te rat i ons , DEC) ;
}
/ / Ser i al . pr i nt l n( " " ) ; / / Seri al . pri nt ( "| AD| l engt h (mm): ") ; / / Seri al . pri nt l n( nut Posi ti on, DEC); / / Ser i al . pr i nt l n( " " ) ;
/ / cal cul ate and r eturn number of st eps/ / 0. 004mm per st epreturn ( ( i nt )( nut Posi t i on / 0. 004) );
} / / end getZeni t hSteps/ / **************************************************************************************************************
doubl e newt onsMet hod(doubl e beta0, doubl e epsi l on, i nt maxI t erati ons,i nt * i t erati ons_p, i nt * conver ged_p, doubl e t het aRAD ) {
doubl e beta = beta0;doubl e beta_prev;i nt i t er = 0;
do {i t er++;bet a_prev = bet a;bet a = bet a_pr ev - f ( t hetaRAD, bet a_pr ev) / f _pri me(t het aRAD, bet a_pr ev) ;
} whi l e ( f abs( bet a - bet a_pr ev) > epsi l on && i t er < maxI t er at i ons);
i f ( f abs( beta - bet a_pr ev)
8/10/2019 Solar Tracker Report Example
49/75
doubl e f _pri me(doubl e thetaRAD, doubl e bet a) {
return - 53*cos( t hetaRAD + beta); / / t he deri vati ve} / / end f _pri me
/ / **************************************************************************************************************
file://C:\Users\adspence\Documents\Courses20102011\MechEng4B03\SampleReport\Arduino\SolarTracker
8/10/2019 Solar Tracker Report Example
50/75
38
AppendixA4CADDrawings
8/10/2019 Solar Tracker Report Example
51/75
8/10/2019 Solar Tracker Report Example
52/75
8/10/2019 Solar Tracker Report Example
53/75
1
1
2
2
3
3
4
4SHEET1 OF1
DRAWN
CHECKED
QA
MFG
APPROVED
A. Dolgopolov 2/4/2010
DWG NO
SubassemblyPanel-Sunloc
TITLE
Subassembly Panel Sunloc
SIZE
CSCALE
McMaster University
PARTS LIST
DESCRIPTIONPART NUMBERQTYITEM
panel11
SensorBlockBracket12
sunlocVerif13
Plain Washer (Inch )Type A
and B
ANSI B18.22.1 - No. 8 -
narrow - Type B
74
Helical Spring Lock WashersANSI B18.21.1 - 0.13855
Hex Machine Screw NutANSI B18.6.3 - 6 - 32116
Square Recessed Pan Head
Machine Screw - Type III
ANSI B18.6.3 - 6-32 UNC -
1.25
27
foil18
Square Recessed Pan Head
Machine Screw - Type III
ANSI B18.6.3 - 6-32 UNC -
0.75
29
7
1
1
6
4
3
8
5
2
9
1:1
8/10/2019 Solar Tracker Report Example
54/75
DETAIL ASCALE 2 : 1
1
1
2
2
3
3
4
4
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/10/2010McMaster University
TITLE
Panel
SIZE
BSCALE
DWG NO
panel
SHEET1 OF1
A
38.00
30.00
70.00
62.00
6.00
94.00
45.30
55.10
100.00
6.0050.00
94.00100.00
5.00
15.00 30.0040.00
50.00
R2 TYP
4.172x
4 TYP
R4.59
1
R5.00
7.3
1:1
.15 AB
2.5
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15
ANGULAR0.5
0AC
A
8/10/2019 Solar Tracker Report Example
55/75
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
11/23/2009McMaster University
TITLE
SunlocVerif
SIZE
ASCALE
DWG NO
SunlocVerif
SHEET1 OF1
30R
2.0AB2
A
4.23.62x THRU 6.55.5THRU
0AB
20 20
0A B
30
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
1:1
8/10/2019 Solar Tracker Report Example
56/75
VIEW5SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
11/9/2009McMaster University
TITLE
Sensor Block Bracket
SIZE
ASCALE
DWG NO
SensorBlockBracket
SHEET1 OF14:1
4.23.6THRU
4.23.6THRU
11
16
2.5
2.56.75
0A BC
0 B A C
B
10
A
11
5
5
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
8/10/2019 Solar Tracker Report Example
57/75
VIEW4SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
11/18/2009McMaster University
TITLE
Foil1
SIZE
ASCALE
DWG NO
Foil1
SHEET1 OF1
35
12
4.23.6THRU
0A BC
A
1
7
0.05AB
GH
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
10
10
PT G PT H
3:1
8/10/2019 Solar Tracker Report Example
58/75
8/10/2019 Solar Tracker Report Example
59/75
1
1
2
2
3
3
4
4SHEET1 OF1
DRAWN
CHECKED
QA
MFG
APPROVED
A. Dolgopolov 2/4/2010
DWG NO
TopPlateBridgePivot
TITLE
Subassembly Top Plate Bridge Pivot
SIZE
CSCALE
McMaster University
PARTS LIST
DESCRIPTIONPART NUMBERQTYITEM
Bridge11
TIL159Mount22
TIL15923
Slotted Pan Head Machine
Screw
ANSI B18.6.3 - 6 - 32 x 1
1/4 SP HMS
44
screwholder15
TopbasePlate16
Pivotversion217
Hex Machine Screw NutANSI B18.6.3 - 6 - 32108
Plain Washer (Inch )Type A
and B
ANSI B18.22.1 - No. 8 -
narrow - Type B
89
Helical Spring Lock WashersANSI B18.21.1 - 0.138810
Square Recessed Pan Head
Machine Screw - Type III
ANSI B18.6.3 - 6-32 UNC -
0.6
411
Square Recessed Pan Head
Machine Screw - Type III
ANSI B18.6.3 - 6-32 UNC -
1.25
312
6
6
12
11
8
10
9
1
12
7
3
2
4
7
5
5
1:1
8/10/2019 Solar Tracker Report Example
60/75
1
1
2
2
SHEET1 OF1
DRAWN
CHECKED
QA
MFG
APPROVED
Jiang 11/1/2009
DWG NO
TopbasePlate
TITLE
Top Support Plate
SIZE
ASCALE
R
5.0025.00
30.00
42.00
47.00
67.0095.25
101.00
110.00130.00
5.
00
13.
00
14.
47
19.
00
24.
50
27.
00
32.
50
3
7.
00
47.
50
4.00 YP.
Scale: 1:1.5Unit: mmPlate Thickness: 5mm
8/10/2019 Solar Tracker Report Example
61/75
1
1
2
2
3
3
4
4SHEET1 OF1
DRAWN
CHECKED
QA
MFG
APPROVED
A. Dolgopolov 11/23/2009
DWG NO
Bridge
TITLE
Bridge
SIZE
BSCALE
McMaster University
1:1
A
4.23.64x
0AB
MATERIAL: BLACK ABS PROTOTYPE PLASTIC
UNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15
ANGULAR0.5
A1
A2 A3
A4
HOLE TABLEHOLE XDIM YDIM
A1 4.00 5.00
A2 4.00 35.00
A3 80.00 35.00
A4 80.00 5.00
15.924.1
40.0
8.0 76.0 84.0
4.0
11.4
10.0
13.0
27.0
30.0
8/10/2019 Solar Tracker Report Example
62/75
SCALE 1 : 1
1
1
2
2
3
3
4
4
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/8/2010McMaster University
TITLE
Pivot
SIZE
BSCALE
DWG NO
Pivotversion2-1
SHEET1 OF1
4
4.2
.15 A
.15 BC
0AB
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSN MILLIMETERS
TOLERANCES:LINEAR +0/-0.15
ANGULAR 0.5
22
54
R4 TYP
R1 TYP
464
105
5.0
5.1
2
3
5
16.1
15
16
A 5
434
.15 C
2:1
8/10/2019 Solar Tracker Report Example
63/75
VIEW2
SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
12/16/2009McMaster University
TITLE
Screw Holder
SIZE
ASCALE
DWG NO
screwholder
SHEET1 OF12:1
4.23.62x
4.83
A
R3 TYP
0A
.15 CB
.15 AC
8
16.5
40
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
2.50 11.5
305
4
6
8
8/10/2019 Solar Tracker Report Example
64/75
8/10/2019 Solar Tracker Report Example
65/75
1
1
2
2
3
3
4
4SHEET1 OF1
DRAWN
CHECKED
QA
MFG
APPROVED
A. Dolgopolov 2/4/2010
DWG NO
TopPlateMotorBracket
TITLE
Subassembly Top Plate Motor Bracket
SIZE
CSCALE
McMaster University
PARTS LIST
DESCRIPTIONPART NUMBERQTYITEM
MotorBracket11
10-32thread12
MotorHub13
Slotted Pan Head Machine
Screw
ANSI B18.6.3 - 6 - 32 x 1
1/4 SP HMS
24
TopbasePlate15
JapanServoKP35FM2-03516
JapanServoKP35FM2-035Sh
aft
17
Cross Recessed Binding
Head Machine Screw - Type
I
ANSI B18.6.3 - No. 4 - 40 -
1 1/8
28
Hex Machine Screw NutANSI B18.6.3 - 6 - 3229
Plain Washer (Inch )Type A
and B
ANSI B18.22.1 - No. 8 -
narrow - Type B
210
Helical Spring Lock WashersANSI B18.21.1 - 0.138211
Square Recessed Pan Head
Machine Screw - Type III
ANSI B18.6.3 - 6-32 UNC -
1.25
212
Hex Machine Screw NutANSI B18.6.3 - 10 - 32313
8 6
5
12
4
7
2
133
11
10
1
9
1:1
8/10/2019 Solar Tracker Report Example
66/75
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVEDA. Spence
11/6/2009
11/11/2009
McMaster University
TITLE
Solar Tracker Motor Bracket
SIZE
ASCALE
DWG NO
MotorBracket
SHEET1 OF1
14.013.5
40.039.5
2.01.5
12R
21
9
2x 3.54.3
2x 2.93.3
4.03.5
0 B A C
B
A
C
37.036.5
20
23
33
3.02.5
14
10
0.5ABC
0A B C
GH
36
11
G
H
1:1
6.5
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
8/10/2019 Solar Tracker Report Example
67/75
8/10/2019 Solar Tracker Report Example
68/75
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/17/2010McMaster University
TITLE
SIZE
ASCALE
DWG NO
SubassemblyCrankRodScrewhold
SHEET1 OF1
PARTS LIST
DESCRIPTIONPART NUMBERQTYITEM
10-32thread11
Hub#1Assem12
screwholder13Hex Machine Screw NutANSI B18.6.3 - 10 - 3274
Subassembly Slider & Nuts15
1:1
14
352
8/10/2019 Solar Tracker Report Example
69/75
VIEW2
SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
12/16/2009McMaster University
TITLE
Screw Holder
SIZE
ASCALE
DWG NO
screwholder
SHEET1 OF12:1
4.23.62x
4.83
A
R3 TYP
0A
.15 CB
.15 AC
8
16.5
40
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
2.50 11.5
305
4
6
8
8/10/2019 Solar Tracker Report Example
70/75
8/10/2019 Solar Tracker Report Example
71/75
SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/17/2010McMaster University
TITLE
Slider and Nuts Subassembly
SIZE
ASCALE
DWG NO
SubassemblySlider&Nuts
SHEET1 OF1
PARTS LIST
DESCRIPTIONPART NUMBERQTYITEM
slider11
Hex Machine Screw NutANSI B18.6.3 - 6 - 3222
Hex Machine Screw NutANSI B18.6.3 - 10 - 3243
Plain Washer (Inch )Type
and B
ANSI B18.22.1 - No. 8 -
narrow - Type B
244
2
1
3
2:1
8/10/2019 Solar Tracker Report Example
72/75
SCALE 1 : 1
1
1
2
2
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/18/2010McMaster University
TITLE
Slider
SIZE
ASCALE
DWG NO
slider
SHEET1 OF1
3.15.3
9.711.9
15
3.7 7.511.3
15
6
4
6
3.5
6.5
7
2.8
7.3
11.9
15
7.9
5.2
13.115.8
216.5
10.5
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSIN MILLIMETERSTOLERANCES:LINEAR +0/-0.15ANGULAR 0.5
2:1
6
3
8/10/2019 Solar Tracker Report Example
73/75
SECTION B-BSCALE 2 : 1
DETAIL ASCALE 4 : 1
SCALE 1 : 1
1
1
2
2
3
3
4
4
DRAWNA. DolgopolovCHECKED
QA
MFG
APPROVED
2/18/2010McMaster University
TITLE
Crank
SIZE
BSCALE
DWG NO
crank
SHEET1 OF1
B B
A
4.173.51
.15AB
39.8
23.03
R3 TYP
R2 TYP
.53
9.12
3.32
4
6.62
122.5
5
MATERIAL: BLACK ABS PROTOTYPE PLASTICUNLESS OTHERWISESTATED ALL DIMENSIONSN MILLIMETERS
TOLERANCES:LINEAR +0/-0.15
ANGULAR 0.5
34.03
6.00
53 5
2
R5 TYP
32
2.00
A
2:1
8/10/2019 Solar Tracker Report Example
74/75
39
AppendixA5RapidPrototypedComponentCosts
Cost of Rapid Prototype Parts
Part# RP Part Name # ofPieces ABS Material Used(inch^3) Support Material Used(inch^3) Cost(CAD) Total Cost(CAD)
1 Gear Ring 4 8.68 3.64 104.16
232.32
2 Worm Gear 4 4.88 1.36 58.56
3 Bridge Rail 1 0.45 0.89 5.4
4 Crank Arm 1 0.38 0.24 4.56
5Motor Shaft
Hub 1 0.23 0.11 2.76
6 Screw Holder 1 0.13 0.04 1.56
7 Pivot Stand 1 0.58 0.11 6.96
8 Slider 1 0.25 0.09 3
9 Panel 1 1.75 0.53 21
10 Motor Bracket 5 1.5 0.45 18
11Switch Block
Bracket 2 0.08 0.04 0.96
12Sun Beam
Locator 1 0.22 0.09 2.64
13 LDR Mount 2 0.12 0.08 1.44
14 TIL159 Mount 4 0.11 0.07 1.32
8/10/2019 Solar Tracker Report Example
75/75
References[1] BlancoMuriel,M.,AlarcnPadilla,D.C.,LpezMoratalla,T.,andLaraCoira,M.,
ComputingtheSolarVector,SolarEnergy,70(5),431441,2001.
[2] AutodeskInc.,SanRafael,CA,www.autodesk.com.
[3] Dimension,Inc.,EdenPrairie,MN,www.dimensionprinting.com
[4] Banzi,M.,Cuartielles,D.,Igoe,T.,Martino,G.,andMellis,D.,ArduinoAlphav17,
www.arduino.cc
[5] Vogt,N.,Astronomy110G03LectureNotesFall2007,NewMexicoStateUniversity,
http://astronomy.nmsu.edu/nicole/teaching/astr110.
[6] www.timeanddate.com
[7] CANMETSolarPaper,http://canmetenergycanmetenergie.nrcan
rncan.gc.ca/eng/renewables/standalone_pv/publications/2006046.html
[8] PhotovoltaicPotentialandSolarResourceMapsofCanada,NaturalResourcesCanada,
https://glfc.cfsnet.nfis.org/mapserver/pv/index_e.php[9] OntarioIndependentElectricitySystemOperator,OntarioDemandForecast: 18Month
OutlookfromApril2007toSeptember2008,
http://www.ieso.ca/imoweb/pubs/marketReports/18Month_ODF_2007mar.pdf
[10] EagleLayoutEditor,http://www.cadsoftusa.com/
top related