Indholdsfortegnelse:

Et selvstændigt dataloggingsanemometer: 11 trin (med billeder)
Et selvstændigt dataloggingsanemometer: 11 trin (med billeder)

Video: Et selvstændigt dataloggingsanemometer: 11 trin (med billeder)

Video: Et selvstændigt dataloggingsanemometer: 11 trin (med billeder)
Video: Et selvstændigt Grønland? 2024, Juli
Anonim
Et selvstændigt datalogningsanemometer
Et selvstændigt datalogningsanemometer

Jeg elsker at indsamle og analysere data. Jeg elsker også at bygge elektroniske gadgets. Da jeg for et år siden opdagede Arduino -produkterne, tænkte jeg straks: "Jeg vil gerne indsamle miljødata." Det var en blæsende dag i Portland, OR, så jeg besluttede at fange vinddata. Jeg kiggede på nogle af instruktørerne til vindmålere og fandt dem ganske nyttige, men havde brug for at foretage nogle tekniske ændringer. Først ville jeg have enheden til at køre uafhængigt udendørs i en uge. For det andet ville jeg have det til at kunne registrere meget små vindstød, flere af designene her krævede temmelig stærk vind for at komme i gang. Endelig ville jeg registrere dataene. Jeg besluttede at gå efter et virkelig letvægts rotordesign med så lidt inerti og modstand som muligt. For at opnå dette brugte jeg alle plastdele (inklusive gevindstænger med gevind), kuglelejer og optiske sensorer. Andre designs brugte magnetiske sensorer eller faktiske DC -motorer, men begge dem bremser rotoren, optik bruger lidt mere strøm, men tilbyder ingen mekanisk modstand. Dataloggeren er simpelthen en Atmega328P med en 8 mbit flashchip. Jeg tænkte på at gå til SD, men jeg ville holde omkostninger, strømforbrug og kompleksitet nede. Jeg skrev et simpelt program, der loggede to-bytes rotation tæller hvert sekund. Med 8 megabit regnede jeg med, at jeg kunne indsamle omkring en uges data. I mit originale design regnede jeg med, at jeg skulle bruge 4 C -celler, men efter en uge var de stadig fuldt opladet, så jeg må have været slukket med en størrelsesorden i strømforbruget. Jeg brugte ikke lineære regulatorer, jeg kørte alle spændingsskinner til 6V (selvom nogle af delene blev vurderet 3,3V. Yay overdesign!). For at downloade dataene havde jeg et komplekst system, der læste blitzen og dumpede dem til den arduino serielle skærm, og jeg klippede og indsatte i Excel. Jeg brugte ikke tid på at finde ud af, hvordan jeg skulle skrive en kommandolinje USB -app for at dumpe flashen til standard, men på et tidspunkt bliver jeg nødt til at finde ud af dette. Resultatet var temmelig overraskende, jeg var i stand til at observere nogle meget interessante tendenser, som jeg gemmer til en anden rapport. Held og lykke!

Trin 1: Byg rotoren

Byg rotoren
Byg rotoren
Byg rotoren
Byg rotoren

Jeg prøvede en række forskellige ideer til rotorkopperne: påskeæg, bordtennisbolde, plastikkopper og tomme juletræspyntkugler. Jeg byggede flere rotorer og testede dem alle med en hårtørrer, hvilket gav en række vindhastigheder. Af de fire prototyper fungerede ornamentskallerne bedst. De havde også disse små faner, der gjorde påsætning lettere og var lavet af en stiv plastik, der fungerede godt med polycarbonatcement. Jeg prøvede et par forskellige aksellængder, små, mellemstore og store (ca. 1 "til ca. 6") og fandt ud af, at de større størrelser vrid for meget og ikke reagerede godt på lave vindhastigheder, så jeg gik med de små aksler. Da alt var klart plastik, lavede jeg en praktisk lille udskrift for at hjælpe med at tænde de tre blade. Materialer: Ornamenterne kom fra Oriental Trading Company, varen "48/6300 DYO CLEAR ORNAMENT", $ 6 plus $ 3 forsendelse. Plastskaftene og konstruktionsskiven kom fra en lokal TAP Plastics -butik, cirka $ 4 mere i dele.

Trin 2: Byg den øverste base

Byg den øverste base
Byg den øverste base
Byg den øverste base
Byg den øverste base

For at reducere rotationsinerti brugte jeg en gevindskåret nylonstang fra McMaster Karr. Jeg ville bruge lejer, men maskinlejer er pakket i rotorhæmmende fedt, så jeg købte nogle billige skateboardlejer, der ikke havde nogen. De passede tilfældigt inde i CPVC indvendig diameter 3/4 "røradapter. Det var først, da jeg samlede strukturen, at jeg indså, at skøjtelager håndterede plan belastning, og jeg påførte lodret belastning, så jeg skulle have brugt et thrusterleje, men de fungerede fint, og hjalp sandsynligvis med at styre friktion fra presessionens drejningsmoment. Jeg planlagde at vedhæfte en optisk sensor til bunden af akslen, så jeg monterede CPVC -koblingen i en større base. Home Depot er et sjovt sted at blande og matcher CPVC/PVC fittings. I sidste ende var jeg i stand til at proppe den 3/4 "gevindede CPVC kobling i en PVC 3/4" til 1-1/2 "reducering. Det krævede meget at lege rundt for at få alt til at passe, men det efterlod plads nok til elektronik. Materialer: 98743A235-Sort gevindskåret nylonstang (5/16 "-18 tråd) 94900A030-Sort nylon sekskantmøtrik (5/16" -18 tråd) Billige skateboardlejer 3/4 "gevind CPVC adapter 3/4" til 1 -1/2 "PVC -reducering til gevind 3/4" rør Bemærk: PVC- og CPVC -koblingsdimensioner er ikke de samme, sandsynligvis for at forhindre utilsigtet misbrug; så bytte i en almindelig PVC 3/4 "almindelig adapter vil ikke fungere, men tråden på en gevindadapter er den samme, hvilket er helt underligt. CPVC -koblingstrådene i PVC -adapterbøsningen. Adapter … bøsning … kobling … Jeg blander nok alle disse udtryk, men 15 minutter i Home Depot VVS -gangen vil sætte dig lige.

Trin 3: Optisk afbryder

Optisk afbryder
Optisk afbryder
Optisk afbryder
Optisk afbryder

Når rotoren drejer, tælles dens rotation af en optisk afbryder. Jeg tænkte på at bruge en disk, men det betød, at jeg skulle montere belysningskilden og detektoren lodret, hvilket ville være meget udfordrende at samle. I stedet valgte jeg vandret montering og fandt nogle små kopper, der sættes på bunden af stole for at beskytte trægulve. Jeg malede og tapede seks segmenter, hvilket ville give mig tolv (næsten) ensartede kanter eller 12 flåter pr. Rotor af rotoren. Jeg tænkte på at gøre mere, men var ikke særlig bekendt med detektorens hastighed eller synsfeltet for dens optik. Det vil sige, at hvis jeg gik for smal, kan LED'en krybe rundt om kanterne og aktivere sensoren. Dette er et andet forskningsområde, jeg ikke forfulgte, men det ville være godt at udforske. Jeg limede den malede kop til en møtrik og fastgjorde den til enden af skaftet. Materialer: Stol benbeskytter kop ting fra Home Depot Black maling

Trin 4: Monter rotoren

Monter rotoren!
Monter rotoren!

På dette tidspunkt begyndte det at se ret sejt ud. Nylonmøtrikkerne er virkelig glatte, så jeg måtte bruge mange låsemøtrikker (hvis du ikke bemærkede det fra de tidligere billeder). Jeg var også nødt til at lave en speciel flad skruenøgle for at passe ind i hætten under rotoren, så jeg kunne låse begge møtrikker.

Trin 5: Byg den nederste base

Byg den nederste base
Byg den nederste base
Byg den nederste base
Byg den nederste base

Den nederste base huser batterierne og giver en understøttelsesstruktur. Jeg fandt en temmelig sej vandtæt æske online fra et firma ved navn Polycase. Det er en virkelig glat kasse, der tætner tæt, og skruerne er bredere i bunden, så de ikke let falder ud af toppen. Jeg brugte en PVC -kompis til den øvre PVC -bøsning. Denne nederste bundkammerat er kun en gevindskåret 1-1/2 "PVC-kobling. Det øvre rotorbasetryk passer ind i den nederste base via denne kobling. Som du vil se senere, limede jeg ikke disse stykker sammen, fordi jeg ville være i stand til at åbne den og foretage justeringer, hvis det er nødvendigt, plus samlingen er lettere ved montering af printkortene. Materialer: Vandtæt boks fra Polycase, artikel # WP-23F, $ 12,50 Gevindet 1-1/2 "PVC-kobling

Trin 6: Byg den optiske sensor

Byg den optiske sensor
Byg den optiske sensor

Sensormekanismen er en 940nm LED og en Schmitt-trigger-modtager. Jeg elsker kærlighed elsker Schmitt trigger -kredsløbet, det tager sig af alle mine afbudsbehov og sender et CMOS/TTL -kompatibelt signal. Den eneste ulempe? 5V drift. Ja, jeg overdrev hele designet til 6V, men jeg kunne have gået til 3.3V, hvis det ikke var for denne del. Ideen er, at dette kredsløb monteres under rotorkoppen, som afbryder strålen, når den drejer, og genererer logiske overgange for hver kant. Jeg har ikke et godt billede af, hvordan dette blev monteret. Jeg limede dybest set to plastforskydninger ind i den nederste base PVC -kobling og skruede det ind i dem ovenfra. Jeg var nødt til at slibe bræddernes kanter ned for at få det til at passe pænt. Jeg har ikke engang en skematisk for dette, det er virkelig let: Kør bare en 1k modstand fra Vin og led den op, så LED'en altid er tændt, og output fra detektoren er tændt. Materialer: 1 940nm LED 1k modstand 1 OPTEK OPL550 sensor 1 tre-polet stik (hun) 1 1,5 "x1,5" printkort Forskellige længder af ledning Varmekrympende rør, hvis du kan lide dine ledninger bundtet

Trin 7: Byg dataloggeren

Byg dataloggeren
Byg dataloggeren
Byg dataloggeren
Byg dataloggeren
Byg dataloggeren
Byg dataloggeren
Byg dataloggeren
Byg dataloggeren

Arduino -prototypebordet var for stort til at passe ind i chassiset. Jeg brugte EagleCAD til at anlægge et mindre printkort, og tabte trak et enkelt lag af … der er fire grimme ledninger, jeg havde brug for at bygge bro over et par huller.

(Jeg troede, at jeg målte dette til ~ 50mW driftseffekt, og baseret på batteriets watt-timer, troede jeg, at jeg ville falde til under 5V om en uge, men enten var min effektmåling eller min matematik forkert, fordi 4 C-celler holdt går i lang tid.) Temmelig ligetil layout: bare en resonator, ATmega328, en flashchip, en fejlfindingsjumper, en fejlfindings -LED, strømforsyningshætte, og det er det. Der er noget, der hedder DorkBoard, som jeg også kunne have brugt, det er stort set alt, hvad der er nødvendigt for et ATMega328 dev -kort i størrelsen DIP -stik. Jeg overvejede at købe en, men min diskrete tilgang var omkring 50% billigere. Her er linket til dorkboard:

Her er den grundlæggende idé (kildekoden vil blive inkluderet senere), hvordan tavlen fungerer: Jumper indstillet til "debug" -tilstand: vedhæft en ændringsværdi-afbrydelse til den optiske sensorudgang, og blink test-LED'en i fællesskab med detektoren. Dette var meget nyttigt til fejlfinding. Jumper indstillet til "optag" -tilstand: Tilslut det samme afbrydelse til en tæller, og forsink 1000 ms i hovedsløjfen. I slutningen af de 1000 msek skriver du antallet af kanttællinger til en 256-byte flash-side, og når siden er fuld, skal du skrive den ud og nulstille tællingen. Simpelt, ikke? Stort set. Jeg kan virkelig godt lide Winbond -flashenhederne, jeg plejede at designe flash tilbage i 90'erne, så det var sjovt at programmere dem igen. SPI -grænsefladen er genial. Så enkel at bruge. Jeg lader skemaerne og kildekoden tale for sig selv. Nævnte jeg, at EagleCAD er fantastisk? Det er det virkelig. Der er nogle gode selvstudier på YouTube.

Trin 8: Tilslut elektronikken

Tilslut elektronikken
Tilslut elektronikken

Igen har jeg ikke mange gode billeder her, men hvis du forestiller dig to plastiske afstandsstykker limet til indersiden af PVC'en, er begge plader skruet fast i den. Her er et skud af loggerkortet forbundet til bunden. Detektorbordet er oppe inde i huset.

Trin 9: Kalibrering

Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering

Jeg lavede en testrig til at kalibrere dyret, så jeg kunne konvertere rå rotortællinger til MPH. Ja, det er en 2x4. Jeg fastgjorde vindmåleren i den ene ende og en debug Arduio til den anden. LCD -displayet viste rotortællinger. Processen forløb sådan: 1) Find en lang lige vej uden trafik. 2) Hold 2x4, så den stikker så langt ud af vinduet som muligt 3) Tænd for stemmeoptagelse på din iPhone eller Android 4) Tænd for et digitalt GPS -speedometer på din håndholdte enhed efter eget valg 5) Kør støt ved flere hastigheder og meddel til din optager tæller hastigheden og den gennemsnitlige rotor 6) Undgå at gå ned 7)? 8) Senere, når du ikke kører, skal du afspille din telefonbesked igen og indtaste dataene i excel og håbe, at en lineær eller en eksponentiel eller et polynom passer med en R-kvadratværdi større end 99%. Denne konvertering # vil blive brugt senere. Enheden indsamler kun rådata, jeg efterbehandlede dem til MPH (eller KPH) i Excel. (Nævnte jeg, at jeg har påført et badass -lag olivenfedt maling? Jeg ville have kaldt dette et "Tactical Data Logging Anemometer", men så huskede jeg, at "Tactical" betyder "sort".)

Trin 10: Gå Indsaml nogle vinddata

Gå Indsaml nogle vinddata!
Gå Indsaml nogle vinddata!
Gå Indsaml nogle vinddata!
Gå Indsaml nogle vinddata!
Gå Indsaml nogle vinddata!
Gå Indsaml nogle vinddata!

Det er stort set det. Jeg synes, at der mangler et par billeder, f.eks. ikke vist er de fire C-celler proppet ind i den nederste base. Jeg kunne ikke passe en fjederbelastet holder, så jeg endte med at lodde ledninger til selve batterierne. Jeg skriver dette instruerbart et år efter, at jeg byggede det, og i revision #2 brugte jeg AA -batterier, fordi jeg groft overvurderede strømforbruget. Brug af AA tillod mig at tilføje en tænd / sluk-kontakt og frigjorde virkelig noget plads indeni, ellers var det ret stramt. I alt var jeg ret tilfreds med designet. Grafen herunder viser en uges gennemsnitlige data. Batterierne begyndte at dø på dag syv. Jeg kunne have forbedret batterilevetiden ved at køre LED'en ved en lavere driftscyklus på omkring 1kHz, og jeg ville ikke have mistet nogen kanter på grund af rotorens forholdsvis lave vinkelhastighed.

Hav det sjovt! Lad mig vide, hvis du kan se noget plads til forbedring!

Trin 11: Kildekode

Vedhæftet er en enkelt Arduino -kildefil. Jeg GPL'ede det fordi, hey, GPL.

EDIT: Jeg vil gerne påpege, at min implementering af at bruge en 1s forsinkelse () er en frygtelig idé og i h Den tid, det tager at skrive til flashen og læse sensoren, kan virke lille, men i løbet af 7 -10s tilføjer det en vis betydelig drift. Brug i stedet 1Hz timer -afbrydelse (Timer #1 på 328P kan kalibreres perfekt til 1Hz). For at være sikker skal du kode i et hegn, hvis siden skriver og sensor læses af en eller anden grund tager længere tid end 1 sekund (håndter tabte prøver), men en timer-afbrydelse er Måden at gøre ting, der skal være, godt, tid- nøjagtig. Skål!

Anbefalede: