Turinys:
- 1 žingsnis: ko mums reikės:
- 2 žingsnis: statykite…
- 3 žingsnis: šiek tiek papildomos informacijos prieš tęsdami
- 4 žingsnis: kodas:
- 5 žingsnis: bandymai ir išvados
Video: Kampų matavimas naudojant giroskopą, akselerometrą ir „Arduino“: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:51
Prietaisas yra apytikslis prototipas to, kas ilgainiui taps savaiminio balanso robotu, tai yra antroji skylės dalyko dalis (skaitykite akselerometrą ir valdykite variklį, kad subalansuotumėte). Pirmąją dalį, kurioje yra tik giroskopas, rasite čia. Pagal šią instrukciją mes išmatuosime kampą, naudodamiesi giroskopu ir akselerometru, ir naudodami metodą, skirtą sujungti abu jutiklius, kad gautumėte sklandų signalą. Technika vadinama „papildomu filtru“.ankstesnė
1 žingsnis: ko mums reikės:
Kai kuri dalis gali būti pakeista, o kai kurie kodo pakeitimai turi būti atlikti, kad atitiktų jūsų aparatinę įrangą. Šiame projekte mes naudosime: (akselerometrui)- „Nunchuck Wii“adapteris, skirtas „Arduino“
2 žingsnis: statykite…
Grandinę sudaro giroskopas, tiesiogiai prijungtas prie jūsų „arduino“prievado 0, ir „nunchuck wii“jungtis prie I2C prievado. Giroskopo surinkimas: 1. - prijunkite giroskopą prie duonos lentos2. - laido bet koks dalykas:- Vo gnybtas iš giroskopo prijungtas prie analoginio prievado 0 prie arduino (šviesiai oranžinė viela)- G kaištis iš giroskopo prijungtas prie žemės (balta viela)- V+ kaištis iš giroskopo prijungtas prie Vdd (3.3 V) (oranžinė viela) akselerometras: 1. - prijunkite adapterį prie nunchuck2. - naudodami adapterį prijunkite „nunchuck“prie „arduino“. - įdėkite „accel“jutiklį, kaip nurodyta aukščiau esančioje nuotraukoje
3 žingsnis: šiek tiek papildomos informacijos prieš tęsdami
Iš abiejų jutiklių galime išmatuoti kampą, tačiau naudojant dvi skirtingas technikas. Norėdami išmatuoti kampą naudodami giroskopą, turime integruoti signalą. Bet kodėl mes turime tai padaryti? Kadangi giroskopas suteikia mums kampinį greitį, paprastas kampo gavimo būdas yra kampinis dažnis padaugintas iš laiko [kampas = kampas + w * dt] Norėdami išmatuoti kampą naudodami akselerometrą, turime pajusti kiekvieno gravitaciją Akselerometro ašis, ką tai reiškia, gravitacijos pagreičio projekcija kiekvienoje jutiklio kryptyje suteikia mums idėją apie kampą. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Taigi kodėl mes naudosime du jutiklius, o ne vieną? Norėdami pasinaudoti abiejų jutiklių savybėmis. Jei pažvelgsite į grafiką, giroskopo duomenų nuolatinis padidėjimas, tai vadinama dreifu, o akselerometro duomenys per trumpą laiką labai pasikeičia. Ir kaip sujungti abu signalus? Mes naudosime metodą, vadinamą papildomu filtru. Nežinau tikslios teorijos, bet tai veikia gerai. Internete yra tam tikros informacijos, jei reikia daugiau informacijos, tiesiog google. Ši nuoroda turi daug informacijos ir gali būti naudinga.filtered_angle = HPF*(filtrated_angle + w*dt) + LPF*(kampinis_ženklas); kur HPF + LPF = 1 HPF ir LPF reikšmes rasite šioje nuorodoje, failo filter.pdf faile. Ačiū jums, vaikinai iš „The DIY Segway“. Tik bandymo tikslais mes nustatysime šias vertes, HPF = 0,98 ir LPF = 0,02.
4 žingsnis: kodas:
Kodas yra adaptacija iš kodo, kurį naudojau kitame projekte. Tikriausiai yra keletas nepanaudotų kintamųjų. Aš naudoju biblioteką, kad perskaityčiau nunchuck duomenis iš https://todbot.com/blog/. Dėkojame Todui E. Kurtui. Komentarai apie kodą yra portugalų kalba, kai tik turėsiu laisvo laiko, išversiu jį. Kodo išvestis iš eilės eilutės pateikia kai kuriuos šio modelio skaičius: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtrated_angle $ Taigi galite išsaugoti šias vertes serijiniame terminale ir nubraižyti grafiką arba naudoti kampą kitiems dalykams. Jei reikia kokių nors paaiškinimų apie kodą, paklauskite. Kodas yra užtrauktuku. Tiesiog išpakuokite, atidarykite ir įkelkite jį į savo arduino.
5 žingsnis: bandymai ir išvados
Norėdami išbandyti sistemą, išsaugojau duomenis naudodami programą „Termite“, tada importuoju šiuos duomenis į „Excel“ir nubraižau grafiką, kad pamatyčiau, koks yra mano filtras. Rezultatai nuostabūs. Žinoma, galite naudoti signalą vairuoti variklį ar kitus dalykus. Bet kokios pastabos, bet kokios abejonės, bet kokios trūkstamos informacijos, tiesiog pasakykite man ir aš ją pataisysiu. Prašome, jei jums tai patinka, įvertinkite. Ačiū jums visiems.
Rekomenduojamas:
Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą: 5 žingsniai
Kaip sukurti kubatą naudojant „Arduino“ir akselerometrą.: Mūsų vardai yra Brockas, Edis ir Drew. Pagrindinis mūsų fizikos pamokos tikslas yra keliauti iš Žemės į Marsą, imituojant orbitą aplink Marsą naudojant „Cube Sat“ir renkant duomenis. Mūsų grupių tikslas šiame projekte yra rinkti duomenis naudojant greitą
Kiaušinių tekintuvas, skirtas sukti 45 laipsnių kampu: 7 žingsniai (su nuotraukomis)
Kiaušinių tekintuvas inkubatoriui 45 laipsnių sukimasis: Sveiki, šiandien aš gaminu inkubatoriaus kiaušinių tekintuvą, kuris pasuks 360 laipsnių kampu 45 laipsnių kampu, o tai ne tik pasuks kiaušinius, bet ir erdvę įtikins mažą naminį inkubatorių, jei norite pamatyti išsamiai žiūrėkite vaizdo įrašą ir
Roll ir Pitch Axis Gimbal, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050“giroskopą: 4 žingsniai
„Roll and Pitch Axis Gimbal“, skirtas „GoPro“, naudojant „Arduino“- „Servo“ir „MPU6050 Gyro“: šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto (www.makecourse.com) „Makecourse“projekto reikalavimą. Šio projekto tikslas buvo sukurti 3 ašių „Gimbal“, skirtas „GoPro“, naudojant „Arduino nano“+ 3 servo variklius +
Kamuolio stebėjimas 180 ° kampu: 5 žingsniai (su nuotraukomis)
Kamuolio sekimo kampas 180 °: Sveiki atvykę į mano pirmąjį projektą! Džiaugiuosi galėdamas pasidalyti tuo, ką padariau, ir parodyti jums žingsnius, kaip sukurti savo stebėjimo kamerą. Šis projektas buvo įmanomas naudojant „OpenCV“biblioteką kartu su „Python“
„SmartPhone“žaidimų simuliatorius- žaiskite „Windows“žaidimus naudodami gestų valdymą IMU, akselerometrą, giroskopą, magnetometrą: 5 žingsniai
„SmartPhone“žaidimų simuliatorius- žaiskite „Windows“žaidimus naudodamiesi gestų valdymu IMU, pagreičio matuokliu, giroskopu, magnetometru: palaikykite šį projektą: https://www.paypal.me/vslcreations, aukodami atvirojo kodo kodams & parama tolesnei plėtrai