Turinys:
- 1 žingsnis: Reikalavimai
- 2 veiksmas: „Bluetooth“lusto konfigūravimas
- 3 žingsnis: ratų pritvirtinimas prie variklių
- 4 žingsnis: išorės kūrimas
- 5 žingsnis: komponentų montavimas
- 6 veiksmas: kodo įkėlimas ir derinimas
Video: Savaime balansuojantis robotas: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šioje instrukcijoje parodysime, kaip sukurti savaime balansuojantį robotą, kurį sukūrėme kaip mokyklos projektą. Jis pagrįstas kai kuriais kitais robotais, tokiais kaip „nBot“ir kitas „Instructable“. Robotą galima valdyti iš „Android“išmaniojo telefono per „Bluetooth“ryšį. Kadangi ši instrukcija apima tik kūrimo procesą, mes taip pat parašėme dokumentą, apimantį techninį kodo ir elektronikos pagrindą. Jame taip pat yra nuorodų į šaltinius, kurie buvo naudojami, todėl galite juos peržiūrėti, jei dokumentas jums nėra pakankamai išsamus.
Norėdami atlikti visus šio projekto veiksmus, jums reikės tam tikrų 3D spausdinimo įgūdžių ar kito gudraus būdo pritvirtinti ratus prie variklių.
1 žingsnis: Reikalavimai
Robotas sukurtas remiantis „Martinez“šepetėlių neturinčia kardanine valdiklio plokšte. Yra keletas nedidelių šios plokštės variantų, tačiau kol turite plokštę su ATmega328 mikroschema ir L6234 variklio valdikliais, jums viskas gerai. Jei „Google“vaizduose ieškosite „Martinez board“, pamatysite, kad kai kurios plokštės yra su paprasta jungtimi IMU mikroschemai ir (arba) akumuliatoriui, o ne kaiščių antraštėms ar skylėms. Paskutiniu atveju tai bus naudinga, jei užsisakysite antgalių kaiščių paketą, kurį galėsite lituoti į skyles.
Dalių sąrašas
Kai kuriuose šio sąrašo elementuose yra nuorodų į internetines parduotuves.
- Valdiklis: „Martinez BoardDX.com“(taip pat yra su IMU ir kai kuriais antraščių kaiščiais).
- IMU: MPU6050
- Baterija (450 mAh 3S LiPo baterija) Pastaba: jums taip pat reikės 3S LiPo įkroviklio eBay.com
- 2x variklis: variklis be šepetėlių 2208, KV100DX.com
- Ratai (juos galite įsigyti iš esamų žaislų ar LEGO)
- 6x M2 varžtas 5 mm
- 8x M3 varžtas (ilgis priklauso nuo jūsų išorės medžiagos, vienas turi būti ypač ilgas)
- „Bluetooth“mikroschema HC-05 (būtinai įsigykite tokią, prie kurios būtų prijungta nuosekliosios sąsajos plokštė, o ne tik plikas lustas) SVARBU: Įsitikinkite, kad lustas turi kaištį, pažymėtą KEY.
- Laidai: „DuPont“nuo moters iki moters. Perkant 20 laidų paketą, tai bus daugiau nei pakankamai
- Velcro juosta
- USB kabelis, skirtas prijungti valdiklį prie kompiuterio
- Neprivaloma: antraštės pinsDX.com (galite jas iškirpti arba sulaužyti iki norimo ilgio)
- Plastikinės poveržlės ir tarpinės
Galiausiai, norint sukurti struktūrą, kurioje būtų visi komponentai, jums reikia akrilo, medžio ar kartono kartu su klijais ar juostele.
2 veiksmas: „Bluetooth“lusto konfigūravimas
Kai gausite visas dalis, atėjo laikas konfigūruoti „Bluetooth“lustą. Jums reikės USB kabelio, kad galėtumėte prijungti valdiklio plokštę prie kompiuterio, taip pat „Arduino IDE“, kad galėtumėte bendrauti su komponentais.
Norėdami tai padaryti, turite atsisiųsti failą:
HC-05_Serial_Interface.ino
Tada atlikite šiuos veiksmus:
- Prijunkite valdiklį prie kompiuterio naudodami USB kabelį.
- Atidarykite.ino failą naudodami „Arduino IDE“.
- IDE eikite į Įrankiai, lenta ir įsitikinkite, kad nustatyta „Arduino“/„Genuino Uno“.
- Dabar eikite į Įrankiai, prievadas ir nustatykite jį į COM prievadą, prie kurio prijungtas valdiklis. Paprastai yra tik vienas prievadas. Jei yra keli, patikrinkite „Device Manager“(„Windows“), kad sužinotumėte, kuris iš jų yra valdiklis.
- Dabar paspauskite mygtuką Įkelti IDE ir palaukite, kol įkėlimas bus baigtas. Tada atjunkite USB kabelį nuo kompiuterio arba valdiklio.
Kai tai padarysite, prijunkite HC-05 naudodami „DuPont“kabelius taip:
HC-05 valdiklis
RAKTAS +5V GND GND TXD RX RXD TX
Dabar vėl prijunkite USB kabelį, tada prijunkite HC-05 VCC kaištį prie kito +5 V valdiklio. Šviesos diodas turėtų mirksėti ~ 1 sekundės intervalu.
„Arduino IDE“pasirinkite tinkamą COM prievadą, tada eikite į Įrankiai, serijinis monitorius.
Serijos monitoriuje nustatykite eilutės pabaigos parinktį NL ir CR. Nustatykite Baud greitį į 38400. Dabar galite naudoti serijinį monitorių, kad nusiųstumėte sąrankos komandas į „Bluetooth“lustą. Tai yra komandos:
AT Patikrinkite jungtį
AT+NAME Gauti/nustatyti „Bluetooth“rodomą pavadinimą AT+UART Gauti/nustatyti duomenų perdavimo spartą AT+ORGL Atkurti gamyklinius numatytuosius nustatymus AT+PSWD Gauti/nustatyti „Bluetooth“slaptažodį
Norėdami pakeisti „Bluetooth“įrenginio pavadinimą, slaptažodį ir perdavimo spartą, siųskite šias komandas:
AT+NAME = "Pavyzdinis pavadinimas"
AT+PSWD = "PassWord123" AT+UART = "230400, 1, 0"
Vardo ir slaptažodžio parinktis galima nustatyti bet ką, tik būtinai nustatykite duomenų perdavimo spartą naudodami tą pačią komandą, kaip nurodyta aukščiau. Tai nustato 230400 baudų, 1 sustojimo bitą ir be pariteto. Viską nustatę, vėl prijunkite USB kabelį (norėdami išeiti iš sąrankos režimo) ir pabandykite susieti telefoną su lustu. Jei viskas veikia, atjunkite USB kabelį ir pereikite prie kito veiksmo.
3 žingsnis: ratų pritvirtinimas prie variklių
Ratai, kurie buvo naudojami šiame projekte, yra nežinomos kilmės (jie gulėjo stalčiuje su daugybe kitų daiktų). Norėdami pritvirtinti ratus prie variklių, 3D atspausdinome gabalą, atitinkantį variklių varžtų skyles. Vieno variklio dalys buvo prisukamos naudojant tris 5 mm 2M varžtus. Abi dalys turi kaištį, kuris tinka ratų ašių skylėms.
Įtrauktas „SolidWorks“modelis. Tikriausiai turėsite tai pakeisti savo ratams arba rasti kitokį praktinį sprendimą, kaip pritaikyti ratus. Pvz., Galite naudoti „Dremel“, kad išraižytumėte tokio paties dydžio skylę kaip variklis (arba šiek tiek mažesnę, kad ji būtų gerai prigludusi), tada galite įspausti variklį į ratą. Tiesiog būtinai įsigykite šiam darbui tinkamų ratų, jei planuojate tai padaryti.
4 žingsnis: išorės kūrimas
Išorėje buvo naudojami du medžio gabalai ir supjaustyti ta pačia forma. Norėdami pradėti, mes pažymėjome variklio apvadą apatiniame gabalo centre. Tada kiekvieną kampą pažymėjome 45 laipsnių linija, įsitikindami, kad paliekate pakankamai vietos varikliui sėdėti apatiniame centre. Tada mes suspaudėme du medienos gabalus ir nupjovėme kampus. Norėdami užbaigti darbus, šlifavome kampus, kad jie būtų mažiau aštrūs, ir pašalinome atplaišas.
Dabar atėjo laikas gręžti skyles varžtams ir ašiai, kuri išsikiša iš variklio nugaros. Jei gręždami surišate medžio gabalus, kiekvieną skylę turite išgręžti tik vieną kartą.
Norėdami sukurti varžtų skylių išdėstymą, mes panaudojome popieriaus lapą ir padėjome jį ant variklio nugarėlės ir pieštuku įspaudėme į varžtų skyles tiesiai per popierių. Tada popieriaus lapas su keturiomis varžtų skylėmis buvo padėtas ant medžio, kad galėtume pažymėti gręžiamų skylių vietą. Norėdami gręžti skyles, naudokite 3,5 mm gręžtuvą. Dabar pieštuku ir liniuote suraskite šių skylių centrą ir sukurkite skylę ašiai, naudodami 5 mm grąžtą. Pritvirtinkite variklius M3 varžtais, tačiau palikite vieną iš plačiau esančių varžtų iš vieno variklio.
Norėdami gauti variklio jungtį ir laidą roboto viduje, mes taip pat šiek tiek virš variklio išgręžėme 8 mm skylę. Įsitikinkite, kad yra pakankamai vietos, kad laidai galėtų sulenkti, per daug jų neįtempdami.
Svarbu dirbti kuo tiksliau, kad būtų sukurta (beveik) tobula simetriška išorė
5 žingsnis: komponentų montavimas
Ant medžio pažymėkite vertikalią centro gairę, kad galėtumėte sudėti komponentus centre. Viską galite pritvirtinti prie medžio, naudodami velcro juostą. Savo robote valdiklio plokštę pritvirtinome mažais varžtais ir veržlėmis, tačiau taip pat galite naudoti velcro juostą (jos dar neturėjome, kai pritvirtinome valdiklį). Baigę statybą įsitikinkite, kad galite prijungti USB kabelį.
Mes įdėjome valdiklį centre, o USB prievadas nukreiptas žemyn, kad galėtume prijungti kabelį tarp ratų. Taip pat galite nukreipti jį į vieną iš šonų.
Įdėkite bateriją kuo aukščiau, kad robotas būtų sunkus. Įkrovimo prievadą taip pat pastatykite lengvai pasiekiamoje vietoje netoli krašto.
„Bluetooth“lustas
Prijunkite „Bluetooth“mikroschemos VCC kaištį prie +5 V valdiklio, o „Bluetooth GND“- prie valdiklio GND. Valdiklio TXD kaištis eina į „Bluetooth RX“, o valdiklio RXD kaištis - prie „Bluetooth TX“kaiščio. Tada tiesiog priklijuokite „Bluetooth“mikroschemą kur nors ant medinės plokštės, naudodami velcro juostą.
Judesio lustas
Judesio mikroschema turi dvi varžtų angas, todėl mikroschemą pritvirtinome naudodami tarpiklį taip, kad lusto centras nukristų virš variklio centro. Orientacija nesvarbi, nes paleidžiant robotas pats kalibruoja. Būtinai naudokite plastikinę poveržlę po varžto galvute, kad išvengtumėte grandinės trumpinimo.
Tada naudokite „DuPont“laidus, kad prijungtumėte kaiščius prie valdiklio. Kiekvienas kaištis valdiklyje yra pažymėtas taip pat, kaip ir judesio lustas, todėl jo prijungimas yra gana savaime suprantamas.
Maitinimo jungiklis
Prijungti maitinimo jungiklį lengva. Mes paėmėme vieną iš seno prietaiso ir ištraukėme jį iš jo plokštės. Norėdami jį naudoti kaip roboto maitinimo jungiklį, prijunkite teigiamą akumuliatoriaus laidą prie kaiščio (darant prielaidą, kad tai yra trijų kontaktų jungiklis) toje pusėje, kurioje norite įjungti jungiklio padėtį. Tada prijunkite centrinį kaištį prie teigiamo valdiklio maitinimo šaltinio. Prie jungiklio litavome „DuPont“laidus, kad pati baterija nebūtų nuolat pritvirtinta prie jungiklio.
Šonų sujungimas
Dabar jūs žinote komponentų vietą ir turite dvi roboto puses. Paskutinis roboto konstravimo žingsnis bus abiejų pusių sujungimas. mes panaudojome keturis trijų medienos gabalų rinkinius, priklijuotus ir prisukame prie šonų taip, kad mūsų judesio mikroschema būtų ant vidurinės roboto ašies. Reikėtų pasakyti, kad naudojama medžiaga, jei ji yra pakankamai tvirta, neturi per daug reikšmės. Jūs netgi galite naudoti sunkesnę jungtį viršuje, kad dar labiau padidintumėte masės centro aukštį. Tačiau, skirtingai nei vertikali masės centro padėtis, masės centro horizontali padėtis turėtų būti kiek įmanoma didesnė už rato ašies, nes judesio mikroschemos kodavimas taptų gana sunkus, jei horizontalus centras perkeltos masės.
Dabar esate pasiruošę įkelti kodą ir sureguliuoti valdiklį.
6 veiksmas: kodo įkėlimas ir derinimas
Norėdami įkelti kodą, jums reikia kompiuterio su „Arduino IDE“. Atsisiųskite žemiau esantį.ino failą ir atidarykite jį naudodami „Arduino IDE“. Įkėlimas į valdiklį atliekamas taip pat, kaip ir naudojant „Bluetooth“sąrankos kodą.
Kad robotas veiktų, iš „Play“parduotuvės turite atsisiųsti programą „Joystick bluetooth Commander“. Įjunkite roboto maitinimą ir padėkite jį ant grindų, priekyje arba gale. Paleiskite programą ir prisijunkite prie „Bluetooth“lusto. 1 duomenų laukas pereis nuo XXX prie READY, kai robotas sukalibruos (5 sekundės, kad padėtų jį ant šono, o po to - 10 sekundžių kalibravimą). Galite įjungti robotą, programėlėje paspausdami mygtuką 1. Dabar padėkite robotą vertikaliai ant žemės ir paleiskite, kai pajusite, kad varikliai įsijungia. Būtent tada robotas pradeda balansuoti.
Dabar robotas yra paruoštas derinti, nes jo stabilumas tikriausiai nėra puikus. Galite pabandyti, ar jis veikia be papildomo derinimo, bet jūs turite padaryti robotą gana identišką mūsų, kad jis tinkamai veiktų. Taigi daugeliu atvejų turėtumėte sureguliuoti valdiklį, kad jis geriausiai veiktų su jūsų robotu. Tai gana paprasta, nepaisant to, kad tai užima daug laiko. Štai kaip tai padaryti:
Valdiklio derinimas
Kažkur kode rasite 4 kintamuosius, pradedant k. Tai kp, kd, kc ir kv. Pradėkite nustatydami visas reikšmes į nulį. Pirmoji nustatyta vertė yra kp. Numatytoji kp vertė yra 0,17. Pabandykite jį nustatyti į daug mažesnį, pvz., 0,05. Išjunkite robotą, įkelkite kodą ir pažiūrėkite, kaip jis bando subalansuoti. Jei jis nukrenta į priekį, padidinkite vertę. Protingiausias būdas tai padaryti yra interpoliuoti:
- Nustatykite žemą vertę ir išbandykite
- Nustatykite aukštą vertę ir išbandykite
- Nustatykite šių dviejų vidurkį ir išbandykite
- Dabar pabandykite išsiaiškinti, ar jis geriau subalansavo žemą ar aukštą vertę ir vidutinę dabartinę vertę ir tą, kurioje ji veikė geriau.
- Tęskite, kol rasite mielą vietą
Saldi vieta kp reikšmei yra tada, kai ji yra aplink nepakankamo ir per didelio kompensavimo ribą. Taigi kartais jis nukris į priekį, nes negali išlaikyti savo kritimo greičio, o kartais nukris atgal, nes peržengia kitą kryptį.
Nustatę kp reikšmę, nustatykite kd. Tai galima padaryti taip pat, kaip ir kp. Padidinkite šią vertę, kol robotas bus beveik subalansuotas, kad jis svyruotų pirmyn ir atgal, kol nukris. Jei nustatysite jį per aukštai, galite jį gana gerai subalansuoti, bet kai pusiausvyra bus per daug sutrikdyta, ji nukris (pvz., Kai jį paspausite). Taigi pabandykite rasti vietą, kurioje jis nėra visiškai subalansuotas, bet gana arti.
Kaip jūs galite atspėti, valdiklio derinimas gali užtrukti kelis kartus, nes su kiekvienu įvestu kintamuoju tampa vis sunkiau. Taigi, jei manote, kad tai neveiks, pradėkite iš naujo.
Dabar atėjo laikas nustatyti kv. Interpoluokite tai, kol rasite vertę, pagal kurią robotas nustoja svyruoti, išlieka subalansuotas ir gali valdyti lengvą stūmimą. Jei jis nustatytas per aukštai, tai neigiamai veikia stabilumą. Pabandykite žaisti su kv ir kp, kad surastumėte tašką, kuriame jis yra stabiliausias. Tai yra daugiausiai laiko reikalaujantis derinimo žingsnis.
Paskutinė vertė yra kc. Ši vertė verčia robotą grįžti į paskutinę padėtį kompensavus stūmimą ar kažką kito. Čia galite išbandyti tą patį interpoliacijos metodą, tačiau 0,0002 daugeliu atvejų turėtų veikti gana gerai.
Viskas! Jūsų robotas dabar paruoštas. Norėdami valdyti robotą, naudokite išmaniojo telefono vairasvirtę. Tačiau būkite atsargūs, nes važiuodami į priekį maksimaliu greičiu robotas vis tiek gali nukristi. Žaiskite su valdiklio kintamaisiais, kad tai kiek įmanoma kompensuotumėte. Logiškiausias žingsnis būtų pažvelgti į kp reikšmę, nes tai tiesiogiai kompensuoja dabartinį roboto kampą.
Svarbi pastaba apie LiPo baterijas
Rekomenduojama reguliariai tikrinti „LiPo“akumuliatoriaus įtampą. „LiPo“akumuliatoriai neturėtų būti iškraunami mažiau nei 3 voltais viename elemente, matuojant 9 voltų „3S LiPo“. Jei vieno elemento įtampa nukris žemiau 3 voltų, akumuliatoriaus talpa bus prarasta nuolat. Jei kiekvienos kameros įtampa nukrenta žemiau 2,5 volto, išmeskite akumuliatorių ir nusipirkite naują. Mažesnės nei 2,5 volto „LiPo“elemento įkrovimas yra pavojingas, nes vidinis atsparumas tampa labai didelis, todėl įkraunama baterija ir kyla gaisro pavojus.
Rekomenduojamas:
Savaime balansuojantis robotas - PID valdymo algoritmas: 3 žingsniai
Savaiminio balansavimo robotas - PID valdymo algoritmas: Šis projektas buvo sukurtas, nes man buvo įdomu sužinoti daugiau apie valdymo algoritmus ir kaip efektyviai įgyvendinti funkcines PID kilpas. Projektas dar tik kuriamas, nes dar reikia pridėti „Bluetooth“modulį, kuris
Savaime balansuojantis robotas iš „Magicbit“: 6 žingsniai
Savarankiškas balansavimo robotas iš „Magicbit“: ši pamoka parodo, kaip pasigaminti savaime balansuojantį robotą naudojant „Magicbit dev“plokštę. Šiame projekte, kuris grindžiamas ESP32, mes naudojame „Magicbit“kaip plėtros lentą. Todėl šiame projekte gali būti naudojama bet kuri ESP32 kūrimo plokštė
„HeadBot“-savaime subalansuojantis robotas STEM mokymuisi ir informavimui: 7 žingsniai (su nuotraukomis)
„HeadBot“-savarankiškai subalansuojantis robotas, skirtas STEM mokymuisi ir informavimui: „Headbot“-dviejų pėdų aukščio, savaime subalansuojantis robotas-yra Pietų Eugenijaus robotų komandos (SERT, FRC 2521), konkurencingos PIRMOSIOS mokyklos robotų komandos, sumanymas. Robotikos varžybos, iš Eugenijus, Oregonas. Šis populiarus pagalbos robotas leidžia
Savaime balansuojantis robotas naudojant PID algoritmą (STM MC): 9 žingsniai
Savarankiškai subalansuojantis robotas, naudojant PID algoritmą (STM MC): Pastaruoju metu daug nuveikta atliekant savarankišką objektų balansavimą. Savarankiško balansavimo koncepcija prasidėjo nuo apverstos švytuoklės balansavimo. Ši koncepcija išplėtė ir orlaivių dizainą. Šiame projekte mes sukūrėme nedidelį mod
Savaime balansuojantis Robo-riteris: 7 žingsniai (su paveikslėliais)
Savaime balansuojantis „Robo-riteris“: vaizdo žaidimai ir stalo žaidimai yra puikus būdas praleisti laiką su draugais ir šeima. Kartais norisi leisti laiką neprisijungus ir atiduoti visą elektroniką, o kitą kartą pasineri į virtualų sporto, arkados ar kovos žaidimų pasaulį