Sisällysluettelo:
Video: Itsetasapainottava robotti - PID -ohjausalgoritmi: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tämä projekti suunniteltiin, koska olin kiinnostunut oppimaan lisää ohjausalgoritmeista ja toiminnallisten PID -silmukoiden tehokkaasta toteuttamisesta. Projekti on vielä kehitysvaiheessa, koska Bluetooth -moduulia ei ole vielä lisätty, mikä mahdollistaa robotin hallinnan Bluetooth -yhteensopivalla älypuhelimella.
Käytetyt N20 -tasavirtamoottorit olivat suhteellisen halpoja, ja siksi niillä on huomattava määrä leikkiä. Tämä johtaa pieneen nykäykseen, kun moottorit voittavat "löysyyden", koska se kohdistaa vääntömomentin pyöriin. Näin ollen on lähes mahdotonta saavuttaa täysin tasainen liike. Kirjoittamani koodi on kohtuullisen yksinkertainen, mutta osoittaa tehokkaasti PID -algoritmin kyvyt.
Projektin yhteenveto:
Robotin runko on 3D-tulostettu Ender 3 -tulostimella ja se on suunniteltu puristettavaksi yhteen.
Robotia ohjaa Arduino Uno, joka ottaa anturitiedot MPU6050 -laitteesta ja ohjaa tasavirtamoottoreita ulkoisen moottoriajurin kautta. Se toimii 7,4 V, 1500 mAh: n akulla. Moottorin ohjain säätää tämän 5 V: ksi Arduinon virran saamiseksi ja syöttää moottoreihin 7,4 V.
Ohjelmisto on kirjoitettu alusta alkaen gitHubin Arduino-KalmanFilter-master- ja Arduino-MPU6050-master-kirjastojen avulla.
Tarvikkeet:
- 3D -tulostetut osat
- Arduino UNO
- MPU6050 6-akselinen anturi
- DC -moottorin kuljettaja
- N20 DC -moottorit (x2)
- 9V akku
Vaihe 1: Robotin rakentaminen
Tulostus ja kokoonpano
Koko rakenteen tulee olla puristussovitettu, mutta olen käyttänyt superliimaa komponenttien kiinnittämiseen varmistaakseni, että robotti on täysin jäykkä tasapainottamisen aikana.
Olen suunnitellut osat Fusion 360: een ja optimoinut jokaisen osan tulostamaan ilman tukia, jotta toleranssit ovat tiukemmat ja pintakäsittely puhtaampi.
Ender 3 -tulostimessa käytetyt asetukset olivat: 0,16 mm: n kerroksen korkeudet @ 40% täyttö kaikille osille.
Vaihe 2: 3D -tulostusrobotti
Alusta (x1)
Vasen pyörä (x2)
Moottorin vasen kotelo (x2)
Arduino -kotelo (x1)
Vaihe 3: PID -ohjausalgoritmi
Olen kirjoittanut PID-ohjausalgoritmin alusta alkaen käyttämällä gitHubin Arduino-KalmanFilter-master- ja Arduino-MPU6050-master-kirjastoja.
Algoritmin lähtökohta on seuraava:
- Lue raakatietoja MPU6050 -laitteesta
- Kalman -suodattimen avulla voit analysoida sekä gyroskoopin että kiihtyvyysmittarin tietoja poistaaksesi anturin kiihtyvyydestä johtuvat epätarkkuudet gyroskoopin lukemissa. Tämä palauttaa suhteellisen tasoitetun arvon anturin nousulle asteina kahteen desimaaliin.
- Laske E rror kulmassa, eli: Anturin ja asetusarvon välinen kulma.
- Laske suhteellisuusvirhe muodossa (Suhteellisuusvakio x virhe).
- Laske integrointivirhe (integraatiovakio x virhe) juokseva summa.
- Laske johdannaisvirhe vakiona [erotusvakio] x (virheen muutos / ajan muutos)]
- Summaa kaikki virheet ja anna moottorille lähetettävä nopeuslähtö.
- Laske moottorin kääntösuunta virhekulman merkin perusteella.
- Silmukka jatkuu loputtomiin ja perustuu lähtöön, kun tulo vaihtelee. Se on takaisinkytkentäsilmukka, joka käyttää lähtöarvoja uusina syöttöarvoina seuraavaa iteraatiota varten.
Viimeinen vaihe on virittää PID -silmukan Kp, Ki & Kd parametrit.
- Hyvä lähtökohta on nostaa hitaasti Kp, kunnes robotti värähtelee tasapainopisteen ympäri ja voi pudota.
- Aloita seuraavaksi Kd noin 1%: lla Kp -arvosta ja lisää hitaasti, kunnes värähtelyt häviävät ja robotti liukuu tasaisesti työnnettäessä.
- Aloita lopuksi Ki: llä noin 20%: lla Kp: stä ja vaihda, kunnes robotti "ylittää" asetusarvon, jotta se voi aktiivisesti havaita putoamisen ja palata pystyasentoon.
Suositeltava:
Itsetasapainottava robotti Magicbitista: 6 vaihetta
Magicbitin itsetasapainottava robotti: Tämä opetusohjelma näyttää, kuinka tehdä itsetasapainottava robotti Magicbit dev -levyn avulla. Käytämme magicbitia kehityskorttina tässä projektissa, joka perustuu ESP32: een. Siksi mitä tahansa ESP32 -kehityskorttia voidaan käyttää tässä projektissa
Kaksipyöräinen itsetasapainottava robotti: 7 vaihetta
Kaksipyöräinen itsetasapainorobotti: Tämä opastettava käy läpi itsetasapainottavan robotin suunnittelun ja rakentamisen. Huomautuksena haluan vain todeta, että itsetasapainottavat robotit eivät ole uusi konsepti ja että muut ovat rakentaneet ja dokumentoineet ne. Haluan käyttää tätä mahdollisuutta
HeadBot-itsetasapainottava robotti STEM-oppimiseen ja ulottuvuuteen: 7 vaihetta (kuvilla)
HeadBot-itsetasapainottava robotti STEM-oppimiseen ja ulottuvuuteen: Headbot-kahden jalan korkea, itsetasapainottava robotti-on South Eugene Robotics Teamin (SERT, FRC 2521), ensimäisen kilpailukykyisen lukion robotiikkaryhmän, aivopohja. Robotikilpailu, Eugene, Oregon. Tämä suosittu avustusrobotti tekee
2 -pyöräinen itsetasapainottava robotti: 4 vaihetta
2-pyöräinen itsetasapainotusrobotti: Minun vaatimaton näkemykseni mukaan et ole todellinen Maker, ellet rakenna omaa 2-pyöräistä itsepalautusrobottiasi.:-Joten tässä se on … ja mikä tärkeintä, se toimii !!! Tämä projekti näyttää hyvin yksinkertaiselta. Sen sijaan se vaatii hyvää tietämystä
Itsetasapainottava robotti: 6 vaihetta (kuvilla)
Itsetasapainottava robotti: Tässä opetusohjelmassa näytämme sinulle, kuinka rakentaa itsetasapainottava robotti, jonka teimme kouluprojektina. Se perustuu joihinkin muihin robotteihin, kuten nBot ja toinen Instructable. Robottia voidaan ohjata Android -älypuhelimella