Arduino - Echilibru - Robot de echilibrare - Cum se face ?: 6 pași (cu imagini)
Arduino - Echilibru - Robot de echilibrare - Cum se face ?: 6 pași (cu imagini)
Anonim
Image
Image

În acest tutorial vom învăța cum să facem un robot de echilibrare (echilibru) Arduino care să se echilibreze. Mai întâi puteți vedea tutorialul video de mai sus.

Pasul 1: Hardware necesar

Asamblarea robotului
Asamblarea robotului

Placa Arduino (Uno) -

MPU-6050 GY521 Acc + Gyro -

DC 6V 210RPM Encoder Motor Gear Gear Set -

Driver de motor L298N -

Buton de comutare -

Set de piulițe de șurub cu filet hexagonal M3 -

Foaie de Perspex acrilic -

3.7v 18650 reîncărcabil Li-ion + încărcător -

Baterie de 9V -

Jumper Wires -

Hot Glue Gun -

Set și consumabile Arduino Starter (opțional): Consumabile Arduino și consumabile SCM # 01 -

Consumabile Arduino și consumabile SCM # 02 -

Kitul de bază pentru învățare Arduino # 01 -

Kitul de începere Arduino Basic Learning # 02 -

Kitul de începere Arduino Basic Learning Start # 03 -

Mega 2560 Starter Kit cu Tutorial -

Kit modul senzor pentru Arduino # 01 -

Kit modul senzor pentru Arduino # 02 -

Pasul 2: Asamblarea robotului

Asamblarea robotului
Asamblarea robotului
Asamblarea robotului
Asamblarea robotului
Asamblarea robotului
Asamblarea robotului
  • Forează patru colțuri din 3 foi acrilice. (Imaginile 1 și 2)
  • Între fiecare foaie acrilică va fi aproximativ 8 cantimetri / 3,15 inch. (Imaginea 3)
  • Dimensiuni robot (aproximativ) 15cm x 10 cm x 20cm. (Imaginea 4)
  • Motorul continuu și roțile vor fi plasate în centrul (linia mediană) a robotului. (Imaginea 5)
  • Driverul motorului L298N va fi amplasat în centrul etajului (linia mediană) a robotului. (Imaginea 6)
  • Placa Arduino va fi amplasată la etajul al doilea al robotului.
  • Modulul MPU6050 va fi amplasat la ultimul etaj al robotului. (Imaginea 7)

Pasul 3: Conexiuni

Conexiuni
Conexiuni
Conexiuni
Conexiuni

Testați MPU6050 și asigurați-vă că funcționează! Conectați mai întâi MPU6050 la Arduino și testați conexiunea folosind codurile din tutorialul de mai jos. Daha ar trebui să fie afișat pe monitorul serial

Tutorial instructabile - Accelerometru cu 6 axe MPU6050 GY521 + Gyro

Tutorial YouTube - Accelerometru 6 axe MPU6050 GY521 + Gyro

Modulul L298N poate furniza + 5V necesar pentru Arduino atâta timp cât tensiunea sa de intrare este de +7 V sau mai mare. Cu toate acestea, am ales să am o sursă de alimentare separată pentru motor

Pasul 4: Cum funcționează echilibrarea?

Cum funcționează echilibrarea?
Cum funcționează echilibrarea?
Cum funcționează echilibrarea?
Cum funcționează echilibrarea?
Cum funcționează echilibrarea?
Cum funcționează echilibrarea?
  • Pentru a menține robotul echilibrat, motoarele trebuie să contracareze căderea robotului.
  • Această acțiune necesită un feedback și un element de corectare.
  • Elementul de feedback este MPU6050, care oferă atât accelerație, cât și rotație pe toate cele trei axe, care este utilizat de Arduino pentru a cunoaște orientarea actuală a robotului.
  • Elementul de corectare este combinația de motor și roată.
  • Robotul de auto-echilibrare este în esență un pendul inversat.
  • Poate fi echilibrat mai bine dacă centrul de masă este mai mare față de axele roților.
  • Acesta este motivul pentru care am așezat acumulatorul deasupra.
  • Înălțimea robotului a fost însă aleasă pe baza disponibilității materialelor.

Pasul 5: Cod sursă și biblioteci

Cod sursă și biblioteci
Cod sursă și biblioteci
Cod sursă și biblioteci
Cod sursă și biblioteci

Codul dezvoltat pentru robotul de echilibru este prea complicat. Dar nu este nevoie să vă faceți griji. Vom schimba doar unele date.

Avem nevoie de patru biblioteci externe pentru a face ca robotul de auto-echilibrare să funcționeze

  • Biblioteca PID facilitează calcularea valorilor P, I și D.
  • Biblioteca LMotorController este utilizată pentru acționarea celor două motoare cu modulul L298N.
  • Biblioteca I2Cdev și biblioteca MPU6050_6_Axis_MotionApps20 sunt destinate citirii datelor din MPU6050.

Descărcați biblioteci

PID -

LMotorController -

I2Cdev -

MPU6050 -

Obțineți codul sursă -

Ce este PID?

  • În teoria controlului, menținerea constantă a unei variabile (în acest caz, poziția robotului) necesită un controler special numit PID.
  • P pentru proporțional, I pentru integral și D pentru derivată. Fiecare dintre acești parametri are „câștiguri” numite în mod normal Kp, Ki și Kd.
  • PID oferă corecție între valoarea (sau intrarea) dorită și valoarea reală (sau ieșirea). Diferența dintre intrare și ieșire se numește „eroare”.
  • Controlerul PID reduce eroarea la cea mai mică valoare posibilă, ajustând continuu ieșirea.
  • În robotul nostru de auto-echilibrare Arduino, intrarea (care este înclinarea dorită, în grade) este setată de software.
  • MPU6050 citește înclinarea curentă a robotului și îl alimentează către algoritmul PID care efectuează calcule pentru a controla motorul și a menține robotul în poziție verticală.

PID necesită ca valorile câștigurilor Kp, Ki și Kd să fie „reglate” la valori optime

În schimb, vom ajusta manual valorile PID

  1. Faceți Kp, Ki și Kd egali cu zero.
  2. Reglați Kp. Prea puțin Kp va face ca robotul să cadă (corecție insuficientă). Prea mult Kp va face robotul să meargă înainte și înapoi sălbatic. Un Kp suficient de bun va face robotul să meargă ușor înainte și înapoi (sau să oscileze puțin).
  3. Odată ce Kp este setat, reglați Kd. O valoare bună Kd va reduce oscilațiile până când robotul este aproape stabil. De asemenea, cantitatea potrivită de Kd va menține robotul în picioare chiar dacă este împins.
  4. În cele din urmă, setați Ki. Robotul va oscila la pornire chiar dacă Kp și Kd sunt setate, dar se va stabiliza în timp. Valoarea Ki corectă va scurta timpul necesar robotului pentru a se stabiliza.

Sugestie pentru rezultate mai bune

Vă recomandăm să creați un cadru robot similar folosind materialele utilizate în acest proiect pentru a face codul sursă pentru robotul de echilibru să funcționeze stabil și eficient.

Pasul 6: pentru asistență

Pentru suport
Pentru suport
  • Vă puteți abona la canalul meu YouTube pentru mai multe tutoriale și proiecte.
  • De asemenea, vă puteți abona pentru asistență. Mulțumesc.

Vizitați canalul meu YouTube -

Recomandat: