Sisällysluettelo:

Arduino - Tasapaino - Tasapainotusrobotti - Kuinka tehdä?: 6 vaihetta (kuvilla)
Arduino - Tasapaino - Tasapainotusrobotti - Kuinka tehdä?: 6 vaihetta (kuvilla)

Video: Arduino - Tasapaino - Tasapainotusrobotti - Kuinka tehdä?: 6 vaihetta (kuvilla)

Video: Arduino - Tasapaino - Tasapainotusrobotti - Kuinka tehdä?: 6 vaihetta (kuvilla)
Video: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, Marraskuu
Anonim
Image
Image

Tässä opetusohjelmassa opimme tekemään Arduinon tasapainotusrobotin, joka tasapainottaa itsensä. Ensin voit katsoa yllä olevaa opetusvideota.

Vaihe 1: Vaadittu laitteisto

Robotin kokoaminen
Robotin kokoaminen

Arduino Board (Uno) -

MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo

DC 6V 210RPM -anturimoottorisarja -

L298N -moottorin ohjain -

Kytkinpainike -

M3 kuusiokierrevälilevyruuvimutterisarja -

Akryyli Perspex Sheet -

3.7v 18650 ladattava litiumioni+laturi-https://bit.ly/2LNZQcl

9V akku -

Hyppyjohdot -

Kuuma liimapistooli -

Arduino -aloituspakkaus ja -tarvikkeet (valinnainen): Arduino Board & SCM -tarvikkeet #01 -

Arduino Board & SCM Tarvikkeet #02 -

Arduino Basic Learning Starter Kit #01 -

Arduino Basic Learning Starter Kit #02 -

Arduino Basic Learning Starter Kit #03 -

Mega 2560 -aloituspaketti ja opetusohjelma -

Anturimoduulisarja Arduinolle #01 -

Anturimoduulisarja Arduinolle #02 -

Vaihe 2: Robotin kokoaminen

Robotin kokoaminen
Robotin kokoaminen
Robotin kokoaminen
Robotin kokoaminen
Robotin kokoaminen
Robotin kokoaminen
  • Poraa kolme kulmaa 3 akryylilevystä. (Kuva 1 ja 2)
  • Jokaisen akryylilevyn väliin tulee noin 8 kantimetriä / 3,15 tuumaa. (Kuva 3)
  • Robotin mitat (noin) 15 cm x 10 cm x 20 cm. (Kuva 4)
  • Tasavirtamoottori ja pyörät sijoitetaan robotin keskelle (keskiviivalle). (Kuva 5)
  • L298N -moottorin ohjain sijoitetaan robotin ensimmäisen kerroksen keskelle (keskiviiva). (Kuva 6)
  • Arduino -kortti sijoitetaan robotin toiseen kerrokseen.
  • MPU6050 -moduuli sijoitetaan robotin ylimpään kerrokseen. (Kuva 7)

Vaihe 3: Liitännät

Liitännät
Liitännät
Liitännät
Liitännät

Testaa MPU6050 ja varmista, että se toimii! Liitä MPU6050 ensin Arduinoon ja testaa yhteys käyttämällä alla olevan opetusohjelman koodeja. Dahan pitäisi näkyä sarjamonitorissa

Ohjeellinen opetusohjelma - MPU6050 GY521 6 -akselinen kiihtyvyysanturi+gyro

YouTube -opetusohjelma - MPU6050 GY521 6 -akselinen kiihtyvyysanturi + gyro

L298N -moduuli voi tarjota Arduinon tarvitseman +5 V: n, kunhan sen tulojännite on +7 V tai enemmän. Valitsin kuitenkin moottorille erillisen virtalähteen

Vaihe 4: Kuinka tasapainotus toimii?

Kuinka tasapainotus toimii?
Kuinka tasapainotus toimii?
Kuinka tasapainotus toimii?
Kuinka tasapainotus toimii?
Kuinka tasapainotus toimii?
Kuinka tasapainotus toimii?
  • Jotta robotti pysyisi tasapainossa, moottoreiden on vastattava robotin putoamista.
  • Tämä toiminto vaatii palautetta ja korjaavaa elementtiä.
  • Takaisinkytkentäelementti on MPU6050, joka antaa sekä kiihtyvyyden että pyörimisen kaikilla kolmella akselilla, jota Arduino käyttää robotin nykyisen suunnan tuntemiseen.
  • Korjaava elementti on moottorin ja pyörän yhdistelmä.
  • Itsetasapainottava robotti on lähinnä käänteinen heiluri.
  • Se voidaan tasapainottaa paremmin, jos massan keskipiste on korkeampi kuin pyörän akselit.
  • Siksi laitoin akun päälle.
  • Robotin korkeus valittiin kuitenkin materiaalien saatavuuden perusteella.

Vaihe 5: Lähdekoodi ja kirjastot

Lähdekoodi ja kirjastot
Lähdekoodi ja kirjastot
Lähdekoodi ja kirjastot
Lähdekoodi ja kirjastot

Vaakarobotille kehitetty koodi on liian monimutkainen. Mutta sinun ei tarvitse huolehtia. Muutamme vain joitain tietoja.

Tarvitsemme neljä ulkoista kirjastoa, jotta itsetasapainottava robotti toimisi

  • PID -kirjaston avulla on helppo laskea P-, I- ja D -arvot.
  • LMotorController -kirjastoa käytetään kahden moottorin käyttämiseen L298N -moduulilla.
  • I2Cdev -kirjasto ja MPU6050_6_Axis_MotionApps20 -kirjasto on tarkoitettu tietojen lukemiseen MPU6050 -laitteesta.

Lataa kirjastot

PID -

LMotorController -

I2Cdev -

MPU6050 -

Hanki lähdekoodi -

Mikä on PID?

  • Ohjausteoriassa jonkin muuttujan (tässä tapauksessa robotin aseman) pitäminen vakaana vaatii erityisen ohjaimen, jota kutsutaan PID: ksi.
  • P suhteelliselle, I integraalille ja D johdannaiselle. Jokaisella näistä parametreista on "vahvistuksia", joita tavallisesti kutsutaan Kp, Ki ja Kd.
  • PID korjaa halutun arvon (tai tulon) ja todellisen arvon (tai lähdön) välillä. Tulon ja lähdön välistä eroa kutsutaan virheeksi.
  • PID -säädin pienentää virheen pienimmäksi mahdolliseksi säätämällä lähtöä jatkuvasti.
  • Arduinon itsetasapainorobotissamme tulo (joka on haluttu kallistus, asteina) asetetaan ohjelmistolla.
  • MPU6050 lukee robotin nykyisen kallistuksen ja syöttää sen PID -algoritmille, joka suorittaa laskutoimituksia moottorin ohjaamiseksi ja robotin pitämiseksi pystyasennossa.

PID edellyttää, että vahvistukset Kp, Ki ja Kd "viritetään" optimaalisiin arvoihin

Säädämme PID -arvoja manuaalisesti

  1. Tee Kp, Ki ja Kd nollaksi.
  2. Säädä Kp. Liian pieni Kp saa robotin kaatumaan (ei tarpeeksi korjausta). Liian paljon Kp saa robotin liikkumaan edestakaisin villisti. Riittävän hyvä Kp saa robotin hiukan edestakaisin (tai heilahtamaan hieman).
  3. Kun Kp on asetettu, säädä Kd. Hyvä Kd -arvo vähentää värähtelyjä, kunnes robotti on lähes vakaa. Lisäksi oikea määrä Kd pitää robotin paikallaan, vaikka sitä työnnettäisiin.
  4. Aseta lopuksi Ki. Robotti värähtelee, kun se käynnistetään, vaikka Kp ja Kd on asetettu, mutta vakiintuu ajan myötä. Oikea Ki -arvo lyhentää aikaa, jonka robotti vakiintuu.

Ehdotus parempiin tuloksiin

Suosittelen, että luot samanlaisen robottikehyksen käyttämällä tässä projektissa käytettyjä materiaaleja, jotta Balance Robotin lähdekoodi toimisi vakaasti ja tehokkaasti.

Vaihe 6: Tuki

Tueksi
Tueksi
  • Voit tilata YouTube -kanavani saadaksesi lisää opetusohjelmia ja projekteja.
  • Voit myös tilata tukea. Kiitos.

Käy YouTube -kanavallani -

Suositeltava: