Turinys:

„Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)
„Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)

Video: „Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)

Video: „Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)
Video: Review of Turmera 4S 12.8V 200A BMS Lithium LiFePo4 Battery Management System | WattHour 2024, Lapkritis
Anonim
Image
Image

Šioje pamokoje sužinosime, kaip pasigaminti „Arduino“balansavimo (balanso) robotą. Pirmiausia galite pažvelgti į aukščiau pateiktą vaizdo įrašo pamoką.

1 veiksmas: reikalinga aparatinė įranga

Roboto surinkimas
Roboto surinkimas

„Arduino“lenta („Uno“) -

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

DC 6V 210RPM kodavimo pavarų variklių rinkinys -

L298N variklio tvarkyklė -

Perjungimo mygtukas -

M3 šešiakampio sriegio tarpiklio varžtų veržlių rinkinys -

Akrilo „Perspex“lapas -

3.7v 18650 įkraunamas ličio jonų+įkroviklis-https://bit.ly/2LNZQcl

9 V baterija -

„Jumper Wires“-

Karštas klijų pistoletas -

„Arduino“pradinis rinkinys ir reikmenys (neprivaloma): „Arduino Board & SCM Supplies #01“-

„Arduino Board & SCM Supplies“#02 -

„Arduino Basic Learning Starter Kit“#01 -

„Arduino Basic Learning Starter Kit“#02 -

„Arduino Basic Learning Starter Kit“#03 -

„Mega 2560“pradinis rinkinys su pamoka -

Jutiklio modulio rinkinys, skirtas „Arduino“#01 -

„Arduino“jutiklio modulio rinkinys #02 -

2 žingsnis: Roboto surinkimas

Roboto surinkimas
Roboto surinkimas
Roboto surinkimas
Roboto surinkimas
Roboto surinkimas
Roboto surinkimas
  • Gręžkite keturis 3 akrilo lakštų kampus. (1 ir 2 vaizdas)
  • Tarp kiekvieno akrilo lakšto bus apie 8 kantimetrus / 3,15 colio. (3 paveikslas)
  • Roboto matmenys (apytiksliai) 15 cm x 10 cm x 20 cm. (4 paveikslas)
  • Nuolatinės srovės variklis ir ratai bus dedami roboto centre (vidurinėje linijoje). (5 paveikslas)
  • L298N variklio vairuotojas bus patalpintas pirmojo aukšto roboto centre (vidurio linijoje). (6 paveikslas)
  • „Arduino“lenta bus patalpinta antrame roboto aukšte.
  • MPU6050 modulis bus pastatytas viršutiniame roboto aukšte. (7 paveikslas)

3 žingsnis: jungtys

Sujungimai
Sujungimai
Sujungimai
Sujungimai

Išbandykite MPU6050 ir įsitikinkite, kad jis veikia! Pirmiausia prijunkite MPU6050 prie „Arduino“ir išbandykite ryšį naudodami kodus, pateiktus žemiau esančioje pamokoje. Daha turėtų būti rodoma serijiniame monitoriuje

„Instructables Tutorial“- MPU6050 GY521 6 ašių akselerometras+giroskopas

„YouTube“pamoka - MPU6050 GY521 6 ašių akselerometras + giroskopas

L298N modulis gali suteikti „Arduino“reikalingą +5 V, jei jo įėjimo įtampa yra +7 V ar didesnė. Tačiau aš nusprendžiau turėti atskirą variklio maitinimo šaltinį

4 žingsnis: Kaip veikia balansavimas?

Kaip veikia balansavimas?
Kaip veikia balansavimas?
Kaip veikia balansavimas?
Kaip veikia balansavimas?
Kaip veikia balansavimas?
Kaip veikia balansavimas?
  • Kad robotas būtų subalansuotas, varikliai turi atremti roboto kritimą.
  • Šiam veiksmui reikalingas grįžtamasis ryšys ir taisomasis elementas.
  • Grįžtamojo ryšio elementas yra MPU6050, kuris suteikia greitėjimą ir sukimąsi visose trijose ašyse, kurias „Arduino“naudoja dabartinei roboto orientacijai žinoti.
  • Koreguojantis elementas yra variklio ir rato derinys.
  • Savaime balansuojantis robotas iš esmės yra apversta švytuoklė.
  • Jis gali būti geriau subalansuotas, jei masės centras yra didesnis, palyginti su ratų ašimis.
  • Štai kodėl aš įdėjau akumuliatorių ant viršaus.
  • Tačiau roboto aukštis buvo pasirinktas atsižvelgiant į medžiagų prieinamumą.

5 žingsnis: šaltinio kodas ir bibliotekos

Šaltinio kodas ir bibliotekos
Šaltinio kodas ir bibliotekos
Šaltinio kodas ir bibliotekos
Šaltinio kodas ir bibliotekos

Balansiniam robotui sukurtas kodas yra pernelyg sudėtingas. Tačiau jaudintis neverta. Mes pakeisime tik kai kuriuos duomenis.

Mums reikia keturių išorinių bibliotekų, kad robotas veiktų savaime

  • PID biblioteka leidžia lengvai apskaičiuoti P, I ir D reikšmes.
  • LMotorController biblioteka naudojama dviem varikliams su L298N moduliu valdyti.
  • Biblioteka „I2Cdev“ir biblioteka „MPU6050_6_Axis_MotionApps20“skirta duomenims iš MPU6050 skaityti.

Atsisiųsti bibliotekos

PID -

„LMotorController“-

„I2Cdev“-

MPU6050 -

Gaukite šaltinio kodą -

Kas yra PID?

  • Kontrolės teorijoje norint išlaikyti pastovų tam tikrą kintamąjį (šiuo atveju roboto padėtį) reikia specialaus valdiklio, vadinamo PID.
  • P - proporcinis, I - integralas ir D - išvestinė. Kiekvienas iš šių parametrų turi „padidėjimą“, paprastai vadinamą Kp, Ki ir Kd.
  • PID leidžia koreguoti norimą vertę (arba įvestį) ir faktinę vertę (arba išvestį). Skirtumas tarp įvesties ir išvesties vadinamas „klaida“.
  • Nuolat reguliuodamas išvestį, PID valdiklis sumažina klaidą iki mažiausios įmanomos vertės.
  • Mūsų „Arduino“savaime balansuojančiame robote įvestį (norimą pakreipimą laipsniais) nustato programinė įranga.
  • MPU6050 nuskaito dabartinį roboto pasvirimą ir paduoda jį į PID algoritmą, kuris atlieka skaičiavimus, kad valdytų variklį ir išlaikytų robotą vertikalioje padėtyje.

PID reikalauja, kad prieaugio Kp, Ki ir Kd vertės būtų „sureguliuotos“iki optimalių verčių

Vietoj to mes koreguosime PID reikšmes rankiniu būdu

  1. Padarykite Kp, Ki ir Kd lygiui nuliui.
  2. Sureguliuokite Kp. Per mažas Kp privers robotą nukristi (nepakankamai pataisoma). Per daug Kp privers robotą beprotiškai judėti pirmyn ir atgal. Pakankamai geras Kp privers robotą šiek tiek judėti pirmyn ir atgal (arba šiek tiek svyruoti).
  3. Nustatę Kp, sureguliuokite Kd. Gera Kd vertė sumažins svyravimus, kol robotas bus beveik pastovus. Be to, tinkamas Kd kiekis palaikys robotą stovintį net ir stumiamas.
  4. Galiausiai nustatykite „Ki“. Įjungtas robotas svyruos, net jei Kp ir Kd yra nustatyti, tačiau laikui bėgant stabilizuosis. Teisinga Ki reikšmė sutrumpins roboto stabilizavimo laiką.

Pasiūlymas geresniems rezultatams

Rekomenduoju sukurti panašų roboto rėmą, naudojant šiame projekte naudojamas medžiagas, kad „Balance Robot“šaltinio kodas veiktų stabiliai ir efektyviai.

6 žingsnis: palaikymas

Dėl paramos
Dėl paramos
  • Galite užsiprenumeruoti mano „YouTube“kanalą, kad gautumėte daugiau pamokų ir projektų.
  • Taip pat galite užsisakyti paramą. Ačiū.

Apsilankykite mano „YouTube“kanale -

Rekomenduojamas: