Arra gondoltunk, hogy ezentúl érdemes lehetne szétválasztani az eseményeket és a konkrét tudásbázist, ami a csapat mögött áll. Ezért létrehoztunk egy Wikit, ahol talán az eddigi fejlesztésekről tudunk talán részletesebben és struktúráltabban írni. Egyelőre kizárólagos nyelvként az angolt választottuk, későbbiekben előfordulhat, hogy magyarul is elérhetővé tesszük a leírásokat.
Tehát Wikire fel!
Marslakók wiki
Attila
2009. augusztus 30., vasárnap
2009. május 6., szerda
MSP430 debug Eclipse alatt
Dacára annak, hogy szeretjük a TinyOS-t, érdemes lehet sima gcc-ben is programozni az msp430 mikrovezérlőket. Ez a leírás arról szól, hogy hogyan állítsuk össze magunknak a szükséges környezetet. Bár Windows XP alatt állítottam össze a hozzávalókat, alapvetően tetszőleges natív Linux disztribúció és Cygwin alatt is alkalmazhatóak az itt leírtak, néhány értelemszerű módosítással. Ez a leírás ezen az angol nyelvű tutorialon alapszik.
A célhardver egy eZ430-F2013 eszköz, ami tartalmaz egy JTAG/TI spy-bi-wire programozót, valamint a célprocesszort egy zöld LEDdel. Az ehhez és hasonló eszközöhöz való driver online nem elérhető, azt az eszközzel együtt kapott CD-n találjuk meg (egy TIUSBFET.zip nevű file-t kell keresni...). Erre a driverre mindenképpen szükség van a programozáshoz/debughoz! Lássuk tehát, hogy mit kell ezen felül tennünk:
Step 1.: Töltsük le és installáljuk a legújabb mspgcc fordítót és függvénykönyvtárat az mspgcc.sourceforge.net oldalról. Ez a bejegyzés írásának idején a 2008. 12. 30-i snapshot. Az installer alapértelmezés szerint felteszi a DirectIO nevű drivert is, amely közvetlen hardver elérést tesz lehetővé és a programletöltéshez lesz szükséges később. Windows Vista alatt a driver nem működik! A PATH környezeti változóba be kell rakni a $INSTALL_PATH\msp430\bin könyvtárat installálás után kézzel. A telepítéshez nem szükséges Cygwin; bár enélkül az installer feltelepít néhány további függvénykönyvtárat is.
Step 2.: Eclipse: Céljainkhoz elegendő az Eclipse for C/C++ Developers csomag letöltése és kitömörítése. Ez lényegesen kisebb mint a teljes Eclipse. Tartalmaz továbbá egy Mylyn nevű csomagot, ami egyszerűbb projectekhez nem létfontosságú, később hasznos lehet. Az Eclipse-t nem kell külön telepíteni, hanem elegendő kicsomagolni a célkönyvtárban. A cikk írásakor a 3.4-es (Ganymede) verziónál tartott.
Step 3.: Az integrációhoz szükségünk van a Zylin CDT csomagra: Ezt a szokásos módon telepíthetjük Eclipse alá:


Step 4.: Ezután nincs más dolgunk, mint készíteni egy új projectet:

A Project->Properties menüben néhány helyen át kell írni a default gcc fordítót msp430-gcc-re, valamint a célprocesszort is definiálni kell a parancssorban, például:
msp430-gcc -mmcu=msp430x2013 Step 1.: Töltsük le és installáljuk a legújabb mspgcc fordítót és függvénykönyvtárat az mspgcc.sourceforge.net oldalról. Ez a bejegyzés írásának idején a 2008. 12. 30-i snapshot. Az installer alapértelmezés szerint felteszi a DirectIO nevű drivert is, amely közvetlen hardver elérést tesz lehetővé és a programletöltéshez lesz szükséges később. Windows Vista alatt a driver nem működik! A PATH környezeti változóba be kell rakni a $INSTALL_PATH\msp430\bin könyvtárat installálás után kézzel. A telepítéshez nem szükséges Cygwin; bár enélkül az installer feltelepít néhány további függvénykönyvtárat is.
Step 2.: Eclipse: Céljainkhoz elegendő az Eclipse for C/C++ Developers csomag letöltése és kitömörítése. Ez lényegesen kisebb mint a teljes Eclipse. Tartalmaz továbbá egy Mylyn nevű csomagot, ami egyszerűbb projectekhez nem létfontosságú, később hasznos lehet. Az Eclipse-t nem kell külön telepíteni, hanem elegendő kicsomagolni a célkönyvtárban. A cikk írásakor a 3.4-es (Ganymede) verziónál tartott.
Step 3.: Az integrációhoz szükségünk van a Zylin CDT csomagra: Ezt a szokásos módon telepíthetjük Eclipse alá:


Step 4.: Ezután nincs más dolgunk, mint készíteni egy új projectet:

A Project->Properties menüben néhány helyen át kell írni a default gcc fordítót msp430-gcc-re, valamint a célprocesszort is definiálni kell a parancssorban, például:
Ezen kívül még a library eléréseket kell megadni a fordító számára:
"C:\Program Files\mspgcc\lib";
"C:\Program Files\mspgcc\msp430\lib".
Ehhez álljon itt segítségül néhány screenshoot:







Ezután készítsük el a projectet. Én a szokásos, neten is terjengő blink alkalmazással kezdtem:

Debug üzemmódba a képernyő jobb felső sarkában található bogárra kattintva válthatunk:

