Robot ZENIT

replika servy poháněného manipulátoru pro PMD-85



V rámci "nostalgické vlny" si různí nadšenci napříč světem a vyznání staví repliky starých počítačů a jejich příslušenství. Některé tyto repliky jsou ulítlé méně, jiné více. Troufám si tvrdit, že do druhé skupiny patří můj robot ZENIT. Jak to začalo? Když jsem zprovozňoval svá získaná PMD-85, poslal mi Sillicon balík dokumentace a materiálů. Řadu věcí už jsem měl a něco byla pro mě novinka. Byl mezi tím i naskenovaný článek o robotu ZENIT ze stejnojmenného slovenského časopisu pro mládež z 80. let. Tento článek jsem na disku už měl, jenže v souvislosti s aktuálními hrátkami s PMD získal najednou zcela nový rozměr:-) Hlavou mi bleskl nápad na stavbu repliky, protože ten robůtek vypadal fakt pěkně:


Robot Zenit pro mikropočítač Tesla PMD-85
Robot Zenit pro mikropočítač Tesla PMD-85


    Robot ZENIT

Jenže pohled na ten příšerný výpis obslužného programu v BASICu mě zcela odradil. Titěrné a nečitelné písmo... A psát si vlastní se mi absolutně nechtělo. Přesto jsem si trochu do Sillicona dloubnul a silácky prohlásil, že bych toho robota klíďo píďo postavil, kdyby někdo přepsal ten softík. Jenže Sillicon je taky jenom člověk. Blížil se víkend a Sillicon se potřeboval učit na nějaké zkoušky. To s sebou pochopitelně nese zvýšené riziko prokrastinace. A jak jsem již psal, Sillicon je taky jenom člověk, a tak hned v pondělí poslal přepsaný program ve formě PTP souboru pro emulátor PMD... A byl jsem v pr... totiž na řadě. Jenže já jsem taky jenom člověk. Taky mám spoustu důležitější práce a taky trpím prokrastinací. Takže jsem na Aukru nakoupil nejlevnější 4-kilová serva, vyzuzal zbytky oboustranných kuprexitových desek a dal se do práce:-)


Robot ZENIT
Robot ZENIT
Robot ZENIT
Robot ZENIT

Robot ZENIT
ZENIT + Interface
Robot ZENIT
Robot ZENIT


Jak je vidět na fotkách, nejedná se o 100% repliku. Abych si co nejvíce zjednodušil stavbu, použil jsem oboustranný kuprexit, který se výtečně spojuje pájením:-) Kleštinu jsem udělal zcela podle svého a také základna je jiná. Zde jsem použil princip, který byl popsán u robota ROB-3, kdysi v amatérském rádiu. Koneckonců jsem taky chvilku uvažoval, že postavím spíše ten ROB-3, protože je výrazně jednodušší. Jenže ten má jen 3 stupně volnosti a to je málo. ZENIT má stupně 4 s tím je podstatně více legrace. Co jsem však chtěl zachovat za každou cenu, je náhon kleštiny lanovodem. Kdybych dal na poslední rameno mikroservo ovládající kleštinu, tak si jednak zjednoduším konstrukci a druhak získám i protiváhu (kdybych ho dal za osu otáčení). Jenže to ne. Místo protiváhy jsem dal pružinu a kleštinu honím bowdenem. Je to krásný RETRO:-)


Robot ZENIT
Robot ZENIT
Robot ZENIT
Robot ZENIT

Robot ZENIT
Robot ZENIT
Robot ZENIT
Robot ZENIT

Robot ZENIT
Robot ZENIT
Robot ZENIT
Robot ZENIT

Robot ZENIT
Detail podstavy
Robot ZENIT
Detail kleštiny


Interface pro robota je postaven podle původního článku. V podstatě se jedná jen o vytažení signálů na konektory pro serva a žádné elektronické součástky nejsou potřeba. Já však na desku interfejsu ještě přidal FRB konektor pro připojení druhého ROM modulu pro účely jeho testování. Proto je tam i ten integráč (7404), který zpětně invertuje některé řídící signály, jež jsou na aplikačním konektoru invertované. Více na stránce o testovacích přípravcích pro PMD-85. Druhý obrázek zachycuje použitá serva Hobby King. Jedná se o tzv. standardní servo s tahem 4kg.


Robot ZENIT
Interface PMD-85/ZENIT
Robot ZENIT
Použitá serva Hobbyking


Abych mohl jednoduše ověřovat činnost jednotlivých pohyblivých celků robota a správně nastavovat délky a uchycení táhel, postavil jsem si jednoduchý servotester s populárním obvodem NE555. A protože jsem maximalista, tak je to servotester hned dvojitý. Mohl jsem tak ověřovat součinnost dvou pohyblivých celků současně. Jen škoda, že mě nenapadlo dát alespoň jeden NE555 do patice. Mohl jsem mít zároveň i tester tohoto obvodu:-)


Servotester s 555
Dvojitý servotester s 555
Servotester s 555
Dvojitý servotester s 555


Bude i video!

Činnost robota mám i na videu. Časem vystavím, stejně jako zapojení servotesteru... Jen se nyní omezím na konstatování, že vše funguje parádně. Program sice vyžadoval nějaké úpravy (dost - to prostě v originále nemohlo pořádně chodit), ale šlape. Dokonce jsem ho vybavil i ukázkovými daty, takže ta činnost, kterou časem uvidíte na videu je již součástí programu. Ale jinak je pochopitelně možné si snadno v programu vytvořit libovolnou vlastní sekvenci pohybů a tuto uložit na MGF:-) Program mám ve svém megamodulu a dokonce ho mohu nahrávat pomocí příkazu ROM x. Příkazem se spustí jen krátká rutina, která přepne stránku megamodulu a natáhne a spustí ten Basicovský ovladač robota. Paráda:-)



www.youtube.com/nostalcomp


Ještě malá poznámka k provozu robota. Po spuštění obslužného programu dojde skokem k nastavení neutrální polohy serv. Jsou-li tedy serva nastavena v jiných, než neutrálních polohách, robot s sebou nehezky mrskne. Takže bacha na to. Budete-li mít v inkriminovaný čas kebuli v jeho pracovním protoru, robot vám bez skrupulí nafackuje:-) Dá se tedy říci, že robot nedodržuje základní zákon robotiky - za žádných okolností neublížit člověku! Má to však háček. Zenit není robot, ale v podstatě jen manipulátor. A člověku neublíží on, člověk si svou blbostí ublíží sám. Tato poznámka je směrovaná zejména k ajťákům, jimž se celý život odehrává na obrazovkách počítačů a nemusejí si hned uvědomit, že se taky něco může hýbat:-)

Proto se vždy před spuštěním programu přesvědčte, že se serva nacházejí alespoň poblíž neutrálních hodnot a případné velké odchylky zkorigujte třeba servotesterem. Ty prudké přejezdy neprospívají ani servům, ani mechanice robota a nejsou ani estetické...

Ovládací program je možné rozdělit na dvě části. Výkonnou částí je strojová rutina periodicky spouštěná přerušením od timeru 8253. Tato rutina jen vezme hodnoty výstupů pro serva a přepíše je na výstupy GPIO 8255. Rutinu do paměti "napoukuje" Basicovský program, který se stará o komunikaci s uživatele a na předem určené adresy rutině posílá požadovaný stav signálu jednotlivých serv.

Zenita by tak bylo možné na podobném principu ovládat z libovolného počítače, který má k dispozici timer. Tedy třeba i z jednočipu. Uvažoval jsem o řízení z PMI-80, protože mám přídavnou kartu s 8253, ale kde na to vzít čas, že?




Robot R3

Pokud byste si také chtěli nějakého robůtka postavit, ale ZENIT se vám zdá příliš složitý zkuste robota R3. Také jsem o něm uvažoval, protože je mnohem jednodušší. Ale má o jeden stupeň volnosti (a tedy i o jedno servo) méně. Pokud to nevadí, klidně do něj jděte. Řídit jej můžete stejným programem z PMD-85, jen se nevyužije jedna osa a pochopitelně nebude fungovat můj ukázkový program. R3 je navržen z plastových desek, ale nic nebrání ho postavit podobně, jako já Zenita, tedy z kuprexitu. Původně navržená kleština je sice technicky dokonalá (paralelogram), ale zbytečně složitá. Zjednodušil bych ji po vzoru svého Zenita. Poslední poznámka: servo ovládající kleštinu bych dal až za osu otáčení ramene (servo zdvihající celé rameno by pak mohlo mít své "tělo" naopak před osou). Vytvoříte tak protiváhu, která odlehčí servu zdvihajícímu celé rameno i s případným "břemenem".



    Robot R3



Jiný Robot Zenit

Od jednoho příznivce těchto stránek jsem dostal fotografii jeho vlastního Zenita. Je to fešák a co je na něm opravdu zajímavé? Je řízen mým nejoblíbenějším jednodeskáčem PMI-80 a to tak, že bez přidaného časovače 8253. Není to paráda?


Robot Zenit
Jiný Zenit



RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2018