Obsah:
- Krok 1: Čo budeme potrebovať:
- Krok 2: Budovanie…
- Krok 3: Niektoré ďalšie informácie, než budeme pokračovať
- Krok 4: Kód:
- Krok 5: Testovanie a záver
Video: Meranie uhla pomocou gyroskopu, akcelerometra a Arduina: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:02
Zariadenie je hrubým prototypom toho, čo sa nakoniec stane robotom s vlastnou rovnováhou. Toto je druhá časť diery (čítajte akcelerometer a ovládajte motor tak, aby sa vyvážil). Prvú časť iba s gyroskopom nájdete tu. Na tomto návode zmeráme uhol pomocou gyroskopu a akcelerometra a pomocou techniky zlúčenia oboch senzorov dostaneme hladký signál. Táto technika sa nazýva "komplementárny filter". Predchádzajúci
Krok 1: Čo budeme potrebovať:
Niektoré časti je možné nahradiť a niektoré úpravy v kóde je potrebné vykonať tak, aby zodpovedali vášmu hardvéru. Na tento projekt použijeme:- Breadboard- mikrokontrolér- použil som Arduinoboard- drôt- prepojovacie vodiče- gyroskop XV-8100- Nunchuck Wii (pre akcelerometer)- Nunchuck Wii adaptér pre Arduino
Krok 2: Budovanie…
Obvod pozostáva z gyroskopu pripojeného priamo k portu 0 na vašom arduino a nunchuck wii pripojeného k portu I2C. Zostavenie gyroskopu: 1. - zapojte gyroskop do dosky 2. - drôt vôbec:- Vo pin z gyroskopu pripojený k analógovému portu0 na arduino (svetlo oranžový vodič)- G pin z gyroskopu spojený so zemou (biely vodič)- V+ pin z gyroskopu zapojený do Vdd (3,3 V) (oranžový vodič) Zostavenie akcelerometer: 1. - zapojte adaptér do nunchuck2. - zapojte nunchuck do arduina pomocou adaptéra3. - umiestnite snímač zrýchlenia ako na fotografii vyššie
Krok 3: Niektoré ďalšie informácie, než budeme pokračovať
Z oboch senzorov môžeme merať uhol, ale pomocou dvoch odlišných techník. Na meranie uhla pomocou gyroskopu musíme integrovať signál. Ale prečo to musíme urobiť? Pretože nám gyroskop udáva uhlovú rýchlosť, uhlom sa dá jednoducho získať tak, že uhlovú rýchlosť vynásobíme časom [uhol = uhol + š * dt] Na meranie uhla pomocou akcelerometra musíme v každom z nich vycítiť gravitáciu. os akcelerometra, čo to znamená, projekcia gravitačného zrýchlenia na každý smer snímača nám dáva predstavu o uhle. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Prečo teda použijeme dva snímače namiesto jedného? Využite výhody oboch vlastností senzora. Ak sa pozriete na grafiku, gyroskopické údaje sa neustále zvyšujú, tomu sa hovorí drift a údaje akcelerometra sa v krátkom čase veľmi menia. A ako zlúčiť oba signály? Použijeme techniku nazývanú komplementárny filter. Nepoznám presnú teóriu, ale funguje to dobre. Na internete je niekoľko informácií, stačí ich vygoogliť, ak potrebujete ďalšie informácie. Tento odkaz obsahuje veľa informácií a môže byť užitočný.filtered_angle = HPF*(filtrovaný_angle + w*dt) + LPF*(uhol_accel); kde HPF + LPF = 1Hodnoty HPF a LPF nájdete na tomto odkaze v súbore filter.pdf. Ďakujem vám, chlapci z „The DIY Segway“. Len pre účely testu nastavíme tieto hodnoty takto, HPF = 0,98 a LPF = 0,02.
Krok 4: Kód:
Kód je adaptáciou kódu, ktorý som použil v inom projekte. Pravdepodobne sú niektoré premenné nepoužité. Na čítanie údajov z nunchucku z https://todbot.com/blog/ som použil knižnicu. Ďakujem Tod E. Kurt. Komentáre ku kódu sú v portugalčine, hneď ako budem mať voľný čas, preložím ho. Výstup kódu cez sériovú linku obsahuje niekoľko čísel s týmto vzorom: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle:filtr_angle $ Tieto hodnoty teda môžete uložiť na sériový terminál a vykresliť grafiku alebo použiť uhol na iné veci. Ak potrebujete akékoľvek vysvetlenie ku kódu, môžete sa pýtať. Kód je na zips. Jednoducho rozpojte, otvorte a nahrajte do svojho arduina.
Krok 5: Testovanie a záver
Na otestovanie systému som údaje uložil pomocou programu s názvom Termite, potom tieto údaje importovať v programe Excel a vykresliť grafiku, aby som zistil, ako dobrý je môj filter. Výsledky sú úžasné. Signál môžete samozrejme použiť na pohon motora alebo na iné veci. Akékoľvek pripomienky, akékoľvek pochybnosti, akékoľvek informácie chýbajú, povedzte mi to a ja to opravím. Ak sa vám to páči, ohodnotte. Ďakujem vám všetkým.
Odporúča:
Meranie rýchlosti motora pomocou Arduina: 6 krokov
Meranie rýchlosti motora pomocou Arduina: Je ťažké merať otáčky motora ??? Nemyslím si to. Tu je jedno jednoduché riešenie. Dokáže to iba jeden IR senzor a Arduino vo vašej súprave. V tomto príspevku uvediem jednoduchý návod, ako vysvetliť meranie otáčok akéhokoľvek motora pomocou infračerveného senzora a A
Základy akcelerometra MPU6050+gyroskopu: 3 kroky
Základy senzora akcelerometra MPU6050+gyroskopu: MPU6050 je veľmi užitočný senzor. CPU 6050 je IMU: Inerciálna meracia jednotka (IMU) je elektronické zariadenie, ktoré meria a hlási špecifickú silu, uhlovú rýchlosť a niekedy aj orientáciu tela. tela, pomocou kombinácie
Ako vybudovať Cubesat pomocou Arduina a akcelerometra .: 5 krokov
Ako vybudovať Cubesat pomocou Arduina a akcelerometra: Naše mená sú Brock, Eddie a Drew. Hlavným cieľom našej triedy fyziky je cestovať zo Zeme na Mars a simulovať obežnú dráhu okolo Marsu pomocou Cube Sat a zbierať údaje. Cieľom našich skupín pre tento projekt je zbierať údaje pomocou accele
Simulátor hier SmartPhone- hrajte hry pre Windows pomocou ovládania gestami IMU, akcelerometra, gyroskopu, magnetometra: 5 krokov
SmartPhone Game Simulator- Hrajte hry pre Windows pomocou ovládania gestami IMU, akcelerometer, gyroskop, magnetometer: Podporte tento projekt: https://www.paypal.me/vslcreations darovaním open-source kódov & podpora ďalšieho rozvoja
Arduino Nano a Visuino: Previesť zrýchlenie na uhol z akcelerometra a gyroskopu Snímač MPU6050 I2C: 8 krokov (s obrázkami)
Arduino Nano a Visuino: Previesť zrýchlenie na uhol z akcelerometra a gyroskopu Senzor MPU6050 I2C: Pred chvíľou som zverejnil návod, ako môžete k Arduino Nano pripojiť akcelerometer, gyroskop a snímač kompasu MPU9250 a naprogramovať ho pomocou Visuina na odosielanie paketových údajov a zobrazenie. na rozsahu a vizuálnych nástrojoch. Akcelerometer odosiela X, Y,