A debughoz használt msp430-gdbproxy alkalmazást az alábbiak szerint állítsuk be:


A main fülön a parancssori paraméterek a következőek:
--port=3333 msp430 --spy-bi-wire TIUSB






Ezután készítsük el a projectet. Én a szokásos, neten is terjengő blink alkalmazással kezdtem:

Debug üzemmódba a képernyő jobb felső sarkában található bogárra kattintva válthatunk:

A debughoz használt msp430-gdbproxy alkalmazást az alábbiak szerint állítsuk be:


A main fülön a parancssori paraméterek a következőek:
Ezután létre kell hoznunk egy debug konfigurációt:




A Commands fülön a következő parancsokat másoljuk be az Initialize commands dobozba:




A Commands fülön a következő parancsokat másoljuk be az Initialize commands dobozba:
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
target remote localhost:3333
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase all
load Debug/test_blink
ahol az utolsó sorba értelemszerűen a megfelelő binárist írjuk! Ezután nincs más hátra, mint elindítani az msp430-gdbproxy konfigurációt, ami után a következő kép fogad, amely szerint türelmesen várakozik a 3333-as porton:

Ekkor elindíthatjuk a debugot is, ami lefordítja és fel is tölti a programunkat. amit ezután elindítani/leállítani pedig a szokásos magnógombokkal tudunk:
A megszokott debug eszközök pedig a jobb oldalon és felül találhatóak.

Ekkor elindíthatjuk a debugot is, ami lefordítja és fel is tölti a programunkat. amit ezután elindítani/leállítani pedig a szokásos magnógombokkal tudunk:
Attila
2009. március 13., péntek
Szervo végtelenítése
A rover meghajtásához kerekenként egy-egy szervo motort használtunk. Tettük ezt azért, mert megkönnyítette a dolgunkat: adott egy jól összetervezett kompakt villanymotor-kihajtás rendszer. Bár pont a nagy leosztás miatt nem tudunk nagy fordulatszámot (és ezzel nagy sebességet) elérni a kerekeken (a maximális fordulatszám általában 100 rpm körüli érték), de a motor méretéhez képest nagy nyomatékot kapunk cserébe. A szervo motorok eredetileg nincsenek is felkészítve folyamatos forgásra, hanem általában mintegy 270° szögtartományban mozognak, lehetővé téve például kormányművek mozgatását R/C modelleken.Az átalakításhoz ismernünk kell a szervo motorok lelkivilágát: a külvilág felé egy háromlábú csatlakozójuk van, amelynek lábkiosztása: GND, Vcc, pulse. Az első kettő adja a belső elektronikának szükséges 4.8V tápfeszültséget, míg az utolsó határozza meg a megkívánt pozíciót: általában 1.5ms szélességű impulzusok szükségesek a középálláshoz, és nagyjából 0.5ms eltérés határozza meg a két végállást. Ez utóbbiak mechanikailag is fixek, az utolsó tengelyen egy bütyök beleütközik a szervo házán kialakított ellenpárjába. A meghajtó elektronika számára a pozíció visszacsatolását egy potméter adja. Világos tehát, hogy az átalakításhoz egyrészt meg kell szabadulnunk a mechanikai limitálástól, másrészt a pozíció visszacsatolását kell megszüntetnünk. A továbbiakban az általunk használt ECO-6 miniatűr 6 grammos szervohoz nyújtunk tippeket, de szerintem minden ilyen motort hasonlóan kell átszerelni. Azt persze érdemes előre ellenőrizni, hogy fröccsöntött házban van-e a szervo!
- Bontsuk le a szervo házának hátát! Ehhez két eléggé hosszú csavartól kell megszabadulni.

- Az elektronika kihajtható és előtűnik a potméter, aminek vezetékeit leforrasztjuk a fő panelról.
- Forrasszunk be két egyforma ellenállást a potméter csatlakozási pontjaira! Innentől kezdve a visszacsatolás számára a szervo folyamatosan középállásban van. Érdemes nagyjából tartani az eredeti potméter ellenállását, de a pontos érték nem kritikus.
- A szervo házának elülső része kipattintható. Itt férünk hozzá a fogaskerék áttéthez.
- A kimenő tengely körül felfedezhetjük a körbefordulás határolására szolgáló bütyköt. Ezt tűreszelővel tudjuk eltávolítani.
- A fogaskerekek leszedése után távolítsuk el a potmétert, amit még egy csavar tart az elektronika oldala felől.
- Csipesszel hajtsuk vissza a potméter csúszóérintkezőit. Ezzel egyrészt csökkentjük a súrlódást, másrészt megszabadulunk egy kellemetlen periodikus zajforrástól, amit a csúszóérintkező felütközése ad a csatlakozókon.
- Szereljük vissza a potmétert, rakjuk vissza a fogaskereket és a ház elemeit. Érdemes az elektronikát még egy darab szigetelőszalaggal elszigetelni a potmétertől.
Ezzel a szervot képessé tettük folyamatos körbeforgásra, és az eredeti vezérlésével kompatibilis maradt: 1.5ms hosszú impulzusokkal tudjuk helyben tartani, ennél kisebb, vagy nagyobb impulzusszélesség hatására a szervo forogni kezd, mivel megszabadítottuk a visszacsatolástól. Ez a megoldás azonban nem volt tökéletes: a legnagyobb probléma
az volt, hogy nagyon nehéz eltalálni a középálláshoz tartozó impulzusszélességet, ráadásul az példányról példányra változik. Emellett ez a beállítás nem stabil: a nullára beállított motor néhány perc alatt lassan megindul valamelyik irányba. Nem tetszett az sem, hogy a fordulatszám szabályozhatósága egy eléggé szűk impulzushossz tartományra esik. Erről egy gyors mérés eredménye látható itt a jobb oldalon. A megoldást az jelentette, hogy megszabadultunk a gyári elektronikától és saját H-hidas meghajtást építettünk be. Ezzel legalább megállt a
szervo, ha akartuk :) A kis méret és teljesítményigény miatt a Microchip TC4427A FET-meghajtóját használtam H-hídként. Ez az SO-8 tokban kapható IC egy tokja pont egy H-hidat tartalmaz, így megfelel céljainknak. Az átalakítás ára a maximális nyomaték kisfokú csökkenése volt, amire megoldás az áramkör valamelyik nagyobb áramú testvérének alkalmazása (de hát az nem volt a Chipcadnél tegnapra...). Mindenesetre ezzel stabilan működött a meghajtás a továbbiakban.
az volt, hogy nagyon nehéz eltalálni a középálláshoz tartozó impulzusszélességet, ráadásul az példányról példányra változik. Emellett ez a beállítás nem stabil: a nullára beállított motor néhány perc alatt lassan megindul valamelyik irányba. Nem tetszett az sem, hogy a fordulatszám szabályozhatósága egy eléggé szűk impulzushossz tartományra esik. Erről egy gyors mérés eredménye látható itt a jobb oldalon. A megoldást az jelentette, hogy megszabadultunk a gyári elektronikától és saját H-hidas meghajtást építettünk be. Ezzel legalább megállt a
szervo, ha akartuk :) A kis méret és teljesítményigény miatt a Microchip TC4427A FET-meghajtóját használtam H-hídként. Ez az SO-8 tokban kapható IC egy tokja pont egy H-hidat tartalmaz, így megfelel céljainknak. Az átalakítás ára a maximális nyomaték kisfokú csökkenése volt, amire megoldás az áramkör valamelyik nagyobb áramú testvérének alkalmazása (de hát az nem volt a Chipcadnél tegnapra...). Mindenesetre ezzel stabilan működött a meghajtás a továbbiakban. Attila
Címkék:
barkács,
elektronika,
motor,
szervo
Tegyük a fát vízhatlanná!
Ennek a bejegyzésnek a célja, hogy röviden összefoglalja egyes faanyagok lakkozásának mikéntjét a teljesség igénye nélkül: az alapanyagok sokfélesége miatt nem törekedtünk arra, hogy kitérjünk minden lehetséges kombinációra, hanem az általunk felhasznált anyagokat vizsgáltuk csak meg. Hasonlóan nem fektettünk nagy hangsúlyt az esztétikára, a célunk csak a vízhatlanítás volt.

Fontos, hogy a lakkozás fokozottan tűzveszélyes művelet! Ezt vegyük figyelembe a munkahely megválasztásánál! Érdemes továbbá minél jobb szellőzést biztosítani a hígitó erős szaga miatt.

Lássuk tehát a hozzávalókat: adott egy vékony, 4mm vastag balsafa lemez, egy üveg vászonfeszítő lakk, és egy flakon nitrohígitó. A vegyszerek anyagköltsége literes kiszerelésben összesen nagyjából 1000 jó magyar forintok körül van, lakkot modellezőboltokban, nitrohígitót barkácsboltban talá
lhatunk legegyszerűbben. Ez a mennyiség saccra 10m2 nagyságrendnyi felületre elegendő (életfogytiglan...). Szükségünk van még egy ecsetre, amivel a lakkot felvisszük a felületre, és egy fém vagy üveg tálkára, amiben a lakkot hígitjuk. Kell még egy merőkanál/keverőlapát (tipikusan kiszolgált csavahúzó :) ). Érdemes a kotyvasztás megkezdése előtt simára csiszolni a fa felületét.
A procedúra a következő:

Fontos, hogy a lakkozás fokozottan tűzveszélyes művelet! Ezt vegyük figyelembe a munkahely megválasztásánál! Érdemes továbbá minél jobb szellőzést biztosítani a hígitó erős szaga miatt.

Lássuk tehát a hozzávalókat: adott egy vékony, 4mm vastag balsafa lemez, egy üveg vászonfeszítő lakk, és egy flakon nitrohígitó. A vegyszerek anyagköltsége literes kiszerelésben összesen nagyjából 1000 jó magyar forintok körül van, lakkot modellezőboltokban, nitrohígitót barkácsboltban talá
lhatunk legegyszerűbben. Ez a mennyiség saccra 10m2 nagyságrendnyi felületre elegendő (életfogytiglan...). Szükségünk van még egy ecsetre, amivel a lakkot felvisszük a felületre, és egy fém vagy üveg tálkára, amiben a lakkot hígitjuk. Kell még egy merőkanál/keverőlapát (tipikusan kiszolgált csavahúzó :) ). Érdemes a kotyvasztás megkezdése előtt simára csiszolni a fa felületét.A procedúra a következő:
- A lakkot felhígitjuk a nitrohígitóval nagyjából hígabb méz állagúra. A tapasztalat szerint a hígitási arány nem különösebben kritikus.
- Az ecsettel felvisszük a falapra. Az ecsettel érdemes lehúzni a felesleget, hogy csak egy vékony réteg maradjon.
- 15-20 perc várakozás után felvihetjük a következő réteget, amennyiben szükséges. Én azt tapasztaltam, hogy egy réteg után nagyon egyenetlen a lakk a felületen, három réteg elegendőnek bizonyult vízhatlanság szempontjából.
- Főleg vékony balsafára jellemző, hogy elcsavarodik, miután a lakk teljesen megszáradt. Ez ellen préselés alatti szárítással, vagy keresztmerevítők felragasztásával védekezhetünk.
Teljes száradás (néhány óra) után tesztelve azt tapasztaltam, hogy valóban sikerült vízhatlanítani mind balsafa, mind fenyőléc darabokat a fenti módszerrel. A lakkozott felületek a megszokott módokon ragaszthatóak maradtak, illetve lehet őket festeni is.
Attila
2009. március 8., vasárnap
Marsúszó 2009, felépítés
Idén elhatároztuk, hogy semmi esetre sem járunk úgy, mint a korábbi években, azaz nem fogunk utolsó éjszaka is marsjárót szerelni. Erre persze ne vegyünk mérget, de bíztató az a tény, hogy már most van egy működőképes konstrukciónk.
Lássuk a hozzávalókat:
Kerék:
Lépésálló hungarocell (hivatalos nevén expandált polisztirolhab), 4 cm vastag. Beszerezhető tetszőleges barkácsboltban. A kivágáshoz sablonként egy 9 cm átmérőjű nagyító szolgált. Ha feltesszük, hogy egy kerék maximum a feléig érhet bele a vízbe, akkor kerekenként durván 127 cm3 vízkiszorításunk lehet. Ez 508 g össztömeget jelent, persze ezt igyekszünk nem kicentizni.
Ragasztásához ragasztópisztoly, illetve kétkomponensű epoxi vált be, oldószeres ragasztókat értelemszerűen kerüljük. Ha ragasztópisztolyt használunk, ügyeljünk arra, hogy ne legyen túl forró a ragasztó a hungarocell alacsony olvadáspontja miatt!
Járműtest:
A tesztjárművön ugyanaz, mint a kerék, de problémát okozott, hogy nehéz hozzá megbízhatóan rögzíteni a szervókat, ezért száműztük és 5 mm vastag balsafa került a helyére. Ez 10 cm széles csíkokban kapható modellboltokban, ezért a jármű szélességét is ez a méret határozza meg, a hosszúságot úgy választottuk meg, hogy az oldalankénti két kerék kényelmesen elférjen egymás mellett, így lett a járműtest 15 cm hosszú.
A balsafa akár élesebb tapétavágó késsel is jól darabolható. Ha szálirányra merőlegesen vágunk, akkor érdemes a lap mindkét oldalán behúzni a késsel, és ezután eltörni, vagy átvágni. Úgy látom, hogy ez a faanyag száliránnyal párhuzamosan nagyon könnyen hasad, ezért a jármű elején és végén szükség lesz egy vékony csíkra keresztmerevítésként.
Lapátok:
Lapátként adta magát a szintén modellezőboltban kapható 3x20 mm-es feny
őléc, amit 3.5 cm hosszú darabokban ragasztunk fel a kerék külső lapjára, kerekenként négy darabot. A jobb mechanikai stabilitás érdekében tapétavágó késsel besüllyesztettem a hungarocellt a lapátok helyén mintegy 2 mm mélyen és ezt a rést töltöttem fel kétkomponensű műgyantával mielőtt belenyomtam a lapátot.A faanyagokat a vizes környezet miatt le kell lakkozni, ennek mikéntjéről egy külön bejegyzésben írok majd.
A gépet a következő héten teszteljük, azután el lehet kezdeni feltölteni értelemmel. Remélem Teddy és Laci jól haladnak a mintázatfelismeréssel...
Attila
Címkék:
barkács,
fa,
hungarocell,
robot,
verseny
2009. február 28., szombat
Magyarok a Marson 2009 - proof-of-concept prototípus
Újra nekiálltunk a fejlesztésnek, mert készülünk a 2009-es Magyarok a Marson versenyre.
A feladat izgalmas és kihívásokkal teli: Idén vízen és szárazföldön is el kell boldogulnia a rovernek.
Összeraktunk egy nagyon kezdeti prototípus szerkezetet azokkal a 6g-os szervókkal, amiket használni tervezünk, és néhány hungarocell kerékkel. A vezérlő elektronika idén teljesen új lesz, és még nem teljesen funkcionális, ezért most csak két kereket hajtottunk meg egy-egy szervóval, ezeknek az oldalára ragasztottunk lapátokat is, hogy a vízben jobban haladjon.
kép:
Először szárazföldön próbáltuk ki:
Aztán vízre bocsátottuk:
Kb. 10 másodperc alatt tesz meg a vízben 1 m-t, állóhelyzetből indulva. Ez a sebesség bizonyára elég lesz a versenyen is.
Attila elvitte az alkatrészeket, hogy rendesen összerakja. Balsafa alvázra fogja cserélni a jelenlegi hungarocellt, mert a vízen a kerekekre ható felhajtóerő miatt az alap elgörbült, tehát merevítésre vagy merevebb anyagra van szükség.
Laci
Címkék:
hungarocell,
robot,
teszt,
verseny
2008. szeptember 3., szerda
Fejlesztések a bemutatóra
A második Magyarok a Marson versenyen már egy kiforrott járművel indultunk, de
volt néhány hiányosság és zavaró pont, amit a bemutatóig ki kellett küszöbölnünk.
A versenyen jól bevált a TinyOS alapokon működő PI-szabályzó, ezért ezt megtartottuk, sőt közvetlenül vezérelte a motormeghajtó H-hidakat.
Továbbfej
lesztésre szorult az optokapus visszacsatolás a motorok tényleges fordulatszámáról. A versenyen futott megoldás szerint az első fogaskerék fogai takarták ki egy optokapu LED fényét. Mivel a fogak eléggé kicsik voltak, ezért kritikus volt az optokapu helyzete, és a billenési küszöbértéket is rendszeresen után kellett állítani. A következő verziót felszereltem motoronként egy-egy kiegészítő kerékkel, amit fóliára nyomtattam ki, és for
dulatonként négy szintváltozást adott. Ezt figyelte az optokapu, és a kitakarás-rálátás között elég kontraszt volt ahhoz, hogy minden beállítás nélkül működjön. Ez az áramkör egy egyszerű kis nyáklemezre ráfért, ami az optokaput is tartotta.
A bemutatón visszatértünk a LED mintázaton alapuló hely- és helyzetfelismeréshez. Erre szükség volt egyrészt azért, mert a zöld színű félkörrel nem tudtunk volna két járművet megkülönböztetni, másrészt a LED mintázaton alapuló algoritmus megbízhatóbbnak bizonyult. Így végül lett egy zöld és egy piros járművünk. Érdekes volt megfigyelni egyébként, hogy nagyon nehéz a fényes ledek színét megállapítani a kamera képén: általában egy fényes fehér foltot láttunk, aminek a szélén egy keskeny karima árulta csak el a led színét. Ennek kiküszöbölése sajnos nem egyszerű, ugyanis a CCD érzékelő pixeleinek túlcsordulása okozza ezt a blooming néven ismert effektust.
volt néhány hiányosság és zavaró pont, amit a bemutatóig ki kellett küszöbölnünk.A versenyen jól bevált a TinyOS alapokon működő PI-szabályzó, ezért ezt megtartottuk, sőt közvetlenül vezérelte a motormeghajtó H-hidakat.
Továbbfej
lesztésre szorult az optokapus visszacsatolás a motorok tényleges fordulatszámáról. A versenyen futott megoldás szerint az első fogaskerék fogai takarták ki egy optokapu LED fényét. Mivel a fogak eléggé kicsik voltak, ezért kritikus volt az optokapu helyzete, és a billenési küszöbértéket is rendszeresen után kellett állítani. A következő verziót felszereltem motoronként egy-egy kiegészítő kerékkel, amit fóliára nyomtattam ki, és for
dulatonként négy szintváltozást adott. Ezt figyelte az optokapu, és a kitakarás-rálátás között elég kontraszt volt ahhoz, hogy minden beállítás nélkül működjön. Ez az áramkör egy egyszerű kis nyáklemezre ráfért, ami az optokaput is tartotta.A bemutatón visszatértünk a LED mintázaton alapuló hely- és helyzetfelismeréshez. Erre szükség volt egyrészt azért, mert a zöld színű félkörrel nem tudtunk volna két járművet megkülönböztetni, másrészt a LED mintázaton alapuló algoritmus megbízhatóbbnak bizonyult. Így végül lett egy zöld és egy piros járművünk. Érdekes volt megfigyelni egyébként, hogy nagyon nehéz a fényes ledek színét megállapítani a kamera képén: általában egy fényes fehér foltot láttunk, aminek a szélén egy keskeny karima árulta csak el a led színét. Ennek kiküszöbölése sajnos nem egyszerű, ugyanis a CCD érzékelő pixeleinek túlcsordulása okozza ezt a blooming néven ismert effektust.
Attila
Címkék:
bemutató,
elektronika,
robot
2007. május 12., szombat
Második verseny - A jármű
Az első versenyen számos tapasztalatot szereztünk, amelyeket igyekeztünk kamatoztatni a
második jármű összeszerelésekor. Alapként ugyanazt az 1:16-os tigris tankot használtuk, a robot azonban mind külsőleg, mind belsőleg megváltozott. Első pillantásra is kiforrottabb lett a konstrukció, a belső tartalomra pedig rá sem lehetett ismerni... Mivel a feladat energiakockák levilágítása volt, ezért kapóra jött a tank forgatható lövegtornya. Ez magával hozta, hogy a tank felső részét is felhasználtuk, így egy kompaktabb kialakítást követve. A lövegen kapott helyet a levilágításhoz használt 3 nagyfényerejű fehér Cree gyártmányú LED. Emellett a fenti kamera képén való tájékozódáshoz felszereltünk egy zöld 5 mm-es LED-et is a löveg végére. A torony forgatását és a LED-ek kapcsolását az első versenyen debütált hűtőbordás PWM modul végezte.
második jármű összeszerelésekor. Alapként ugyanazt az 1:16-os tigris tankot használtuk, a robot azonban mind külsőleg, mind belsőleg megváltozott. Első pillantásra is kiforrottabb lett a konstrukció, a belső tartalomra pedig rá sem lehetett ismerni... Mivel a feladat energiakockák levilágítása volt, ezért kapóra jött a tank forgatható lövegtornya. Ez magával hozta, hogy a tank felső részét is felhasználtuk, így egy kompaktabb kialakítást követve. A lövegen kapott helyet a levilágításhoz használt 3 nagyfényerejű fehér Cree gyártmányú LED. Emellett a fenti kamera képén való tájékozódáshoz felszereltünk egy zöld 5 mm-es LED-et is a löveg végére. A torony forgatását és a LED-ek kapcsolását az első versenyen debütált hűtőbordás PWM modul végezte.Okulva az előző verseny kudarcából, a lánctalpat teljes fém anyagúra cseréltük. Ez a kit kapható a modellboltokban, bár nem mindenhol tudnak róla, ahol maga a tank is kapható. Érdemes még tudni, hogy önmagában nagyjából annyiba kerül, mint az alapkiépítésű modell... Kétségtelen viszont, hogy ezzel a továbbiakban nem volt probléma, bár a "jobb tapadás érdekében" kicsit nedvesített homok azért okozott meglepetéseket: a lánctalpról érdemes volt rendszeresen letakarítani a rátapadt homokot.
A helymeghatározó rendszer alapjául szolgáló LED mintázatot egy zölden világító félkörre cseréltük. Ez jármű hátulsó harmadán, a lövegtorony mozgása által kijelölt határ mögött foglalt
helyet. Alapjául a PC-tuningolók egyik kedvence, a világító kábel szolgált. Ez egy érdekes eszköz, mintegy 100 V, 1 kHz-es váltóáram kell neki, és lényegében tökéletes kapacitásként viselkedik. A kábel a meghajtás hatására fényt bocsát ki, aminek a színét kismértékben hangolni lehet a tápfeszültség frekvenciájával: nekem sárgászöld és kékeszöld között szépen sikerült variálni. A drót mellé kapunk egy invertert is, ami alapesetben a PC 12 V-os tápját használja. Nekünk a járművön a 7.2 V-os akkufeszültség állt rendelkezésre. Erről hajtva az eszközt működött ugyan, de nagyon halovány lett a fénye. Az egyszerű megoldást egy step-up konverter jelentette, amit a Texas Instruments uc2577-adj áramköre köré építettem fel. Ha már step-up, legyen kövér: azt tapasztaltuk, hogy akár 24 V-ig is növelhetjük az inverter tápfeszültségét, ezzel még tovább növelhetjük a fényerőt. A rendszer a gyakorlatban szépen vizsgázott.
helyet. Alapjául a PC-tuningolók egyik kedvence, a világító kábel szolgált. Ez egy érdekes eszköz, mintegy 100 V, 1 kHz-es váltóáram kell neki, és lényegében tökéletes kapacitásként viselkedik. A kábel a meghajtás hatására fényt bocsát ki, aminek a színét kismértékben hangolni lehet a tápfeszültség frekvenciájával: nekem sárgászöld és kékeszöld között szépen sikerült variálni. A drót mellé kapunk egy invertert is, ami alapesetben a PC 12 V-os tápját használja. Nekünk a járművön a 7.2 V-os akkufeszültség állt rendelkezésre. Erről hajtva az eszközt működött ugyan, de nagyon halovány lett a fénye. Az egyszerű megoldást egy step-up konverter jelentette, amit a Texas Instruments uc2577-adj áramköre köré építettem fel. Ha már step-up, legyen kövér: azt tapasztaltuk, hogy akár 24 V-ig is növelhetjük az inverter tápfeszültségét, ezzel még tovább növelhetjük a fényerőt. A rendszer a gyakorlatban szépen vizsgázott.
A mitmót rádiós modulja helyett egy saját készítésű panelt használtunk. Ez az IA4421 rádiós IC adatlapján ajánlott felépítést követte. A gyár egyik application note-ja alapján a panelen foglalt helyet az antenna is, ami végül meghatározta a panel fizikai méreteit. Mivel a nyomtatott áramkörön felépített antennák kényesek a vezetősáv vastagságára, ezért a rádiós szempontból aktív felületet nem ónoztuk be. A rádiós kommunikációt beltéren teszteltük, néhányszor 10 m távolságon kifogástalanul működött.


Hogy teljesen búcsút mondhassunk a mitmótnak, a tank saját gyártású CPU panelt kapott. Itt nem takarékoskodtunk a kivezetésekkel: az Atmel ATMEGA128 MCU összes modulja kapott egy vagy több csatlakozót. Egy rövid felsorolás a teljesség igénye nélkül: 3 darab SPI port, 2 darab I2C port, 8 ADC, 2 darab PWM port motorok meghajtásához. Amikor a fejlesztéseket kezdtük, ez az MCU volt az Atmel AVR család legerősebb tagja a maga 128kB programmemóriájával. Ez azóta már nem igaz, de a legtöbb célra így is elegendő erőforrást nyújt. Az eszközt JTAG és SPI porton tudjuk programozni. A fotó versenykészre huzalozva mutatja a panelt. Ez a panel bővíthetősége miatt annyira bevált, hogy a bázisállomást, sőt a későbbi konstrukciókat is ezzel szereltük fel.
A motormeghajtás az előző versenyen probléma nélkül működött, de mindig van lehetőség fejlesztésre: ennek a felismerésnek az eredménye az intelligens motorvezérlő panel. A m
odul I2C porton csatlakozott a központi egységhez, és két üzemmódja volt: vagy közvetlenül a PWM jel kitöltési tényezőjét adhattuk meg, vagy a megkívánt motorfordulatszámot, amit PI szabályozás segítségével igyekezett tartani. Ennek megfelelően egy saját ATMEGA168 MCU-t találhatunk rajta. A szabályozáshoz természetesen szükségünk volt a tényleges fordulatszámra. Némi tanakodás után a visszacsatoló jelet az első fogaskerékről szedtük le egy optokapu segítségével. Ez az elrendezés nagyon kényes volt az optokapu helyzetére és a környezeti megvilágításra, így végül a billenés küszöbértékét egy LM324 komparátoraival állítottuk be. Sajnos a megvalósított PI szabályzó bugos maradt, így ezt a feladatot tűzoltásként a központi egységre bíztuk, a modult PWM üzemmódban használva.
Végül, de nem utolsó sorban ne feledkezzünk el a biztonság egy apró, de fontos eleméről sem: közvetlenül az akkumulátor mellé beiktattunk egy üvegcsöves biztosítékot, hogy egy esetleges rövidzár esetén tudjuk, hogy honnan jöhet ki a füst a gépből...
Attila
Címkék:
barkács,
elektronika,
robot,
verseny
2006. január 1., vasárnap
Én is blog…
Miután nemrég elhatároztuk, hogy webkettőzni jó, megegyeztünk abban, hogy mindannyian írunk néhány sort arról, hogy hogyan is kerültünk képbe a Marslakóknál.
Ez a visszadátumozás opció kicsit sötétebb történelmi korszakokra hajaz (Elnézést Virág elvtárs, ez az ítélet!), de kétségtelen, hogy átláthatóbb visszatekintést ad az elmúlt három évünkről.
Kicsit bővebb magyarázatot igényel, hogy fizikus hallgatóként mit keresek egy informatikusok és gépészek által uralt versenyen. Hobbiként általános iskolás koromtól kezdve érdekelt az elektronika, és vehetjük úgy, hogy a legtöbb fiúgyerekre jellemző fémépítős korszakból sem nõttem ki. Egyesek szerint persze pont ez utóbbi a kísérleti fizikus definíciója… Lacival ellentétben én egyszerűbb analóg kapcsolásokkal kezdtem pályafutásom, az azóta megboldogult Hobby Elektronika folyóirat hathatós közreműködésével. Később ezeket több-kevesebb sikerrel kombináltam digitális áramkörökkel. A korai korszakom meghatározó élménye, hogy szeretteinket sokkal inkább lenyűgözhetjük egy-egy egyedi design-t követő dallamcsengővel, villogó izzósorral, mint „gyári” megoldásokkal. Ezek a projectek is megérnének egy bejegyzést, de inkább ugorjunk vissza 2006-ba, amikor is gőzerővel folytak az előkészületek az Első Magyar Alkalmazott Mérnöki Tudományok Versenyére.
Laci kérését, hogy csatlakozzak hozzájuk, örömmel fogadtam el. Tettem ezt azért, mert láttam a kihívást a dologban, másrészt az egyetemi éveim alatt eléggé elhanyagoltam azt a tudást, amit a középiskola alatt halmoztam fel elektronika témában. Nem utolsósorban hittem abban, hogy Sipos Attila kezdeményezése követőkre talál és egy komoly versenysorozat első részében szerepelni mégiscsak valami…
Ez a blog tehát a Marslakók robotjainak evolúcióját mutatja be, minden látogatónak jó olvasást kívánok!
Ez a visszadátumozás opció kicsit sötétebb történelmi korszakokra hajaz (Elnézést Virág elvtárs, ez az ítélet!), de kétségtelen, hogy átláthatóbb visszatekintést ad az elmúlt három évünkről.
Kicsit bővebb magyarázatot igényel, hogy fizikus hallgatóként mit keresek egy informatikusok és gépészek által uralt versenyen. Hobbiként általános iskolás koromtól kezdve érdekelt az elektronika, és vehetjük úgy, hogy a legtöbb fiúgyerekre jellemző fémépítős korszakból sem nõttem ki. Egyesek szerint persze pont ez utóbbi a kísérleti fizikus definíciója… Lacival ellentétben én egyszerűbb analóg kapcsolásokkal kezdtem pályafutásom, az azóta megboldogult Hobby Elektronika folyóirat hathatós közreműködésével. Később ezeket több-kevesebb sikerrel kombináltam digitális áramkörökkel. A korai korszakom meghatározó élménye, hogy szeretteinket sokkal inkább lenyűgözhetjük egy-egy egyedi design-t követő dallamcsengővel, villogó izzósorral, mint „gyári” megoldásokkal. Ezek a projectek is megérnének egy bejegyzést, de inkább ugorjunk vissza 2006-ba, amikor is gőzerővel folytak az előkészületek az Első Magyar Alkalmazott Mérnöki Tudományok Versenyére.
Laci kérését, hogy csatlakozzak hozzájuk, örömmel fogadtam el. Tettem ezt azért, mert láttam a kihívást a dologban, másrészt az egyetemi éveim alatt eléggé elhanyagoltam azt a tudást, amit a középiskola alatt halmoztam fel elektronika témában. Nem utolsósorban hittem abban, hogy Sipos Attila kezdeményezése követőkre talál és egy komoly versenysorozat első részében szerepelni mégiscsak valami…
Ez a blog tehát a Marslakók robotjainak evolúcióját mutatja be, minden látogatónak jó olvasást kívánok!
Attila
Címkék:
bemutatkozás
A kezdetek...
Az egész valahogy úgy kezdődött (kb. 2006. januárban), hogy Tivadarral megláttunk egy plakátot: "Magyarok a marson - Első Magyar Alkalmazott Mérnöki Tudományok Versenye" Rögtön tudtuk, hogy ez nekünk való feladat. Azt is, hogy kiket kell még beszervezni: Attilát és Tamást.
Amint visszaértünk a koliba, megnéztük a verseny honlapját: www.magyarokamarson.hu (az akkori állapot: http://www.magyarokamarson.hu/weblap2006/index.htm). A feladat nem volt más, mint hogy építsünk egy minél inkább autonóm robotot, ami marsi körülmények között végrehajt egy küldetést: egy 8x8 méteres homokos, siklákkal tarkított pályán megtalál egy fémlapot, ami a homok alá van rejtve néhány centivel, és mintát vesz a homokból. A versenyt Sipos Attila ötlötte ki, aki lelkesen támogatja, hogy a fiatalok kreatív, kompex elektromechanikus szerkezeteket építsenek, és mindenféle szembeszél ellenére megrendezte a versenyt Kiskunhalason, a II. Rákóczi Ferenc Szakközépiskola tornatermében.
A csapat tagjait már középiskolás korom óta ismerem. Tamás osztálytársam volt a debreceni Fazekas Mihály Gimnáziumban, ahol 6 évig koptattuk az iskolapadot. Már régebben is foglalkoztam elektronikával, volt egy kis elektronikai építőkészletem, de addig még csak telepek, kapcsolók, motorok, izzók, LED-ek, csengők, relék és transzformátorok alkották az eszközkészletemet, amíg Tamás egyszer hozott egy olyan könyvet, amiben integrált áramkörös (IC-s) kapcsolások voltak. Az első IC, amit használtam, a jó öreg 555-ös volt, ami nagyon sokoldalú, mindenféle időzítési feladatra alkalmas. A LED-villogtató után jöttek az egyebek, TTL logikai IC-k, ... Furcsa sorrend, de később a tranzisztor működésével is megismerkedtem. Beszereztem néhány könyvet, Hobbi elektronika számokat és Rádiótechnika évkönyveket. Ezután beindultak a dolgok: Szaki (szintén jóbarát osztálytársam) édesapja ötleteket adott a NYÁK (nyomtatott áramkör) készítéshez, így egy igazi kis labort rendeztem be otthon: UV fényszöves levílágító, nyomtatható írásvetítő fólia, előhívó, maratószer. A technikát egyre jobban elsajátítottuk. Ezután jöttek a programozható áramkörök: elsőként a PIC16F84. Keresztapám bíztatására kezdtem el ezekkel foglalkozni, építettem hozzá programozót, készítettem érdekes készülékeket. Ezáltal megtanultam az assembly nyelvet is. Ez jó alap volt hozzá, mert mindössze 35 utasítása és egyetlen munkaregisztere van. Utolsó alkotásaim a középiskolában:
- egy számláló, ami a hátralévő perceket mutatja a tanteremben az órából vagy a szünetből :-)
- egy infravörös kommunikációs egység a TI-89-es számológépemhez, ami ezzel vezeték nélkülivé válhatott, és egy másik számológéppel vagy a számítógéppel tudott kommunikálni.
- egy távirányítós autó távirányítójának átalakítása, hogy a számítógép párhuzamos portjára kötve lehessen irányítani. Az érdeklődés a téma iránt már akkor megvolt (2002 körül), a verseny ennek továbbfejlesztésére adott lehetőséget.
Attilával és Tivadarral a fizika kapcsán ismerkedtem meg. Fizikaversenyeken, táborokban, KöMaL ankéton találkoztunk, és 2002-ben mindhárman részt vettünk a 33. Nemzetközi Fizika diákolimpián (IPhO 2002). Mindhárman a Budapesti Műszaki és Gazdaságtudományi Egyetemen (BME) folytattuk a tanulmányainkat 2002. szeptemberétől: Tivadarral a fizikát kissé cserben hagyva műszaki informatikus szakon, Tamással együtt; Attila pedig mérnök-fizikus szakon. Attilának is hobbija volt az elektronika, mint nekem, Tivadar viszont ez távol állt, ő inkább csak szoftveres.
Összeállt tehát a "Marslakók" csapat, ugyanis ezt a nevet választottuk. A marsjárónk alapja egy kínai tankmodell lett, a rádiós kommunikációt és a vezérlést a BME MIT tanszékén kifejlesztett mitmót biztosította, a rover pozícióját a pálya fölé rögzített kamera képe alapján egy képfeldolgozó algoritmus segítségével határoztuk meg, egy Fuzzy szabályzó segítségével pedig a jármű tetszőleges kijelölt útvolnalat képes magától követni. A mintavételhez egy LEGO-ból épített szerkezetet használtunk, ami egy markolólapátot tud leengedni és felemelni.
Elvileg így működött volna... Sajnos nem készültünk el teljesen a verseny időpontjáig, végigdolgoztuk az előző éjszakát is, és voltak váratlan akadályok, de a részletekről később...
Laci
Címkék:
bemutatkozás,
elektronika,
robot,
verseny
Előszó
Ebben a naplóban megpróbáljuk rekonstruálni az eseményeket, élményeket és tapasztalatokat, amit a Marslakók csapat tagjaiként átéltünk/szereztünk.
A blogot 2009. februárjában kezdtük el feltölteni, de a korábbi bejegyzéseket igyekeztünk időben a megfelelő helyre pozícionálni, így lehetséges, hogy 2006-tól vannak dátumozva a bejegyzések.
Ez a blog főként azok számára lehet érdekes és tanulságos olvasmány, akiket érdekel az elektronika, a robotépítés és az informatika, de annak is szórakoztató lehet, aki csak laikusként szereti az érdekes készülékeket.
Üdv,
A Marslakók csapat
Feliratkozás:
Bejegyzések (Atom)