Spisu treści:
- Krok 1: Zbuduj wirnik
- Krok 2: Zbuduj górną bazę
- Krok 3: Przerywacz optyczny
- Krok 4: Zamocuj wirnik
- Krok 5: Zbuduj dolną bazę
- Krok 6: Zbuduj czujnik optyczny
- Krok 7: Zbuduj rejestrator danych
- Krok 8: Podłącz elektronikę
- Krok 9: Kalibracja
- Krok 10: Idź, zbierz trochę danych o wietrze
- Krok 11: Kod źródłowy
Wideo: Samodzielny anemometr rejestrujący dane: 11 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Uwielbiam zbierać i analizować dane. Uwielbiam też budować gadżety elektroniczne. Rok temu, kiedy odkryłem produkty Arduino, od razu pomyślałem: „Chciałbym zbierać dane środowiskowe”. To był wietrzny dzień w Portland w stanie Oregon, więc postanowiłem zebrać dane o wietrze. Przyjrzałem się niektórym instrukcjom dotyczącym anemometrów i uznałem je za całkiem przydatne, ale musiałem wprowadzić pewne zmiany inżynieryjne. Najpierw chciałem, żeby urządzenie przez tydzień działało samodzielnie, na zewnątrz. Po drugie, chciałem, aby był w stanie rejestrować bardzo małe podmuchy wiatru, kilka projektów tutaj wymagało dość silnych wiatrów, aby się uruchomić. Na koniec chciałem nagrać dane. Zdecydowałem się na naprawdę lekką konstrukcję wirnika z jak najmniejszą bezwładnością i oporem, jak to tylko możliwe. Aby to osiągnąć, użyłem wszystkich plastikowych części (w tym gwintowanych prętów winylowych), połączeń łożysk kulkowych i czujników optycznych. Inne konstrukcje wykorzystywały czujniki magnetyczne lub rzeczywiste silniki prądu stałego, ale oba spowalniają wirnik, optyka zużywa nieco więcej mocy, ale nie zapewnia mechanicznej odporności. Rejestratorem danych jest po prostu Atmega328P z 8-bitowym układem flash. Myślałem o przejściu na SD, ale chciałem utrzymać niskie koszty, zużycie energii i złożoność. Napisałem prosty program, który rejestrował dwubajtowe zliczanie rotacji co sekundę. Przy 8 megabitach pomyślałem, że mógłbym zebrać dane z około tygodnia. W moim oryginalnym projekcie pomyślałem, że potrzebuję 4 ogniw C, ale po tygodniu nadal były w pełni naładowane, więc musiałem być wyłączony o rząd wielkości w poborze mocy. Nie używałem regulatorów liniowych, podkręciłem wszystkie szyny napięciowe do 6V (mimo że niektóre części miały napięcie 3,3V. Hay overdesign!). Aby pobrać dane, miałem złożony system, który odczytywał flash i zrzucał go na monitor szeregowy arduino, a następnie wycinałem i wklejałem do Excela. Nie zastanawiałem się, jak napisać aplikację USB wiersza poleceń, aby zrzucić flash do standardowego wyjścia, ale w pewnym momencie będę musiał to rozgryźć. Wynik był dość zaskakujący, udało mi się zaobserwować kilka bardzo ciekawych trendów, które zostawiam na kolejny raport. Powodzenia!
Krok 1: Zbuduj wirnik
Wypróbowałem kilka różnych pomysłów na kubki z rotorem: pisanki, piłki do ping-ponga, plastikowe kubki i puste bombki choinkowe. Zbudowałem kilka wirników i przetestowałem je wszystkie z suszarką do włosów, która zapewniała różne prędkości wiatru. Z czterech prototypów najlepiej sprawdziły się muszle ozdobne. Miały również te małe wypustki, które ułatwiały mocowanie i były wykonane ze sztywnego plastiku, który dobrze współpracował z cementem poliwęglanowym. Wypróbowałem kilka różnych długości wałów, małych, średnich i dużych (około 1 "do około 6") i stwierdziłem, że większe rozmiary zbyt mocno skręcają i nie reagują dobrze na niskie prędkości wiatru, więc wybrałem wałki o małych rozmiarach. Ponieważ wszystko było z przezroczystego plastiku, zrobiłem poręczny mały wydruk, aby pomóc w zapaleniu trzech ostrzy. Materiały: Ozdoby pochodziły z Oriental Trading Company, pozycja „48/6300 DYO CLEAR ORNAMENT”, 6 USD plus 3 USD za przesyłkę. Plastikowe wałki i dysk strukturalny pochodziły z lokalnego sklepu TAP Plastics, części o około 4 USD więcej.
Krok 2: Zbuduj górną bazę
Aby zmniejszyć bezwładność obrotową, użyłem gwintowanego nylonowego pręta firmy McMaster Karr. Chciałem użyć łożysk, ale łożyska maszyn są zapakowane w smar spowalniający wirnik, więc kupiłem kilka tanich łożysk do deskorolek, które ich nie miały. Tak się złożyło, że zmieściły się w adapterze rurowym CPVC o średnicy wewnętrznej 3/4". Dopiero po zmontowaniu konstrukcji zdałem sobie sprawę, że łożyska łyżewowe radzą sobie z obciążeniem planarnym i stosowałem obciążenie pionowe, więc powinienem był użyć łożyska sterowego, ale działały dobrze i prawdopodobnie pomogły zarządzać tarciem spowodowanym momentem precesyjnym. Planowałem zamocować czujnik optyczny na spodzie wału, więc zamontowałem sprzęgło CPVC w większej podstawie. Home Depot to fajne miejsce do mieszania i dopasuj złączki CPVC/PVC Ostatecznie udało mi się włożyć gwintowane złącze 3/4" CPVC do reduktora z PVC 3/4" na 1-1/2". Trzeba było dużo zabawy, aby wszystko do siebie pasowało, ale pozostawiło wystarczająco dużo miejsca na elektronikę. Materiały: 98743A235 -- Czarny gwintowany pręt nylonowy (gwint 5/16"-18) 94900A030 -- Czarne nylonowe nakrętki sześciokątne (gwint 5/16"-18) Tanie łożyska do deskorolek Gwint 3/4" Adapter CPVC 3/4" do 1 Redukcja -1/2" PVC na rurę gwintowaną 3/4" Uwaga: Wymiary łączników PVC i CPVC nie są takie same, prawdopodobnie w celu zapobieżenia przypadkowemu niewłaściwemu użyciu; więc wymiana zwykłego adaptera 3/4" z PVC nie zadziała, jednak GWINT adaptera gwintowanego jest taki sam, co jest całkowicie dziwne. Złącze CPVC jest wkręcane w tuleję adaptera PVC. Adapter… tuleja… złącze… Prawdopodobnie mieszam wszystkie te terminy, ale 15 minut w przejściu z hydrauliką Home Depot wyprostuje cię.
Krok 3: Przerywacz optyczny
Gdy wirnik się obraca, jego obrót jest liczony przez przerywacz optyczny. Myślałem o użyciu dysku, ale oznaczało to konieczność pionowego zamocowania źródła światła i detektora, co byłoby bardzo trudne w montażu. Zamiast tego zdecydowałem się na montaż poziomy i znalazłem kilka małych kubków, które umieszczane są na spodzie krzeseł, aby chronić drewniane podłogi. Pomalowałem i okleiłem taśmą sześć segmentów, co dałoby mi dwanaście (prawie) jednolitych krawędzi, czyli 12 tyknięć na obrót wirnika. Myślałem o zrobieniu więcej, ale nie byłem za bardzo zaznajomiony z prędkością detektora ani polem widzenia jego optyki. Oznacza to, że gdybym zszedł zbyt wąski, dioda LED mogłaby pełzać po krawędziach i aktywować czujnik. To kolejny obszar badań, którego nie prowadziłem, ale dobrze byłoby go zbadać. Malowaną miseczkę przykleiłem do nakrętki i przymocowałem do końca wałka. Materiały: Ochraniacz na nogi krzesła, kubek z czarnej farby Home Depot
Krok 4: Zamocuj wirnik
W tym momencie zaczynało wyglądać całkiem fajnie. Nakrętki nylonowe są naprawdę śliskie, więc musiałem użyć wielu przeciwnakrętek (na wypadek, gdybyście tego nie zauważyli na poprzednich zdjęciach). Musiałem też wykonać specjalny płaski klucz, który pasowałby do kołpaka pod rotorem, abym mógł dokręcić obie nakrętki.
Krok 5: Zbuduj dolną bazę
Dolna podstawa mieści akumulatory i zapewnia konstrukcję nośną. Znalazłem w Internecie całkiem fajne wodoodporne pudełko od firmy o nazwie Polycase. To naprawdę zgrabna obudowa, która szczelnie się uszczelnia, a śruby są szersze u podstawy, więc nie wypadają łatwo z góry. Do górnej tulei PCV użyłem maty PCV. Ten dolny łącznik podstawy jest po prostu gwintowanym złączem PVC 1-1/2 ". Ciśnienie górnej podstawy wirnika pasuje do dolnej podstawy przez to złącze. Jak zobaczysz później, nie skleiłem tych elementów, ponieważ chciałem być w stanie otworzyć go i dokonać regulacji, jeśli to konieczne, a montaż jest łatwiejszy podczas mocowania płytek drukowanych Materiały: Wodoodporne pudełko z Polycase, pozycja # WP-23F, 12,50 USD Gwintowane złącze PVC 1-1/2"
Krok 6: Zbuduj czujnik optyczny
Mechanizm czujnika to dioda LED 940 nm i odbiornik Schmitt-trigger. Uwielbiam miłość kocham obwód wyzwalający Schmitta, który spełnia wszystkie moje potrzeby w zakresie odbicia i wysyła sygnał kompatybilny z CMOS/TTL. Jedyny minus? Praca 5V. Tak, podkręciłem cały projekt do 6 V, ale mógłbym przejść do 3,3 V, gdyby nie ta część. Pomysł polega na tym, że obwód ten jest montowany pod miską wirnika, która przerywa wiązkę podczas jej obrotu, generując logiczne przejścia dla każdej krawędzi. Nie mam dobrego obrazu tego, jak to było zamontowane. Zasadniczo wkleiłem dwa plastikowe offsety w dolne złącze PVC podstawy i wkręciłem je od góry. Musiałem zeszlifować krawędzie deski, aby dobrze pasowała. Nie mam nawet schematu do tego, to naprawdę proste: wystarczy uruchomić rezystor 1k od Vin i podłączyć go tak, aby dioda LED świeciła zawsze, a wyjście detektora było na swoim pinie. Materiały: 1 rezystor LED 940 nm 1k 1 czujnik OPTEK OPL550 1 wtyczka trójstykowa (żeńska) 1 płytka drukowana 1,5"x1,5" Różne długości przewodów Rurki termokurczliwe, jeśli lubisz łączyć przewody
Krok 7: Zbuduj rejestrator danych
Płytka prototypowa Arduino była zbyt duża, aby zmieścić się w obudowie. Użyłem EagleCAD do rozłożenia mniejszej płytki drukowanej i zgubiłem pojedynczą warstwę… są cztery brzydkie przewody, których potrzebowałem, aby wypełnić kilka luk.
(Myślałem, że zmierzyłem to przy mocy operacyjnej ~50mW, a na podstawie watogodzin baterii, myślałem, że spadnie poniżej 5V w ciągu tygodnia, ale albo mój pomiar mocy, albo moja matematyka była błędna, ponieważ 4 ogniwa C utrzymały będzie przez długi czas.) Dość prosty układ: tylko rezonator, ATmega328, układ flash, zworka debugowania, dioda debugowania, nasadka zasilacza i to wszystko. Jest coś, co nazywa się DorkBoard, którego też mogłem użyć, to w zasadzie wszystko, co jest potrzebne do płyty rozwojowej ATMega328 w rozmiarze gniazda DIP. Rozważałem zakup jednego, ale moje dyskretne podejście było o około 50% tańsze. Oto link do dorkboard:
Oto podstawowa idea (kod źródłowy zostanie dołączony później) jak działa płyta: Zworka ustawiona na tryb „debug”: podłącz przerwanie zmiany wartości do wyjścia czujnika optycznego i migaj diodą testową zgodnie z detektorem. Było to bardzo pomocne przy debugowaniu. Zworka ustawiona w trybie „nagrywania”: dołącz to samo przerwanie do licznika, aw pętli głównej opóźnij 1000 ms. Pod koniec 1000 ms zapisz liczbę zliczeń krawędzi na 256-bajtowej stronie flash, a gdy strona jest pełna, zapisz ją i zresetuj licznik. Proste, prawda? Prawie dużo. Bardzo podobają mi się urządzenia flash Winbond, projektowałem flash w latach 90-tych, więc fajnie było je ponownie zaprogramować. Interfejs SPI jest genialny. Tak prosty w użyciu. Niech schematy i kod źródłowy mówią same za siebie. Czy wspomniałem, że EagleCAD jest niesamowity? Naprawdę jest. Na YouTube jest kilka świetnych samouczków.
Krok 8: Podłącz elektronikę
Znowu nie mam tu zbyt wielu dobrych zdjęć, ale jeśli wyobrazicie sobie dwie plastikowe podkładki przyklejone do wewnętrznej strony PVC, to obie deski są w nią wkręcone. Oto ujęcie tablicy rejestratora podłączonej do spodu. Płytka czujki znajduje się wewnątrz obudowy.
Krok 9: Kalibracja
Zrobiłem urządzenie testowe, aby skalibrować bestię, aby móc przeliczyć surowe zliczenia wirnika na MPH. Tak, to jest 2x4. Do jednego końca podłączyłem anemometr, a na drugim debuger Arduio. Wyświetlacz LCD wyświetlał liczniki rotorów. Proces przebiegał następująco: 1) Znajdź długą prostą drogę bez ruchu. 2) Przytrzymaj 2x4 tak, aby wystawał jak najdalej przez okno 3) Włącz nagrywanie głosu na swoim iPhonie lub Androidzie 4) Włącz cyfrowy prędkościomierz GPS na wybranym urządzeniu przenośnym 5) Jedź stabilnie z kilkoma prędkościami i ogłaszaj do Twojego rejestratora zlicza prędkość i średnią prędkość wirnika 6) Nie upaść 7) ? 8) Później, gdy nie prowadzisz samochodu, odtwórz wiadomość telefoniczną i wprowadź dane do programu Excel, mając nadzieję, że liniowa, wykładnicza lub wielomianowa pasuje do wartości R-kwadrat większej niż 99%. Ta konwersja # będzie używana później. Urządzenie przechwytuje tylko surowe dane, przetworzyłem je do MPH (lub KPH) w Excelu. (Czy wspomniałem, że nałożyłem twardą warstwę oliwkowej farby? Nazwałbym to „Anemometrem rejestrującym dane taktyczne”, ale potem przypomniałem sobie, że „taktyczny” oznacza „czarny”).
Krok 10: Idź, zbierz trochę danych o wietrze
To prawie wszystko. Chyba brakuje kilku zdjęć, m.in. nie pokazano czterech komórek C stłoczonych w dolnej podstawie. Nie mogłem zmieścić sprężynowego uchwytu, więc skończyłem lutowanie przewodów do samych baterii. Piszę tę instrukcję rok po jej zbudowaniu, aw wersji nr 2 użyłem baterii AA, ponieważ rażąco przeszacowałem zużycie energii. Użycie AA pozwoliło mi dodać przełącznik on-off i naprawdę uwolniło trochę miejsca w środku, w przeciwnym razie było dość ciasno. W sumie byłem bardzo zadowolony z projektu. Poniższy wykres przedstawia dane uśrednione z jednego tygodnia. Baterie zaczęły umierać siódmego dnia. Mogłem poprawić żywotność baterii, uruchamiając diodę LED przy niższym cyklu pracy przy około 1 kHz i nie straciłbym żadnych krawędzi ze względu na stosunkowo niską prędkość kątową wirnika.
Baw się dobrze! Daj mi znać, jeśli widzisz możliwość poprawy!
Krok 11: Kod źródłowy
W załączniku znajduje się pojedynczy plik źródłowy Arduino. Zrobiłem to na GPL, ponieważ, hej, GPL.
EDYCJA: Chciałbym zwrócić uwagę, że moja implementacja użycia 1s delay() jest okropnym pomysłem i w h Ilość czasu wymagana do zapisania do flasha i odczytania czujnika może wydawać się niewielka, ale w ciągu 7 -10s dodaje się do pewnego znaczącego dryfu. Zamiast tego użyj przerwania timera 1Hz (Timer #1 w 328P może być idealnie skalibrowany do 1Hz). Aby być bezpiecznym, powinieneś kodować w ogrodzeniu na wypadek, gdyby zapis strony i odczyt czujnika z jakiegoś powodu trwał dłużej niż 1 sekundę (obsługa upuszczonych próbek), ale przerwanie czasowe jest TYM sposobem na zrobienie rzeczy, które muszą być, cóż, czasu- dokładny. Pozdrawiam!
Zalecana:
Samodzielny Arduino ATmega328p: 7 kroków (ze zdjęciami)
Stand Alone Arduino ATmega328p: Wszystko zaczęło się, gdy zobaczyłem instruktażową „grę binarną”; przez Keebie81https://www.instructables.com/id/Binary-Game/ Ale pomyślałem, że samodzielna wersja zamiast płyty Arduino byłaby lepsza, aby uwolnić
Termometr rejestrujący DIY z 2 czujnikami: 3 kroki (ze zdjęciami)
Termometr rejestrujący DIY z 2 czujnikami: Ten projekt jest rozwinięciem mojego poprzedniego projektu „Termometr rejestrujący DIY”. Rejestruje pomiary temperatury na kartę micro SD. Zmiany sprzętowe Do modułu zegara czasu rzeczywistego dodałem czujnik temperatury DS18B20, gdzie znajduje się pr
Jak zbudować własny anemometr za pomocą kontaktronów, czujnika Halla i niektórych notatek na Nodemcu - część 2 - oprogramowanie: 5 kroków (ze zdjęciami)
Jak zbudować własny anemometr za pomocą kontaktronów, czujnika Halla i niektórych notatek na Nodemcu - część 2 - oprogramowanie: wprowadzenieTo jest kontynuacja pierwszego postu „Jak zbudować własny anemometr za pomocą kontaktronów, czujnika Halla i niektórych skrawków na Nodemcu - Część 1 - Sprzęt" - gdzie pokazuję jak skompletować pomiar prędkości i kierunku wiatru
Jak zbudować własny anemometr za pomocą kontaktronów, czujnika Halla i niektórych notatek na Nodemcu. - Część 1 - Sprzęt: 8 kroków (ze zdjęciami)
Jak zbudować własny anemometr za pomocą kontaktronów, czujnika Halla i niektórych notatek na Nodemcu. - Część 1 - Sprzęt: Wprowadzenie Odkąd zacząłem studiować Arduino i Maker Culture, lubiłem budować przydatne urządzenia z kawałków śmieci i złomu, takich jak kapsle do butelek, kawałki PCV, puszki po napojach itp. Uwielbiam dawać drugie życie do dowolnego kawałka lub kolegi
Samodzielny samodzielny Arduino Uno: 5 kroków
DIY Standalone Arduino Uno: W tym projekcie opowiem, jak możemy zrobić DIY Arduino Uno, po prostu ustawiając go na płytce prototypowej. Można to zrobić z różnych powodów, takich jak zmniejszenie kosztów, zmniejszenie zużycia energii, zmniejszenie zużycia energii itp. Ten projekt da ci sposób na