Tartalomjegyzék:

Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével: 5 lépés
Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével: 5 lépés

Videó: Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével: 5 lépés

Videó: Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével: 5 lépés
Videó: Измерьте температуру и влажность Wi-Fi с помощью ESP32 DHT11 и DHT22 - Robojax 2024, November
Anonim
Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével
Szögmérés giroszkóp, gyorsulásmérő és Arduino segítségével

A készülék durva prototípusa annak, hogy végül mi lesz az önmérleg -robot, ez a lyuk második része (olvassa el a gyorsulásmérőt, és vezérelje a motort az egyensúlyhoz). Az első rész, amelyben csak a giroszkóp található, megtalálható itt. Ezen az utasításon mérjük a szöget giroszkóp és gyorsulásmérő segítségével, és egy technikával egyesítjük mindkét érzékelőt, hogy sima jelet kapjunk. A technikát "kiegészítő szűrőnek" nevezik.előző

Lépés: Amire szükségünk lesz:

Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz
Amire szükségünk lesz

Bizonyos alkatrészeket ki lehet cserélni, és a kódon módosítani kell, hogy illeszkedjen a hardverhez. Ebben a projektben a következőket fogjuk használni:- Kenyérsütő- Mikrokontroller, az Arduinoboard- Wire- Jumper vezetékek- Gyroscope XV-8100- Nunchuck Wii (a gyorsulásmérőhöz)- Nunchuck Wii adapter az Arduino számára

2. lépés: Építés…

Épület…
Épület…
Épület…
Épület…
Épület…
Épület…

Az áramkör egy giroszkópból áll, amely közvetlenül csatlakozik az arduino 0 -ás portjához, és egy nunchuck wii csatlakozóból az I2C porton. A giroszkóp összeszerelése: 1. - dugja be a giroszkópot a kenyérlapra2. - drót minden dolog:- Vo pin a giroszkópból az analóg porthoz csatlakoztatva 0 az arduino-nál (Világos narancssárga vezeték)- G tű a giroszkópból a földhöz csatlakoztatva (fehér vezeték)- V+ pin a giroszkópból a Vdd-hez (3,3 V) (narancssárga vezeték) a gyorsulásmérő: 1. - csatlakoztassa az adaptert a nunchuck2 -hez. - Csatlakoztassa a nunchuckot az arduino -hoz az adapter segítségével3. - helyezze az accel érzékelőt a fenti képhez hasonlóan

3. lépés: Néhány további információ a folytatás előtt

Néhány további információ a folytatás előtt
Néhány további információ a folytatás előtt
Néhány további információ a folytatás előtt
Néhány további információ a folytatás előtt
Néhány további információ a folytatás előtt
Néhány további információ a folytatás előtt

Mindkét érzékelőből meg tudjuk mérni a szöget, de két különböző technikával. A szög méréséhez a giroszkóp segítségével integrálnunk kell a jelet. De miért kell ezt tennünk? Mivel a giroszkóp megadja a szögsebességet, így a szög meghatározásának egyszerű módja, ha a szögsebességet megszorozzuk az idővel [szög = szög + w * dt] A szög gyorsulásmérővel történő méréséhez meg kell határoznunk a gravitációt mindegyikben A gyorsulásmérő tengelye, mit jelent, a gravitációs gyorsulás vetítése az érzékelő minden irányába képet ad a szögről. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Akkor miért használunk két érzékelőt egy helyett? Ahhoz, hogy kihasználja mindkét érzékelő tulajdonságait. Ha megnézi a grafikát, a giroszkóp adatok folyamatos növekedése, ezt driftnek nevezik, és a gyorsulásmérő adatai nagyon sokat változnak rövid idő alatt. És hogyan lehet egyesíteni mindkét jelet? A kiegészítő szűrőnek nevezett technikát fogjuk használni. Nem tudom a pontos elméletet, de jól működik. Van néhány információ az interneten, ha további információra van szüksége, csak google -olja. Ez a link sok információt tartalmaz, és hasznos lehet. ahol HPF + LPF = 1A HPF és LPF értékei ezen a linken, a filter.pdf fájlban találhatók. Köszönjük srácok a "The DIY Segway" -től. Csak tesztelés céljából ezt az értéket állítjuk be, HPF = 0,98 és LPF = 0,02.

4. lépés: Kód:

A kód egy adaptáció egy kódból, amelyet egy másik projektnél használtam. Valószínűleg vannak kihasználatlan változók. Könyvtárat használtam a nunchuck adatok olvasására a https://todbot.com/blog/ webhelyről. Köszönöm Tod E. Kurt. A kóddal kapcsolatos megjegyzések portugál nyelven jelennek meg, amint lesz szabad időm, lefordítom. A kód a soros vonalon keresztül néhány számmal rendelkezik ezzel a mintával: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Így elmentheti ezeket az értékeket egy soros terminálon, és ábrázolhat egy grafikát, vagy használhatja a szöget más dolgokra. Ha bármilyen magyarázatra van szüksége a kóddal kapcsolatban, kérdezzen bátran. A kód cipzárral. Csak bontsa ki, nyissa meg és töltse fel az arduino -jába.

5. lépés: Tesztelés és következtetés

Tesztelés és következtetés
Tesztelés és következtetés
Tesztelés és következtetés
Tesztelés és következtetés

A rendszer teszteléséhez a Termite nevű programmal mentettem az adatokat, majd importáltam ezeket az adatokat az excelben, és ábrázoltam a grafikát, hogy lássam, milyen jó a szűrőm. Az eredmények elképesztőek. Természetesen használhatja a jelet egy motor meghajtására vagy más dolgokra. Bármilyen megjegyzés, bármilyen kétség, bármilyen információ hiányzik, csak mondja el, és kijavítom. Kérjük, ha tetszik, értékelje. Köszönöm mindenkinek.

Ajánlott: