Robot kar

Robot kar szervómotorokból

A TowerPro MG995 -ös szervómotorjaiból, plexiből és fából építettem egy robotkart. A markoló/fogó (angolul grip) részét pedig egy régi Cyberdrive CD-olvasó fejmozgató mechanikájából készítettem.

Néhány videó az egyes fázisokról (kicsit unalmasak, mert meg kell tanulnom a kézi vezérlést):

 

Szervó vezérlő

Először ATmega324 mikrovezérlővel készítettem nyolc csatornás szervó vezérlőt, de azzal sajnos nagyon "remegett" a robot kar. Ezért Xilinx Spartan 3E FPGA-val próbáltam ki a szervókat, amivel sokkal jobban működtek. Egy Spartan 3E Sample Kit-ből lett végül a vezérlő, amin egy XC3S100E FPGA van. Egy egyszerű protokollal soros vonalon keresztül lehet "megmondani" a vezérlőnek, hogy az egyes szervókat milyen pozícióba mozgassa.

Fogó (grip)

A fogó ujjakat egy ATtiny26L mikrovezérlő irányítja. Mivel a fejmozgató egy DC motorral működik egy FET-es teljes H-hidat építettem. Nyitáskor egy végálláskapcsolóval érzékeli, hogy már nem kell működtetni a motort. Az ujjak összecsukásakor pedig előre meghatározott ideig megy a motor.

PC oldali vezérlő

Egy Python nyelven íródott Qt-s programmal lehet a szervó vezérlőt és a fogó ujjakat irányítani. Ebben azt is meg kellett oldanom, hogy az a két szervó, amelyik a legnagyobb terhet mozgatja szinkronban működjön. Ebben a Python-os scriptben van megvalósítva az is, hogy csak adott sebességgel, gyorsulással mozogjon a robot kar.

Szervó csere

Ha egyszerre két szervó kell egy mozgatáshoz (mint nekem a robot alapjának mozgatásához), akkor azok ugyanolyan állásban legyenek! A szinkron mozgatás nem sikerült tökéletesen. Én végül leszedtem az egyik szervót és fordítva építettem be újra, annak ellenére, hogy elég sokat kellet faragni.