Turinys:
- 1 veiksmas: reikalinga aparatinė įranga
- 2 žingsnis: Roboto surinkimas
- 3 žingsnis: jungtys
- 4 žingsnis: Kaip veikia balansavimas?
- 5 žingsnis: šaltinio kodas ir bibliotekos
- 6 žingsnis: palaikymas
Video: „Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Š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
„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
- 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
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?
- 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
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
- Padarykite Kp, Ki ir Kd lygiui nuliui.
- 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).
- 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.
- 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
- 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:
Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
Arduino | Labirinto sprendimų robotas („MicroMouse“) Sienų sekimo robotas: Sveiki, aš esu Izaokas ir tai yra mano pirmasis robotas „Striker v1.0“. Šis robotas buvo sukurtas paprastam labirintui išspręsti. Konkurse turėjome du labirintus ir robotą sugebėjo juos identifikuoti. Dėl bet kokių kitų labirinto pakeitimų gali prireikti pakeisti
„GorillaBot“3D spausdintas „Arduino“autonominis sprinto keturkojis robotas: 9 žingsniai (su nuotraukomis)
„GorillaBot“3D spausdintas „Arduino“autonominis sprinto keturkojis robotas: Kasmet Tulūzoje (Prancūzija) vyksta Tulūzos robotų lenktynės #TRR2021 Lenktynes sudaro 10 metrų autonominis dvikojų ir keturkojų robotų sprintas. Dabartinis keturkojų rekordas yra 42 sekundės 10 metrų sprinto. Taigi su m
RC valdomas robotas XLR8! Švietimo robotas: 5 žingsniai
RC valdomas robotas XLR8! Švietimo robotas: Sveiki, šiame straipsnyje bus parodyta, kaip sukurti pagrindinį robotą. Žodis „robotas“pažodžiui reiškia „vergas“arba „darbininkas“. Dėl dirbtinio intelekto pažangos robotai nebėra tik Issac Asimov mokslinės fantastikos dalis
Džiaugsmo robotas (Robô Da Alegria) - atviro kodo 3D spausdintas, „Arduino“varomas robotas!: 18 žingsnių (su nuotraukomis)
Džiaugsmo robotas (Robô Da Alegria) - atviro kodo 3D spausdintas, „Arduino“varomas robotas !: Pirmasis prizas „Instructables Wheels“konkurse, antrasis prizas „Instructables Arduino“konkurse ir antras „Design for Kids Challenge“. Ačiū visiems, kurie balsavo už mus !!! Robotai sklinda visur. Nuo pramoninės paskirties iki
Sviesto robotas: „Arduino“robotas su egzistencine krize: 6 žingsniai (su nuotraukomis)
Sviesto robotas: „Arduino“robotas su egzistencine krize: Šis projektas paremtas animaciniu serialu „Rikas ir Mortis“. Viename iš epizodų Rikas sukuria robotą, kurio vienintelis tikslas yra atnešti sviesto. Kaip studentai iš Bruface (Briuselio inžinerijos fakultetas), mes turime užduotį mecha