5. Pirštų judinimas
| Ιστότοπος: | Bios4You |
| Μάθημα: | (4) Robotika biotechnologijoje |
| Βιβλίο: | 5. Pirštų judinimas |
| Εκτυπώθηκε από: | Επισκέπτης (Guest user) |
| Ημερομηνία: | Σάββατο, 29 Αυγούστου 2026, 12:31 PM |
Apžvalga
Kaip buvo parodyta anksčiau, vienas iš paprasčiausių būdų valdyti bioninės rankos judesius galėtų būti servovarikliai, kurie traukia virveles („sausgysles“), prijungtas prie toliausiai judančios piršto dalies (žr. 35 pav.).
35 pav. Bioninės rankos piršto judinimas
Varikliai gali būti valdomi palyginti autonominiu elektroniniu įrenginiu – vieno plokštės kompiuteriu (SBC), kurio dydis prilygsta kreditinei kortelei. Rinkoje yra daug tokių įrenginių, tačiau siūlomas Arduino UNO mikrovaldiklis (žr. 36 pav.), nes:
- Jis yra atvirojo kodo, palyginti nebrangus ir itin populiarus tarp elektronikos ir mažosios automatikos entuziastų;
- Jis įtrauktas kaip vienas iš simuliuojamų virtualių įrenginių Tinker CAD platformoje – nemokamoje internetinėje mokymosi dizaino platformoje. Tai yra ypatingas privalumas, nes 3D modeliavimas, schemų ir programinės įrangos kūrimas gali būti atliekamas toje pačioje aplinkoje. Be to, virtualus įrangos ir programinės įrangos projektavimas, modeliavimas ir testavimas padės išvengti įrangos pažeidimų (taigi ir išlaidų), nes virtualūs įrangos elementai nesugenda, jei jie neteisingai sujungti ar naudojami. Kai kurie rekomenduojami prevenciniai pasiruošimo žingsniai prieš diegiant projektą į realią įrangą bus paminėti žemiau.

36 pav. Arduino UNO mikrovaldiklis (reali išvaizda – kairėje, virtualizuotas TinkerCAD – dešinėje)
Arduino UNO mikrovaldiklis
Arduino UNO mikrovaldiklis (toliau tekste vadinamas „UNO“) turi ribotus skaičiavimo išteklius, palyginti su stacionariais kompiuteriais, nešiojamaisiais kompiuteriais, planšetėmis ar netgi mobiliaisiais telefonais, tačiau jis visiškai tinkamas mūsų užduočiai – valdomo judesio įgyvendinimui:
- UNO gali būti prijungtas prie Windows kompiuterio per USB laidą, kad būtų tiekiama energija ir įkeliama programinė įranga;
- Programinė įranga dažniausiai kuriama ribotoje C programavimo kalbos versijoje specialioje Arduino programavimo aplinkoje, vadinamoje SKETCH. Verta paminėti, kad programinė įranga taip pat gali būti sukurta ir išbandyta Tinker CAD aplinkoje, tuomet eksportuota kaip failas, kurį perskaito SKETCH, sukompiliuojama ir įkeliama į UNO įrenginį.
- UNO su įkelta programa gali veikti be kompiuterio ir valdyti prijungtus įrenginius, kai maitinamas savarankiškai (rekomenduojamas 7–12 voltų nuolatinės srovės maitinimo šaltinis arba 9V baterija).
37 pav. Arduino UNO mikrovaldiklis ir SKETCH programavimo aplinka. Galima pastebėti, kad UNO vykdo tik dvi procedūras, kurias reikia sukurti: setup() – SBC inicializacija; ir loop() – kartojama tol, kol tiekiama energija.
38 pav. „Circuits“ skiltis (kairėje stulpelyje) Tinker CAD aplinkoje
Arduino UNO programoje Tinker CAD
Elektronikos ir programinės įrangos projektavimo modeliavimas vyksta įėjus į „Circuitų“ skiltį (38 pav.) Tinker CAD platformoje (anksčiau galėjo būti naudota „3D dizaino“ skiltis pirštų dalims modeliuoti). Čia galima rasti išsamią Tinker CAD pavyzdžių ir dizainų biblioteką mokymuisi.
Tinker CAD grafinė kūrimo aplinka susideda iš 2 dalių: virtualios elektronikos kairėje ir elektroninių elementų rinkinių arba programavimo redaktoriaus dešinėje (kaip parodyta 39 pav.). Pastaroji gali būti naudojama dviem alternatyviais režimais:
- C programos redaktorius, kaip SKETCH – galima eksportuoti C programos failą, kurį galima įkelti į tikrąjį UNO;
- Grafinė programavimo aplinka „CodeBlocks“, labai panaši į SCRATCH2. CodeBlocks programa automatiškai konvertuojama į C programą (tačiau priešinga kryptimi taip nėra, todėl reikia būti atsargiems, kad neprarastumėte savo darbo).
Virtualiame eksperimente, schematiškai pavaizduotame 39 ir 40 paveiksluose, bus naudojami 5 servo varikliai bioninės rankos pirštams judinti. Variklius valdys ir įjungs UNO, o judesiui inicijuoti bus naudojami 10 mygtukų (5 pirštai x 2 kryptys = 2 mygtukų eilės).

40 pav. Virtualus eksperimentas – 5 servo variklių (pirštų) judinimas naudojant UNO. Papildomai naudojami multimetriai, skirti patikrinti srovę per mygtukus ir servo variklį, kad būtų išvengta galimo perkrovimo
Servo variklis yra skaitmeninis įrenginys, kuris pasuka veleną į nurodytą padėtį (dažniausiai nuo 0 iki 180 laipsnių). Varikliai (valdymo kojelės) turi būti prijungti prie PWM (impulso pločio moduliacijos – būdas nurodyti pasukimo padėtį) pažymėtų UNO skaitmeninių išėjimų. Iš viso UNO yra 6 tokie (PWM) skaitmeniniai išėjimai.
Viena mygtukų eilė (pvz., „Aukštyn“) bus prijungta prie UNO analoginių įėjimų, kita mygtukų eilė (pvz., „Žemyn“) – prie UNO skaitmeninių įėjimų. Reikia paminėti, kad mygtuko prijungimas prie analoginio įėjimo ir reikšmės nuskaitymas reikalauja šiek tiek daugiau pastangų nei prijungimas prie skaitmeninio įėjimo.
2 Grafinė programavimo aplinka, sukurta MIT.EDU ir plačiai naudojama mokyti programavimo mokyklose https://scratch.mit.edu/
Programos kūrimas
Tinker CAD grafinė programavimo aplinka (GPE) yra ribota tik loop() funkcijos kūrimui, o setup() yra vykdoma numatytai. Šį nedidelį apribojimą galima įveikti tęsiant tolesnį programos kūrimą tik C kalba (be CodeBlocks), kas gali būti priimtina didesnėms praktinėms užduotims. GPE aplinkoje yra 6 rūšių „CodeBlocks“ operacijos, pažymėtos skirtingomis spalvomis (41a pav.): kintamieji, valdymas, išvestis, įvestis, matematika (apima sąlygos patikrinimą, vadinamąsias Būlio operacijas, naudojamas valdymo sakiniuose), žymėjimas (komentarai). Skirtingų rūšių sakiniai yra jungiami tarpusavyje pagal jų formas.
|
Programa, valdanti servo variklius („pirštus“), susideda iš vienos mažos ir dviejų pagrindinių dalių (41b pav.), atskirtų pilkais komentarais:
|
41 pav. Grafinės programos dalis servo variklių valdymui |
Tęsiant toliau
Yra keletas atsargumo priemonių, kurias reikėtų atsižvelgti bandant surinkti realiai veikiantį techninės įrangos modelį:
- Servo varikliai yra skirtingos galios ir gali reikalauti skirtingų maitinimo schemų, nes UNO plokštė gali nepateikti pakankamai energijos, ypač kai ji maitinama per USB jungtį.
- Realiame gyvenime gali būti naudinga kiekvieno piršto gale naudoti jėgos jutiklį ir jį naudoti judesiui sustabdyti. Tokie jutikliai gali būti nuskaityti per analogines įvestis, todėl mygtukams reikės kitokio išdėstymo (pertvarkymo ir papildomų komponentų).
Norėdami pradėti savarankiškai…
Yra siūlomas dizainas, su kuriuo rekomenduojama pradėti (Tinker CAD), pateiktas 42 paveiksle:
- Tiesiog paimkite virtualų UNO ir virtualų servo variklį.
- Prijunkite maitinimo šaltinį ir žemę iš UNO plokštės prie atitinkamų servo variklio kontaktų, o PWM pažymėtą UNO išvestį prie servo variklio „Signal“ kontakto. Sukurkite programą, kuri pasuktų servo variklį į tam tikrą poziciją ir atgal.
42 pav. Siūloma schema pirmajai simuliacijai
Siūloma literatūra
AR pagrįstos judesio simuliacijos
Prieš įkeliant kodą į fizinius mikrokontrolerius, mokiniai gali naudoti AR, kad virtualiai imituotų pirštų judesius. Tai užtikrina, kad užprogramuoti judesiai būtų tikslūs ir sumažina mechaninių klaidų ar komponentų pažeidimo riziką realaus bandymo metu.
