Sadržaj:

Arduino - Balans - Robot za balansiranje - Kako napraviti?: 6 koraka (sa slikama)
Arduino - Balans - Robot za balansiranje - Kako napraviti?: 6 koraka (sa slikama)

Video: Arduino - Balans - Robot za balansiranje - Kako napraviti?: 6 koraka (sa slikama)

Video: Arduino - Balans - Robot za balansiranje - Kako napraviti?: 6 koraka (sa slikama)
Video: Could this tiny tube of metal fix our broken suspension? - Edd China's Workshop Diaries 28 2024, Novembar
Anonim
Image
Image

U ovom ćemo vodiču naučiti kako napraviti Arduino balansirajućeg (balans) robota koji se sam balansira. Prvo možete pogledati gornji video vodič.

Korak 1: Potreban hardver

Sklapanje robota
Sklapanje robota

Arduino ploča (Uno) -

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

Komplet motora zupčastog kodera DC 6V 210RPM -

Vozač motora L298N -

Dugme za prebacivanje -

M3 Garnitura vijaka sa šesterokutnim navojem -

Akrilni Perspex list -

3.7v 18650 punjivi Li-ion+punjač-https://bit.ly/2LNZQcl

9V baterija -

Žice za kratkospojnike -

Pištolj za vruće ljepilo -

Arduino početni komplet i pribor (opcionalno): Arduino ploča i SCM pribor #01 -

Arduino ploča i SCM pribor #02 -

Arduino početni komplet za osnovno učenje #01 -

Arduino početni komplet za osnovno učenje #02 -

Arduino početni komplet za osnovno učenje #03 -

Mega 2560 početni komplet s vodičem -

Komplet modula senzora za Arduino #01 -

Komplet modula senzora za Arduino #02 -

Korak 2: Sklapanje robota

Sklapanje robota
Sklapanje robota
Sklapanje robota
Sklapanje robota
Sklapanje robota
Sklapanje robota
  • Izbušite četiri ugla od 3 akrilne ploče. (Slika 1 i 2)
  • Između svakog akrilnog lista bit će oko 8 kantimetara / 3,15 inča. (Slika 3)
  • Dimenzije robota (približno) 15 cm x 10 cm x 20 cm. (Slika 4)
  • DC motor i kotači bit će postavljeni na sredinu (srednju liniju) robota. (Slika 5)
  • Vozač motora L298N bit će smješten na sredini prvog sprata (srednja linija) robota. (Slika 6)
  • Arduino ploča bit će postavljena na drugom katu robota.
  • Modul MPU6050 bit će postavljen na posljednjem katu robota. (Slika 7)

Korak 3: Veze

Connections
Connections
Connections
Connections

Testirajte MPU6050 i provjerite radi li! Prvo povežite MPU6050 s Arduinom i isprobajte vezu pomoću kodova u donjem vodiču. Daha bi trebala biti prikazana na serijskom monitoru

Vodič za instrukcije - MPU6050 GY521 6 -osovinski mjerni mjerač brzine+žiroskop

YouTube vodič - MPU6050 GY521 Akcelerometar sa 6 osi + žiroskop

L298N modul može osigurati +5V koje su potrebne Arduinu sve dok je njegov ulazni napon +7 V ili veći. Međutim, odlučio sam imati zaseban izvor napajanja za motor

Korak 4: Kako funkcionira balansiranje?

Kako funkcioniše balansiranje?
Kako funkcioniše balansiranje?
Kako funkcioniše balansiranje?
Kako funkcioniše balansiranje?
Kako funkcioniše balansiranje?
Kako funkcioniše balansiranje?
  • Da bi robot bio uravnotežen, motori moraju spriječiti pad robota.
  • Ova radnja zahtijeva povratnu informaciju i element za ispravljanje.
  • Povratni element je MPU6050, koji daje i ubrzanje i rotaciju u sve tri osi koje Arduino koristi za poznavanje trenutne orijentacije robota.
  • Ispravni element je kombinacija motora i kotača.
  • Samobalansirajući robot je u osnovi obrnuto klatno.
  • Može se bolje izbalansirati ako je centar mase veći u odnosu na osovine točkova.
  • Zato sam bateriju stavio na vrh.
  • Visina robota, međutim, odabrana je na temelju dostupnosti materijala.

Korak 5: Izvorni kod i biblioteke

Izvorni kod i biblioteke
Izvorni kod i biblioteke
Izvorni kod i biblioteke
Izvorni kod i biblioteke

Kod razvijen za robota za balansiranje je previše kompliciran. Ali nema razloga za brigu. Promijenit ćemo samo neke podatke.

Potrebne su nam četiri vanjske biblioteke da bi samobalansirajući robot funkcionirao

  • PID biblioteka olakšava izračunavanje P, I i D vrijednosti.
  • Biblioteka LMotorController koristi se za pogon dva motora sa modulom L298N.
  • Biblioteka I2Cdev i biblioteka MPU6050_6_Axis_MotionApps20 služe za čitanje podataka iz MPU6050.

Preuzmite biblioteke

PID -

LMotorController -

I2Cdev -

MPU6050 -

Preuzmite izvorni kod -

Šta je PID?

  • U teoriji upravljanja, za održavanje stabilne neke varijable (u ovom slučaju položaja robota) potreban je poseban kontroler zvan PID.
  • P za proporcionalnu, I za integralnu i D za izvedenu. Svaki od ovih parametara ima „dobitke“koji se obično nazivaju Kp, Ki i Kd.
  • PID omogućuje korekciju između željene vrijednosti (ili ulaza) i stvarne vrijednosti (ili izlaza). Razlika između ulaza i izlaza naziva se "greška".
  • PID kontroler smanjuje grešku na najmanju moguću vrijednost stalnim podešavanjem izlaza.
  • U našem Arduino samobalansirajućem robotu, ulaz (koji je željeni nagib, u stupnjevima) postavlja softver.
  • MPU6050 očitava trenutni nagib robota i šalje ga PID algoritmu koji izvodi proračune za upravljanje motorom i održavanje robota u uspravnom položaju.

PID zahtijeva da se vrijednosti pojačanja Kp, Ki i Kd "podese" na optimalne vrijednosti

Umjesto toga ćemo ručno prilagoditi PID vrijednosti

  1. Neka Kp, Ki i Kd budu jednaki nuli.
  2. Podesite Kp. Premalo Kp će robota prevrnuti (nema dovoljno korekcije). Previše Kp će natjerati robota da se divlje kreće naprijed -nazad. Dovoljno dobar Kp učiniće da se robot lagano kreće naprijed -nazad (ili malo oscilira).
  3. Kad je Kp podešen, podesite Kd. Dobra vrijednost Kd smanjit će oscilacije sve dok robot ne bude gotovo stabilan. Takođe, prava količina Kd će održati robota stajaćim čak i ako se gurne.
  4. Na kraju, postavite Ki. Robot će oscilirati kada se uključi čak i ako su Kp i Kd postavljeni, ali će se vremenom stabilizirati. Tačna vrijednost Ki skratit će vrijeme potrebno za stabilizaciju robota.

Prijedlog za bolje rezultate

Preporučujem da stvorite sličan okvir robota koristeći materijale korištene u ovom projektu kako bi izvorni kod za Balance Robota radio stabilno i efikasno.

Korak 6: Za podršku

Za podršku
Za podršku
  • Možete se pretplatiti na moj YouTube kanal za više tutorijala i projekata.
  • Takođe se možete pretplatiti na podršku. Hvala ti.

Posjetite moj YouTube kanal -

Preporučuje se: