Obsah:
- Krok 1: Co budeme potřebovat:
- Krok 2: Budování…
- Krok 3: Několik dalších informací, než budeme pokračovat
- Krok 4: Kód:
- Krok 5: Testování a závěr
Video: Měření úhlu pomocí gyroskopu, akcelerometru a Arduina: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:25
Zařízení je hrubým prototypem toho, co se nakonec stane robotem s vlastním vyvážením, toto je druhá část díry (čtěte akcelerometr a ovládejte motor tak, aby se vyvažoval). První část pouze s gyroskopem najdete zde. Na tomto pokynu změříme úhel pomocí gyroskopu i akcelerometru a pomocí techniky sloučení obou senzorů získáme hladký signál. Tato technika se nazývá „komplementární filtr“. Předchozí
Krok 1: Co budeme potřebovat:
Některé části lze vyměnit a některé změny v kódu je třeba provést tak, aby odpovídaly vašemu hardwaru. V tomto projektu použijeme:- Breadboard- mikrokontrolér, použil jsem Arduinoboard- Wire- propojovací vodiče- Gyroskop XV-8100- Nunchuck Wii (pro akcelerometr)- Nunchuck Wii adaptér pro Arduino
Krok 2: Budování…
Obvod se skládá z gyroskopu připojeného přímo k portu 0 na vašem arduinu a nunchucku wii připojeného k portu I2C. Sestavení gyroskopu: 1. - zapojte gyroskop na prkénko 2. - drát vůbec:- Vo pin z gyroskopu připojený k analogovému portu0 na arduino (světle oranžový vodič)- G pin z gyroskopu připojený k zemi (bílý vodič)- V+ pin z gyroskopu připojený k Vdd (3,3 V) (oranžový vodič) Sestavení akcelerometr: 1. - zapojte adaptér do nunchuck2. - zapojte nunchuck do arduina pomocí adaptéru3. - umístěte snímač zrychlení jako na fotografii výše
Krok 3: Několik dalších informací, než budeme pokračovat
Z obou senzorů můžeme měřit úhel, ale pomocí dvou odlišných technik. K měření úhlu pomocí gyroskopu musíme integrovat signál. Ale proč to musíme udělat? Protože gyroskop nám udává úhlovou rychlost, takže jednoduchý způsob, jak získat úhel, je nechat úhlovou rychlost vynásobit časem [úhel = úhel + w * dt] Abychom změřili úhel pomocí akcelerometru, musíme v každém z nich vycítit gravitaci osa akcelerometru, co to znamená, projekce gravitačního zrychlení na každý směr senzoru nám dává představu o úhlu. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Proč tedy použijeme dva senzory místo jednoho? Chcete -li využít výhod obou vlastností senzoru. Pokud se podíváte na grafiku, kontinuální nárůst gyroskopických dat, tomu se říká drift a data akcelerometru se v krátkém čase hodně mění. A jak sloučit oba signály? Použijeme techniku zvanou komplementární filtr. Přesnou teorii neznám, ale funguje to dobře. Na internetu jsou nějaké informace, stačí je vygooglit, pokud potřebujete další informace. Tento odkaz obsahuje mnoho informací a může být užitečný.filtered_angle = HPF*(filtrovaný_angle + w*dt) + LPF*(angle_accel); kde HPF + LPF = 1 Hodnoty HPF a LPF lze nalézt na tomto odkazu, v souboru filter.pdf. Děkuji vám, kluci z „The DIY Segway“. Jen pro účely testování nastavíme tyto hodnoty takto, HPF = 0,98 a LPF = 0,02.
Krok 4: Kód:
Kód je adaptací z kódu, který jsem použil na jiném projektu. Pravděpodobně jsou některé proměnné nepoužité. Pomocí knihovny jsem přečetl data nunchucku z https://todbot.com/blog/. Děkuji Tod E. Kurt. Komentáře ke kódu jsou v portugalštině, jakmile budu mít volný čas, přeložím ho. Výstup kódu přes sériovou linku některá čísla s tímto vzorem: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle:filtrovaný_angle $ Takže tyto hodnoty můžete uložit na sériový terminál a vykreslit grafiku nebo použít úhel pro jiné věci. Pokud potřebujete nějaké vysvětlení ke kódu, můžete se ptát zdarma. na zip. Jednoduše rozbalte, otevřete a nahrajte do svého arduina.
Krok 5: Testování a závěr
Chcete -li otestovat systém, uložil jsem data pomocí programu nazvaného Termite, poté importoval tato data v aplikaci Excel a vykreslil grafiku, abyste zjistili, jak dobrý je můj filtr. Výsledky jsou úžasné. Signál můžete samozřejmě použít k řízení motoru nebo jiných věcí. Jakékoli komentáře, jakékoli pochybnosti, chybějící informace, řekněte mi to a já to opravím. Pokud se vám to líbí, ohodnoťte. Děkuji vám všem.
Doporučuje:
Modul řízení akcelerometru/gyroskopu pro Xbox 360: 7 kroků
Modul řízení akcelerometru/gyroskopu pro Xbox 360: Hrál jsem Assetto Corsa s ovladačem pro Xbox 360. Řízení analogovou páčkou je bohužel velmi nepraktické a nemám prostor pro nastavení kola. Pokusil jsem se vymyslet způsoby, jak bych mohl zlepit lepší mechanismus řízení do
Základy akcelerometru MPU6050+gyroskopu: 3 kroky
MPU6050-Akcelerometr+Gyroskopický senzor Základy: MPU6050 je velmi užitečný senzor. CPU 6050 je IMU: Inerciální měřicí jednotka (IMU) je elektronické zařízení, které měří a hlásí specifickou sílu, úhlovou rychlost a někdy i orientaci těla. těla pomocí kombinace
Jak postavit Cubesat pomocí Arduina a akcelerometru .: 5 kroků
Jak postavit Cubesat pomocí Arduina a akcelerometru: Jmenujeme se Brock, Eddie a Drew. Hlavním cílem naší třídy fyziky je cestovat ze Země na Mars a simulovat oběžnou dráhu kolem Marsu pomocí Cube Sat a sbírat data. Cílem našich skupin pro tento projekt je shromažďovat data pomocí accele
Arduino Nano a Visuino: Převod zrychlení na úhel z akcelerometru a gyroskopu Snímač MPU6050 I2C: 8 kroků (s obrázky)
Arduino Nano a Visuino: Převod zrychlení na úhel z akcelerometru a gyroskopu Senzor MPU6050 I2C: Před chvílí jsem zveřejnil návod, jak lze k Arduino Nano připojit akcelerometr, gyroskop a snímač kompasu MPU9250 a programovat ho pomocí Visuina pro odesílání dat a zobrazení paketů to na Scope a Visual Instruments. Akcelerometr posílá X, Y
Kurz akcelerometru a gyroskopu: 3 kroky
Výukový program pro akcelerometr a gyroskop: Úvod Tato příručka je určena každému, koho zajímá používání akcelerometrů a gyroskopů a také kombinovaných zařízení IMU (jednotka inerciálního měření) při jejich projektech v oblasti elektroniky Budeme se zabývat: Co měří akcelerometr?