Innholdsfortegnelse:

Et selvstendig dataloggingsanemometer: 11 trinn (med bilder)
Et selvstendig dataloggingsanemometer: 11 trinn (med bilder)

Video: Et selvstendig dataloggingsanemometer: 11 trinn (med bilder)

Video: Et selvstendig dataloggingsanemometer: 11 trinn (med bilder)
Video: Одна из самых популярных начинок - КАРАМЕЛИЗИРОВАННЫЕ БАНАНЫ! Идеальный рецепт! За несколько минут! 2024, Juli
Anonim
Et selvstendig dataloggingsanemometer
Et selvstendig dataloggingsanemometer

Jeg elsker å samle og analysere data. Jeg liker også å bygge elektroniske gadgets. Da jeg for et år siden oppdaget Arduino -produktene, tenkte jeg umiddelbart: "Jeg vil gjerne samle inn miljødata." Det var en vindfull dag i Portland, OR, så jeg bestemte meg for å fange vinddata. Jeg så på noen av instruksjonene for vindmålere og fant dem ganske nyttige, men trengte å gjøre noen tekniske endringer. Først ønsket jeg at enheten skulle kjøre selvstendig, utendørs, i en uke. For det andre ville jeg at den skulle kunne registrere veldig små vindkast, flere av designene her krevde ganske sterk vind for å komme i gang. Til slutt ønsket jeg å registrere dataene. Jeg bestemte meg for å gå for et veldig lett rotordesign med så lite treghet og motstand som mulig. For å oppnå dette brukte jeg alle plastdeler (inkludert gjengede vinylstenger), kulelagerforbindelser og optiske sensorer. Andre design brukte magnetiske sensorer eller faktiske likestrømsmotorer, men begge sakte rotoren, optikk bruker litt mer strøm, men gir ingen mekanisk motstand. Dataloggeren er ganske enkelt en Atmega328P med en 8 mbit flash -chip. Jeg tenkte å gå til SD, men jeg ønsket å holde kostnaden, strømforbruket og kompleksiteten lav. Jeg skrev et enkelt program som logget to-byte rotasjonsteller hvert sekund. Med 8 megabit tenkte jeg at jeg kunne samle inn omtrent en ukes data. I min opprinnelige design, tenkte jeg at jeg ville trenge 4 C -celler, men etter en uke var de fortsatt fulladet, så jeg må ha vært av med en størrelsesorden i strømforbruket. Jeg brukte ikke lineære regulatorer, jeg kjørte alle spenningsskinner til 6V (selv om noen av delene ble vurdert til 3,3V. Yay overdesign!). For å laste ned dataene hadde jeg et komplekst system som leste blitsen og dumpet den til arduino seriell skjerm, og jeg klippet og limte inn i Excel. Jeg brukte ikke tid på å prøve å finne ut hvordan jeg skulle skrive en kommandolinje -USB -app for å dumpe blitsen til standard, men på et tidspunkt må jeg finne ut av dette. Resultatet var ganske overraskende, jeg var i stand til å observere noen veldig interessante trender, som jeg lagrer for en annen rapport. Lykke til!

Trinn 1: Bygg rotoren

Bygg rotoren
Bygg rotoren
Bygg rotoren
Bygg rotoren

Jeg prøvde en rekke forskjellige ideer for rotorkoppene: påskeegg, bordtennisballer, plastkopper og tomme juletrepyntballer. Jeg bygde flere rotorer og testet dem alle med en hårføner, som ga en rekke vindhastigheter. Av de fire prototypene fungerte ornamentskjellene best. De hadde også disse små tappene som gjorde festingen enklere, og var laget av en stiv plast som fungerte godt med polykarbonatsement. Jeg prøvde noen forskjellige aksellengder, små, mellomstore og store (ca. 1 "til ca 6") og fant ut at de større størrelsene drev for mye og ikke reagerte godt på lave vindhastigheter, så jeg gikk med de små akslene. Siden alt var klart plast, laget jeg en praktisk liten utskrift for å hjelpe de tre bladene. Materialer: Ornamentene kom fra Oriental Trading Company, varen "48/6300 DYO CLEAR ORNAMENT", $ 6 pluss $ 3 frakt. Plastskaftene og konstruksjonsskiven kom fra en lokal TAP Plastics -butikk, omtrent $ 4 mer i deler.

