Sisällysluettelo:

Kulman mittaus gyrolla, kiihtyvyysmittarilla ja Arduinolla: 5 vaihetta
Kulman mittaus gyrolla, kiihtyvyysmittarilla ja Arduinolla: 5 vaihetta

Video: Kulman mittaus gyrolla, kiihtyvyysmittarilla ja Arduinolla: 5 vaihetta

Video: Kulman mittaus gyrolla, kiihtyvyysmittarilla ja Arduinolla: 5 vaihetta
Video: Leap Motion SDK 2024, Marraskuu
Anonim
Kulman mittaus gyroilla, kiihtyvyysmittarilla ja Arduinolla
Kulman mittaus gyroilla, kiihtyvyysmittarilla ja Arduinolla

Laite on karkea prototyyppi siitä, mistä tulee lopulta itsetasapainorobotti, tämä on reikäasian toinen osa (lue kiihtyvyysmittari ja ohjaa moottoria itsetasapainoon). Ensimmäinen osa, jossa on vain gyroskooppi, löytyy täältä. Tässä ohjeessa mitataan kulma sekä gyroskoopin että kiihtyvyysanturin avulla ja käyttämällä tekniikkaa yhdistää molemmat anturit tasaisen signaalin saamiseksi. Tekniikkaa kutsutaan "täydentäväksi suodattimeksi"

Vaihe 1: Mitä tarvitsemme:

Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme
Mitä tarvitsemme

Jotkut osat voidaan vaihtaa, ja joitain koodin muutoksia on tehtävä laitteistosi mukaan. Tässä projektissa käytämme:- leipälevyä- mikrokontrolleria, käytin Arduinoboardia- lanka- jumpperilankoja- gyroskooppi XV-8100- Nunchuck Wii (kiihtyvyysmittarille)- Nunchuck Wii -sovitin Arduinolle

Vaihe 2: Rakentaminen…

Rakennus…
Rakennus…
Rakennus…
Rakennus…
Rakennus…
Rakennus…

Piiri koostuu gyroskoopista, joka on kytketty suoraan arduino -porttiin 0 ja nunchuck wii -yhteyteen I2C -portissa. - kytke gyro leipälevyyn2. - johto koskaan:- Vo-nasta gyroskoopista kytketty analogiseen porttiin 0 at arduino (vaalean oranssi johto)- G-nasta gyrosta kytketty maahan (valkoinen johto)- V+ nasta gyrosta kytketty Vdd: hen (3.3 V) (oranssi johto) Kokoonpano kiihtyvyysmittari: 1. - kytke sovitin nunchuck2: een. - liitä nunchuck arduinoon sovittimen avulla 3. - aseta accel -anturi kuten yllä oleva kuva

Vaihe 3: Muutamia lisätietoja ennen jatkamista

Muutamia lisätietoja ennen jatkamista
Muutamia lisätietoja ennen jatkamista
Muutamia lisätietoja ennen jatkamista
Muutamia lisätietoja ennen jatkamista
Muutamia lisätietoja ennen jatkamista
Muutamia lisätietoja ennen jatkamista

Molemmista anturista voimme mitata kulman, mutta käyttämällä kahta eri tekniikkaa. Kulman mittaamiseksi gyroskoopilla meidän on integroitava signaali. Mutta miksi meidän on tehtävä tämä? Koska gyro antaa meille kulmanopeuden, yksinkertainen tapa saada kulma on kulmanopeus kerrottuna ajalla [kulma = kulma + w * dt] Kulman mittaamiseksi kiihtyvyysmittarilla meidän on tunnistettava kunkin painovoima Kiihtyvyysmittarin akselilla, mitä se tarkoittaa, painovoiman kiihtyvyyden projisointi anturin jokaiseen suuntaan antaa meille käsityksen kulmasta. [Angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Joten miksi käytämme kahta anturia yhden sijasta? Hyödynnä molempien anturien ominaisuudet. Jos tarkastelet grafiikkaa, gyro -datan jatkuva kasvu, tätä kutsutaan ajautumiseksi ja kiihtyvyysmittarin tiedot muuttuvat paljon pienessä ajassa. Ja kuinka yhdistää molemmat signaalit? Käytämme tekniikkaa, jota kutsutaan täydentäväksi suodattimeksi. En tiedä tarkkaa teoriaa tämän takana, mutta se toimii hyvin. Internetissä on joitain tietoja, googlaa se, jos tarvitset lisätietoja. Tässä linkissä on paljon tietoa ja siitä voi olla hyötyä.filtered_angle = HPF*(suodatettu_kulma + w*dt) + LPF*(kulma_merkki); jossa HPF + LPF = 1 HPF: n ja LPF: n arvot löytyvät tästä linkistä, filter.pdf -tiedostosta. Kiitos teistä "The DIY Segway". Vain testaustarkoituksessa asetamme nämä arvot näin, HPF = 0,98 ja LPF = 0,02.

Vaihe 4: Koodi:

Koodi on mukautus koodista, jota käytin toisessa projektissa. Luultavasti on muutamia käyttämättömiä muuttujia. Käytin kirjastoa lukemaan nunchuck -tiedot osoitteesta https://todbot.com/blog/. Kiitos Tod E. Kurt. Koodia koskevat kommentit ovat portugaliksi, heti kun minulla on vapaa -aikaa, käännän sen. filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Joten voit tallentaa nämä arvot sarjapäätteeseen ja piirtää grafiikan tai käyttää kulmaa muihin asioihin. Jos tarvitset selitystä koodista, voit kysyä vapaasti. vetoketjulla. Pura vain, avaa ja lataa se arduinoosi.

Vaihe 5: Testaus ja johtopäätös

Testaus ja johtopäätös
Testaus ja johtopäätös
Testaus ja johtopäätös
Testaus ja johtopäätös

Järjestelmän testaamiseksi tallensin tiedot Termite -nimisellä ohjelmalla, tuon nämä tiedot Exceliin ja piirrän grafiikan nähdäksesi kuinka hyvä suodatin on. Tulokset ovat hämmästyttäviä. Tietenkin voit käyttää signaalia moottorin tai muiden asioiden ajamiseen. Kaikki kommentit, epäilyt, kaikki puuttuvat tiedot, kerro vain minulle ja korjaan sen. Jos pidät tästä, arvioi. Kiitos kaikille.

Suositeltava: