Sadržaj:
- Korak 1: Ono što će nam trebati:
- Korak 2: Izgradnja…
- Korak 3: Dodatne informacije prije nego nastavimo
- Korak 4: Kôd:
- Korak 5: Testiranje i zaključak
Video: Mjerenje kuta pomoću žiroskopa, akcelerometra i Arduina: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:38
Uređaj je grubi prototip onoga što će na kraju postati robot za automatsku ravnotežu, ovo je drugi dio rupe (pročitajte mjerač ubrzanja i upravljajte motorom do ravnoteže). Prvi dio sa samo žiroskopom možete pronaći ovdje. Na ovom uputstvu mjerit ćemo kut pomoću žiroskopa i akcelerometra te pomoću tehnike za spajanje oba senzora kako bismo dobili glatki signal. Tehnika se naziva "komplementarni filter".prethodna
Korak 1: Ono što će nam trebati:
Neki se dijelovi mogu zamijeniti, a neke izmjene u kodu moraju biti napravljene kako bi odgovarale vašem hardveru. U ovom projektu ćemo koristiti:- Breadboard- Mikrokontroler, koristio sam Arduinoboard- Wire- Jumper Wires- Gyroscope XV-8100- Nunchuck Wii (za akcelerometar)- Nunchuck Wii adapter za Arduino
Korak 2: Izgradnja…
Krug se sastoji od žiroskopa spojenog izravno na priključak 0 na vašem arduinu i nunchuck wii spoja na priključku I2C. Sastavljanje žiroskopa: 1. - priključite žiroskop na matičnu ploču2. - žičana stvar:- Vo pin s žiroskopa spojen na analogni port0 na arduinu (svijetlo narančasta žica)- G pin s žiroskopa spojen na masu (bijela žica)- V+ pin s žiroskopa spojen na Vdd (3.3V) (narančasta žica) Sklapanje akcelerometar: 1. - priključite adapter na nunchuck2. - priključite nunchuck na arduino pomoću adaptera3. - postavite senzor ubrzanja kao na gornjoj fotografiji
Korak 3: Dodatne informacije prije nego nastavimo
S oba senzora možemo mjeriti kut, ali koristeći dvije različite tehnike. Za mjerenje kuta pomoću žiroskopa moramo integrirati signal. Ali zašto to moramo učiniti? Budući da nam žiroskop daje kutnu brzinu, pa je jednostavan način dobivanja kuta kutna brzina pomnožena s vremenom [kut = kut + w * dt] Za mjerenje kuta pomoću akcelerometra moramo osjetiti gravitaciju u svakom os akcelerometra, što to znači, projekcija ubrzanja gravitacije u svakom smjeru senzora daje nam ideju o kutu. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Pa zašto ćemo umjesto jednog koristiti dva senzora? Kako biste iskoristili prednosti oba svojstva senzora. Ako pogledate grafiku kontinuiranog povećanja podataka o žiroskopima, to se naziva zanošenje i podaci akcelerometra se jako mijenjaju u malom vremenu. A kako spojiti oba signala? Upotrijebit ćemo tehniku koja se zove komplementarni filter. Ne znam točnu teoriju iza ovoga, ali radi dobro. Na internetu postoje neke informacije, samo ih potražite na Googleu ako vam je potrebno više informacija. Ova veza ima puno informacija i može biti korisna.filtered_angle = HPF*(filtrirani_angle + w*dt) + LPF*(angle_accel); gdje je HPF + LPF = 1 Vrijednosti HPF i LPF mogu se pronaći na ovoj poveznici, u datoteci filter.pdf. Hvala vam momci iz "DIY Segwaya". Samo u svrhu testiranja postavit ćemo ove vrijednosti ovako, HPF = 0,98 i LPF = 0,02.
Korak 4: Kôd:
Kôd je prilagodba koda koji sam koristio na drugom projektu. Vjerojatno postoje neke varijable koje se ne koriste. Koristio sam knjižnicu za čitanje nunchuck podataka s https://todbot.com/blog/. Hvala vam Tod E. Kurt. Komentari na kôd su na portugalskom, čim budem imao slobodnog vremena, prevest ću ga. Kôd izlazi kroz serijski redak neke brojeve s ovim uzorkom: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Dakle, možete spremiti ove vrijednosti na serijski terminal i iscrtati grafiku ili upotrijebiti kut za druge stvari. Ako trebate bilo kakvo objašnjenje o kodu, slobodno pitajte. Kôd je zatvarač. Samo raspakirajte, otvorite i učitajte na svoj arduino.
Korak 5: Testiranje i zaključak
Za testiranje sustava spremio sam podatke pomoću programa pod nazivom Termite, zatim uvezim te podatke u excel i iscrtaj grafiku da vidim koliko je moj filter dobar. Rezultati su nevjerojatni. Naravno da možete upotrijebiti signal za vožnju motora ili druge stvari. Svaki komentar, svaka sumnja, bilo koja informacija nedostaje, samo mi recite i ispravit ću je. Molim vas, ocijenite. Hvala vam svima.
Preporučeni:
Mjerenje brzine motora pomoću Arduina: 6 koraka
Mjerenje brzine motora pomoću Arduina: Je li teško mjeriti okretaje motora ??? Mislim da nije. Evo jednog jednostavnog rješenja. To mogu učiniti samo jedan IR senzor i Arduino u vašem kompletu. U ovom postu dat ću jednostavan vodič koji objašnjava kako mjeriti okretaje bilo kojeg motora pomoću IC senzora i A
Sustav upozorenja o nesreći pomoću GSM -a, GPS -a i akcelerometra: 5 koraka (sa slikama)
Sustav upozorenja o nesreći pomoću GSM -a, GPS -a i mjerača brzine: Molimo glasajte me za natjecanjeMolim vas, glasajte me za natjecanjeDanas je mnogo ljudi poginulo na cesti zbog nesreće, glavni uzrok je "kašnjenje u spašavanju". Ovaj je problem vrlo velik u zemljama u razvoju pa sam osmislio ovaj projekt za spremanje
Mjerenje frekvencije i napona napajanja pomoću Arduina: 6 koraka
Mjerenje frekvencije i napona napajanja pomoću Arduina: Uvod: Cilj ovog projekta je mjerenje frekvencije i napona napajanja, koji je ovdje u Indiji između 220 do 240 V i 50Hz. Koristio sam Arduino za hvatanje signala i izračunavanje frekvencije i napona, možete koristiti bilo koju drugu mikrokontrolu
Osnove MPU6050-akcelerometra+senzora žiroskopa: 3 koraka
MPU6050-Akcelerometar+žiroskop Osjetnici Osnove: MPU6050 je vrlo koristan senzor. Mpu 6050 je IMU: Inercijalna mjerna jedinica (IMU) je elektronički uređaj koji mjeri i prijavljuje specifičnu silu tijela, kutnu brzinu, a ponekad i orijentaciju tijela, kombinacijom
Rover kontroliran pokretima pomoću akcelerometra i para RF odašiljača i prijamnika: 4 koraka
Rover kontroliran pokretima pomoću parametra ubrzanja i para RF odašiljača i prijamnika: Hej, ikada ste poželjeli izgraditi rover kojim biste mogli upravljati jednostavnim pokretima ruku, ali nikada niste mogli skupiti hrabrosti da se upustite u zamršenost obrade slike i povezivanje web kamere s vašim mikrokontroler, da ne spominjem uzbrdo