Trinn 2: Bygg den øvre basen

Bygg den øvre basen
Bygg den øvre basen
Bygg den øvre basen
Bygg den øvre basen

For å redusere rotasjons treghet brukte jeg en gjenget nylonstang fra McMaster Karr. Jeg ønsket å bruke lagre, men maskinlagre er pakket i rotorbremsende fett, så jeg kjøpte noen billige skateboardlagre som ikke hadde noen. De passet akkurat inn i CPVC innvendig diameter 3/4 "røradapter. Det var ikke før jeg monterte konstruksjonen at jeg skjønte at skøytelagre håndterer flat belastning, og jeg påførte vertikal belastning, så jeg burde ha brukt et thrusterlager, men de fungerte helt fint, og hjalp trolig med å håndtere friksjon fra presesjonens dreiemoment. Jeg planla å feste en optisk sensor til bunnen av akselen, så jeg monterte CPVC -koblingen i en større base. Home Depot er et morsomt sted å blande og matcher CPVC/PVC-beslag. Til syvende og sist var jeg i stand til å stappe den 3/4 "gjengede CPVC-koblingen i en PVC 3/4" til 1-1/2 "reduksjonsenhet. Det tok mye å leke for å få alt til å passe, men det ga nok plass til elektronikk. Materialer: 98743A235-Svart gjenget nylonstang (5/16 "-18 tråd) 94900A030-Svart nylon sekskantmutter (5/16" -18 tråd) Billige skateboardlagre 3/4 "gjenget CPVC-adapter 3/4" til 1 -1/2 "PVC -redusering til gjenget 3/4" rør Merk: PVC- og CPVC -koblingsdimensjoner er ikke de samme, sannsynligvis for å forhindre utilsiktet bruk; så bytte i en vanlig PVC 3/4 "vanlig adapter vil ikke fungere, men TRÅDENE til en gjenget adapter er de samme, noe som er helt rart. CPVC -koblingstrådene i PVC -adapterbøsningen. Adapter … bøsning … kobling … Jeg blander sannsynligvis alle disse begrepene, men 15 minutter i Home Depot rørleggergang vil sette deg rett.

Trinn 3: Optisk avbryter

Optisk avbryter
Optisk avbryter
Optisk avbryter
Optisk avbryter

Når rotoren snur, telles rotasjonen av en optisk avbryter. Jeg tenkte på å bruke en disk, men det betydde at jeg måtte feste belysningskilden og detektoren vertikalt, noe som ville være veldig utfordrende å montere. I stedet valgte jeg horisontalt feste og fant noen små kopper som går på bunnen av stolene for å beskytte tregulv. Jeg malte og tapet av seks segmenter, noe som ville gi meg tolv (nesten) ensartede kanter, eller 12 flått per rotasjon av rotoren. Jeg tenkte på å gjøre mer, men var ikke veldig kjent med detektorens hastighet eller synsfeltet til optikken. Det vil si at hvis jeg gikk for smal, kan lysdioden krype rundt kantene og aktivere sensoren. Dette er et annet forskningsområde jeg ikke drev med, men det ville være godt å utforske. Jeg limte den malte koppen til en mutter og festet den til enden av skaftet. Materialer: Stolbenbeskytter kopp ting fra Home Depot Black maling

Trinn 4: Fest rotoren

Fest rotoren!
Fest rotoren!

På dette tidspunktet begynte det å se ganske kult ut. Nylonmutrene er veldig glatte, så jeg måtte bruke mange låsemuttere (i tilfelle du ikke la merke til det fra de forrige bildene). Jeg måtte også lage en spesiell flatnøkkel for å passe inn i hetten under rotoren, slik at jeg kunne låse begge mutrene.

Trinn 5: Bygg den nedre basen

Bygg den nedre basen
Bygg den nedre basen
Bygg den nedre basen
Bygg den nedre basen

Den nedre basen huser batteriene og gir en støttestruktur. Jeg fant en ganske kul vanntett boks på nettet fra et selskap som heter Polycase. Det er en veldig glatt sak som tetter tett, og skruene er bredere i bunnen slik at de ikke lett faller ut av toppen. Jeg brukte en PVC -kompis til den øvre PVC -bøssingen. Denne nedre basismaten er bare en gjenget 1-1/2 "PVC-kobling. Det øvre rotorens basetrykk passer inn i den nedre basen via denne koblingen. Som du vil se senere limte jeg ikke disse bitene sammen fordi jeg ønsket å være i stand til å åpne den og gjøre justeringer om nødvendig, pluss at monteringen er enklere når du fester kretskortene. Materialer: Vanntett boks fra Polycase, artikkel # WP-23F, $ 12,50 Gjenget 1-1/2 "PVC-kobling

Trinn 6: Bygg den optiske sensoren

Bygg den optiske sensoren
Bygg den optiske sensoren

Sensormekanismen er en 940nm LED og en Schmitt-trigger-mottaker. Jeg elsker kjærlighet elsker Schmitt -utløserkretsen, den tar seg av alle debouncing -behovene mine og sender ut et CMOS/TTL -kompatibelt signal. Den eneste ulempen? 5V drift. Ja, jeg overkjørte hele designet til 6V, men jeg kunne ha gått til 3.3V hvis det ikke var for denne delen. Tanken er at denne kretsen monteres under rotorkoppen, som avbryter strålen når den snur, og genererer logiske overganger for hver kant. Jeg har ikke et godt bilde av hvordan dette ble montert. Jeg limte i utgangspunktet to plastforskyvninger i den nedre basen PVC -koblingen, og skrudde den inn i dem ovenfra. Jeg måtte slipe ned kantene på brettet for å få det til å passe pent. Jeg har ikke engang en skjematisk oversikt over dette, det er veldig enkelt: Bare kjør en 1k -motstand fra Vin og koble den til slik at LED -lampen alltid er på og utgangen til detektoren er på. Materialer: 1 940nm LED 1k motstand 1 OPTEK OPL550 sensor 1 trepinners plugg (hunn) 1 1,5 "x1,5" kretskort Ulike lengder av ledning Varmekrympende rør hvis du liker ledningene dine sammen

Trinn 7: Bygg dataloggeren

Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren
Bygg dataloggeren

Arduino -prototypebrettet var for stort til å passe inn i chassiset. Jeg brukte EagleCAD til å legge ut et mindre kretskort, og tapte av et enkelt lag … det er fire stygge ledninger jeg trengte for å bygge et par hull.

(Jeg trodde jeg målte dette til ~ 50mW driftseffekt, og basert på batteriets watt-timer, trodde jeg at jeg ville falle til under 5V i løpet av en uke, men enten min effektmåling eller min matte var feil fordi 4 C-celler holdt går ganske lenge.) Ganske enkelt layout: bare en resonator, ATmega328, en flash -brikke, en feilsøkingshopper, en feilsøkings -LED, strømforsyningshett, og det er omtrent det. Det er noe som heter DorkBoard som jeg også kunne ha brukt, det er i utgangspunktet alt som trengs for et ATMega328 dev -kort i størrelsen DIP -kontakt. Jeg vurderte å kjøpe en, men min diskrete tilnærming var omtrent 50% billigere. Her er linken til dorkboard:

Her er den grunnleggende ideen (kildekoden vil bli inkludert senere) hvordan styret fungerer: Jumper satt til "feilsøkingsmodus": fest en endringsverdi avbrudd til den optiske sensorutgangen, og blink LED-lampen i samklang med detektoren. Dette var veldig nyttig for feilsøking. Jumper satt til "record" -modus: fest det samme avbruddet til en teller, og forsink 1000 msek i hovedsløyfen. På slutten av 1000 msek skriver du antall kanttall til en 256-bytes flash-side, og når siden er full, skriver du den ut og tilbakestiller tellingen. Enkelt, ikke sant? Mer eller mindre. Jeg liker Winbond -blitsenhetene veldig godt, jeg pleide å designe blits tilbake på 90 -tallet, så det var morsomt å programmere dem igjen. SPI -grensesnittet er strålende. Så enkelt å bruke. Jeg lar skjemaene og kildekoden snakke for seg selv. Nevnte jeg at EagleCAD er fantastisk? Det er virkelig. Det er noen flotte opplæringsprogrammer på YouTube.

Trinn 8: Fest elektronikken

Fest elektronikken
Fest elektronikken

Igjen, jeg har ikke mange gode bilder her, men hvis du forestiller deg to plastavstander limt på innsiden av PVC -en, er begge platene skrudd inn i den. Her er et bilde av loggerbordet koblet til bunnen. Detektorbordet er oppe i huset.

Trinn 9: Kalibrering

Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering
Kalibrering

Jeg laget en testrigg for å kalibrere dyret slik at jeg kunne konvertere rå rotortall til MPH. Ja, det er en 2x4. Jeg festet vindmåleren til den ene enden, og en feilsøking Arduio til den andre. LCD -skjermen viste rotortallene. Prosessen gikk slik: 1) Finn en lang rett vei uten trafikk. 2) Hold 2x4 slik at den stikker så langt ut av vinduet som mulig 3) Slå på taleopptak på iPhone eller Android 4) Slå på et digitalt GPS -hastighetsmåler på den håndholdte enheten du velger 5) Kjør jevnt i flere hastigheter og meld ut til opptakeren teller hastigheten og gjennomsnittlig rotor 6) Ikke krasjer 7)? 8) Senere, når du ikke kjører, spill av telefonmeldingen på nytt og skriv inn dataene i excel og håp at en lineær eller en eksponensiell eller et polynom passer med en R-kvadratverdi større enn 99%. Denne konvertering # vil bli brukt senere. Enheten fanger bare rådata, jeg etterbehandlet den til MPH (eller KPH) i Excel. (Nevnte jeg at jeg har påført et badass -lag med olivenfarget maling? Jeg ville ha kalt dette et "Tactical Data Logging Anemometer", men så husket jeg at "Tactical" betyr "svart".)

Trinn 10: Gå og saml noen vinddata

Gå Samle noen vinddata!
Gå Samle noen vinddata!
Gå Samle noen vinddata!
Gå Samle noen vinddata!
Gå Samle noen vinddata!
Gå Samle noen vinddata!

Det er ganske mye det. Jeg tror det mangler noen få bilder, f.eks. ikke vist er de fire C-cellene stappet ned i den nedre basen. Jeg klarte ikke å montere en fjærbelastet holder, så jeg endte med å lodde ledninger til batteriene selv. Jeg skriver dette instruerbart et år etter at jeg bygde det, og i revisjon #2 brukte jeg AA -batterier fordi jeg overvurderte kraftforbruket grovt. Ved å bruke AA kunne jeg legge til en av / på-bryter og frigjorde virkelig plass inni, ellers var det ganske stramt. I det hele tatt var jeg ganske fornøyd med designet. Grafen nedenfor viser gjennomsnittlig data for en uke. Batteriene begynte å dø på dag sju. Jeg kunne ha forbedret batterilevetiden ved å kjøre LED -en på en lavere driftssyklus på omtrent 1 kHz, og jeg ville ikke ha mistet noen kanter på grunn av den relativt lave vinkelhastigheten til rotoren.

Ha det gøy! Gi meg beskjed hvis du ser rom for forbedring!

Trinn 11: Kildekode

Vedlagt er en enkelt Arduino -kildefil. Jeg GPL -det fordi, hei, GPL.

EDIT: Jeg vil påpeke at implementeringen min av å bruke en 1s forsinkelse () er en forferdelig idé og i h Tiden det tar å skrive til blitsen og lese sensoren kan virke liten, men i løpet av 7 -10s gir det en betydelig drift. Bruk i stedet 1Hz tidsavbrudd (Timer #1 på 328P kan kalibreres perfekt til 1Hz). For å være trygg, bør du kode i et gjerde hvis siden skriving og leser av en eller annen grunn tar lengre tid enn 1 sekund (håndter nedlagte prøver), men et tidsavbrudd er måten å gjøre ting som må være, vel, tid- korrekt. Jubel!

Anbefalt: