Robot


Túllévén sokféle analóg áramkörön, meg digitális számítógépeken, egy kis kiugróként mást építettem. Az ötlet onnan jött, hogy hirtelen gazdagnak hittem magam mitán diákként elkezdtem kevéske pénzt keresni és már nem kellett alkatrészek után kukáznom. Tudtam már a következő generációs rádióimnak rendes vaslemezt illetve alumínium lemezt venni a frissen felfedezett vastelepről. Ez nekem már hatalmas luxust jelentett. Annyi vaslemezt tudtam venni, hogy elkábított a hatalmas fémlemez puszta csillogása, hogy máris őrült sebességgel nagyon sokféle készüléket meg egyebet kezdtem beleálmodni a lemezbe. Amiket majd szépen sorra kivágok belőle lemezollóval. Ez annyi lemez, hogy egy nagy robot is kijönne belőle. Sőt egy terminátor is simán !

Nagyon drágállottam de vettem 3 modell szervó motort. Ezt a robotépítést egy nagyon gyors kitérőnek akartam venni, pár nap alatt összedobom és csoda. Ezért nem akartam magam készíteni mindenféle fogaskerekes bigyókat, így készen megvettem a teljes meghajtást egészben.

Mivel számítógép programozásból már jórészt kiképeztem magam részben a suli révén, de nagyrészt magam autodidakta módon. Így már nem volt gond megírni egy DOS alatt futó drivert ami képes az LPT porton PWM impulzusszélesség modulált vezérlőjelet előállítani. Ez szükséges a szervó motorok vezérléséhez. De erről majd később.

Pár kisebb rajz után máris nekiestem a vaslemeznek kivágni belőle az alkatrészeket. A mechanikából már csak egy drót hiűnyzott de valami elég merev drót kellett nekem. Éliás öcsém látva kínlódásomat, hozott nekem egy esernyőből kiszerelt erős vasdrótot. Tökéletesen megfelelt a célra. Érdekes módon ő leginkább arra volt kiváncsi vajon milyen lesz a robot hangja. Hát ilyen zizegő ciripelő szerű hangot ad működés közben. Csalódottan figyeltük, nem egy kemény terminátor ez. Anyám szerint ez egy nagy szöcske vagy bogár, mert olyan rovarszerűen mozog.

Az egész elég hamar elkészült, kb 4 nap alatt cak-pak mindenestül. Még a szoftver is az egész mechanikával együtt. Mondhatni persze olyan is lett.

Kapásból ráragadt a "parkinson kórós robot" jelző levakarhatatlanul. Olyan mint egy kéz ami nagyon remeg de mégis megfog dolgokat. Persze sokat gondolkodtam hogyan lehetne a mechanikát megjavítani hogy ne remegjen, mert nyilvánvalóan szabályozástechnikai probléma okozza a remegést. Valahogy bele kéne nyúlnom a motorok szabályozásába , mert túl gyorsak azon, le kéne lassítani a szabályzójuk reakcióidejét. Persze ezeket a szervómotorokat nem ilyen nagy karoknak a mozgatására tervezték. De már késő et a gúnyt már soha nem vakarom le róla.

Íme a szoftver egyszerű, Borland C++-ban íródott a vezérlő modul, a driver meg NASM netwide assemblerben assembly nyelven. A két modult utánna összefűztem. A driver modul gyakorlatilag kinyírja a DOS operációs rendszert, mert minden megszakítását blokkolja. Ez azért kellett, mert DOS rendszer a háttérben néha megszakítgatja a programom futását és az bezavar a robot működésébe. Ugyanis a szervó motorokat impulzusszélesség modulált 50Hz-es négyszögjellel kell meghajtani. Ezt én úgy állítottam elő, hogy egy jó nagy végtelen ciklusban NOP (no operation) processzor utasításokat hajtottam végre késleltetés gyanánt. Attól függően hogy hány NOP-ot hajtattam végre a processzorral az eltelt időket tudtam befolyásolni. A négyszögjel kitöltési tényezőjét kellett változtatnom ahoz, hogy a szervó motor szögelfordulása változzon. Ezzel elvileg pontosan beállítható a szervómotor szöge nulla és 180 fok között. A ráaagatott kar meg elmozdult oda ahova szerettem volna.

Három szervómotort tettem a robotba. Egyik a tövében volt (legnagyobb karral rajta) a másik meg az esernyő dróton kersztül a felső csuklót mozgatta. A harmadik meg a megfogást végezte, négy cérnaszálon meg csigákon kersztül a fogó pofákat húzta be illetve engedte el, újjpercekként funkcionálva. Az egész szerkezetet ráépítettem egy konzervdobozra amit meg egy magnómotor forgathatja körbe körbe. Ez a negyedik vezérlés, vagy másképpen negyedik szabadsági foka a robotnak. Ez áttételek a magnó motorhoz magnó mechanikából vannak. A szög visszajelzést a konzervdobozra ragasztott szigetelószalag csíkok végzik, aminek egy biciklibowden feszül neki. A bowden így néha elektromos kapcsolatban van a konzervdobozzal, néha meg nem. Az LPT port egyik bemeneti lábát 1-esbe illetve nullába kapcsolja digitálisan. Ahogy a szerkezet forog, sorra 1-esek meg nullák jönnek felváltva amit a számítógép számol, és így tudja éppen hány fokot fordult el a szerkezet.

A számítógépes programnak két módja van. Az egyikben kézzel billentyűzetről vezérelhető minden motor. A másik meg egy automatikus beprogramozott szemétgalacsin pakoló program. Ilyenkor mindent fix helyre kell raknom mert csak úgy működik a mutatvány. Mikor apám meglátta hangosan nevetett. Mindenki szerint nagyon vicces ahogy rakodja a szemétgalacsinokat egyik helyről a másikra.

Tesóm szerint továbbra is robotokkal kéne foglalkoznom. Hajjaj, szívesen is tenném. Csak nagyon sok idő meg tudás kell hozzá. Neki is láttam hosszadalmas nehézkes lépéseimhez a mesterséges intelligencia megismerésében. Ugyanis én inkább a szoftver részére gyúrnék a mechanika helyett. Azt építsék meg a gépészek, engem csak az egésznek az agya érdekel.





By Bognár András (2015)