Egy kis ipari robottechnika ASTLAB © 2007


Mikrokontroller égető robot


Van egy project, amihez rengeteg mikrokontrollert kellett és kell beégetni. Gondoltam biztos megőrülnék ha darabonként kézzel kéne beraknom minden egyes IC-t, behívni a programot, égetni, titkosítani, ellenőrizni, no meg kivenni. Na NEEE!!! Ez már agyatlan robotnak való munka. Így született egy pár kukázott alumíniumdarabból, egy menetes orsóból, némi printeralkatrészből 5 RC modellirányító szervóból, és egy kevés nyáklemezből SAMU, a mikrokontroller égető robot.


1. A robot felépítése

A robot megépítésénél arra törekedtem, hogy minél egyszerűbb, de nagyon megbízható szerkezet álljon elő lehetőleg minél több kukázott alkatrészből, mivel egyedi alkatrész készítésre nem sok időm jutott. Ha azt vizsgáljuk, hogy milyen mozgások szükségesek egy mikrokontroller beégetéséhez, akkor kiderül, hogy alapvetően nagyon egyszerű a folyamat:
  1. Megfogom az IC-t
  2. Berakom az égetőbe, becsukom a textool foglalatot
  3. Kinyitom a foglalatot, kiveszem az égetőből
  4. Lerakom az IC-t
Mivel az IC-k berakási és kivételi pozíciója azonos, látszik, hogy egy IC-t minimum három különböző térbeli pont között kell majd mozgatni. Nyilván ha egy tucat beégetendő IC-t vizsgálunk, akkor ahány IC, annyi megfogási és lerakási pont van a térben. Ezen pontok elérése egy 6 szabadságfokú PUMA típusú robottal nem jelentene gondot, viszont ehhez bonyolult mechanika és vezérlő szoftver szükséges. Így nem maradt más mint azon gondolkozni, hogy a megfogási és lerakási pontokat hogyan lehet egy-egy pontba redukálni. Az ötlet pedig az volt, hogy a gravitációt hívom segítségül. Az IC-k egy lejtősen elhelyezett IC-cső segítségével a saját súlyukat felhasználva közlekednek a megfogási pontba, illetve szintén ezzel a módszerrel hagyják el a lerakási pontot. Ezzel elértem, hogy a robotmegfogó mozgatásához 2,5 D szükséges csupán, azaz a megfogót két tengely mentén lineárisan és a két tengely által meghatározott síkban elfordítva elég ahhoz mozgatni, hogy az IC-k mindhárom kitüntetett pontban elérhetők legyenek.

A mozgatás egyik tengelye mindig kiemelés, berakás, kivétel, letétel irányú, ehhez egy rövidebb mozgástartományú forgatható szánt kellett elkészíteni. A szán egy üvegszálas nyáklemezből kivágott alapra épül, két 90 fokban hajlított eloxált alumíniumlap tart két ezüstacél rudacskát, melyeken a megfogófej tartó képes fel-le irányba csúszkálni. A sárgaréz csúszóhüvelyek pedig forrasztással vannak a nyáklapra rögzítve. A mozgatást az alap nyáklap tetejébe csavarozott kék színű RC szervó végzi egy vonórúd segítségével. Az alap nyáklap egy másik szervóra van rögzítve, ami az egész fejet el tudja fordítani.





A legegyszerűbb robotkéz meg maga a vákuum, ami egy háztartási porszivó segítségével baromi könnyen állítható elő. A vékony vákuumcsövet egy adapter segítségével lehet a takarítóeszközhöz csatlakoztatni. A vákuumcső egy elosztóra csatlakozik, amit a csúszólapra rögzített műanyag tartó fog be. Az elosztó végén két szivókorong helyezkedik el.



A mozgás másik tengelye a három kitüntetett pont (kivétel, berakás/kiemelés, letétel) mentén halad, és nagyobb távolságot kell áthidaljon. A megoldás alapja szintén egy nyáklap, amire aluról 3 db hatszögkeresztmetszetű sárgaréz anyag van felcsavarozva. A két szélső a két csúszóhüvely, a középsőben pegig M6-os menet van, igy egy menetes orsó használható a mozgatásához. A menetes orsót két gördülő csapágy fogja be, az orsó végére bazinagy fogaskerék lett felszerelve. A hosszánt (nevezzük így ezt a szerkezeti egységet) egy DC motor hajtja, aminek a tengelyére zsugorkötéssel került fel a kisebb fogszámú hajtó fogaskerék. A hosszán alapját képező nyáklapra pedig felülről van rögzítve az a szervó ami a fejet fordítja el. A csúszóvezeték itt is ezüstacél rúd, ami valaha egy viszonylag nagyméretű leporelló papírra nyomtató mátrixprinter vezetéke volt. Ezt kettévágtam és a végeire M4-es menetek kerültek, így csőkulcs segítségével lehet befogni az oldalsó vastag alumínium tartókonzolokba. A tartókonzolok egy hosszabb szintén vastag aluötvözet lemezre vannak rögzítve, ez tartja a meghajtó motort is.



A megfogás lelke egy kivezető pálya, illetve az az adagoló szerkezet ami megakadályozza a gravitáció által szállított IC-k egymásra torlódását. A működési elve a következő: A kivezető pálya az IC-cső végére illeszkedik, a vezetőhornyok külső széle szűkül, a belső szélek pedig tágulnak. Ez pontosan mindig ugyanabba a pozícióba vezeti az összes IC-t, attól függetlenül, hogy milyen bénán akar kijönni a csőből, amiben egyébként igen lazán helyezkedik el. Az IC-cső szájánál van egy szervó által mozgatott kar, ami ha zárva van, akkor nem tud az IC kijönni. Ha a kar nyit, egy IC kicsúszik a csőből. Azért csak egy, mert egy másik szervó benyom egy tüskét a kicsúszási pozíció utáni IC lábai közé, ezzel megfogja a csőben levő egész sort.



Az adagolás után a kar lezár, a tüske kijön, ezzel előre csúszik egyet az egész sor. A tüske vezetésére szintén hatszögkeresztmetszetű sárgarézdarab szolgál. Az egész adagoló szerkezet, meg az IC-cső befogók szintén nyáklapra vannak szerelve. A nyáklap egyébként a legjobb tartóalap minden ilyen cucchoz, mert baromi erős, könnyű, megmunkálása egyszerű és még forrasztani is lehet rá ha kell. A tartólap U ALU szelvényből tákolt lábakra van szerelve, amik a rögzítést adják és biztosítják a megfelelő szögű lejtést.
A TEXTOOL foglalat nyitogatását is RC szervó végzi. A foglalat rögzítőkarja meg van fúrva, M1.6-os menet van benne, amibe egy gömbcsukló van rögzítve. A gömbcsuklóra csatlakozó hosszú vonórúd végzi a mozgatást. A processzorégetőt négy az alapdeszkára csavarozott vezetősin illetve 3 nyáklapból kimunkált fül tartja pozícióban.



2. A robot vezérlése

A vezérlés három részből tevődik össze, áll egy illesztő hardverből, egy a hardvert kezelő driver programból és a robotot vezérlő programból. A hardver egy általános vezérlő periféria ami 100Mbit LAN segítségével csatlakozik a számítógéphez. Ez pillanatnyilag a képen látható dugdosós próbapanelra rácsinált drótgubanc, ami ha nyákokra költözik, és be lesz dobozolva részletesen leírásra kerül itt az oldalamon.

( Eltelt egy két hónap, mióta ezt írtam, a nyákokra költöztetés és a bedobozolás megtörtént. Bővebb információkat itt találsz.)



A vezérléssel sem volt sok időm tökölődni, igy itt is az egyszerűségre törekedtem. Mivel hosszirányban csak 3 pozíció pontos helyzetét kell megállapítani, a hosszánra nem került komoly mérőrendszer. A pozíciókat három független infra optokapu segítségével közelíti meg. A hosszán hátuljára van forrasztva 3 vékony lemez, ezek zárják el a fény útját. Mivel a lemezek szélesek, így lehetővé válik a pozíciók lassított megközelítése a be illetve a kilépési pontok figyelembevételével. Az optokapuk helyzete pontosan állítható csavarok segítségével.



A többi mozgatást pedig RC szervók végzik, amikben az a nagyszerű, hogy tartalmazzák a mérőrendszert. Az RC szervó ha mikrokontrollerrel előállított kvarcstabil impulzusokat kap, akkor egyáltalán nem cicereg, hanem úgy áll meg bármelyik pozícióban, mint Katiban a gyerek.

Az illesztő hardvernek a fentiek alapján négy alapvető dolgot kell a robot esetében tudnia. Azt, hogy képes legyen RC szervókat és DC motort vezérelni, a DC motort lehetőleg sebességszabályozással, valamint legyenek digitális bemenetei az optokapuk miatt, és legyenek digitális kimenetei a porszívó illetve a megfogófejen elhelyezkedő működésjelző LED vezérlésére. (A vezérlő periféria természetesen ettől lényegesen sokoldalúbb, de ezt majd ott fogom kitárgyalni.) A következő kép a a periferia meghajtó program státuszablakát mutatja melyen látszik, hogy ez a hardver összeállítás megfelel a fenti követelményeknek: van benne DIGIT IO, szervó és DC motor vezérlési lehetőség is.



A robotvezérlő program szintén TCP/IP protokollal csatlakozik a periféria meghajtó programhoz, illetve a processzorégető programhoz is. Az égetés vezérlését úgy oldja meg, hogy amikor tudomására jut, hogy az IC bekerült a textool foglalatba elküldi az égetendő program nevét az égető programnak. Erre itt elindul egy előre megírt macro, ami elvégzi a program betöltését, kitörli a processzort, beégeti a programot, ellenőriz, titkosit, titkosítást ellenőriz, majd az égetes megtörténtét vagy az esetleges hibákat visszajelzi a robotvezérlő programnak. Hibás égetés esetén a folyamatot a robotvezérlő program szakítja meg.



A robotvezérlő programnak manuális és automata üzemmódja is van. A manuálisban tekergethetjük a szervókat, mozgathatjuk a hosszánt, be illetve kikapcsolhatjuk a porszívót illetve a működés jelző LED-et. Az automata módban kiválasztható az égetendő program és a darabszám. Az égetési folyamat indítható, megállítható, a tároló feltöltési pozícióba állítható, működése tiltható. A robotot utasíthatjuk arra, hogy menjen haza, azaz álljon egy kezdeti állapotnak megfelelő pozícióba.



Ha látni akarod SAMUT működés közben, akkor kattints ide:    Robot VIDEO (wmv 12.9MB)



© HA5AST | Főoldal