Sisällysluettelo:
- Vaihe 1: Mitä tarvitsemme:
- Vaihe 2: Rakentaminen…
- Vaihe 3: Muutamia lisätietoja ennen jatkamista
- Vaihe 4: Koodi:
- Vaihe 5: Testaus ja johtopäätös
Video: Kulman mittaus gyrolla, kiihtyvyysmittarilla ja Arduinolla: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
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:
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…
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
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
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:
Moottorin nopeuden mittaus Arduinolla: 6 vaihetta
Moottorin nopeuden mittaus Arduinon avulla: Onko moottorin kierrosluvun mittaaminen vaikeaa? En usko. Tässä on yksi yksinkertainen ratkaisu: Vain yksi infrapuna -anturi ja Arduino sarjassasi voivat tehdä niin. Tässä viestissä annan yksinkertaisen opetusohjelman, jossa selitetään kuinka mitata minkä tahansa moottorin kierrosluku IR -anturia ja A
DIY Servomoottorin kulman säätäminen Visuino -sekvenssikomponentin avulla: 10 vaihetta
DIY Kuinka hallita servomoottorin kulmaa Visuino -sekvenssikomponentin avulla: Tässä opetusohjelmassa käytämme Servomoottoria ja Arduino UNO: ta ja Visuinoa servomoottorin kulman ohjaamiseen sekvenssikomponentin avulla. meidän tapauksessamme servomoottori
Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: 6 vaihetta
Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: Johdanto: Tämän projektin tavoitteena on mitata syöttötaajuutta ja jännitettä, joka on 220-240 volttia ja 50 Hz täällä Intiassa. Käytin Arduinoa signaalin sieppaamiseen ja taajuuden ja jännitteen laskemiseen, voit käyttää mitä tahansa muuta mikroyhteyttä
DC -jännitteen mittaus Arduinolla: 5 vaihetta
Tasavirtajännitteen mittaus Arduinon avulla: Tässä projektissa näytän sinulle, kuinka mitata tasavirtajännite 50 volttiin asti käyttämällä arduinoa ja ja näyttö OLED -näyttömoduulin osassa tarvitsevat arduino UNOoled -näytön 10 k ohmin vastuksen 1 k ohmin vastuksen hyppykaapelin
Kulman mittaaminen MPU-6050: llä (GY-521): 3 vaihetta
Kulman mittaaminen MPU-6050: llä (GY-521): Tässä oppaassa mitataan kulma Arduinolla. Tarvitsemme kaapeleita, Arduino UNO ja GY-521 (MPU-6050) kulman mittaamiseen