Spisu treści:
- Krok 1: Czego będziemy potrzebować:
- Krok 2: Budowanie…
- Krok 3: Dodatkowe informacje, zanim przejdziemy dalej
- Krok 4: Kod:
- Krok 5: Testowanie i wnioski
Wideo: Pomiar kąta za pomocą żyroskopu, akcelerometru i Arduino: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Urządzenie jest wstępnym prototypem tego, co ostatecznie stanie się robotem samobalansującym, jest to druga część dziury (odczytaj akcelerometr i kontroluj silnik do samobalansowania). Pierwsza część zawierająca tylko żyroskop znajduje się tutaj. Na tej instrukcji zmierzymy kąt za pomocą żyroskopu i akcelerometru oraz za pomocą techniki łączenia obu czujników w celu uzyskania gładkiego sygnału. Technika ta nazywa się „filtrem komplementarnym”.poprzednia
Krok 1: Czego będziemy potrzebować:
Niektóre części można wymienić, a niektóre modyfikacje w kodzie muszą być wykonane, aby pasowały do twojego sprzętu. W tym projekcie wykorzystamy:- Płytka prototypowa- Mikrokontroler, ja użyłem Arduino- Płytka- Przewody- Przewody połączeniowe- Żyroskop XV-8100- Nunchuck Wii (dla akcelerometru)- Adapter Nunchuck Wii do Arduino
Krok 2: Budowanie…
Obwód składa się z żyroskopu podłączonego bezpośrednio do portu 0 w twoim arduino i nunchuck wii podłączonego do portu I2C. Montaż żyroskopu:1. - podłącz żyroskop na płytce stykowej2. - przewód kiedykolwiek: - pin Vo z żyroskopu podłączony do portu analogowego 0 w arduino (przewód jasnopomarańczowy) - pin G z żyroskopu podłączony do masy (biały przewód) - pin V+ z żyroskopu podłączony do Vdd (3,3 V) (przewód pomarańczowy) akcelerometr:1. - podłącz adapter do nunchuck2. - podłącz nunchuck do arduino za pomocą adaptera3. - umieść czujnik przyspieszenia jak na zdjęciu powyżej
Krok 3: Dodatkowe informacje, zanim przejdziemy dalej
Z obu czujników możemy zmierzyć kąt, ale przy użyciu dwóch różnych technik. Aby zmierzyć kąt za pomocą żyroskopu, musimy zintegrować sygnał. Ale po co to robić? Ponieważ żyroskop podaje nam prędkość kątową, więc prostym sposobem na uzyskanie kąta jest pomnożenie prędkości kątowej przez czas [kąt = kąt + w * dt]Aby zmierzyć kąt za pomocą akcelerometru, musimy wyczuć grawitację w każdym osi akcelerometru, co oznacza rzut przyspieszenia ziemskiego na każdy kierunek czujnika, daje nam wyobrażenie o kącie. [angle_accel = arctg(Ay / sqrt(Ax^2 + Az^2))]Więc dlaczego użyjemy dwóch czujników zamiast jednego? Aby skorzystać z obu właściwości czujnika. Jeśli spojrzysz na grafikę, że dane z żyroskopu stale rosną, nazywa się to dryfem, a dane akcelerometru zmieniają się bardzo w krótkim czasie. A jak połączyć oba sygnały? Użyjemy techniki zwanej filtrem komplementarnym. Nie znam dokładnej teorii, która za tym stoi, ale działa dobrze. W Internecie jest kilka informacji, po prostu wyszukaj je w Google, jeśli potrzebujesz więcej informacji. Ten link zawiera wiele informacji i może być przydatny.filtered_angle = HPF*(filtered_angle + w* dt) + LPF*(angle_accel); gdzie HPF + LPF = 1Wartości HPF i LPF można znaleźć pod tym linkiem, w pliku filter.pdf. Dzięki wam z "The DIY Segway". Tylko do celów testowych ustawimy te wartości w ten sposób, HPF = 0,98 i LPF = 0,02.
Krok 4: Kod:
Kod jest adaptacją kodu, którego użyłem w innym projekcie. Prawdopodobnie są jakieś nieużywane zmienne. Do odczytania danych o nunchucku użyłem biblioteki z https://todbot.com/blog/. Dziękuję Tod E. Kurt. Komentarze do kodu są po portugalsku, jak tylko będę miał wolny czas, przetłumaczę go. Wyjście kodu przez linię szeregową kilka liczb z tym wzorem:dt:w:teta:pitch: filter_teta $time:angular_velocity:gyro_angle:accel_angle:filtered_angle$Możesz więc zapisać te wartości na terminalu szeregowym i narysować grafikę lub użyć kąta do innych rzeczy. Jeśli potrzebujesz wyjaśnień dotyczących kodu, możesz zapytać. Kod jest rozpinane. Po prostu rozpakuj, otwórz i wgraj do swojego arduino.
Krok 5: Testowanie i wnioski
Aby przetestować system, zapisałem dane za pomocą programu o nazwie Termite, a następnie zaimportowałem je do programu Excel i wykreśliłem grafikę, aby zobaczyć, jak dobry jest mój filtr. Wyniki są niesamowite. Oczywiście możesz użyć sygnału do napędzania silnika lub innych rzeczy. Wszelkie uwagi, wszelkie wątpliwości, brak jakichkolwiek informacji, po prostu powiedz mi, a ja to poprawię. Jeśli Ci się to podoba, oceń. Dziękuję wszystkim.
Zalecana:
Samouczek akcelerometru Arduino: Sterowanie mostkiem statku za pomocą serwomotoru: 5 kroków
Arduino Accelerometer Tutorial: Sterowanie mostem statku za pomocą serwomotoru: Czujniki akcelerometru znajdują się teraz w większości naszych smartfonów, aby zapewnić im szeroką gamę zastosowań i możliwości, z których korzystamy na co dzień, nawet nie wiedząc, że odpowiedzialny za to jest akcelerometr. Jedną z tych możliwości jest sterowanie
Jak zbudować Cubesata za pomocą Arduino i akcelerometru.: 5 kroków
Jak zbudować Cubesata z Arduino i akcelerometrem.: Nazywamy się Brock, Eddie i Drew. Głównym celem naszej klasy fizyki jest podróż z Ziemi na Marsa podczas symulacji orbity wokół Marsa za pomocą Cube Sat i zbierania danych. Celem naszych grup w tym projekcie jest zbieranie danych za pomocą akceler
Symulator gry na smartfony - Graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: 5 kroków
Symulator gry na smartfony - graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: wesprzyj ten projekt: https://www.paypal.me/vslcreations, przekazując darowizny na kody open-source i amp; wsparcie dalszego rozwoju
Arduino Nano i Visuino: Konwersja przyspieszenia do kąta z akcelerometru i żyroskopu Czujnik MPU6050 I2C: 8 kroków (ze zdjęciami)
Arduino Nano i Visuino: Konwertuj przyspieszenie na kąt z akcelerometru i żyroskopu Czujnik MPU6050 I2C: Jakiś czas temu opublikowałem samouczek, w jaki sposób można podłączyć akcelerometr, żyroskop i czujnik kompasu MPU9250 do Arduino Nano i zaprogramować go za pomocą Visuino, aby wysyłać dane pakietowe i wyświetlać na oscyloskopie i instrumentach wizualnych. Akcelerometr wysyła X, Y
Samouczek dotyczący akcelerometru i żyroskopu: 3 kroki
Akcelerometr i żyroskop – samouczek: Wprowadzenie Ten przewodnik jest przeznaczony dla wszystkich zainteresowanych wykorzystaniem akcelerometrów i żyroskopów, a także kombinacji urządzeń IMU (Inertial Measurement Unit) w swoich projektach elektronicznych. Omówimy: Co mierzy akcelerometr?