Inhoudsopgave:

Een op zichzelf staande anemometer voor datalogging - Ajarnpa
Een op zichzelf staande anemometer voor datalogging - Ajarnpa

Video: Een op zichzelf staande anemometer voor datalogging - Ajarnpa

Video: Een op zichzelf staande anemometer voor datalogging - Ajarnpa
Video: Word de grootste sluipschutter aller tijden. 🔫 - Ghost Sniper GamePlay 🎮📱 2024, Juli-
Anonim
Een op zichzelf staande anemometer voor gegevensregistratie
Een op zichzelf staande anemometer voor gegevensregistratie

Ik hou van het verzamelen en analyseren van data. Ik hou ook van het bouwen van elektronische gadgets. Toen ik een jaar geleden de Arduino-producten ontdekte, dacht ik meteen: "Ik wil graag milieugegevens verzamelen." Het was een winderige dag in Portland, OR, dus ik besloot windgegevens vast te leggen. Ik keek naar enkele van de instructables voor windmeters en vond ze best nuttig, maar moest enkele technische wijzigingen aanbrengen. Ten eerste wilde ik dat het apparaat een week lang zelfstandig buiten zou werken. Ten tweede wilde ik dat het in staat zou zijn om zeer kleine windstoten op te nemen, verschillende van de ontwerpen hier vereisten nogal sterke wind om op gang te komen. Als laatste wilde ik de gegevens vastleggen. Ik besloot te gaan voor een echt lichtgewicht rotorontwerp met zo min mogelijk traagheid en weerstand. Om dit te bereiken, heb ik alle plastic onderdelen (inclusief vinylstaven met schroefdraad), kogellagerverbindingen en optische sensoren gebruikt. Andere ontwerpen gebruikten magnetische sensoren of echte gelijkstroommotoren, maar beide vertragen de rotor, optica gebruikt iets meer vermogen maar biedt geen mechanische weerstand. De datalogger is gewoon een Atmega328P met een 8 mbit flash-chip. Ik dacht erover om voor SD te gaan, maar ik wilde de kosten, het stroomverbruik en de complexiteit laag houden. Ik heb een eenvoudig programma geschreven dat het aantal rotaties van twee bytes per seconde registreerde. Met 8 megabits dacht ik dat ik ongeveer een week aan gegevens kon verzamelen. In mijn oorspronkelijke ontwerp dacht ik dat ik 4 C-cellen nodig zou hebben, maar na een week waren ze nog steeds volledig opgeladen, dus ik moet er een orde van grootte naast zitten in het stroomverbruik. Ik heb geen lineaire regelaars gebruikt, ik heb alle spanningsrails naar 6V gereden (hoewel sommige onderdelen 3,3V hadden. Yay overdesign!). Om de gegevens te downloaden, had ik een complex systeem dat de flits las en naar de arduino seriële monitor dumpte, en ik knipte en plakte in Excel. Ik heb geen tijd besteed aan het proberen uit te zoeken hoe ik een opdrachtregel-USB-app moet schrijven om de flitser naar standaard te dumpen, maar op een gegeven moment zal ik dit moeten uitzoeken. Het resultaat was nogal verrassend, ik heb een aantal zeer interessante trends kunnen waarnemen, die ik bewaar voor een ander rapport. Veel geluk!

Stap 1: Bouw de rotor

Bouw de rotor
Bouw de rotor
Bouw de rotor
Bouw de rotor

Ik probeerde een aantal verschillende ideeën voor de rotorbekers: paaseieren, pingpongballen, plastic bekers en lege kerstboomversieringsballen. Ik heb verschillende rotors gebouwd en ze allemaal getest met een föhn, die een reeks windsnelheden opleverde. Van de vier prototypes werkten de ornamentschelpen het beste. Ze hadden ook deze kleine lipjes die het aanbrengen gemakkelijker maakten, en ze waren gemaakt van een hard plastic dat goed samenwerkte met polycarbonaatcement. Ik probeerde een paar verschillende aslengtes, klein, medium en groot (ongeveer 1 "tot ongeveer 6") en ontdekte dat de grotere maten te veel torsen en niet goed reageerden op lage windsnelheden, dus ging ik met de kleine assen. Omdat alles van doorzichtig plastic was, heb ik een handige kleine afdruk gemaakt om de drie bladen te laten ontsteken. Materialen: De ornamenten kwamen van de Oriental Trading Company, item "48/6300 DYO CLEAR ORNAMENT", $ 6 plus $ 3 verzendkosten. De plastic assen en de structurele schijf kwamen van een lokale TAP Plastics-winkel, ongeveer $ 4 meer in onderdelen.

Stap 2: Bouw de bovenste basis

Bouw de bovenste basis
Bouw de bovenste basis
Bouw de bovenste basis
Bouw de bovenste basis

Om de rotatietraagheid te verminderen, heb ik een nylondraad met schroefdraad van McMaster Karr gebruikt. Ik wilde lagers gebruiken, maar machinelagers zijn verpakt in rotorvertragend vet, dus kocht ik een paar goedkope skateboardlagers die er geen hadden. Ze pasten toevallig in de CPVC binnendiameter 3/4 "pijpadapter. Pas toen ik de structuur monteerde, realiseerde ik me dat skate-lagers vlakke belasting aankunnen, en ik oefende verticale belasting uit, dus ik had een boegschroeflager moeten gebruiken, maar ze werkten prima en hielpen waarschijnlijk de wrijving van het precessiekoppel te beheersen. Ik was van plan een optische sensor aan de onderkant van de as te bevestigen, dus monteerde ik de CPVC-koppeling in een grotere basis. Home Depot is een leuke plek om te mixen en overeenkomen met CPVC / PVC-fittingen. Uiteindelijk was ik in staat om de 3/4" CPVC-koppeling met schroefdraad in een PVC 3/4" tot 1-1/2" verloopstuk te stoppen. Het kostte veel spelen om alles passend te maken, maar er was genoeg ruimte voor elektronica. Materialen: 98743A235 -- Nylon staaf met zwarte schroefdraad (5/16"-18 draad) 94900A030 -- Zwarte nylon zeskantmoeren (5/16"-18 draad) Goedkope skateboardlagers 3/4" CPVC-adapter met schroefdraad 3/4" naar 1 -1/2" PVC-verloopstuk naar 3/4"-buis met schroefdraad Opmerking: de afmetingen van de PVC- en CPVC-koppelingen zijn niet hetzelfde, waarschijnlijk om onbedoeld misbruik te voorkomen; dus het omwisselen van een gewone PVC 3/4 "gewone adapter zal niet werken, maar de DRADEN van een schroefdraadadapter zijn hetzelfde, wat totaal raar is. De CPVC-koppeling gaat in de PVC-adapterbus. Adapter … bus … koppeling … Ik haal waarschijnlijk al deze termen door elkaar, maar 15 minuten in het sanitaire gangpad van Home Depot zal je rechtzetten.

Stap 3: optische onderbreker

optische onderbreker
optische onderbreker
optische onderbreker
optische onderbreker

Terwijl de rotor draait, wordt zijn rotatie geteld door een optische onderbreker. Ik dacht erover om een schijf te gebruiken, maar dat betekende dat ik de verlichtingsbron en de detector verticaal moest bevestigen, wat een hele uitdaging zou zijn om te monteren. In plaats daarvan koos ik voor horizontale montage en vond een paar kleine kopjes die op de bodem van stoelen passen om hardhouten vloeren te beschermen. Ik schilderde en plakte zes segmenten af, wat me twaalf (bijna) uniforme randen zou geven, of 12 tikken per omwenteling van de rotor. Ik dacht erover meer te doen, maar was niet erg bekend met de snelheid van de detector of het gezichtsveld van zijn optica. Dat wil zeggen, als ik te smal ga, kan de LED langs de randen kruipen en de sensor activeren. Dit is een ander onderzoeksgebied dat ik niet heb nagestreefd, maar het zou goed zijn om te verkennen. Ik lijmde de geverfde beker op een moer en bevestigde deze aan het uiteinde van de schacht. Materialen: Stoelpootbeschermer bekerding van de Home Depot Zwarte verf

Stap 4: Bevestig de rotor

Bevestig de rotor!
Bevestig de rotor!

Op dit punt begon het er best cool uit te zien. De nylon moeren zijn erg glad, dus ik moest veel borgmoeren gebruiken (voor het geval je het niet opmerkte van de vorige foto's). Ik moest ook een speciale platte sleutel maken om in de dop onder de rotor te passen, zodat ik beide moeren kon vastzetten.

Stap 5: Bouw de onderste basis

Bouw de onderste basis
Bouw de onderste basis
Bouw de onderste basis
Bouw de onderste basis

De onderste basis herbergt de batterijen en biedt een ondersteunende structuur. Ik vond online een behoorlijk coole waterdichte doos van een bedrijf genaamd Polycase. Het is een echt gladde behuizing die goed afdicht, en de schroeven zijn breder aan de basis, zodat ze niet gemakkelijk uit de bovenkant vallen. Ik heb een PVC-maat gebruikt voor de bovenste PVC-bus. Deze onderste basismaat is slechts een schroefdraad 1-1/2" PVC-koppeling. De bovenste rotorbasisdruk past via deze koppeling in de onderste basis. Zoals u later zult zien, heb ik deze stukken niet aan elkaar gelijmd omdat ik dat wilde in staat zijn om het te openen en indien nodig aanpassingen te maken, plus de montage is gemakkelijker bij het bevestigen van de printplaten. Materialen: Waterdichte doos van Polycase, item # WP-23F, $ 12,50 schroefdraad 1-1/2" PVC-koppeling

Stap 6: Bouw de optische sensor

Bouw de optische sensor
Bouw de optische sensor

Het sensormechanisme is een 940nm LED en een Schmitt-trigger-ontvanger. Ik hou van liefde, hou van het Schmitt-triggercircuit, het zorgt voor al mijn debouncing-behoeften en verzendt een CMOS / TTL-compatibel signaal. Het enige nadeel? 5V werking. Ja, ik heb het hele ontwerp overgedreven naar 6V, maar ik had naar 3,3V kunnen gaan als dit onderdeel er niet was geweest. Het idee is dat dit circuit onder de rotorkom wordt gemonteerd, die de straal onderbreekt terwijl deze draait, waardoor logische overgangen voor elke rand worden gegenereerd. Ik heb geen goede foto van hoe deze gemonteerd is. Ik heb in feite twee plastic offsets in de PVC-koppeling aan de onderkant gelijmd en deze van bovenaf erin geschroefd. Ik moest de randen van het bord slijpen om het netjes te laten passen. Ik heb hier niet eens een schema voor, het is heel eenvoudig: voer gewoon een weerstand van 1k uit van Vin en sluit deze aan zodat de LED altijd aan is en de uitgang van de detector op de pin zit. Materialen: 1 940nm LED 1k weerstand 1 OPTEK OPL550 sensor 1 driepolige stekker (vrouwelijk) 1 1,5"x1,5" printplaat Verschillende lengtes draad Krimpkous als u uw draden gebundeld wilt hebben

Stap 7: Bouw de datalogger

Bouw de datalogger
Bouw de datalogger
Bouw de datalogger
Bouw de datalogger
Bouw de datalogger
Bouw de datalogger
Bouw de datalogger
Bouw de datalogger

Het Arduino-prototypingbord was veel te groot om in het chassis te passen. Ik gebruikte EagleCAD om een kleinere printplaat te maken en verloor een enkele laag… er zijn vier lelijke draden die ik nodig had om een paar gaten te overbruggen.

(Ik dacht dat ik dit had gemeten bij ~ 50 mW bedrijfsvermogen, en op basis van de wattuur van de batterijen, dacht ik dat ik binnen een week onder de 5 V zou komen, maar ofwel mijn vermogensmeting of mijn wiskunde was verkeerd omdat 4 C-cellen bewaard bleven gaan voor een lange tijd.) Redelijk eenvoudige lay-out: alleen een resonator, de ATmega328, een flash-chip, een debug-jumper, een debug-LED, voedingsdop, en dat is het dan ook. Er is iets genaamd DorkBoard dat ik ook had kunnen gebruiken, het is eigenlijk alles wat nodig is voor een ATMega328-ontwikkelbord ter grootte van een DIP-socket. Ik overwoog er een te kopen, maar mijn discrete aanpak was ongeveer 50% goedkoper. Hier is de dorkboard-link:

Hier is het basisidee (broncode wordt later toegevoegd) hoe het bord werkt: Jumper ingesteld op "debug"-modus: bevestig een veranderingswaarde-interrupt aan de optische sensoruitgang en laat de test-LED gelijktijdig met de detector knipperen. Dit was erg handig voor het debuggen. Jumper ingesteld op "record"-modus: bevestig dezelfde interrupt aan een teller en in de hoofdlus, vertraging 1000 msec. Schrijf aan het einde van de 1000 msec het # van de randtellingen naar een 256-byte flash-pagina, en wanneer de pagina vol is, schrijft u deze uit en stelt u de telling opnieuw in. Simpel, toch? Ongeveer. Ik hou echt van de Winbond-flashapparaten, ik ontwierp flash in de jaren 90, dus het was leuk om ze opnieuw te programmeren. De SPI-interface is briljant. Zo eenvoudig in gebruik. Ik laat de schema's en de broncode voor zich spreken. Had ik al gezegd dat EagleCAD geweldig is? Het is echt. Er zijn een aantal geweldige tutorials op YouTube.

Stap 8: Bevestig de elektronica

Bevestig de elektronica
Bevestig de elektronica

Nogmaals, ik heb hier niet veel goede foto's, maar als je je twee plastic afstandhouders voorstelt die aan de binnenkant van het PVC zijn gelijmd, zijn beide planken erin geschroefd. Hier is een foto van het loggerbord dat aan de onderkant is aangesloten. De detectorkaart bevindt zich in de behuizing.

Stap 9: Kalibratie

Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie

Ik heb een testopstelling gemaakt om het beest te kalibreren, zodat ik onbewerkte rotortellingen naar MPH kon converteren. Ja, dat is een 2x4. Ik heb de windmeter aan het ene uiteinde bevestigd en een debug Arduio aan het andere. Het LCD-scherm gaf de rotortellingen weer. Het proces ging als volgt: 1) Zoek een lange rechte weg zonder verkeer. 2) Houd de 2x4 zo vast dat deze zo ver mogelijk uit het raam steekt 3) Schakel spraakopname in op uw iPhone of Android 4) Schakel een digitale GPS-snelheidsmeter in op uw handheld-apparaat naar keuze 5) Rijd rustig met verschillende snelheden en kondigt aan voor uw recorder telt de snelheid en de gemiddelde rotor 6) Niet crashen 7) ? 8) Later, wanneer u niet aan het rijden bent, herhaalt u uw telefoonbericht en voert u de gegevens in Excel in en hoopt u dat een lineair of exponentieel of polynoom past met een R-kwadraatwaarde groter dan 99%. Deze conversie # zal later worden gebruikt. Het apparaat legt alleen onbewerkte gegevens vast, ik heb het in Excel nabewerkt tot MPH (of KPH). (Had ik al gezegd dat ik een dikke laag olijfkleurige verf had aangebracht? Ik zou dit een "Tactical Data Logging Anemometer" hebben genoemd, maar toen herinnerde ik me dat "Tactical" "zwart" betekent.)

Stap 10: Verzamel wat windgegevens

Ga wat windgegevens verzamelen!
Ga wat windgegevens verzamelen!
Ga wat windgegevens verzamelen!
Ga wat windgegevens verzamelen!
Ga wat windgegevens verzamelen!
Ga wat windgegevens verzamelen!

Dat is het eigenlijk wel. Ik denk dat er een paar foto's ontbreken, b.v. niet getoond zijn de vier C-cellen die in de onderste basis zijn gepropt. Ik kon geen veerbelaste houder plaatsen, dus uiteindelijk soldeerde ik kabels naar de batterijen zelf. Ik schrijf dit instructable een jaar nadat ik het heb gebouwd, en in revisie #2 gebruikte ik AA-batterijen omdat ik het stroomverbruik schromelijk overschatte. Door AA te gebruiken kon ik een aan-uitschakelaar toevoegen en echt wat ruimte binnenin vrijmaken, anders was het behoorlijk krap. Al met al was ik redelijk tevreden met het ontwerp. De onderstaande grafiek toont de gemiddelde gegevens van één week. De batterijen begonnen op dag zeven leeg te raken. Ik had de levensduur van de batterij kunnen verbeteren door de LED met een lagere inschakelduur van ongeveer 1 kHz te laten werken en ik zou geen randen hebben verloren vanwege de relatief lage hoeksnelheid van de rotor.

Veel plezier! Laat het me weten als je ruimte voor verbetering ziet!

Stap 11: Broncode

Bijgevoegd is een enkel Arduino-bronbestand. Ik heb het GPL gedaan omdat, hé, GPL.

EDIT: ik wil erop wijzen dat mijn implementatie van het gebruik van een vertraging van 1 s () een vreselijk idee is en in h. De hoeveelheid tijd die nodig is om naar de flitser te schrijven en de sensor te lezen, lijkt misschien klein, maar in de loop van 7 -10s komt het neer op een aanzienlijke drift. Gebruik in plaats daarvan 1Hz timer interrupt (Timer #1 op de 328P kan perfect worden gekalibreerd op 1Hz). Om veilig te zijn, moet je een hek coderen voor het geval de pagina schrijven en sensor lezen om de een of andere reden langer duurt dan 1 seconde (omgaan met gevallen monsters), maar een timer-interrupt is DE manier om dingen te doen die, nou ja, tijd moeten zijn- nauwkeurig. Proost!

Aanbevolen: