Solar Tracker Report Example

Embed Size (px)

Citation preview

  • 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/