„Pasidaryk pats“ rankinis manipuliatorius namuose. Pramoninis robotas manipuliatorius: galiu viską ir galiu viską. Medžiagos ir įrankiai

savivaldybės valstybės finansuojama organizacija

papildomas išsilavinimas"Stotis jaunieji technikai»

Kamensk Shakhtinsky miestas

Regioninio konkurso savivaldybių etapas

„Jaunieji Dono dizaineriai trečiajam tūkstantmečiui“

Skyrius "Robotika"

« Arduino manipuliatoriaus rankena

papildomo ugdymo mokytoja

MBU DO "SYUT"

    3 įvadas

    Tyrimai ir analizė 4

    Gamybos agregatų ir manipuliatoriaus surinkimo etapai 6

    1. Medžiagos ir įrankiai 6

      Mechaniniai manipuliatoriaus komponentai 7

      Elektroninis užpildymas manipuliatorius 9

    11 išvada

    Informacijos šaltiniai 12

    13 priedas

    Įvadas

Robotas manipuliatorius yra trimatė mašina, turinti tris matmenis, atitinkančius gyvos būtybės erdvę. Plačiąja prasme manipuliatorių galima apibrėžti kaip techninę sistemą, galintis pakeisti asmenį arba padėti jam atlikti įvairios užduotys.

Šiuo metu robotikos plėtra ne progresuoja, o bėga, anksčiau laiko. Vien per pirmuosius 10 XXI amžiaus metų buvo išrasta ir įdiegta daugiau nei 1 milijonas robotų. Tačiau įdomiausia, kad plėtrą šioje srityje gali vykdyti ne tik didelių korporacijų komandos, mokslininkų ir profesionalių inžinierių grupės, bet ir paprasti moksleiviai visame pasaulyje.

Buvo sukurti keli kompleksai, skirti mokytis robotikos mokykloje. Garsiausios iš jų yra:

    Robotis Bioloid;

    LEGO Mindstorms;

  • Arduino.

Arduino konstruktoriai labai domina robotų kūrėjus. Arduino plokštės yra radijo konstruktorius, labai paprastas, bet pakankamai funkcionalus, kad būtų galima labai greitai programuoti Viring kalba (iš tikrųjų C++) ir įgyvendinti techninės idėjos.

Tačiau, kaip rodo praktika, vis daugiau praktinę reikšmę Būtent perkami naujos kartos jaunųjų profesionalų darbai.

Vaikų mokymas programuoti visada bus aktualus, nes sparti robotikos raida visų pirma siejama su raida informacines technologijas ir susisiekimo priemones.

Projekto tikslas – manipuliatoriaus rankos pagrindu sukurti edukacinį radijo konstruktorių, žaismingai mokyti vaikus programuoti Arduino aplinkoje. Suteikti galimybę kuo daugiau vaikų susipažinti su projektavimo veikla robotikoje.

Projekto tikslai:

    sukurti ir sukurti mokomąją ranką – manipuliatorių su minimalios išlaidos lėšos, kurios nėra prastesnės už užsienio analogus;

    naudoti servus kaip manipuliatoriaus mechanizmus;

    valdyti manipuliatoriaus mechanizmus naudojant Arduino UNO R 3 radijo rinkinį;

    sukurti programą Arduino programavimo aplinkoje, skirtą proporcingam servo valdymui.

Norint pasiekti užsibrėžtą mūsų projekto tikslą ir uždavinius, būtina išstudijuoti esamų manipuliatorių tipus, techninę literatūrą šia tema bei Arduino aparatinę ir skaičiavimo platformą.

    Tyrimai ir analizė

Studijuoti.

Pramoninis manipuliatorius - skirtas atlikti variklio ir valdymo funkcijas gamybos procesas, t.y. automatinis įrenginys, susidedantis iš manipuliatoriaus ir perprogramuojamo valdymo įrenginio, kuris generuoja valdymo veiksmus, nurodančius reikiamus judesius vykdomieji organai manipuliatorius. Jis naudojamas gamybinėms prekėms perkelti, įvairioms technologinėms operacijoms atlikti.

APIE
klesti konstruktorius – manipuliatoriuje sumontuota robotinė ranka, kuri suspaudžia ir atspaudžia. Su jo pagalba galite žaisti šachmatais valdydami jį nuotoliniu būdu. Taip pat galite naudoti roboto ranką, kad išdalintumėte vizitines korteles. Judesiai apima: riešą 120°, alkūnę 300°, pagrindinį pasukimą 270°, pagrindinį judesį 180°. Žaislas yra labai geras ir naudingas, tačiau jo kaina yra apie 17 200 rublių.

„uArm“ projekto dėka kiekvienas gali surinkti savo darbalaukio mini robotą. „uArm“ yra 4 ašių manipuliatorius, miniatiūrinė pramoninio roboto „ABB PalletPack IRB460“ versija. Manipuliatorius turi Atmel mikroprocesorių ir servovariklius Iš viso išlaidų reikalingos dalys - 12959 rubliai. uArm projektas reikalauja bent pagrindinių programavimo įgūdžių ir patirties kuriant Legos. Mini robotas gali būti užprogramuotas daugeliui funkcijų: nuo žaidimo iki muzikinis instrumentas, prieš įkeldami sudėtingą programą. Šiuo metu kuriamos aplikacijos iOS ir Android, kurios leis valdyti „uArm“ iš išmaniojo telefono.

Manipuliatoriai "uArm"

Dauguma esamų manipuliatorių apima variklius tiesiai į jungtis. Tai paprastesnė konstrukcija, tačiau pasirodo, kad varikliai turi kelti ne tik naudingąją apkrovą, bet ir kitus variklius.

Analizė.

Mes rėmėmės manipuliatoriumi, pateiktu Kickstarter svetainėje, kuris vadinosi „uArm“. Šios konstrukcijos pranašumas yra tas, kad griebtuvo pastatymo platforma visada yra lygiagrečiai darbinis paviršius. Sunkieji varikliai yra bazėje, jėgos perduodamos per strypus. Dėl to manipuliatorius turi tris servus (tris laisvės laipsnius), leidžiančius įrankį per visas tris ašis judinti 90 laipsnių kampu.

Jie nusprendė sumontuoti guolius judančiose manipuliatoriaus dalyse. Tokia manipuliatoriaus konstrukcija turi daug privalumų prieš daugelį šiuo metu parduodamų modelių: Iš viso manipuliatoriuje naudojama 11 guolių: 10 vnt. 3 mm velenui ir vienas 30 mm velenui.

Manipuliatoriaus rankos charakteristikos:

Aukštis: 300 mm.

Darbo zona(visiškai ištiesus ranką): nuo 140 mm iki 300 mm aplink pagrindą

Maksimali apkrova ištiestos rankos atstumu: 200g

Dabartinis suvartojimas, ne daugiau: 1A

Lengva surinkti. Daug dėmesio buvo skirta tam, kad būtų tokia manipuliatoriaus surinkimo seka, kurioje būtų itin patogu prisukti visas detales. Tai buvo ypač sunku bazėje esantiems galingiems servo pavaros blokams.

Valdymas realizuojamas naudojant kintamuosius rezistorius, proporcinga kontrolė. Galite suprojektuoti pantografo tipo valdymą, pavyzdžiui, branduolinių mokslininkų ir herojaus didžiajame robote iš filmo „Avataras“, jį galima valdyti ir pele, o naudojant kodų pavyzdžius galite sukurti savo judėjimo algoritmus.

Projekto atvirumas. Kiekvienas gali pasigaminti savo įrankius (siurbtuką ar pieštuko segtuką) ir į valdiklį įkelti užduočiai atlikti reikalingą programą (eskizą).

    Komponentų gamybos ir manipuliatoriaus surinkimo etapai

      Medžiagos ir įrankiai

Manipuliatoriaus svirties gamybai buvo panaudota 3 mm ir 5 mm storio kompozitinė plokštė. Tai medžiaga, sudaryta iš dviejų 0,21 mm storio aliuminio lakštų, sujungtų termoplastiniu polimero sluoksniu, pasižyminti geru tvirtumu, lengva ir lengvai apdirbama. Internete atsisiųstos manipuliatoriaus nuotraukos buvo apdorotos kompiuterine programa „Inkscape“ (vektorinės grafikos redaktoriumi). Manipuliatoriaus rankos brėžiniai buvo nubraižyti AutoCAD programa (trimatė kompiuterinė projektavimo ir braižymo sistema).

Paruoštos manipuliatoriaus dalys.

Baigtos manipuliatoriaus pagrindo dalys.

      Mechaninis manipuliatoriaus turinys

Manipuliatoriaus pagrindui buvo naudojami MG-995 servosai. Tai skaitmeniniai servosai su metaliniais krumpliaračiais ir rutuliniais guoliais, jie užtikrina 4,8 kg/cm jėgą, tikslią padėties nustatymą ir priimtiną greitį. Viena servo pavara sveria 55,0 gramus, matmenys 40,7 x 19,7 x 42,9 mm, maitinimo įtampa nuo 4,8 iki 7,2 voltų.

MG-90S servos buvo naudojamos rankai suimti ir pasukti. Tai taip pat skaitmeniniai servo įrenginiai su metalinėmis pavaromis ir rutuliniu guoliu ant išėjimo veleno, jie užtikrina 1,8 kg/cm jėgą ir tikslų padėties valdymą. Viena servo pavara sveria 13,4 gramo, matmenys 22,8 x 12,2 x 28,5 mm, maitinimo įtampa nuo 4,8 iki 6,0 voltų.


Servo pavara MG-995 Servo pavara MG90S

Rankos pagrindo sukimui palengvinti naudojamas 30x55x13 matmenų guolis - manipuliatorius su apkrova.


Guolių montavimas. Sukamojo įrenginio surinkimas.

Rankos pagrindas - manipuliatoriaus mazgas.


Griebtuvo surinkimo dalys. Griebtuvo surinkimas.

      Elektroninis manipuliatoriaus užpildymas

Yra vienas atviras projektas, kuris vadinamas Arduino. Šio projekto pagrindas – bazinis aparatūros modulis ir programa, kurioje galima parašyti kodą valdikliui specializuota kalba ir kuri leidžia prijungti bei programuoti šį modulį.

Norėdami dirbti su manipuliatoriumi, naudojome Arduino UNO R 3 plokštę ir suderinamą išplėtimo plokštę servo prijungimui. Jame yra sumontuotas 5 voltų stabilizatorius, skirtas maitinti servus, PLS kontaktai servosams prijungti ir jungtis kintamiesiems rezistorių prijungimui. Maitinimas tiekiamas iš 9V, 3A bloko.

Arduino valdiklio plokštė UNO R 3.

Schema„Arduino“ valdiklio plokštės plėtiniai UNO R 3 buvo kuriama atsižvelgiant į paskirtas užduotis.

Valdiklio išplėtimo plokštės schema.

Valdiklio išplėtimo plokštė.

Arduino UNO R 3 plokštę USB A-B laidu jungiame prie kompiuterio, programavimo aplinkoje nustatome reikiamus nustatymus, o naudojant Arduino bibliotekas sukuriame programą (eskizą) servo veikimui. Mes sukompiliuojame (patikriname) eskizą, tada įkeliame jį į valdiklį. SU Detali informacija apie darbą Arduino aplinkoje galima rasti svetainėje http://edurobots.ru/category/uroki/ (Arduino pradedantiesiems. Pamokos).

Programos langas su eskizu.

    Išvada

Šis manipuliatoriaus modelis išsiskiria maža kaina, lyginant su paprastu konstravimo rinkiniu „Duckrobot“, kuris atlieka 2 judesius ir kainuoja 1102 rublius, arba „Lego“ konstravimo rinkiniu „Policijos stotis“, kainuojančiu 8429 rublius. Mūsų konstruktorius atlieka 5 judesius ir kainuoja 2384 rublius.

Komponentai ir medžiaga

Kiekis

Servo pavara MG-995

Servo pavara MG90S

Guolis 30x55x13

Guolis 3x8x3

M3x27 žalvarinis moteriškas-moteriškas stovas

M3x10 varžtas su įvarčiu. pagal h/w

Sudėtinė plokštė dydis 0,6m2

Arduino UNO R 3 valdiklio plokštė

Kintamieji rezistoriai 100 kom.

Nedidelė kaina prisidėjo prie techninio manipuliatoriaus rankos konstruktoriaus sukūrimo, kurio pavyzdys aiškiai parodė manipuliatoriaus veikimo principą ir žaismingai vykdomas pavestas užduotis.

Veikimo principas Arduino programavimo aplinkoje pasitvirtino testuose. Toks žaidybinio programavimo valdymo ir mokymo būdas yra ne tik įmanomas, bet ir efektyvus.

Pradinis failas su eskizu, paimtas iš oficialios Arduino svetainės ir suderintas programavimo aplinkoje, užtikrina teisingą ir patikimas veikimas manipuliatorius.

Ateityje noriu atsisakyti brangių servo ir naudoti žingsniniai varikliai, todėl jis judės gana tiksliai ir sklandžiai.

Manipuliatorius valdomas pantografu per Bluetooth radijo kanalą.

    Informacijos šaltiniai

Gololobovas N.V. Apie Arduino projektą moksleiviams. Maskva. 2011 m.

Kurt E. D. Įvadas į mikrovaldiklius su T. Volkovo vertimu į rusų kalbą. 2012 m.

Belov A.V. Savarankiškas AVR mikrovaldiklių kūrėjų vadovas. Mokslas ir technologijos, Sankt Peterburgas, 2008 m.

http://www.customelectronics.ru/robo-ruka-sborka-mehaniki/ Vikšrinis manipuliatorius.

http://robocraft.ru/blog/electronics/660.html manipuliatorius per Bluetooth.

http://robocraft.ru/blog/mechanics/583.html nuoroda į straipsnį ir vaizdo įrašą.

http://edurobots.ru/category/uroki/ Arduino pradedantiesiems.

    Taikymas

Manipuliatoriaus pagrindo brėžinys

Strėlės ir manipuliatoriaus rankenos brėžinys.

Kuriame robotą manipuliatorių naudodami nuotolio ieškiklį ir diegiame foninį apšvietimą.

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

Bendras robotinio manipuliatoriaus projekto aprašymas

Projekte naudojami 6 servo varikliai. Mechaninei daliai buvo naudojamas 2 mm storio akrilas. Pagrindas iš disko kamuoliuko pravertė 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. Atskirai nagrinėjami sukurto dizaino maitinimo klausimai.

Pagrindiniai manipuliatoriaus projekto komponentai

Pradėkime plėtrą. Jums reikės:

  • 6 servovarikliai (naudojau 2 modelius mg946, 2 mg995, 2 futuba s3003 (mg995/mg946 turi geresnes charakteristikas nei futuba s3003, bet pastarieji daug pigesni);
  • 2 milimetrų storio akrilas (ir mažas gabalas 4 mm storio);
  • ultragarsinis atstumo jutiklis hc-sr04;
  • LED 10 mm (spalva - jūsų nuožiūra);
  • trikojis (naudojamas kaip pagrindas);
  • aliuminio rankena (kainuoja apie 10-15 dolerių).

Vairavimui:

  • Mokėti Arduino Uno(projekte naudojama savadarbė lenta, kuri visiškai panaši į Arduino);
  • maitinimo plokštę (ją turėsite pasigaminti patiems, prie šio klausimo grįšime vėliau, reikalauja ypatingo dėmesio);
  • maitinimo šaltinis (šiuo atveju naudojamas kompiuterio maitinimo šaltinis);
  • kompiuteris manipuliatoriaus programavimui (jei programavimui naudojate Arduino, tada Arduino IDE)

Žinoma, jums reikės kabelių ir kai kurių pagrindiniai įrankiai kaip atsuktuvai ir pan. 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, tarp kurių reikia sumontuoti servovariklius. Ir kitos dvi nuorodos. Taip pat variklių montavimui. Na, o pats griebtuvas. Lengviausia tokią rankeną įsigyti internetu. Beveik viskas sumontuota naudojant varžtus.

Pirmos dalies ilgis apie 19 cm; antrasis - apie 17,5; Priekinės jungties ilgis yra apie 5,5 cm. Likusius matmenis pasirinkite pagal savo projekto matmenis. Iš esmės likusių mazgų dydžiai nėra tokie svarbūs.

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

Ultragarsiniam jutikliui sumontuoti naudojamas 2 mm storio akrilas. Galite įdiegti šviesos diodą tiesiai žemiau.

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

Pabaigus manipuliatoriaus mechaninės dalies kūrimą, tikrai teks pratęsti servo variklio laidus. Šiems tikslams šiame projekte buvo naudojami laidai iš interneto kabelio. Kad visa tai atrodytų, nepatingėkite ir ant laisvųjų prailgintų kabelių galų įdiekite adapterius – moterišką ar vyrišką, priklausomai nuo jūsų Arduino plokštės, ekrano ar maitinimo šaltinio išvesties.

Surinkę mechaninę dalį, galime pereiti prie mūsų manipuliatoriaus „smegenų“.

Manipuliatoriaus rankena

Norėdami sumontuoti rankeną, jums reikės servo variklio ir kai kurių varžtų.

Taigi, ką tiksliai reikia padaryti.

Nuimkite svirtį nuo servo ir sutrumpinkite, kol ji atitiks jūsų rankeną. Po to priveržkite du mažus varžtus.

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

Dabar galite montuoti servo su 4 varžtais. Tuo pačiu metu įsitikinkite, kad variklis vis dar yra kraštutinėje kairėje padėtyje, o griebtuvo nasrai uždaryti.

Galite prijungti servo pavarą prie Arduino plokštės ir patikrinti griebtuvo funkcionalumą.

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

Apšvietimas pridedamas prie žymeklio

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

Šviesos diodų montavimo vietos priklauso nuo jūsų kūrybiškumo ir vaizduotės.

Elektros schema

Norėdami rankiniu būdu reguliuoti ryškumą, vietoj rezistoriaus R1 galite naudoti 100 kOhm potenciometrą. Kaip varža R2 buvo naudojami 118 omų rezistoriai.

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

  • R1 - 100 kOhm rezistorius
  • R2 - 118 omų rezistorius
  • Tranzistorius bc547
  • Fotorezistorius
  • 7 šviesos diodai
  • Perjungti
  • Prijungimas prie Arduino plokštės

Arduino plokštė buvo naudojama kaip mikrovaldiklis. Naudotas maitinimo šaltinis buvo 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“). Servo varikliams darome 5 jungtis, lygiagrečiai teigiamas jungiame prie 5 V, o neigiamas - į žemę. Tas pats 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“. Tuo pačiu nepamirškite teisingai nurodyti kaiščių, kuriuos ateityje naudojote programoje.

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

10 mm LED ant roboto taip pat yra prijungtas prie Arduino. 100 omų rezistorius eina iš 13 kaiščio į teigiamą šviesos diodo koją. Neigiamas – į žemę. Galite jį išjungti programoje.

6 servo varikliams naudojamos 6 jungtys, nes toliau esantys 2 servo varikliai naudoja tą patį valdymo signalą. Atitinkami laidininkai yra prijungti ir prijungti prie vieno kaiščio.

Kartoju, kad maitinimas 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.

Atkreipkite dėmesį, kad servo jungtys yra prijungtos prie „Arduino“ PWM išėjimų. Prie kiekvieno tokio lentos kaiščio yra simbolis~. Ultragarsinis atstumo jutiklis gali būti prijungtas prie kaiščių 6, 7. Šviesos diodas gali būti prijungtas 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ą. Kai išbandysite 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 persikels į maitinimo šaltinį ir jis šiek tiek „nukris“.

Sujungimo schema rodo, kad servo valdymui buvo 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 (jį galite visiškai pakeisti 1 potenciometru ir dviem vairasvirtėmis). Sujungimo su potenciometrais schema parodyta ankstesnėje dalyje. Arduino eskizas yra čia.

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

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

Valdymo programa ir jos paaiškinimai

// pavaros valdomos naudojant kintamuosius rezistorius – potenciometrus.

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

int val; // kintamasis, skirtas nuskaityti duomenis iš analoginio kaiščio

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

pinMode(led, OUTPUT);

( //servo 1 analoginis kaištis 0

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

// keičia gautą reikšmę, kad būtų galima naudoti su servosistemomis (gaunama vertė diapazone nuo 0 iki 180)

myservo1.write(val); // perkelia servo į padėtį pagal apskaičiuotą vertę

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

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

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

myservo2.write(val);

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

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

myservo3.write(val);

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

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

myservo4.write(val);

val = analoginisRead(potpin4); //serva 5 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.

Žemiau pateikiami pagrindiniai kodo paaiškinimai

#define trigPin 7

Ši kodo dalis:

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

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 ir atstumo jutiklis. Čia nieko keisti nereikia.

tuščia pozicija1())(

skaitmeninisWrite (LED, AUKŠTAS);

myservo2.writeMicroseconds(1300);

myservo4.writeMicroseconds(800);

myservo5.writeMicroseconds(1000);

Čia kai kuriuos dalykus galima pakeisti. Aš nustatiau poziciją ir pavadinau ją pozicija1. Jis bus naudojamas būsimoje programoje. Jei norite pateikti kitokį judėjimą, pakeiskite skliausteliuose esančias reikšmes nuo 0 iki 3000.

Po to:

tuščia pozicija2())(

skaitmeninisWrite (LED, LOW);

myservo2.writeMicroseconds(1200);

myservo3.writeMicroseconds(1300);

myservo4.writeMicroseconds(1400);

myservo5.writeMicroseconds(2200);

Panašus į ankstesnį gabalą, tik šiuo atveju tai yra pozicija2. Tuo pačiu principu galite pridėti naujų judėjimo pozicijų.

ilga trukmė, atstumas;

digitalWrite(trigPin, LOW);

delsimasMikrosekundės(2);

digitalWrite(trigPin, HIGH);

delsimasMikrosekundės(10);

digitalWrite(trigPin, LOW);

trukmė = pulseIn(echoPin, HIGH);

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

Dabar pradeda veikti pagrindinis programos kodas. Jūs neturėtumėte to keisti. Pagrindinė aukščiau pateiktų eilučių užduotis yra sukonfigūruoti atstumo jutiklį.

Po to:

jei (atstumas<= 30) {

jei (atstumas< 10) {

myservo5.writeMicroseconds(2200); //atviras griebtuvas

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

Dabar galite pridėti naujų judesių pagal ultragarso jutiklio išmatuotą atstumą.

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

pozicija1(); //iš esmės ranka padarys viską, ką nurodysite tarp skliaustų ( )

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

pozicija()2 // panašus į ankstesnę eilutę

Galite pakeisti atstumą kode ir daryti ką norite.

Paskutinės kodo eilutės

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

Serial.println("Ne diapazone"); // serijiniame monitoriuje išveda pranešimą, kad peržengėme nurodytą diapazoną

Serial.print(atstumas);

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

delsimas (500); //delsimas 0,5 sekundės

Žinoma, čia galima viską konvertuoti į milimetrus, metrus, keisti rodomą pranešimą ir t.t. Galite šiek tiek pažaisti su vėlavimu.

Tai viskas. Mėgaukitės, atnaujinkite savo manipuliatorius, dalinkitės idėjomis ir rezultatais!

Tarp š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, griebti ir perkelti įvairius daiktus naudojant tik 4 servovariklius. Savo rankomis surinkę tokį robotą, tikrai galėsite 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! Sukurkite ir paskelbkite savo rezultatus!

Ypatumai:

Norėdami surinkti roboto ranką savo rankomis, jums reikės nemažai komponentų. Pagrindinę dalį užima 3D spausdintos dalys, jų yra apie 18 (nebūtina spausdinti skaidrės, jei atsisiuntėte ir atsispausdinote viską, ko reikia, tada jums reikės varžtų, veržlių ir elektronikos):

  • 5 M4 20 mm varžtai, 1 x 40 mm ir atitinkamos veržlės su apsauga nuo susisukimo
  • 6 M3 10 mm varžtai, 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 užtikrinti, kad jis laisvai judėtų. Jei pagrindiniai Roboarm komponentai juda sunkiai, servo varikliai gali neatlaikyti apkrovos. Surinkdami elektroniką, turite atsiminti, kad grandinę geriau prijungti prie maitinimo, kruopščiai patikrinę jungtis. Kad nesugadintumėte SG 90 servo pavarų, jums nereikia sukti paties variklio rankomis, nebent tai būtina. Jei reikia sukurti SG 90, turite sklandžiai judinti variklio veleną skirtingomis kryptimis.

Charakteristikos:
  • Paprastas programavimas dėl nedidelio skaičiaus ir to paties tipo variklių
  • Kai kurių servo sistemų negyvų zonų buvimas
  • Platus roboto pritaikymas kasdieniame gyvenime
  • Įdomus inžinerinis darbas
  • Poreikis naudoti 3D spausdintuvą

Pirmiausia bus aptariami bendrieji klausimai, vėliau – techninės rezultato charakteristikos, detalės, galiausiai – pats surinkimo procesas.

Apskritai ir apskritai

Sukūrus šį įrenginį kaip visumą, neturėtų kilti jokių sunkumų. Reikės atidžiai apsvarstyti tik mechaninių judesių galimybes, kurias įgyvendinti fiziniu požiūriu bus gana sunku, kad manipuliuojanti 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ų. Savo rankomis pagaminto manipuliatoriaus svoris bus maždaug 1 kilogramas. Valdymui naudojamas laidinis nuotolinio valdymo pultas. Numatomas surinkimo laikas, jei turite patirties, yra apie 6-8 valandas. Jei jo nėra, manipuliatoriaus rankenos surinkimas gali užtrukti kelias dienas, savaites ir sumanant net mėnesius. Tokiais atvejais turėtumėte tai padaryti savo rankomis tik dėl savo interesų. Komponentams perkelti naudojami komutatoriaus varikliai. Įdėdami pakankamai pastangų, galite sukurti įrenginį, kuris pasisuks 360 laipsnių. Be to, kad būtų lengviau dirbti, be standartinių įrankių, tokių kaip lituoklis ir lituoklis, turite turėti atsargų:

  1. Ilgos nosies replės.
  2. Šoniniai pjaustytuvai.
  3. Phillips atsuktuvas.
  4. 4 D tipo baterijos.

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

Mažos dalys

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

Taip pat būtina užtikrinti, kad laidai neapsunkintų jo judesių. Būtų optimalu juos kloti konstrukcijos viduje. Jūs galite padaryti viską iš išorės. O dabar: kaip pasidaryti manipuliatorių?

Asamblėja apskritai

Dabar pereikime tiesiai prie manipuliatoriaus rankos kūrimo. Pradėkime nuo pamatų. Būtina užtikrinti, kad prietaisą būtų galima pasukti visomis kryptimis. Geras sprendimas būtų įdėti jį ant disko platformos, kurią varo vienas variklis. 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, visiškai priklauso nuo jūsų. Toliau sukuriama pagrindinė konstrukcija. Norint patogiai dirbti, reikalingos dvi "sąnariai". Pritvirtinta prie platformos, ji turi turėti galimybę pakreipti įvairiomis kryptimis, o tai pasiekiama naudojant variklius, esančius jos pagrindu. Dar vienas ar pora turi būti dedami ties alkūnės lenkimu, kad dalis rankenos būtų judama išilgai horizontalių ir vertikalių koordinačių sistemos linijų. Be to, jei norite išnaudoti maksimalias galimybes, prie riešo galite sumontuoti kitą variklį. Kitas yra pats reikalingiausias, be kurio neįmanoma manipuliuoti ranka. Patį fiksavimo įrenginį turėsite pasigaminti savo rankomis. Čia yra daug įgyvendinimo variantų. Galite duoti patarimą apie du populiariausius:

  1. Naudojami tik du pirštai, kurie vienu metu suspaudžia ir atspaudžia čiuopiamą objektą. Tai paprasčiausias įgyvendinimas, tačiau dažniausiai negalintis pasigirti didele keliamoji galia.
  2. Sukuriamas žmogaus rankos prototipas. Čia visiems pirštams gali būti naudojamas vienas variklis, kurio pagalba bus atliekamas lenkimas/pratęsimas. Tačiau dizainas gali būti sudėtingesnis. Taigi, prie kiekvieno piršto galite prijungti variklį ir valdyti juos atskirai.

Toliau belieka pasidaryti nuotolinio valdymo pultelį, kurio pagalba bus daroma įtaka atskiriems varikliams ir jų veikimo tempui. Ir jūs galite pradėti eksperimentuoti naudodami robotą manipuliatorių, kurį pasigaminote patys.

Galimi schematiški rezultato atvaizdai

„Pasidaryk pats“ manipuliuojanti ranka suteikia daug galimybių kūrybiškumui. Todėl jūsų dėmesiui pateikiame keletą įgyvendinimų, kuriais galite remtis kurdami savo įrenginį panašiam tikslui.

Bet kurią pateiktą manipuliatoriaus grandinę galima patobulinti.

Išvada

Svarbus dalykas, susijęs su robotika, yra tai, kad funkciniam tobulėjimui praktiškai nėra ribų. Todėl, jei norite, sukurti tikrą meno kūrinį nebus sunku. Kalbant apie galimus tolesnio tobulinimo būdus, verta paminėti kraną. Padaryti tokį įrenginį savo rankomis nebus sunku, jis išmokys vaikus 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, ant kurių jis suksis.

Šis projektas yra kelių lygių modulinė užduotis. Pirmasis projekto etapas – roboto rankos modulio surinkimas, tiekiamas kaip dalių rinkinys. Antrasis užduoties etapas bus IBM PC sąsajos surinkimas, taip pat iš dalių rinkinio. Galiausiai trečiasis užduoties etapas – balso valdymo modulio sukūrimas.

Roboto ranką galima valdyti rankiniu būdu, naudojant komplekte esantį rankinį valdymo pultą. Roboto ranką taip pat galima valdyti per komplekte surinktą IBM PC sąsają arba naudojant valdymo balsu modulį. IBM PC sąsajos rinkinys leidžia valdyti ir programuoti roboto veiksmus per IBM PC darbo kompiuterį. Balso valdymo įrenginys leis valdyti roboto ranką naudojant balso komandas.

Visi šie moduliai kartu sudaro funkcionalų įrenginį, kuris leis eksperimentuoti ir programuoti automatizuotas veiksmų sekas ar net atgaivinti visiškai laidu valdomą roboto ranką.

Kompiuterio sąsaja leis asmeniniu kompiuteriu užprogramuoti manipuliatoriaus rankenėlę automatizuotų veiksmų grandinei arba ją „atgaivinti“. Taip pat yra parinktis, kai galite interaktyviai valdyti ranką naudodami rankinį valdiklį arba Windows 95/98 programą. Rankos „animacija“ yra „pramoginė“ užprogramuotų automatizuotų veiksmų grandinės dalis. Pavyzdžiui, jei uždėsite vaikišką lėlę su pirštinėmis ant roboto rankos ir užprogramuosite įrenginį, kad jis atliktų nedidelį pasirodymą, užprogramuosite elektroninę lėlę, kad ji atgytų. Automatizuotas veiksmų programavimas plačiai naudojamas pramonės ir pramogų pramonėje.

Plačiausiai pramonėje naudojamas robotas yra roboto ranka. Roboto ranka yra itin lankstus įrankis, jau vien todėl, kad paskutinis rankos manipuliatoriaus segmentas gali būti tinkamas įrankis, reikalingas konkrečiai užduočiai ar gamybai. Pavyzdžiui, šarnyrinis suvirinimo svirtis gali būti naudojamas taškiniam suvirinimui, purškimo antgaliu galima dažyti įvairias detales ir mazgus, o griebtuvą galima naudoti objektų suspaudimui ir padėties nustatymui, kad būtų galima paminėti kelis pavyzdžius.

Taigi, kaip matome, roboto ranka atlieka daug naudingų funkcijų ir gali pasitarnauti kaip idealus įrankis tiriant įvairius procesus. Tačiau sukurti roboto ranką nuo nulio yra sudėtinga užduotis. Daug lengviau surinkti ranką iš paruošto rinkinio dalių. OWI parduoda gana gerus robotų rankų rinkinius, kuriuos galima įsigyti iš daugelio elektronikos platintojų (žr. dalių sąrašą šio skyriaus pabaigoje). Naudodamiesi sąsaja, surinktą roboto ranką galite prijungti prie veikiančio kompiuterio spausdintuvo prievado. Kaip darbo kompiuterį galite naudoti IBM PC seriją arba suderinamą įrenginį, kuris palaiko DOS arba Windows 95/98.

Prijungus prie kompiuterio spausdintuvo prievado, roboto ranką galima valdyti interaktyviai arba programiškai iš kompiuterio. Valdymas rankomis interaktyviu režimu yra labai paprastas. Norėdami tai padaryti, tiesiog spustelėkite vieną iš funkcijų klavišų, kad išsiųstumėte robotui komandą atlikti tam tikrą judesį. Antras klavišo paspaudimas sustabdo komandą.

Suprogramuoti automatizuotų veiksmų grandinę taip pat nėra sunku. Pirmiausia spustelėkite programos klavišą, kad įjungtumėte programos režimą. Šiame mode ranka veikia lygiai taip pat, kaip aprašyta aukščiau, tačiau be to, kiekviena funkcija ir jos trukmė įrašoma į scenarijaus failą. Scenarijaus faile gali būti iki 99 skirtingų funkcijų, įskaitant pauzes. Pats scenarijaus failas gali būti atkuriamas 99 kartus. Įvairių scenarijų failų įrašymas leidžia eksperimentuoti su kompiuteriu valdoma automatizuotų veiksmų seka ir „atgaivinti“ ranką. Darbas su programa Windows 95/98 yra išsamiau aprašytas toliau. „Windows“ programa yra įtraukta į roboto rankos sąsajos rinkinį arba ją galima nemokamai atsisiųsti iš interneto adresu http://www.imagesco.com.

Be „Windows“ programos, ranką galima valdyti naudojant BASIC arba QBASIC. DOS lygio programa yra diskeliuose, įtrauktuose į sąsajos rinkinį. Tačiau DOS programa leidžia valdyti tik interaktyviu režimu naudojant klaviatūrą (žr. BASIC programos spaudinį viename iš diskelių). DOS lygio programa neleidžia kurti scenarijaus failų. Tačiau jei turite BASIC programavimo patirties, tuomet manipuliatoriaus rankos judesių seką galima užprogramuoti panašiai kaip scenarijaus failo, naudojamo programoje Windows sistemoje, veikimą. Judesių seka gali būti kartojama, kaip tai daroma daugelyje „animuojančių“ robotų.

Robotinė rankena

Manipuliatoriaus rankena (žr. 15.1 pav.) turi tris judėjimo laisvės laipsnius. Alkūnės sąnarys gali judėti vertikaliai aukštyn ir žemyn maždaug 135° lanku. Pečių „sąnarys“ judina rankeną pirmyn ir atgal maždaug 120° lanku. Ranka gali suktis pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę ant pagrindo maždaug 350° kampu. Roboto rankinis griebtuvas gali suimti ir laikyti iki 5 cm skersmens objektus ir suktis aplink riešo sąnarį maždaug 340°.

Ryžiai. 15.1. Kinematinė roboto rankos judesių ir sukimų diagrama


Norėdami maitinti ranką, OWI Robotic Arm Trainer naudojo penkis miniatiūrinius nuolatinės srovės variklius. Varikliai užtikrina rankos valdymą laidais. Šis „laidinis“ valdymas reiškia, kad kiekviena roboto judėjimo funkcija (t.y. atitinkamo variklio veikimas) yra valdoma atskirais laidais (įtampos tiekimas). Kiekvienas iš penkių nuolatinės srovės variklių valdo skirtingą rankos judesį. Valdymas laidu leidžia sukurti rankinį valdiklį, kuris tiesiogiai reaguoja į elektros signalus. Tai supaprastina roboto rankos sąsajos, jungiančios prie spausdintuvo prievadą, dizainą.

Rankena pagaminta iš lengvo plastiko. Dauguma dalių, kurioms tenka pagrindinė apkrova, taip pat pagamintos iš plastiko. Svirties konstrukcijoje naudojami nuolatinės srovės varikliai yra miniatiūriniai, didelio greičio, mažo sukimo momento varikliai. Norint padidinti sukimo momentą, kiekvienas variklis yra prijungtas prie pavarų dėžės. Varikliai kartu su pavarų dėžėmis sumontuoti manipuliatoriaus svirties konstrukcijos viduje. Nors pavarų dėžė padidina sukimo momentą, roboto ranka negali pakelti ar nešti pakankamai sunkių daiktų. Rekomenduojamas maksimalus kėlimo svoris yra 130 g.

Komplektas roboto rankos ir jos komponentų gamybai parodytas 15.2 ir 15.3 paveiksluose.


Ryžiai. 15.2. Rinkinys roboto rankai gaminti



Ryžiai. 15.3. Pavarų dėžė prieš surinkimą

Variklio valdymo principas

Norėdami suprasti, kaip veikia valdymas laidu, pažiūrėkime, kaip skaitmeninis signalas valdo vieno nuolatinės srovės variklio veikimą. Norint valdyti variklį, reikalingi du vienas kitą papildantys tranzistoriai. Vienas tranzistorius turi PNP tipo laidumą, kitas – NPN tipo laidumą. Kiekvienas tranzistorius veikia kaip elektroninis jungiklis, valdantis nuolatinės srovės varikliu tekančios srovės judėjimą. Kiekvieno tranzistoriaus valdomos srovės srauto kryptys yra priešingos. Srovės kryptis lemia variklio sukimosi kryptį, atitinkamai pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę. Fig. 15.4 paveiksle parodyta bandomoji grandinė, kurią galite surinkti prieš sukurdami sąsają. Atkreipkite dėmesį, kad kai abu tranzistoriai išjungti, variklis yra išjungtas. Vienu metu turi būti įjungtas tik vienas tranzistorius. Jei tam tikru momentu abu tranzistoriai netyčia įsijungs, tai sukels trumpąjį jungimą. Kiekvienas variklis valdomas dviem panašiai veikiančiais sąsajos tranzistoriais.


Ryžiai. 15.4. Patikrinkite įrenginio schemą

PC sąsajos dizainas

Kompiuterio sąsajos schema parodyta fig. 15.5. Kompiuterio sąsajos dalių rinkinyje yra spausdintinė plokštė, kurios dalių vieta parodyta fig. 15.6.


Ryžiai. 15.5. PC sąsajos schema



Ryžiai. 15.6. Kompiuterio sąsajos dalių išdėstymas


Visų pirma, turite nustatyti spausdintinės plokštės tvirtinimo pusę. Montavimo pusėje yra baltos linijos, nubrėžtos rezistorius, tranzistorius, diodus, IC ir DB25 jungtį. Visos dalys į plokštę įkišamos iš montavimo pusės.

Bendras patarimas: prilitavus detalę prie spausdintinės plokštės laidų, reikia nuimti per ilgus laidus nuo spausdinimo pusės. Montuojant dalis labai patogu laikytis tam tikros sekos. Pirmiausia sumontuokite 100 kOhm rezistorius (spalvomis žymimi žiedai: rudi, juodi, geltoni, auksiniai arba sidabriniai), kurie pažymėti R1-R10. Tada sumontuokite 5 diodus D1-D5 ir įsitikinkite, kad juoda juostelė ant diodų yra priešais DB25 jungtį, kaip parodyta baltomis linijomis, pažymėtomis PCB tvirtinimo pusėje. Tada įdiekite 15k omų rezistorius (spalvomis pažymėtus ruda, žalia, oranžinė, auksinė arba sidabrinė), pažymėtus R11 ir R13. Padėtyje R12 prilituokite raudoną šviesos diodą prie plokštės. LED anodas atitinka skylę po R12, pažymėtą + ženklu. Tada sumontuokite 14 ir 20 kontaktų lizdus po IC U1 ir U2. Sumontuokite ir lituokite kampinę DB25 jungtį. Nemėginkite jungties kaiščių įkišti į plokštę, tai reikalauja ypatingo tikslumo. Jei reikia, švelniai pasukite jungtį, atsargiai, kad nesulenktumėte kaiščio kojelių. Pritvirtinkite slankiojantį jungiklį ir 7805 įtampos reguliatorių Nupjaukite keturias reikiamo ilgio vielos dalis ir lituokite prie jungiklio viršaus. Vykdykite laidų išdėstymą, kaip parodyta paveikslėlyje. Įdėkite ir lituokite TIP 120 ir TIP 125 tranzistorius Galiausiai lituokite aštuonių kontaktų pagrindo jungtį ir 75 mm jungiamąjį kabelį. Pagrindas sumontuotas taip, kad ilgiausi laidai būtų nukreipti į viršų. Į atitinkamus lizdus įkiškite du IC – 74LS373 ir 74LS164. Įsitikinkite, kad IC rakto padėtis ant IC dangtelio atitinka raktą, pažymėtą baltomis linijomis ant PCB. Galbūt pastebėjote, kad lentoje liko vietos papildomoms dalims. Ši vieta skirta tinklo adapteriui. Fig. 15.7 paveiksle parodyta baigtos sąsajos nuotrauka iš diegimo pusės.


Ryžiai. 15.7. PC sąsajos surinkimas. Vaizdas iš viršaus

Kaip veikia sąsaja

Robotinė ranka turi penkis nuolatinės srovės variklius. Atitinkamai, kiekvienam varikliui valdyti, įskaitant sukimosi kryptį, mums reikės 10 įvesties / išvesties magistralių. IBM PC ir suderinamų įrenginių lygiagrečiame (spausdintuvo) prievade yra tik aštuonios I/O magistralės. Siekiant padidinti valdymo magistralių skaičių, roboto rankos sąsaja naudoja 74LS164 IC, kuris yra nuoseklusis ir lygiagretus (SIPO) keitiklis. Naudodami tik dvi lygiagrečių prievadų magistrales, D0 ir D1, kurios siunčia serijos kodą į IC, galime gauti aštuonias papildomas įvesties / išvesties magistrales. Kaip minėta, galima sukurti aštuonias I/O magistrales, tačiau ši sąsaja naudoja penkias iš jų.

Kai serijinis kodas įvedamas į IC 74LS164, atitinkamas lygiagretus kodas pasirodo IC išvestyje. Jeigu 74LS164 IC išėjimai būtų tiesiogiai prijungti prie valdymo tranzistorių įėjimų, tai siunčiant serijinį kodą laiku būtų įjungtos ir išjungtos atskiros manipuliatoriaus svirties funkcijos. Akivaizdu, kad tokia situacija yra nepriimtina. Siekiant to išvengti, į sąsajos grandinę buvo įvestas antrasis IC 74LS373 – valdomas aštuonių kanalų elektroninis raktas.

IC 74LS373 aštuonių kanalų jungiklis turi aštuonias įvesties ir aštuonias išvesties magistrales. Dvejetainė informacija, esanti įvesties magistralėse, perduodama į atitinkamus IC išėjimus tik tuo atveju, jei IC yra įjungtas. Išjungus įjungimo signalą, esama išėjimo magistralių būsena išsaugoma (prisimenama). Šioje būsenoje signalai IC įėjime neturi įtakos išvesties magistralių būsenai.

Perdavus nuoseklųjį informacijos paketą į IC 74LS164, į IC 74LS373 siunčiamas įjungimo signalas iš lygiagrečiojo prievado D2 kaiščio. Tai leidžia perkelti informaciją jau lygiagrečiu kodu iš IC 74LS174 įvesties į jo išvesties magistrales. Išvesties magistralių būsena atitinkamai valdoma TIP 120 tranzistoriais, kurie savo ruožtu valdo manipuliatoriaus svirties funkcijas. Procesas kartojamas su kiekviena nauja komanda, duodama manipuliatoriaus rankai. Lygiagrečių prievadų magistralės D3-D7 tiesiogiai valdo TIP 125 tranzistorius.

Sąsajos prijungimas prie manipuliatoriaus svirties

Roboto ranką maitina 6 V maitinimo šaltinis, susidedantis iš keturių D elementų, esančių konstrukcijos apačioje. Kompiuterio sąsaja taip pat maitinama iš šio 6 V šaltinio Maitinimo šaltinis yra dvipolis ir gamina ±3 V. Maitinimas į sąsają tiekiamas per aštuonių kontaktų Molex jungtį, pritvirtintą prie irklo pagrindo.

Prijunkite sąsają prie svirties naudodami 75 mm aštuonių laidų Molex kabelį. Molex laidas pritvirtinamas prie jungties, esančios mentelės apačioje (žr. 15.8 pav.). Patikrinkite, ar jungtis įdėta tinkamai ir saugiai. Norėdami prijungti sąsajos plokštę prie kompiuterio, naudokite komplekte esantį DB25 kabelį, kurio ilgis yra 180 cm. Vienas laido galas jungiamas prie spausdintuvo prievado. Kitas galas jungiamas prie sąsajos plokštės DB25 jungties.


Ryžiai. 15.8. Kompiuterio sąsajos prijungimas prie roboto rankos


Daugeliu atvejų spausdintuvas paprastai yra prijungtas prie spausdintuvo prievado. Kad išvengtumėte vargo prijungti ir atjungti jungtis kiekvieną kartą, kai norite naudoti žymeklį, naudinga įsigyti dviejų padėčių A/B spausdintuvo magistralės jungiklio bloką (DB25). Prijunkite žymeklio sąsajos jungtį prie įvesties A, o spausdintuvą prie įvesties B. Dabar galite naudoti jungiklį, kad prijungtumėte kompiuterį prie spausdintuvo arba sąsajos.

Programos diegimas sistemoje Windows 95

Į diskelių įrenginį įdėkite 3,5" diskelį, pažymėtą "Disc 1" ir paleiskite sąrankos programą (setup.exe). Sąrankos programa jūsų standžiajame diske sukurs katalogą pavadinimu "Images" ir nukopijuos reikiamus failus į šį katalogą. Meniu Pradėti pasirodys piktograma Vaizdai Norėdami paleisti programą, spustelėkite piktogramą Vaizdai meniu Pradėti.

Darbas su programa Windows 95

Prijunkite sąsają prie kompiuterio spausdintuvo prievado naudodami 180 cm ilgio DB 25 laidą Prijunkite sąsają prie roboto rankos pagrindo. Laikykite sąsają išjungtą iki tam tikro laiko. Jei šiuo metu įjungsite sąsają, spausdintuvo prievade saugoma informacija gali sukelti manipuliatoriaus svirties judesius.

Norėdami paleisti programą, pradžios meniu dukart spustelėkite piktogramą Vaizdai. Programos langas parodytas fig. 15.9. Kai programa veikia, sąsajos plokštėje turi mirksėti raudonas šviesos diodas. Pastaba: Kad šviesos diodas pradėtų mirksėti, sąsajos maitinimo įjungti nereikia. LED mirksėjimo greitį lemia jūsų kompiuterio procesoriaus greitis. LED mirgėjimas gali pasirodyti labai silpnas; Norėdami tai pastebėti, gali tekti pritemdyti kambario šviesą ir suglausti rankas, kad pamatytumėte šviesos diodą. Jei šviesos diodas nemirksi, programa gali pasiekti netinkamą prievado adresą (LPT prievadą). Norėdami perjungti sąsają į kitą prievado adresą (LPT prievadą), eikite į langelį Printer Port Options, esantį viršutiniame dešiniajame ekrano kampe. Pasirinkite kitą parinktį. Teisingai nustačius prievado adresą, šviesos diodas mirksės.


Ryžiai. 15.9. „Windows“ kompiuterio sąsajos programos ekrano kopija


Kai mirksi šviesos diodas, spustelėkite Puuse piktogramą ir tik tada įjunkite sąsają. Spustelėjus atitinkamą funkcijos klavišą, manipuliatoriaus svirtis sureaguos. Paspaudus dar kartą, judėjimas bus sustabdytas. Funkcinių klavišų naudojimas rankai valdyti vadinamas interaktyvus valdymo režimas.

Scenarijaus failo kūrimas

Scenarijaus failai naudojami manipuliatoriaus rankos judesiams ir automatinėms veiksmų sekoms programuoti. Scenarijaus faile yra laikinų komandų, valdančių manipuliatoriaus rankos judesius, sąrašas. Sukurti scenarijaus failą yra labai paprasta. Norėdami sukurti failą, spustelėkite programinį mygtuką. Ši operacija leis jums įvesti scenarijaus failo „programavimo“ madą. Paspaudę funkcinius klavišus, kaip jau padarėme, valdysime rankos judesius, tačiau tuo pačiu komandos informacija bus įrašyta į geltoną scenarijų lentelę, esančią apatiniame kairiajame ekrano kampe. Žingsnio numeris, pradedant nuo vieno, bus nurodytas kairiajame stulpelyje, o kiekvienai naujai komandai jis padidės vienu. Judėjimo tipas (funkcija) nurodomas viduriniame stulpelyje. Dar kartą paspaudus funkcijos klavišą, judesio vykdymas sustoja, o trečiame stulpelyje atsiranda judesio atlikimo laiko reikšmė nuo jo pradžios iki pabaigos. Judesio vykdymo laikas nurodomas ketvirčio sekundės tikslumu. Tęsdamas tokiu būdu, vartotojas scenarijaus faile gali užprogramuoti iki 99 judesių, įskaitant laiko pauzes. Tada scenarijaus failą galima išsaugoti ir vėliau įkelti iš bet kurio katalogo. Scenarijaus failo komandų vykdymas gali būti kartojamas cikliškai iki 99 kartų, tam reikia įvesti pakartojimų skaičių lange Repeat ir paspausti Start. Norėdami baigti rašyti į scenarijaus failą, paspauskite interaktyvųjį klavišą. Ši komanda grąžins kompiuterį į interaktyvųjį režimą.

Objektų „gaivinimas“.

Scenarijaus failai gali būti naudojami automatizuoti kompiuterio veiksmus arba atgaivinti objektus. Objektų „gaivinimo“ atveju valdomas robotų mechaninis „skeletas“ dažniausiai yra padengtas išoriniu apvalkalu ir pats nėra matomas. Prisimenate skyriaus pradžioje aprašytą pirštinių lėlę? Išorinis apvalkalas gali būti žmogaus (iš dalies arba visiškai), ateivio, gyvūno, augalo, uolos ar bet kokio kito pavidalo.

Taikymo apribojimai

Jei norite pasiekti profesionalų lygį atliekant automatizuotus veiksmus ar „atgaivinant“ objektus, tai, taip sakant, norint išlaikyti prekės ženklą, pozicionavimo tikslumas atliekant judesius bet kuriuo metu turi artėti prie 100%.

Tačiau galite pastebėti, kad kartojant scenarijaus faile įrašytą veiksmų seką, manipuliatoriaus rankos padėtis (judesio modelis) skirsis nuo pradinės. Taip nutinka dėl kelių priežasčių. Kai išsenka rankos maitinimo šaltinio akumuliatoriai, sumažėjus nuolatinės srovės varikliams tiekiamai galiai, sumažėja variklių sukimo momentas ir sukimosi greitis. Taigi, manipuliatoriaus judėjimo trukmė ir pakeliamo krovinio aukštis per tą patį laikotarpį skirsis negyvoms ir „šviežioms“ baterijoms. Tačiau tai ne vienintelė priežastis. Net ir esant stabilizuotam maitinimo šaltiniui, variklio veleno greitis skirsis, nes nėra variklio greičio reguliatoriaus. Kiekvienam fiksuotam laikotarpiui apsisukimų skaičius kiekvieną kartą šiek tiek skirsis. Tai lems tai, kad manipuliuojančios rankos padėtis kiekvieną kartą skirsis. Be viso to, pavarų dėžės pavarose yra tam tikras laisvumas, į kurį taip pat neatsižvelgiama. Dėl visų šių veiksnių, kuriuos čia išsamiai aptarėme, scenarijaus faile vykdant pasikartojančių komandų ciklą, manipuliatoriaus rankos padėtis kiekvieną kartą šiek tiek skirsis.

Pradinės padėties radimas

Prietaisą galima patobulinti pridedant grįžtamojo ryšio grandinę, kuri stebi roboto rankos padėtį. Šią informaciją galima įvesti į kompiuterį, leidžiantį nustatyti absoliučią manipuliatoriaus padėtį. Naudojant tokią pozicinio grįžtamojo ryšio sistemą, kiekvienos scenarijaus faile įrašytos komandų sekos vykdymo pradžioje galima nustatyti manipuliatoriaus rankos padėtį į tą patį tašką.

Tam yra daug galimybių. Vienas iš pagrindinių metodų neužtikrina padėties valdymo kiekviename taške. Vietoj to naudojamas ribinių jungiklių rinkinys, atitinkantis pradinę „pradžios“ padėtį. Ribiniai jungikliai tiksliai nustato tik vieną padėtį - kai manipuliatorius pasiekia „pradžios“ padėtį. Norėdami tai padaryti, būtina nustatyti ribinių jungiklių (mygtukų) seką, kad jie užsidarytų, kai manipuliatorius pasiekia ekstremalią padėtį viena ar kita kryptimi. Pavyzdžiui, vienas ribinis jungiklis gali būti montuojamas ant manipuliatoriaus pagrindo. Jungiklis turi veikti tik tada, kai manipuliatoriaus rankena sukant pagal laikrodžio rodyklę pasiekia kraštutinę padėtį. Kiti ribiniai jungikliai turi būti sumontuoti pečių ir alkūnių jungtyse. Jie turėtų įsijungti, kai atitinkama jungtis yra visiškai ištiesta. Kitas jungiklis yra sumontuotas ant rankos ir aktyvuojamas, kai ranka pasukus iki galo pagal laikrodžio rodyklę. Paskutinis ribinis jungiklis sumontuotas ant griebtuvo ir užsidaro jį visiškai atidarius. Norint grąžinti manipuliatorių į pradinę padėtį, kiekvienas galimas manipuliatoriaus judesys atliekamas ta kryptimi, kuri reikalinga atitinkamam eigos jungikliui uždaryti, kol šis jungiklis užsidaro. Kai pasiekiama kiekvieno judesio pradinė padėtis, kompiuteris tiksliai „žinos“ tikrąją roboto rankos padėtį.

Pasiekę pradinę padėtį, galime iš naujo paleisti scenarijaus faile parašytą programą, remdamiesi prielaida, kad pozicionavimo klaida kiekvieno ciklo metu kaupsis pakankamai lėtai, kad nesukels pernelyg didelių manipuliatoriaus padėties nukrypimų nuo norimą. Įvykdžius scenarijaus failą, ranka nustatoma į pradinę padėtį, o scenarijaus failo ciklas kartojamas.

Kai kuriose sekose neužtenka žinoti tik pradinę padėtį, pavyzdžiui, pakėlus kiaušinį nerizikuojant sutraiškyti jo lukštą. Tokiais atvejais reikalinga sudėtingesnė ir tikslesnė padėties grįžtamojo ryšio sistema. Signalus iš jutiklių galima apdoroti naudojant ADC. Gauti signalai gali būti naudojami nustatant parametrų, tokių kaip padėtis, slėgis, greitis ir sukimo momentas, vertes. Tai iliustruoti galima naudoti toliau pateiktą paprastą pavyzdį. Įsivaizduokite, kad prie griebtuvo mazgo pritvirtinote nedidelį linijinį kintamąjį rezistorių. Kintamasis rezistorius sumontuotas taip, kad jo slydimo judėjimas pirmyn ir atgal būtų susijęs su griebtuvo atidarymu ir uždarymu. Taigi, priklausomai nuo griebtuvo atidarymo laipsnio, keičiasi kintamo rezistoriaus varža. Po kalibravimo, išmatavę kintamo rezistoriaus srovės varžą, galite tiksliai nustatyti griebtuvo spaustukų atidarymo kampą.

Tokios grįžtamojo ryšio sistemos sukūrimas įveda kitą įrenginio sudėtingumo lygį ir atitinkamai padidina jo sąnaudas. Todėl paprastesnis variantas yra įvesti rankinio valdymo sistemą, leidžiančią reguliuoti manipuliatoriaus rankos padėtį ir judesius vykdant scenarijaus programą.

Rankinės sąsajos valdymo sistema

Įsitikinę, kad sąsaja veikia tinkamai, galite naudoti 8 kontaktų plokščią jungtį, kad prie jos prijungtumėte rankinį valdymo bloką. Patikrinkite 8 kontaktų Molex jungties prijungimo prie sąsajos plokštės jungties galvutės padėtį, kaip parodyta Fig. 15.10. Atsargiai įkiškite jungtį, kol ji bus patikimai prijungta. Po to manipuliatoriaus svirtis bet kuriuo metu gali būti valdoma iš rankinio nuotolinio valdymo pulto. Nesvarbu, ar sąsaja prijungta prie kompiuterio, ar ne.


Ryžiai. 15.10. Rankinio valdymo jungtis

DOS klaviatūros valdymo programa

Yra DOS programa, kuri leidžia valdyti manipuliatoriaus rankos veikimą iš kompiuterio klaviatūros interaktyviu režimu. Klavišų, atitinkančių tam tikrą funkciją, sąrašas pateiktas lentelėje.

Manipuliatoriaus rankos valdymui balsu naudojamas kalbos atpažinimo rinkinys (SRR), kuris buvo aprašytas skyriuje. 7. Šiame skyriuje sukursime sąsają, jungiančią URR su manipuliatoriaus rankena. Šią sąsają kaip rinkinį taip pat siūlo „Images SI, Inc.

URR sąsajos schema parodyta Fig. 15.11. Sąsaja naudoja 16F84 mikrovaldiklį. Mikrovaldiklio programa atrodo taip:


„URR sąsajos programa

Simbolis PortA = 5

Simbolis TRISA = 133

Simbolis PortB = 6

Simbolis TRISB = 134

Jei bit4 = 0, suaktyvinkite „Jei leidžiama rašyti į trigerį, perskaitykite schemą

Pradėkite „Pakartojimas“.

pauzė 500 'Palauk 0,5 s

Žiūrėkite prievadąB, B0 „Skaityti BCD kodą

Jei bit5 = 1, tada atsiųskite „Išvesties kodas

turiu pradėti „Pakartokite“.

žvilgtelėti į PortA, b0 „Skaitymo prievadas A

jei bit4 = 1, tada vienuolika „Ar skaičius yra 11?

poke PortB, b0 ‘Išvesties kodas

turiu pradėti „Pakartokite“.

jei bit0 = 0, tada dešimt

turiu pradėti „Pakartokite“.

turiu pradėti „Pakartokite“.



Ryžiai. 15.11. URR valdiklio roboto rankai schema


Programos naujinį, skirtą 16F84, galima nemokamai atsisiųsti iš http://www.imagesco.com

URR sąsajos programavimas

URR sąsajos programavimas yra panašus į URR programavimo procedūrą iš rinkinio, aprašyto skyriuje. 7. Kad manipuliatoriaus rankena veiktų tinkamai, komandinius žodžius turite užprogramuoti pagal skaičius, atitinkančius konkretų manipuliatoriaus judesį. Lentelėje 15.1 rodomi komandų žodžių, valdančių manipuliatoriaus rankos veikimą, pavyzdžiai. Komandinius žodžius galite pasirinkti pagal savo skonį.

15.1 lentelė

Kompiuterio sąsajos dalių sąrašas

(5) NPN tranzistorius TIP120

(5) PNP TIP 125 tranzistorius

(1) IC 74164 kodo keitiklis

(1) IC 74LS373 aštuoni raktai

(1) Šviesos diodas raudonas

(5) Diodas 1N914

(1) 8 kontaktų Molex lizdas

(1) Molex kabelis 8 gyslų 75 mm ilgio

(1) DIP jungiklis

(1) DB25 kampinė jungtis

(1) Kabelis DB 25 1,8 m su dviem M tipo jungtimis.

(1) Spausdintinė plokštė

(3) Rezistorius 15 kOhm, 0,25 W


Visos nurodytos dalys yra įtrauktos į komplektą.

Kalbėjimo atpažinimo sąsajos dalių sąrašas

(5) Tranzistorius NPN TIP 120

(5) PNP TIP 125 tranzistorius

(1) IC 4011 NOR vartai

(1) IC 4049 – 6 buferiai

(1) IC 741 operacinis stiprintuvas

(1) Rezistorius 5,6 kOhm, 0,25 W

(1) Rezistorius 15 kOhm, 0,25 W

(1) Molex 8 kontaktų antraštė

(1) Molex kabelis 8 gyslų, ilgis 75 mm

(10) Rezistorius 100 kOhm, 0,25 W

(1) Rezistorius 4,7 kOhm, 0,25 W

(1) IC įtampos reguliatorius 7805

(1) PIC 16F84 mikrovaldiklio IC

(1) 4,0 MHz kristalas

Manipuliatoriaus rankos sąsajos rinkinys

Rinkinys manipuliatoriaus svirties gamybai iš OWI

Kalbos atpažinimo sąsaja roboto rankai

Kalbos atpažinimo įrenginių komplektas


Dalis galima užsisakyti iš:

Vaizdai, SI, Inc.