„Pasidaryk pats“ mechaninis rankinis manipuliatorius. „Pasidaryk pats“ stalinis robotas rankinis manipuliatorius, pagamintas iš organinio stiklo ant servo. Mechaninis surinkimas

Sveiki, giktikai!

„UArm“ projektas iš „uFactory“ daugiau nei prieš dvejus metus surinko lėšų „kickstarter“. Jie nuo pat pradžių sakė, kad tai bus atvirojo kodo projektas, tačiau iškart pasibaigus įmonei šaltinio kodo įkelti neskubėjo. Tiesiog norėjau iškirpti organinį stiklą pagal jų brėžinius ir tiek, bet kadangi šaltinio kodų nebuvo ir to nebuvo numatyta artimiausioje ateityje, pradėjau kartoti dizainą iš nuotraukų.

Mano roboto ranka dabar atrodo taip:

Dirbdamas lėtai per dvejus metus pavyko padaryti keturias versijas ir įgavau nemažai patirties. Aprašymą, projekto istoriją ir visus projekto failus galite rasti po išpjova.

Bandymas ir klaida

Kai pradėjau dirbti su brėžiniais, norėjau ne tik pakartoti uArm, bet ir patobulinti. Man atrodė, kad mano sąlygomis visiškai įmanoma apsieiti be guolių. Nepatiko ir tai, kad elektronika sukasi su visu manipuliatoriumi ir norėjau supaprastinti apatinės lanksto dalies dizainą. Be to, iš karto pradėjau dažyti šiek tiek mažesnį.

Su šiais įvestimis nupiešiau pirmąjį variantą. Deja, aš neišsaugiau jokių tos manipuliatoriaus versijos nuotraukų (kuri buvo pagaminta m geltona). Klaidos jame buvo tiesiog epinės. Pirma, jo surinkti buvo beveik neįmanoma. Paprastai mechanika, kurią nupiešiau prieš manipuliatorių, buvo gana paprasta ir man nereikėjo galvoti apie surinkimo procesą. Bet vis tiek aš jį surinkau ir bandžiau užvesti, o ranka beveik nejudėjo! Visos dalys sukasi aplink varžtus ir jei aš juos priveržčiau taip, kad būtų mažesnis atstumas, jis negalėtų pajudėti. Jei susilpnėjau, kad ji galėtų judėti, atsirasdavo neįtikėtinas atsakas. Dėl to koncepcija neišgyveno net trijų dienų. Ir jis pradėjo dirbti prie antrosios manipuliatoriaus versijos.

Raudona jau buvo visai tinkama darbui. Jis normaliai rinko ir galėjo judėti tepdamas. Galėjau išbandyti programinę įrangą ant jo, bet vis tiek dėl guolių nebuvimo ir didelių nuostolių ant skirtingų strypų ji tapo labai silpna.

Tada kuriam laikui atsisakiau darbo prie projekto, bet netrukus nusprendžiau jį prisiminti. Nusprendžiau naudoti galingesnius ir populiaresnius servus, padidinti dydį ir pridėti guolius. Ir nusprendžiau, kad nesistengsiu visko iš karto padaryti tobulą. Nubraižiau brėžinius greita ranka neprisipiešęs gražių bičiulių ir užsisakęs iškirpti iš skaidraus organinio stiklo. Naudodamas gautą manipuliatorių, galėjau derinti surinkimo procesą, nustatyti vietas, kurias reikia papildomai sustiprinti, ir išmokau naudoti guolius.

Pakankamai pažaidęs su skaidriu manipuliatoriumi, sėdau prie galutinės baltos versijos brėžinių. Taigi, dabar visa mechanika yra visiškai derinama, ji man tinka ir aš pasiruošęs pareikšti, kad nenoriu nieko daugiau keisti šiame dizaine:

Mane slegia tai, kad uArm projekte negalėjau įnešti nieko iš esmės naujo. Kai pradėjau piešti galutinę versiją, jie jau buvo išleidę 3D modelius „GrabCad“. Dėl to aš tik šiek tiek supaprastinau nagą, paruošiau failus patogiu formatu ir naudojau labai paprastus ir standartinius komponentus.

Manipuliatoriaus savybės

Prieš uArm, darbalaukio manipuliatoriaišios klasės atstovas atrodė gana nuobodžiai. Jie arba visai neturėjo elektronikos, arba turėjo kažkokį valdymą rezistoriais, arba turėjo savo patentuotą programinę įrangą. Antra, jose dažniausiai nebuvo lygiagrečių jungčių sistemos ir pats griebtuvas eksploatacijos metu keitė savo padėtį. Jei surinksite visus mano manipuliatoriaus pranašumus, gausite gana ilgą sąrašą:
  1. Sujungimo sistema, skirta galingiems ir sunkiems varikliams pritvirtinti rankos pagrinde ir laikyti griebtuvą lygiagrečiai arba statmenai pagrindui
  2. Paprastas komponentų rinkinys, kurį lengva nusipirkti arba išpjauti iš organinio stiklo
  3. Guoliai beveik visuose manipuliatoriaus mazguose
  4. Surinkimo paprastumas. Pasirodė tikrai sudėtinga užduotis... Ypač sunku buvo apgalvoti pagrindo surinkimo procesą.
  5. Suėmimo padėtį galima keisti 90 laipsnių
  6. Atviras šaltinis ir dokumentacija. Viskas paruošta prieinamais formatais. Pateiksiu 3D modelių atsisiuntimo nuorodas, failus pjaustymui, medžiagų, elektronikos ir programinės įrangos sąrašą
  7. Suderinamumas su Arduino. Yra daug Arduino priešininkų, bet aš tikiu, kad tai yra galimybė išplėsti auditoriją. Profesionalai gali lengvai rašyti savo programinę įrangą C kalba – tai įprastas „Atmel“ valdiklis!

Mechanika

Surinkimui būtina iškirpti dalis iš 5 mm storio organinio stiklo:

Už visų šių dalių pjaustymą turėjau sumokėti apie 10 USD.

Pagrindas sumontuotas ant didelio guolio:

Buvo ypač sunku galvoti apie pagrindą, kalbant apie kūrimo procesą, bet aš šnipinėjau uArm inžinierius. Rokeriai yra ant 6 mm skersmens kaiščio. Reikia pastebėti, kad mano alkūnės traukimas laikomas ant U formos laikiklio, o uFactory – ant L formos. Sunku paaiškinti, koks skirtumas, bet manau, kad man sekėsi geriau.

Užfiksavimas renkamas atskirai. Jis gali suktis aplink savo ašį. Pats letena yra tiesiai ant variklio veleno:

Straipsnio pabaigoje pateiksiu nuorodą į itin detalias surinkimo instrukcijas nuotraukose. Per porą valandų galite drąsiai viską susukti, jei viskas, ko reikia, yra po ranka. Taip pat paruošiau 3D modelį nemokama programa SketchUp. Galite atsisiųsti, pasukti ir pamatyti, kas ir kaip jis surinktas.

Elektronika

Kad galėtumėte dirbti, tereikia penkis servo įrenginius prijungti prie „Arduino“ ir tiekti jiems maitinimą iš gero šaltinio. UArm naudoja tam tikrus variklius su Atsiliepimas... Griebtuvui valdyti tiekiau tris įprastus MG995 variklius ir du mažus metalinius pavarų variklius.

Čia mano istorija glaudžiai susipynusi su ankstesniais projektais. Jau kurį laiką pradėjau mokyti Arduino programavimo ir šiam tikslui net paruošiau savo su Arduino suderinamą plokštę. Kita vertus, kažkada turėjau galimybę pigiai pagaminti lentas (apie tai irgi rašiau). Galų gale viskas baigėsi tuo, kad manipuliatoriaus valdymui naudojau savo su Arduino suderinamą plokštę ir specializuotą skydą.

Šis skydas iš tikrųjų yra labai paprastas. Jame yra keturi kintamieji rezistoriai, du mygtukai, penkios servo jungtys ir maitinimo jungtis. Tai labai patogu derinimo požiūriu. Galite įkelti bandomąjį eskizą ir įrašyti kokią nors valdymo makrokomandą ar panašiai. Taip pat straipsnio gale duosiu nuorodą atsisiųsti PCB failą, bet jis paruoštas gamybai su metalizuotomis skylutėmis, todėl nelabai tinka namų gamybai.

Programavimas

Įdomiausias dalykas yra manipuliatoriaus valdymas iš kompiuterio. UArm turi patogią manipuliatoriaus valdymo programą ir darbo su ja protokolą. Kompiuteris siunčia 11 baitų į COM prievadą. Pirmasis visada yra 0xFF, antrasis yra 0xAA, o kai kurie kiti yra servo signalai. Be to, šie duomenys normalizuojami ir pateikiami varikliams išbandyti. Turiu servosus, prijungtus prie skaitmeninio įvesties / išvesties 9-12, bet tai galima lengvai pakeisti.

uArm terminalo programa leidžia pakeisti penkis parametrus naudojant pelės valdymą. Perkeliant pelę ant paviršiaus keičiama manipuliatoriaus padėtis XY plokštumoje. Rato sukimas – aukščio keitimas. LMB / RMB - suspauskite / atlaisvinkite leteną. RMB + ratas - rankenos sukimasis. Labai patogu, tiesą sakant. Jei norite, galite parašyti bet kokią terminalo programinę įrangą, kuri susisieks su manipuliatoriumi naudodama tą patį protokolą.

Eskizų čia nepateiksiu – juos galite atsisiųsti straipsnio pabaigoje.

Darbo video

Ir galiausiai pats manipuliatoriaus darbo vaizdo įrašas. Tai rodo pelės valdymą, rezistorius ir iš anksto įrašytą programą.

Nuorodos

Failus organinio stiklo pjaustymui, 3D modelius, pirkinių sąrašą, lentų brėžinius ir programinę įrangą galima atsisiųsti mano puslapio pabaigoje.

Pirmiausia bus paveikta bendrus klausimus, po specifikacijas rezultatas, detalės ir galiausiai pats surinkimo procesas.

Apskritai ir apskritai

Šio įrenginio sukūrimas neturėtų sukelti jokių sunkumų. Reikės kokybiškai apgalvoti tik mechaninių judesių galimybes, kurias įgyvendinti fiziniu požiūriu bus gana sunku, kad manipuliatoriaus ranka atliktų jai pavestas užduotis.

Techninės rezultato charakteristikos

Bus svarstomas pavyzdys, kurio ilgio / aukščio / pločio parametrai yra atitinkamai 228/380/160 milimetrų. Savadarbio manipuliatoriaus rankos svoris bus apie 1 kilogramą. Naudojamas laidiniam valdymui Nuotolinis... Numatomas surinkimo laikas su patirtimi apie 6-8 valandas. Jei jo nėra, gali prireikti dienų, savaičių, o susitarus ir mėnesių, kol bus surinkta manipuliatoriaus rankena. Savo rankomis ir vienam tokiais atvejais verta daryti tik dėl savo interesų. Komponentams perkelti naudojami kolektorių varikliai. Įdėję pakankamai pastangų, galite pagaminti įrenginį, kurį galima pasukti 360 laipsnių kampu. Be to, darbo patogumui, be standartinių įrankių, tokių kaip lituoklis ir lituoklis, turite turėti atsargų:

  1. Itin ilgos replės.
  2. Šoniniai pjaustytuvai.
  3. Phillips atsuktuvas.
  4. 4 x D baterijos.

Nuotolinio valdymo pultelis nuotolinio valdymo pultas gali būti įgyvendintas naudojant mygtukus ir mikrovaldiklį. Jei norite pagaminti nuotolinį belaidį valdymą, manipuliatoriaus rankoje taip pat reikės veiksmų valdymo elemento. Kaip papildymai bus reikalingi tik prietaisai (kondensatoriai, rezistoriai, tranzistoriai), kurie stabilizuos grandinę ir per ją reikiamu momentu perduos reikiamo dydžio srovę.

Mažos dalys

Norėdami reguliuoti apsisukimų skaičių, galite naudoti perėjimo ratus. Jie padarys manipuliatoriaus rankos judesį sklandų.

Taip pat turite įsitikinti, kad laidai neapsunkina jos judėjimo. Būtų optimalu juos kloti konstrukcijos viduje. Viską galite padaryti iš išorės, šis metodas sutaupys laiko, tačiau gali kilti sunkumų perkeliant atskirus mazgus ar visą įrenginį. O dabar: kaip pasidaryti manipuliatorių?

Asamblėja apskritai

Dabar pereiname tiesiai prie manipuliatoriaus rankos kūrimo. Pradedame nuo apačios. Prietaisą turi būti įmanoma pasukti visomis kryptimis. Geras sprendimas jis bus dedamas ant disko platformos, kuri sukama naudojant vieną variklį. Kad jis galėtų suktis į abi puses, yra dvi parinktys:

  1. Dviejų variklių montavimas. Kiekvienas iš jų bus atsakingas už pasukimą tam tikra kryptimi. Kai vienas dirba, kitas ilsisi.
  2. Įdiekite vieną variklį su grandine, kuri gali priversti jį suktis abiem kryptimis.

Kurį iš siūlomų variantų pasirinkti, priklauso tik nuo jūsų. Toliau atliekama pagrindinė konstrukcija. Kad būtų patogiau dirbti, reikalingos dvi „sąnariai“. Pritvirtintas prie platformos turi turėti galimybę pakreipti įvairiomis kryptimis, o tai išsprendžiama prie jos pagrindo pastatytų variklių pagalba. Dar vienas ar pora turi būti dedami ties alkūnės lenkimu, kad dalį rankenos būtų galima perkelti išilgai horizontalių ir vertikalių koordinačių sistemos linijų. Be to, jei norite išgauti maksimalias galimybes, variklį galite sumontuoti ir riešo vietoje. Be to, pats reikalingiausias, be kurio neįsivaizduojama manipuliatoriaus ranka. Savo rankomis turite padaryti patį sugriebimo įtaisą. Yra daug įgyvendinimo variantų. Galite duoti patarimą apie du populiariausius:

  1. Naudojami tik du pirštai, kurie vienu metu suspaudžia ir atspaudžia sugriebtą objektą. Tai paprasčiausias įgyvendinimas, kuris, tačiau, dažniausiai negali pasigirti didele apkrova.
  2. Kuriamas žmogaus rankos prototipas. Čia visiems pirštams gali būti naudojamas vienas variklis, kurio pagalba bus atliekamas lenkimas / išlenkimas. Bet jūs galite padaryti dizainą sudėtingesnį. Taigi, prie kiekvieno piršto galite prijungti variklį ir valdyti juos atskirai.

Toliau belieka pasidaryti nuotolinio valdymo pultelį, kurio pagalba bus įtakojami atskiri varikliai ir jų darbo tempas. Ir jūs galite pradėti eksperimentus naudodami roboto ranką, pagamintą savo rankomis.

Galimi schematiški rezultato atvaizdai

„Pasidaryk pats“ manipuliatoriaus ranka suteikia daug galimybių kūrybiniams išradimams. Todėl jūsų dėmesiui pateikiami keli įgyvendinimai, kuriais galima remtis kuriant savo įrenginį tokiam tikslui.

Bet kurią pateiktą manipuliatoriaus schemą galima patobulinti.

Išvada

Robotikoje svarbu tai, kad funkcijų tobulinimas yra mažai ribojamas arba visai nėra. Todėl norint sukurti tikrą meno kūrinį nebus sunku. Kalbant apie galimus tolesnio tobulinimo būdus, reikėtų paminėti krautuvų kraną. Tokį prietaisą savo rankomis pasigaminti nebus sunku, tuo pačiu jis leis pratinti vaikus prie kūrybinio darbo, mokslo ir dizaino. O tai, savo ruožtu, gali turėti teigiamos įtakos tolimesniam jų gyvenimui. Ar bus sunku savo rankomis pasidaryti kraną? Tai nėra tokia problemiška, kaip gali pasirodyti iš pirmo žvilgsnio. Nebent verta pasirūpinti, kad būtų papildomų smulkių dalių, tokių kaip trosas ir ratai, kuriais jis suksis.

Sukuriame roboto ranką naudodami nuotolio ieškiklį, įgyvendiname foninį apšvietimą.

Pagrindą iškirpsime iš akrilo. Kaip variklius naudojame servo pavaras.

Bendras roboto rankos projekto aprašymas

Projekte naudojami 6 servovarikliai. Mechaninei daliai buvo naudojamas 2 mm storio akrilas. Disko kamuoliuko pagrindas buvo naudingas kaip trikojis (vienas iš variklių sumontuotas viduje). Taip pat naudojamas ultragarsinis atstumo jutiklis ir 10 mm šviesos diodas.

Roboto valdymui naudojama Arduino maitinimo plokštė. Pats maitinimo šaltinis yra kompiuterio maitinimo šaltinis.

Projekte pateikiami išsamūs roboto rankos kūrimo paaiškinimai. Sukurto dizaino mitybos klausimai nagrinėjami atskirai.

Pagrindiniai manipuliatoriaus projekto mazgai

Pradėkime kurti. Jums reikės:

  • 6 servovarikliai (naudojau 2 mg946, 2 mg995, 2 futuba s3003 (mg995 / mg946 yra geresni už futuba s3003, bet pastarieji yra daug pigesni);
  • 2 mm storio akrilas (ir mažas gabalas 4 mm storio);
  • ultragarsinis atstumo jutiklis hc-sr04;
  • Šviesos diodai 10 mm (spalva - jūsų nuožiūra);
  • trikojis (naudojamas kaip pagrindas);
  • aliuminio griebtuvas (kainuoja apie 10-15 dolerių).

Vairavimui:

  • Arduino Uno lenta (naudotas projektas naminė lenta, kuris yra visiškai panašus į Arduino);
  • maitinimo plokštę (ją turėsite pasigaminti patiems, prie šio klausimo grįšime vėliau, reikalauja ypatingo dėmesio);
  • maitinimo blokas (šiuo atveju naudojamas kompiuterio maitinimo blokas);
  • kompiuteris manipuliatoriaus programavimui (jei programavimui naudojate Arduino, tada Arduino IDE)

Žinoma, pravers kabeliai ir kai kurie pagrindiniai įrankiai, tokie kaip atsuktuvai ir panašiai. Dabar galime pereiti prie dizaino.

Mechaninis surinkimas

Prieš pradedant kurti mechaninę manipuliatoriaus dalį, verta paminėti, kad neturiu brėžinių. Visi mazgai buvo padaryti „ant kelio“. Bet principas labai paprastas. Turite dvi akrilines jungtis su servovarikliais tarp jų. Ir kitos dvi nuorodos. Taip pat variklių montavimui. Na, o pats griebtuvas. Paprasčiausias būdas įsigyti tokį griebtuvą – jį įsigyti internetu. Beveik viskas sumontuota varžtais.

Pirmos dalies ilgis apie 19 cm; antrasis yra apie 17,5; priekinės jungties ilgis apie 5,5 cm Kitus matmenis pasirinkite pagal savo projekto matmenis. Iš esmės likusių mazgų matmenys nėra tokie svarbūs.

Mechaninė rankena prie pagrindo turėtų pasisukti 180 laipsnių. Taigi apačioje turime sumontuoti servo variklį. Šiuo atveju jis montuojamas tame pačiame disko kamuoliuke. Jūsų atveju tai gali būti bet kokia tinkama dėžutė. Ant šio servo variklio sumontuotas robotas. Galima, kaip parodyta paveikslėlyje, sumontuoti papildomą metalinį flanšo žiedą. Galima ir be jo.

Ultragarsiniam jutikliui sumontuoti naudojamas 2 mm akrilas. Šviesos diodas taip pat gali būti montuojamas iš apačios.

Sunku išsamiai paaiškinti, kaip tiksliai sukonstruoti tokį manipuliatorių. Daug kas priklauso nuo vienetų ir dalių, kuriuos turite sandėlyje arba perkate. Pavyzdžiui, jei jūsų servo išmatavimai skiriasi, pasikeis ir akrilinės svirties jungtys. Pasikeitus matmenims, skirsis ir rankos kalibravimas.

Atlikus mechaninę manipuliatoriaus konstrukciją, būtinai reikės pailginti servomotorių laidus. Šiems tikslams šiame projekte buvo naudojami laidai iš interneto kabelio. Kad visa tai atrodytų, nepatingėkite ir ant laisvų prailgintų laidų galų sumontuokite adapterius – mama ar tėtis, priklausomai nuo jūsų Arduino plokštės, skydo ar maitinimo šaltinio išėjimų.

Surinkę mechaninę dalį, galime pereiti prie savo manipuliatoriaus „smegenų“.

Manipuliatoriaus griebimas

Norėdami sumontuoti griebtuvą, jums reikia servovariklio ir kai kurių varžtų.

Taigi, ką tiksliai reikia padaryti.

Paimkite servo svirtį ir sutrumpinkite, kol ji tilps į jūsų griebtuvą. Tada priveržkite du mažus varžtus.

Sumontavę servo, pasukite jį į kraštinę kairę padėtį ir suspauskite griebtuvo nasrus.

Dabar servo gali būti montuojamas ant 4 varžtų. Tuo pačiu metu įsitikinkite, kad variklis vis dar yra kraštutinėje kairėje padėtyje, o griebtuvo nasrai yra uždaryti.

Galima prijungti servo prie Arduino lenta ir patikrinkite griebtuvo veikimą.

Atkreipkite dėmesį, kad griebtuvo veikimo problemų gali kilti, jei varžtai / varžtai yra per daug priveržti.

Pridėkite paryškinimą prie manipuliatoriaus

Galite pagyvinti savo projektą pridėdami prie jo apšvietimo. Tam buvo naudojami šviesos diodai. Tai padaryti paprasta, bet tamsoje atrodo labai įspūdingai.

Kur montuoti šviesos diodus priklauso nuo jūsų kūrybiškumo ir vaizduotės.

Elektros schema

Galite naudoti 100K potenciometrą vietoj R1 rankiniam pritemdymui. Kaip varža R2 buvo naudojami 118 omų rezistoriai.

Pagrindinių naudotų vienetų sąrašas:

  • R1 - 100 kΩ rezistorius
  • R2 yra 118 omų rezistorius
  • BC547 dvipolis tranzistorius
  • Fotorezistorius
  • 7 šviesos diodai
  • Jungiklis
  • Prisijungimas prie Arduino plokštės

Arduino plokštė buvo naudojama kaip mikrovaldiklis. Maitinimo blokas iš Asmeninis kompiuteris... Prijungę multimetrą prie raudonos ir juodos spalvos laidų, pamatysite 5 voltus (kurie naudojami servo varikliams ir ultragarsiniam atstumo jutikliui). Geltona ir juoda suteiks jums 12 voltų („Arduino“). Padarome 5 jungtis servomotoriams, lygiagrečiai jungiame teigiamą prie 5 V, o neigiamą į žemę. Taip pat ir su atstumo jutikliu.

Po to prijunkite likusias jungtis (po vieną iš kiekvieno servo ir dvi nuo nuotolio ieškiklio) prie plokštės, kurią litavome, ir Arduino. Tokiu atveju nepamirškite teisingai nurodyti kaiščių, kuriuos ateityje naudojote programoje.

Be to, maitinimo plokštėje buvo sumontuotas maitinimo šviesos diodas. Tai nesunku įgyvendinti. Be to, tarp 5 V ir žemės buvo naudojamas 100 omų rezistorius.

10 mm šviesos diodas ant roboto taip pat prijungtas prie Arduino. 100 omų rezistorius veikia nuo 13 kaiščio iki teigiamos šviesos diodo kojos. Neigiamas – į žemę. Programoje jį galima išjungti.

6 servomotoriams naudojamos 6 jungtys, nes du apačioje esantys servovarikliai turi tą patį valdymo signalą. Atitinkami laidininkai yra prijungti ir prijungti prie vieno kaiščio.

Kartoju, kad maitinimo blokas iš asmeninio kompiuterio naudojamas kaip maitinimo šaltinis. Arba, žinoma, galite įsigyti atskirą maitinimo šaltinį. Bet atsižvelgiant į tai, kad turime 6 diskus, kurių kiekvienas gali sunaudoti apie 2 A, toks galingas maitinimo šaltinis nebus pigus.

Atminkite, kad antraštės iš serverio yra prijungtos prie „Arduino“ PWM išėjimų. Prie kiekvieno tokio lentos kaiščio yra simbolis~. Ultragarsinis tempimo jutiklis gali būti prijungtas prie 6, 7 kaiščių. LED - prie 13 kaiščio ir įžeminimo. Tai visi smeigtukai, kurių mums reikia.

Dabar galime pereiti prie „Arduino“ programavimo.

Prieš prijungdami plokštę per USB prie kompiuterio, būtinai išjunkite maitinimą. Bandydami programą taip pat išjunkite roboto rankos maitinimą. Jei maitinimas nebus išjungtas, Arduino gaus 5 voltus iš USB ir 12 voltų iš maitinimo šaltinio. Atitinkamai, maitinimas iš usb bus perkeltas į maitinimo šaltinį ir jis šiek tiek „nuskęs“.

Sujungimo schemoje matyti, kad servo valdymui pridėti potenciometrai. Potenciometrai yra neprivalomi, tačiau aukščiau pateiktas kodas neveiks be jų. Potenciometrai gali būti prijungti prie 0, 1, 2, 3 ir 4 kaiščių.

Programavimas ir pirmasis paleidimas

Valdymui naudojami 5 potenciometrai (tai visiškai įmanoma pakeisti 1 potenciometru ir dviem vairasvirtėmis). Sujungimo su potenciometrais schema parodyta ankstesniame skyriuje. Arduino eskizas yra čia.

Žemiau pateikiami keli vaizdo įrašai apie roboto rankos darbą. Tikiuosi jums patiks.

Aukščiau pateiktame vaizdo įraše parodytos naujausios rankos modifikacijos. Teko šiek tiek pakeisti dizainą ir pakeisti keletą dalių. Paaiškėjo, kad futuba s3003 servos yra gana silpnos. Paaiškėjo, kad jie buvo naudojami tik sugriebti ar pasukti ranką. Taigi buvo įdiegtas mg995. Na, mg946 paprastai bus puikus pasirinkimas.

Valdymo programa ir jos paaiškinimai

// valdomas disko naudojant kintamieji rezistoriai- potenciometrai.

int potpin = 0; // analoginis kaištis potenciometrui prijungti

int val; // kintamasis duomenims nuskaityti iš analoginio kaiščio

myservo1.attach (3);

myservo2.attach (5);

myservo3.attach (9);

myservo4.attach (10);

myservo5.attach (11);

pinMode (LED, OUTPUT);

(// 1 servo analoginis kaištis 0

val = analogRead (potpin); // nuskaito potenciometro reikšmę (reikšmė nuo 0 iki 1023)

// padidina gautos vertės mastelį, kad būtų galima naudoti su baudžiauninkais (gauname vertę nuo 0 iki 180)

myservo1.write (val); // atveda servo į padėtį pagal skaičiuojamą reikšmę

vėlavimas (15); // laukia, kol servovariklis pasieks nurodytą padėtį

val = analoginis skaitymas (potpin1); // 2 servo ant analoginio kaiščio 1

val = žemėlapis (val, 0, 1023, 0, 179);

myservo2.write (val);

val = analoginis skaitymas (potpin2); // 3 servo ant analoginio kaiščio 2

val = žemėlapis (val, 0, 1023, 0, 179);

myservo3.write (val);

val = analoginis skaitymas (potpin3); // 4 servo ant analoginio kaiščio 3

val = žemėlapis (val, 0, 1023, 0, 179);

myservo4.write (val);

val = analoginis skaitymas (potpin4); // 5 servo ant 4 analoginio kaiščio

val = žemėlapis (val, 0, 1023, 0, 179);

myservo5.write (val);

Eskizas naudojant ultragarsinį atstumo jutiklį

Tai turbūt viena įspūdingiausių projekto dalių. Ant manipuliatoriaus sumontuotas atstumo jutiklis, kuris reaguoja į aplink esančias kliūtis.

Pagrindiniai kodo paaiškinimai pateikti žemiau.

#define trigPin 7

Kita kodo dalis:

Mes priskyrėme visiems 5 signalams (6 diskams) pavadinimus (gali būti bet kokie)

Taip:

Serial.begin (9600);

pinMode (trigPin, OUTPUT);

pinMode (echoPin, INPUT);

pinMode (LED, OUTPUT);

myservo1.attach (3);

myservo2.attach (5);

myservo3.attach (9);

myservo4.attach (10);

myservo5.attach (11);

Mes sakome Arduino plokštei, prie kurių kaiščių yra prijungti šviesos diodai, servo varikliai ir atstumo jutiklis. Keisti nieko nekainuoja.

tuščia pozicija1 () (

digitalWrite (LED, HIGH);

myservo2.writeMicroseconds (1300);

myservo4.writeMicroseconds (800);

myservo5.writeMicroseconds (1000);

Čia galite pakeisti keletą dalykų. Nustačiau poziciją ir pavadinau poziciją1. Jis bus naudojamas tolimesnėje programoje. Jei norite pateikti kitokį judėjimą, skliausteliuose esančias reikšmes pakeiskite nuo 0 iki 3000.

Po to:

tuščia pozicija2 () (

digitalWrite (LED, LOW);

myservo2.writeMicroseconds (1200);

myservo3.writeMicroseconds (1300);

myservo4.writeMicroseconds (1400);

myservo5.writeMicroseconds (2200);

Panašus į ankstesnį gabalą, tik šiuo atveju tai yra pozicija2. Tokiu pat būdu galite pridėti naujų judėjimo pozicijų.

ilga trukmė, atstumas;

digitalWrite (trigPin, LOW);

vėlavimasMikrosekundės (2);

digitalWrite (trigPin, HIGH);

vėlavimasMikrosekundės (10);

digitalWrite (trigPin, LOW);

trukmė = pulseIn (echoPin, HIGH);

atstumas = (trukmė / 2) / 29,1;

Dabar jis pradeda kurti pagrindinį programos kodą. Nekeisk. Pagrindinis aukščiau pateiktų eilučių tikslas yra sukonfigūruoti atstumo jutiklį.

Po to:

jei (atstumas<= 30) {

jei (atstumas< 10) {

myservo5.writeMicroseconds (2200); // atidarykite griebtuvą

myservo5.writeMicroseconds (1000); // uždarykite griebtuvą

Dabar galite pridėti naujų poslinkių pagal ultragarso keitiklio išmatuotą atstumą.

jei (atstumas<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

pozicija1 (); // Tiesą sakant, ranka atliks viską, ką nurodėte skliausteliuose ()

else (// jei atstumas didesnis nei 30 cm, eikite į 2 poziciją

padėtis () 2 // panaši į ankstesnę eilutę

Galite pakeisti atstumą kode ir daryti ką norite.

Paskutinės kodo eilutės

jei (atstumas> 30 || atstumas<= 0){

Serial.println („Ne diapazone“); // nuosekliajame monitoriuje išvedamas pranešimas, kad viršijome nurodytą diapazoną

Serial.print (atstumas);

Serial.println ("cm"); // atstumas centimetrais

vėlavimas (500); // 0,5 sekundės vėlavimas

Žinoma, čia galima viską išversti milimetrais, metrais, keisti rodomą žinutę ir t.t. Galite šiek tiek žaisti su vėlavimu.

Tai viskas, iš tikrųjų. Mėgaukitės, atnaujinkite savo manipuliatorius, dalinkitės idėjomis ir rezultatais!

Turi foninį apšvietimą. Iš viso robotas veikia su 6 servo varikliais. Mechaninei daliai sukurti buvo panaudotas dviejų milimetrų storio akrilas. Trikojui pagaminti buvo paimtas pagrindas iš disko kamuoliuko, į kurį tiesiai įmontuotas vienas variklis.

Robotas dirba ant Arduino plokštės. Kaip maitinimo šaltinis naudojamas kompiuterio blokas.

Medžiagos ir įrankiai:
- 6 servovarikliai;
- 2 mm storio akrilas (ir kitas mažas 4 mm storio gabalėlis);
- trikojis (pagrindui sukurti);
- hc-sr04 tipo ultragarsinis atstumo jutiklis;
- Arduino Uno valdiklis;
- galios valdiklis (gaminamas savarankiškai);
- maitinimo blokas iš kompiuterio;
- kompiuteris (reikalingas Arduino programavimui);
- laidai, įrankiai ir kt.



Gamybos procesas:

Pirmas žingsnis. Mechaninės roboto dalies surinkimas
Mechaninę dalį labai lengva surinkti. Su servo varikliu reikia sujungti du akrilo gabalus. Kitos dvi nuorodos yra sujungtos panašiai. Kalbant apie griebtuvą, geriausia jį įsigyti internetu. Visi elementai tvirtinami varžtais.

Pirmos dalies ilgis apie 19 cm, o antros apie 17,5 cm.Priekinė jungtis 5,5 cm.Kalbant apie likusius elementus, jų matmenys parenkami asmenine nuožiūra.





Posvyrio kampas prie mechaninės svirties pagrindo turi būti 180 laipsnių, todėl servovariklis turi būti sumontuotas apačioje. Mūsų atveju jį reikia sumontuoti disko kamuoliuke. Robotas jau sumontuotas ant servovariklio.

Norint sumontuoti ultragarsinį jutiklį, reikia 2 cm storio akrilo gabalo.

Norėdami sumontuoti griebtuvą, jums reikės kelių varžtų ir servovariklio. Turite paimti supamą kėdutę nuo servovariklio ir sutrumpinti, kol ji tilps į griebtuvą. Tada galite priveržti du mažus varžtus. Sumontavus servovariklį reikia pasukti į kraštinę kairę padėtį ir sujungti griebimo nasrus.

Dabar servovariklis pritvirtintas 4 varžtais, tuo tarpu svarbu įsitikinti, kad jis yra kraštutinėje kairėje padėtyje, o lūpos yra sutrauktos.
Dabar servo galima prijungti prie lentos ir patikrinti, ar griebtuvas veikia.








Antras žingsnis. Roboto šviesa
Kad robotas būtų įdomesnis, galite jį apšviesti iš fono. Tai atliekama naudojant įvairių spalvų šviesos diodus.


Trečias žingsnis. Elektroninės dalies prijungimas
Pagrindinis roboto valdiklis yra Arduino plokštė. Kompiuterio blokas naudojamas kaip maitinimo šaltinis, jo išėjimuose reikia rasti 5 voltų įtampą. Taip turėtų būti, jei multimetru matuojate raudonų ir juodų laidų įtampą. Ši įtampa reikalinga servo varikliams ir atstumo jutikliui maitinti. Geltona ir juoda bloko laidas jau duoda 12 voltų, jų reikia, kad Arduino veiktų.

Servo sistemoms reikia padaryti penkias jungtis. Mes prijungiame 5 V į teigiamą, o neigiamą į žemę. Atstumo jutiklis prijungtas taip pat.

Taip pat plokštėje yra maitinimo šviesos diodas. Jam prijungti naudojamas 100 omų rezistorius tarp + 5 V ir žemės.










Servo variklių išėjimai yra prijungti prie „Arduino“ PWM išėjimų. Tokie kaiščiai ant lentos pažymėti "~" piktograma. Kalbant apie ultragarsinį atstumo jutiklį, jį galima prijungti prie 6 ir 7 kaiščių. Šviesos diodas yra prijungtas prie žemės ir 13 kaiščio.

Dabar galite pradėti programuoti. Prieš jungdami per USB įsitikinkite, kad maitinimas visiškai išjungtas. Testuojant programą, reikia išjungti ir roboto maitinimą. Jei tai nebus padaryta, valdiklis gaus 5 V iš USB ir 12 V iš maitinimo šaltinio.

Diagramoje matote, kad servo varikliams valdyti buvo pridėti potenciometrai. Jie nėra būtina roboto dalis, tačiau be jų siūlomas kodas neveiks. Potenciometrai jungiami prie 0,1,2,3 ir 4 kaiščių.

Grandinėje yra rezistorius R1, jį galima pakeisti 100 kΩ potenciometru. Tai leis rankiniu būdu reguliuoti ryškumą. Kalbant apie rezistorius R2, jų nominali vertė yra 118 omų.

Čia yra pagrindinių naudotų mazgų sąrašas:
- 7 šviesos diodai;
- R2 - 118 omų rezistorius;
- R1 - 100 kOhm rezistorius;
- jungiklis;
- fotorezistorius;
- bc547 tranzistorius.

Ketvirtas žingsnis. Programavimas ir pirmasis roboto paleidimas
Robotui valdyti buvo naudojami 5 potenciometrai. Tokią grandinę visiškai įmanoma pakeisti vienu potenciometru ir dviem vairasvirtėmis. Kaip prijungti potenciometrą, buvo parodyta ankstesniame žingsnyje. Įdiegę roboto eskizus galima išbandyti.

Pirmieji roboto bandymai parodė, kad sumontuoti futuba s3003 tipo servo varikliai robotui pasirodė silpni. Jais galima tik pasukti ranką arba sugriebti. Vietoj to autorius įdiegė mg995 variklius. Idealūs yra mg946 tipo varikliai.

Iš šio roboto savybių Arduino platformoje galima pastebėti jo dizaino sudėtingumą. Robotinė ranka susideda iš daugybės svirtelių, leidžiančių jai judėti visomis ašimis, sugriebti ir perkelti įvairius daiktus naudojant tik 4 servovariklius. Savo rankomis surinkę tokį robotą, tikrai galite nustebinti savo draugus ir artimuosius šio įrenginio galimybėmis ir malonia išvaizda! Atminkite, kad programavimui visada galite naudoti mūsų grafinę aplinką RobotON Studio!

Jei turite klausimų ar komentarų, visada susisieksime! Kurkite ir dalinkitės rezultatais!

Ypatumai:

Norėdami surinkti roboto ranką savo rankomis, jums reikės nemažai komponentų. Pagrindinę dalį užima 3D spausdintos detalės, jų yra apie 18 vnt (atspausdinti skaidrę neprivaloma).Jei atsisiuntėte ir atsispausdinote viską, ko reikia, tuomet jums reikės varžtų, veržlių ir elektronikos:

  • 5 varžtai M4 20mm, 1x40mm ir atitinkamos veržlės su apsauga nuo susisukimo
  • 6 varžtai M3 10 mm, 1 x 20 mm ir atitinkamos veržlės
  • Keptuvė su jungiamaisiais laidais arba skydu
  • Arduino nano
  • 4 servo varikliai SG 90

Surinkus korpusą SVARBU įsitikinti, kad jis laisvai juda. Jei pagrindines Robohand dalis sunku perkelti, servo varikliai gali neatlaikyti apkrovos. Surinkdami elektroniką, reikia atsiminti, kad geriau prijungti grandinę prie maitinimo šaltinio, visiškai patikrinus jungtis. Kad nesugadintumėte SG 90 servo pavarų, jums nereikia variklio sukti rankomis, jei tai nėra būtina. Jei reikia sukurti SG 90, turite sklandžiai judinti variklio veleną skirtingomis kryptimis.

Specifikacijos:
  • Paprastas programavimas dėl nedidelio skaičiaus ir to paties tipo variklių
  • Negyvos vietos kai kurioms servo pavaroms
  • Platus roboto pritaikymas kasdieniame gyvenime
  • Įdomus inžinerinis darbas
  • Poreikis naudoti 3D spausdintuvą