Turinys:

Savaime balansuojantis robotas: 6 žingsniai (su nuotraukomis)
Savaime balansuojantis robotas: 6 žingsniai (su nuotraukomis)

Video: Savaime balansuojantis robotas: 6 žingsniai (su nuotraukomis)

Video: Savaime balansuojantis robotas: 6 žingsniai (su nuotraukomis)
Video: ПОЧЕМУ Я ЖДУ L4D3 2024, Lapkritis
Anonim
Savaime balansuojantis robotas
Savaime balansuojantis robotas

Š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

Reikalavimai
Reikalavimai
Reikalavimai
Reikalavimai
Reikalavimai
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

„Bluetooth“lusto konfigūracija
„Bluetooth“lusto konfigūracija

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:

  1. Prijunkite valdiklį prie kompiuterio naudodami USB kabelį.
  2. Atidarykite.ino failą naudodami „Arduino IDE“.
  3. IDE eikite į Įrankiai, lenta ir įsitikinkite, kad nustatyta „Arduino“/„Genuino Uno“.
  4. 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.
  5. 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ų

Ratų tvirtinimas prie variklių
Ratų tvirtinimas prie variklių
Ratų tvirtinimas prie variklių
Ratų tvirtinimas 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ės kūrimas
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

Komponentų montavimas
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:

  1. Nustatykite žemą vertę ir išbandykite
  2. Nustatykite aukštą vertę ir išbandykite
  3. Nustatykite šių dviejų vidurkį ir išbandykite
  4. Dabar pabandykite išsiaiškinti, ar jis geriau subalansavo žemą ar aukštą vertę ir vidutinę dabartinę vertę ir tą, kurioje ji veikė geriau.
  5. 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: