Sadržaj:

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

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

Video: Arduino - Balance - 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, Studeni
Anonim
Image
Image

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

Korak 1: Potreban hardver

Montaža robota
Montaža 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 -

Gumb za prebacivanje -

M3 Garnitura vijčanih matica s š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 (izborno): Arduino ploča i SCM pribor #01 -

Arduino ploča i SCM potrepštine #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: Montaža robota

Montaža robota
Montaža robota
Montaža robota
Montaža robota
Montaža robota
Montaža robota
  • Izbušite četiri kuta od 3 akrilne ploče. (Slike 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 u središte (srednja linija) robota. (Slika 5)
  • Vozač motora L298N bit će postavljen u središte (srednja linija) robota na prvom katu. (Slika 6)
  • Arduino ploča bit će postavljena na drugom katu robota.
  • Modul MPU6050 bit će postavljen na posljednji kat robota. (Slika 7)

Korak 3: Veze

Veze
Veze
Veze
Veze

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

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

YouTube vodič - MPU6050 GY521 6 -osovinski akcelerometar + ž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 uravnoteženje?

Kako funkcionira balansiranje?
Kako funkcionira balansiranje?
Kako funkcionira balansiranje?
Kako funkcionira balansiranje?
Kako funkcionira balansiranje?
Kako funkcionira balansiranje?
  • Kako 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 u biti je obrnuti visak.
  • Može se bolje uravnotežiti ako je središte mase veće u odnosu na osovine kotača.
  • Zato sam bateriju stavio na vrh.
  • Visina robota, međutim, odabrana je na temelju dostupnosti materijala.

Korak 5: Izvorni kod i knjižnice

Izvorni kod i knjižnice
Izvorni kod i knjižnice
Izvorni kod i knjižnice
Izvorni kod i knjižnice

Kod razvijen za robota za ravnotežu je previše kompliciran. No, nema potrebe brinuti. Promijenit ćemo samo neke podatke.

Potrebne su nam četiri vanjske knjižnice za rad samobalansirajućeg robota

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

Preuzmite knjižnice

PID -

LMotorController -

I2Cdev -

MPU6050 -

Preuzmite izvorni kod -

Što 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 "pogreška".
  • PID regulator smanjuje pogreš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, ručno ćemo prilagoditi vrijednosti PID -a

  1. Neka Kp, Ki i Kd budu jednaki nuli.
  2. Podesite Kp. Premalo Kp će robota prevrnuti (nema dovoljno korekcije). Previše Kp natjerat će robota da divlje ide naprijed -nazad. Dovoljno dobar Kp učinit će da se robot lagano kreće naprijed -nazad (ili malo oscilira).
  3. Nakon što je Kp podešen, podesite Kd. Dobra vrijednost Kd smanjit će oscilacije sve dok robot ne bude gotovo stabilan. Također, prava količina Kd održat će robota stajaćim čak i ako se gurne.
  4. Na kraju, postavite Ki. Robot će oscilirati kada je uključen, čak i ako su Kp i Kd postavljeni, ali će se s vremenom stabilizirati. Toč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 učinkovito.

Korak 6: Za podršku

Za podršku
Za podršku
  • Možete se pretplatiti na moj YouTube kanal za više vodiča i projekata.
  • Također se možete pretplatiti na podršku. Hvala vam.

Posjetite moj YouTube kanal -

Preporučeni: