Satura rādītājs:
- 1. darbība. Kas mums būs nepieciešams:
- 2. darbība: būvniecība…
- 3. darbība. Papildu informācija, pirms turpināt
- 4. darbība: kods:
- 5. darbība: pārbaude un secinājumi
Video: Leņķa mērīšana, izmantojot žiroskopu, akselerometru un Arduino: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 11:00
Ierīce ir aptuvens prototips tam, kas galu galā kļūs par pašbalansa robotu, šī ir cauruma lietas otrā daļa (lasiet akselerometru un kontrolējiet motoru, lai līdzsvarotu sevi). Pirmo daļu ar tikai žiroskopu var atrast šeit. Šajā pamācībā mēs mērīsim leņķi, izmantojot gan žiroskopu, gan akselerometru, un izmantojot tehniku, lai apvienotu abus sensorus, lai iegūtu vienmērīgu signālu. Tehniku sauc par "papildu filtru".priekšējais
1. darbība. Kas mums būs nepieciešams:
Kādu daļu var nomainīt, un daži koda pārveidojumi ir jāveic, lai tie atbilstu jūsu aparatūrai. Šajā projektā mēs izmantosim:- maizes dēli- mikrokontrolleru, es izmantoju Arduinoboard- vadu- džemperu vadus- žiroskopu XV-8100- Nunchuck Wii (akselerometram)- Nunchuck Wii adapteris Arduino
2. darbība: būvniecība…
Ķēde sastāv no žiroskopa, kas ir savienots tieši ar 0 portu jūsu arduino, un nunchuck wii savienojumu I2C portā. Žiroskopa montāža: 1. - pievienojiet žiroskopu pie maizes dēļa2. - vads jebkad lieta:- Vo pin no žiroskopa savienots ar analogo portu 0 pie arduino (gaiši oranžs vads)- G pin no žiroskopa savienots ar zemi (balts vads)- V+ pin no žiroskopa pievienots Vdd (3.3V) (oranžs vads) akselerometrs: 1. - pievienojiet adapteri pie nunchuck2. - pievienojiet nunchuck pie arduino, izmantojot adapteri3. - novietojiet akselera sensoru tāpat kā iepriekš redzamajā fotoattēlā
3. darbība. Papildu informācija, pirms turpināt
No abiem sensoriem mēs varam izmērīt leņķi, bet izmantojot divas atšķirīgas metodes. Lai mērītu leņķi, izmantojot žiroskopu, mums ir jāintegrē signāls. Bet kāpēc mums tas jādara? Tā kā žiroskops dod mums leņķisko ātrumu, vienkāršs veids, kā iegūt leņķi, ir leņķiskais koeficients, kas reizināts ar laiku [leņķis = leņķis + w * dt] Lai mērītu leņķi, izmantojot akselerometru, mums ir jāuztver gravitācija katrā akselerometra ass, ko tas nozīmē, gravitācijas paātrinājuma projekcija katrā sensora virzienā dod mums priekšstatu par leņķi. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Tad kāpēc mēs izmantosim divus sensorus, nevis vienu? Lai izmantotu abu sensoru īpašību priekšrocības. Ja aplūkojat grafisko žiroskopu datu nepārtraukto pieaugumu, to sauc par novirzi, un akselerometra dati īsā laikā daudz mainās. Un kā apvienot abus signālus? Mēs izmantosim metodi, ko sauc par papildu filtru. Es nezinu precīzu teoriju, bet tas darbojas labi. Internetā ir kāda informācija, vienkārši meklējiet google, ja jums nepieciešama papildu informācija. Šajā saitē ir daudz informācijas, un tā var būt noderīga.filtered_angle = HPF*(filtrated_angle + w*dt) + LPF*(angle_accel); kur HPF + LPF = 1 HPF un LPF vērtības var atrast šajā saitē, failā filter.pdf. Paldies jums, puiši no "The DIY Segway". Tikai testa nolūkā mēs iestatīsim šīs vērtības šādi: HPF = 0,98 un LPF = 0,02.
4. darbība: kods:
Kods ir adaptācija no koda, kuru izmantoju citā projektā. Iespējams, ir daži neizmantoti mainīgie. Es izmantoju bibliotēku, lai nolasītu nunchuck datus no https://todbot.com/blog/. Paldies Tod E. Kurt. Komentāri par kodu ir portugāļu valodā, tiklīdz man būs brīvs laiks, es to tulkošu. Kods izvada caur sērijas līniju dažus ciparus ar šo modeli: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Tātad jūs varat saglabāt šīs vērtības seriālajā terminālī un uzzīmēt grafiku vai izmantot leņķi citām lietām. Ja jums ir nepieciešams jebkāds skaidrojums par kodu, jautājiet brīvi. Kods ir rāvējslēdzējs. Vienkārši izpakojiet, atveriet un augšupielādējiet to savā arduino.
5. darbība: pārbaude un secinājumi
Lai pārbaudītu sistēmu, es saglabāju datus, izmantojot programmu Termite, pēc tam importēju šos datus programmā Excel un uzzīmēju grafiku, lai redzētu, cik labs ir mans filtrs. Rezultāti ir pārsteidzoši. Protams, jūs varat izmantot signālu, lai vadītu motoru vai citas lietas. Jebkuri komentāri, šaubas, trūkstoša informācija, vienkārši pasakiet man, un es to izlaboju. Lūdzu, ja jums tas patīk, novērtējiet. Paldies jums visiem.
Ieteicams:
Avārijas brīdināšanas sistēma, izmantojot GSM, GPS un akselerometru: 5 soļi (ar attēliem)
Negadījumu trauksmes sistēma, izmantojot GSM, GPS un akselerometru: Lūdzu, balsojiet par mani konkursam Lūdzu, balsojiet par mani konkursam. Mūsdienās daudzi cilvēki ceļu satiksmes negadījumu dēļ iet bojā, galvenais iemesls ir "glābšanas kavēšanās". Šī problēma ir ļoti liela attīstītajās valstīs, tāpēc es izstrādāju šo projektu, lai glābtu
Roll un Pitch Axis Gimbal GoPro, izmantojot Arduino - Servo un MPU6050 žiroskopu: 4 soļi
Roll un Pitch Axis Gimbal priekš GoPro, izmantojot Arduino - Servo un MPU6050 Gyro: Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com) Šī projekta mērķis bija izveidot 3 asu kardāns GoPro, izmantojot Arduino nano + 3 servomotorus +
Leņķa mērīšana ar MPU-6050 (GY-521): 3 soļi
Kā izmērīt leņķi ar MPU-6050 (GY-521): šajā pamācībā mēs mērīsim leņķi ar Arduino. Mums ir nepieciešami daži kabeļi, Arduino UNO un GY-521 (MPU-6050), lai izmērītu leņķi
Žestu vadīts Rover, izmantojot akselerometru un RF raidītāja-uztvērēja pāri: 4 soļi
Žestu vadīts roveris, izmantojot akselerometru un RF raidītāju-uztvērēju pāri: Sveiki, kādreiz esat vēlējies izveidot roveri, kuru varētu vadīt ar vienkāršiem roku žestiem, bet nekad nevarētu savākt drosmi, lai uzdotos par sarežģītajām attēlu apstrādes un tīmekļa kameras saskarnes iespējām mikrokontrolleris, nemaz nerunājot par kalnup
Viedtālruņa spēļu simulators- spēlējiet Windows spēles, izmantojot žestu vadību IMU, akselerometru, žiroskopu, magnetometru: 5 soļi
Viedtālruņa spēļu simulators- spēlējiet Windows spēles, izmantojot žestu vadību IMU, akselerometru, žiroskopu, magnetometru: atbalstiet šo projektu: https://www.paypal.me/vslcreations, ziedojot atvērtā pirmkoda kodiem & atbalsts turpmākai attīstībai