Mivel egész éjszaka a pálya mellett voltunk, így a verseny napján már nem ért minket nagy meglepetés a pályát illetően. A sok gyakorlás közben világossá vált, hogy a rovert direkt rálátás nélkül a 2 kamera képe alapján elég nehéz irányítani. Gyakorlatilag csak a műhold képét tudtuk navigálásra használni. Ezért Atesz csinált is egy nagy fekete alapon narancssárga nyilat, mely mutatta, hogy merre álla robot. Feltettünk még két lézert is az elejére, amelyek mgvilágították az előttünk lévő dolgokat,ezzel is támpontot adva a navigáláshoz, de ezek élesben végül nem kerültek felhasználásra. Sajnos a kiírt időpontnál jóval előbb kerültünk sorra a versenyen, ezért kicsitfelkészületlenül ért minket a dolog. A nagy kapkodás során már nem került sor egy végső tesztre, ezért a megmaradt 2 nem elhasznált akkumlátor közül egy multiméteres feszültségméréssel döntöttük el, hogy melyikkel induljunk. Sajnos rosszul döntöttünk. A két 12V-os ólom akksi közül a 7,2Ah kapacitásút tettük be mert azon üresben 13,6V feszültséget mértünk, míg a 9Ah-s on 11,6V volt. A számok elég egyértelműek voltak, mégis a kisebb feszültségű akksiban sokkal több töltés volt. A verseny fele körül le is merült az akkumulátorunk, úgyhogy nem sikerült befejeznünk a küldetést. A virágig eljutottunk, leolvastuk a karaktereket nagy nehezen, majd minden eltűnt. A verseny után még kézzel odatettüka robotot a megfelelő állomásokhoz, és a robotnak még lemerült akkumulátorral is sikerült megcsinálnia a feladatokat, ami azért némiképp kárpótolt bennünket, de azért így is hatalmas csalódás volt nekünk, hogy egy ilyen hiba miatt nem sikerült a robotunknak megmutatnia igazán, hogy mit is tudott. A versenyzés nagyon izgalmas volt, ahogy ott a paraván mögött teljes lázban égve közössen meghoztuk a döntéseket, majd a kis laptop kijelzőjén figyeltük, ahogy a 15 másodperc leteltével a kis robotunk megmozdult, majd izgultunk, hogy időben megálljon, és jó felé haladjon. Ha nem merült volna le az akkumulátorunk, akkor úgy érzem, hogy jbb helyezést is elérhettünk volna, talán még a dobogó legalsó fokára is juthattunk volna, de amit el kell ismerni, hogy feljebb semmiképp, mert az első két helyezett robotja sokkal letisztultabb és ügyesebb volt. Igazából ez a két robot jutott csak végig minden állomáson.
A versenyt összegezve az én szemszögemből, azt kell hogy mondjam, hogy hatalmas szakmai kihívás, csapatépítő jellegű, és tanulságos. A verseny egész jól lebonyolításra került, jók voltak a küldetések jók voltak a versenyzők és a robotok is. A saját produkciónkban kicsit csalódtam, de ez természetesen csak arra ösztönöz, hogy a következő versenyre még jobban felkészüljünk. Sajnos a felkészülés nagyon nehéz voltennyi idő alatt, pláne a sulis illetve hétköznapi teendők miatt, hát ennyit sikerült kihozni az egészből kb 5 hónap alatt. A verseny díjazása is remek volt, jó volt a hangulat,szinte mindenki kapott ajándékot,és jól zárult az egész. Én örülök, hogy részt vettünk versenyen mint a MA.S.T.E.R team. Köszönöm mindenkinek aki a segítségünkre volt a versenyre való felkészülés illetve a verseny során, és köszönöm a sok munkát meg mindent Atesznak és Keréknek!
Képeket a www.magyarokamarson.hu -n találtok, illetve mi is igyekszünk még majd berakni ide párat.
Köszönjük, hogy olvastátok a blogunkat!
2010. július 17., szombat
Kicsit megkésve de lezárásképpen mindenképp ide írnám a következő sorokat!
Sajnos a verseny közeledtével egyre kevesebb időnk maradt a blogot írni, minden percünk robot befejezésével ment el. Még az utolsó napon is rengeteg változtatás illetve fejlesztés történt, amikor már a pályán való gyakorlás közben szembesültünk a robotnak néhány hiányosságával.
Az utolsó frissítést követően még rengeteget dolgoztunk a roveren. Felkerült a roverre a felmászó egy rugós szorító segítségével, mely megtartotta a felmászót, de felfelé lehetőséget biztosított neki a robotról való lecsatlakozásra, hogy a csövön fel tudjon menni. A felmászón található motorra egy relé kapcsolt 12V-ot, melyet a mikrokontroller vezérelt. A főpanelen helyet kapott még egy relé, amivel a routert lehetett ki illetve bekapcsolni. Ezt arra az esetre építettük be, ha esetleg spórolni szeretnénk az energiával akkor amikor nem használjuk a routert akkor ki lehet kapcsolni. A felmászó tápkábeljét egy gyógyszeres dobozba tekertük fel, melynek levágtuk a tetejét, és a robot elejére rögzítettük. Fogok feltölteni képeket is, melyeken látni lehet majd a dolgokat. Felkerült a robotra a router is, melynek segítségével távolról el lehetett érni az ipkamerát, így tudtuk nézni a laptopon a kamera képét. Ezzel a résszel nagyon meg is gyűlt a bajunk, mivel ha a kamerát használtuk, az megzavarta a kommunikációt, és előbb vagy utóbb vagy a kép ment el vagy a vezérlés. A pontos okát ennek sajnos nem sikerült kideríteni, végül az UTP kábelt is betekertük alufóliával és leragasztottuk szigetelő szalaggal, majd azt a kábelt is, amely a zigbeet és a főpanelt összekötötte. A zigbee minden esetben helyesen megkapta az üzeneteket, de a kontrollerbe már hibásan érkeztek meg az üzenetek. Ez rengeteg fejtörést okozott, de végül kitaláltunk egy áthidaló megoldást. A zigbee modul egy megfelelő üzenet beérkezésekor lehúzta a panelen lévő kontroller reset lábát földre pár ms hosszan, és ez már elegendő volt ahhoz, hogy helyre álljon minden. Ez egy elég fontos dolog volt a verseny szempontjából. A verseny előtti héten megállapítottuk közösen, hogy a súlyeloszlás illetve a mechanika miatt jobb ha megfordítjuk a menetirányt és a rover hátulja lesz az eleje. Ehhez végülis nem is kellett szinte módosításokat végrehajtani csak a szoftvrben. A verseny előtt kiderült, hogy nem elegendő az a sebesség, amit használtunk korábban, mert a kövön elakadt a gépezet, ezért a szoftverben ezt a részt át kellett írni megint. Megnöveltüka kitöltési tényezőt, és ennek megfelelően viszont csökkent a motorra jutó vezérlő jel frekvenciája is. Ennek a változtatásnak a hatására persze a hídban lévő FET-ek jobban is melegedtek, így jobb megoldás híjáán még az utolsó éjszaka felraktunk 2 kis PC ventillátort 12V-osat, hogy valamennyire lefújják a meleg levegőt a cuccról. A kerekek tapadásának némileg csökkentése érdekében a kis extra bütyköket verseny előtt levágtuk. Sajnos a mechanika még kicsit ígyis engedett, és ugrott a szíj főleg fordulás közben. A verseny előtti 2 hétben szinte minden időnket a roverre kellett fordítanunk, és még így is a verseny előtti éjjel a pálya mellett aludtunk körülbelül 1-2 órát. Az este folyamán arra is fény derült, hogy Atesz által szerzett patkány ragasztó:D sajnos lefolyik, ezért ha beleragadt a kis airsoft golyó, akkor is egy kis idő után elkezdett nyúlni a ragasztó a súly miatt majd szép lassan a golyó leesett. Szerencsére egyik versenyzőtársunk volt olyan kedves, és adott az Ő csoda cuccából, ami elvileg valami 2 oldalas tapétaragasztó volt. Ezt jobb híján feltekerük egy ferrit gyűrűre, és azt kötöttük a felhúzó cérna végére. Ezzel a módszerrel máár minden gond nélkül be lehetett cserkészni a kis golyókat.
Az utolsó frissítést követően még rengeteget dolgoztunk a roveren. Felkerült a roverre a felmászó egy rugós szorító segítségével, mely megtartotta a felmászót, de felfelé lehetőséget biztosított neki a robotról való lecsatlakozásra, hogy a csövön fel tudjon menni. A felmászón található motorra egy relé kapcsolt 12V-ot, melyet a mikrokontroller vezérelt. A főpanelen helyet kapott még egy relé, amivel a routert lehetett ki illetve bekapcsolni. Ezt arra az esetre építettük be, ha esetleg spórolni szeretnénk az energiával akkor amikor nem használjuk a routert akkor ki lehet kapcsolni. A felmászó tápkábeljét egy gyógyszeres dobozba tekertük fel, melynek levágtuk a tetejét, és a robot elejére rögzítettük. Fogok feltölteni képeket is, melyeken látni lehet majd a dolgokat. Felkerült a robotra a router is, melynek segítségével távolról el lehetett érni az ipkamerát, így tudtuk nézni a laptopon a kamera képét. Ezzel a résszel nagyon meg is gyűlt a bajunk, mivel ha a kamerát használtuk, az megzavarta a kommunikációt, és előbb vagy utóbb vagy a kép ment el vagy a vezérlés. A pontos okát ennek sajnos nem sikerült kideríteni, végül az UTP kábelt is betekertük alufóliával és leragasztottuk szigetelő szalaggal, majd azt a kábelt is, amely a zigbeet és a főpanelt összekötötte. A zigbee minden esetben helyesen megkapta az üzeneteket, de a kontrollerbe már hibásan érkeztek meg az üzenetek. Ez rengeteg fejtörést okozott, de végül kitaláltunk egy áthidaló megoldást. A zigbee modul egy megfelelő üzenet beérkezésekor lehúzta a panelen lévő kontroller reset lábát földre pár ms hosszan, és ez már elegendő volt ahhoz, hogy helyre álljon minden. Ez egy elég fontos dolog volt a verseny szempontjából. A verseny előtti héten megállapítottuk közösen, hogy a súlyeloszlás illetve a mechanika miatt jobb ha megfordítjuk a menetirányt és a rover hátulja lesz az eleje. Ehhez végülis nem is kellett szinte módosításokat végrehajtani csak a szoftvrben. A verseny előtt kiderült, hogy nem elegendő az a sebesség, amit használtunk korábban, mert a kövön elakadt a gépezet, ezért a szoftverben ezt a részt át kellett írni megint. Megnöveltüka kitöltési tényezőt, és ennek megfelelően viszont csökkent a motorra jutó vezérlő jel frekvenciája is. Ennek a változtatásnak a hatására persze a hídban lévő FET-ek jobban is melegedtek, így jobb megoldás híjáán még az utolsó éjszaka felraktunk 2 kis PC ventillátort 12V-osat, hogy valamennyire lefújják a meleg levegőt a cuccról. A kerekek tapadásának némileg csökkentése érdekében a kis extra bütyköket verseny előtt levágtuk. Sajnos a mechanika még kicsit ígyis engedett, és ugrott a szíj főleg fordulás közben. A verseny előtti 2 hétben szinte minden időnket a roverre kellett fordítanunk, és még így is a verseny előtti éjjel a pálya mellett aludtunk körülbelül 1-2 órát. Az este folyamán arra is fény derült, hogy Atesz által szerzett patkány ragasztó:D sajnos lefolyik, ezért ha beleragadt a kis airsoft golyó, akkor is egy kis idő után elkezdett nyúlni a ragasztó a súly miatt majd szép lassan a golyó leesett. Szerencsére egyik versenyzőtársunk volt olyan kedves, és adott az Ő csoda cuccából, ami elvileg valami 2 oldalas tapétaragasztó volt. Ezt jobb híján feltekerük egy ferrit gyűrűre, és azt kötöttük a felhúzó cérna végére. Ezzel a módszerrel máár minden gond nélkül be lehetett cserkészni a kis golyókat.
2010. április 27., kedd
Fejlesztési és munka dömping
Sikerült végre hosszabb időt közösen dolgoznunk 3-an a roboton. Ennek meg is lett az eredménye, kisebb megszakításokkal kb 12 órát dolgoztunk a cuccon, ami nagyjából össze is állt, még mindig vannak kisebb hibák, amiket javítani kell, de már tényleg kezdünk egész jól állni. Felszereltük Atesz felmászó cuccát, ehhez még kell találni valamit, ami kifeszíti, de ez már a legkevesebb. Megfordítottuk a menetirányt, mivel tolatni nem nagyon fogunk ha minden jól megy, viszont hátrafelé jobban stablilabban megy a robot mint előre, ezért az eredeti irányhoz képest fordítva fog működni a cucc. Viszont ahogy felkerültek az alkatrészek szép sorban elkezdett a robot súlypontja egyre előrébb tolódni, ezért kénytelenek leszünk valószínűleg az akkumulátort nem a robot aljára a tartóba betenni, hanem a robot hátulján fog feküdni, és a tetejére kerül majd a router. Nagyon sokat kellett vezetékeznünk, mindent bekötöttünk a már kész vezérlő panelre, az össze kapcsolót, az opto kapukat, a szervókat stb... Nagyrészt UTP kábelen megy minden, azt volt a legegyszerűbb felhasználni, mert volt belőle sok, színes jól megkülönböztethető, viszonylag megfelel a célnak. A tápokat 1,5mm-es fekete piros hangfal kábelen visszük. Minden ónozott. Felkerült a robot elejére a szervó torony, amit szintén Atesz követett el. 3 szervó alkotja, melyek a kamerát tudják mozgatni. Ezt is beállítottuk pontosan. Sajnos a sok cucc miatt, nem lehet akárhogy forgatni a kamerát, mert bele tud akadni például a motorvezérlőkbe, ezért ezzel óvatosan kell bánni, a teszt során ez meg is mutatkozott, úgyhogy nem lehet szabadon forgatni a szervókat, de ezt majd szoftvverből megoldom, hogy merre mennyit lehet. Beállítottuk alaphelyzetnek, hogy a kamera előre nézzen. Ezt beállítja induláskor a kotroller is, illetve a Pc-s progi is alaphelyzetbe rántja induláskor a cuccot. Megoldottuk a tápcsatlakozást a zigbee modulnak is, így már nem külső elemekről megy, illetve az IP kamerának is csináltunk 5V-ot a panelen. Sikerült úgy megoldani a tetéjt a rovernek, hogy távtartók segítségével a zigbee panel a vezérlő fölött helyzkedik el közvetlenül, így kevesebb helyet foglal el. Sajnos a teszt során megint előjött a szíj ugrásának problémája, a robot nagyon nehezen tud forogni, mivel nagyok a kerekei, és nem tud a szíj valami oknál fogva ekkora nyomatékot átadni. Ezt próbáljuk minnél hamarabb orvosolni. A robot aljára került rés optok és a lyukas tárcsák segítségével tudjuk most már egész jól mérni a megtett utat. 2m-en durván 1-2cm a pontatlanság. ez abból adódik, hogy nem elég nagy a lyukas kerék (enkóder) lyukszáma ( kicsi a felbontása ). Az IP kamerát is sikerült feléleszteni némi küzdelem árán. A router segítségével WIFI-n keresztül megkapjuk a kamera képét. Ezt egyelőre nem dolgozza még fel semmi, de elvileg van rá esély, hogy a karaktereket automatikusan fel fogjuk majd ismerni a versenyen. Mértünk áramfelvételt, kis sebességnél 3A-t eszik a robot minden részét beleértve, nagyobb sebesség estén pedig 5A-t. Erre a fogyasztásra még rá fog jönni pluszban a router, amihez gyárilag 1A-es táp van, őt majd közvetlenül a 12V-os akksira fogjuk kötni. Remélhetőleg nem fog 1A-t enni. A tegnapi nap során készültek fényképek és videók is, ezekből párat fel is teszek most.
Íme a komplett rover ahogy fogni fogja a csövet
Felülnézetből a vezetékezés meg az elektronikai részek
Mechanika fejlesztés II. és űrlift készítés
A hétvégi munkálatok után már azt is sikernek könyvelem el, hogy 1; nem kaptam agyvérzést 2; nem hajtottam végre maradandó deformitást okozó behatást a roboton. Ami lehet minden rosszul sikerül, minden keresztbe állt, minden eltört és minden kiszakadt a helyéről. Elsőként a legkomolyabb problémára igyekeztem megoldást találni: az ékszíj leugrálására. Ezt oldalanként két-két görgő cseréjével oldottam meg. Az új görgök vas cérnatartó spulnik voltak előző életükben de ide is tökéletesen megfelel, mivel a szíj képes belefutni így a leugráshoz egy kb 4 mm-es peremen kellene átküzdenie magát. Ezt a feladatot aránylag hamar néhány óra hézagolás és rögzítési nehézség után kipipálhattam. Van még egy olyan problémánk, hogy kanyarodáskor au új kerekek meglehetősen tapadnak a felszínhez és ez akkora terhelést ad a "futóműre", hogy a szíj olykor átugrik. ezt még orvosolni kellene de a megoldása kemény diónak tűnik. ezután következett a felmászó elkészítése. Már hetek óta agyalok elmélkedek hogyan is lehetne megoldani és végül a dörzshajtás mellet maradtam. Korábban szóba jött mágneses megoldás is de vagy nehézkes megoldani vagy rengeteg áramot igényelne. A korábban kiszemelt hajtásház valami oknál fogva megszorult. A végső konstrukcióban egy méhtelepről kibuherált előző életében fénymásolóban teljesítő hajtásház szerepel. A szerkezetben most egy csigatengelyes motor hajt egy 4-5 fogaskerékből álló lassító áttételt ami két gumihengert hajt, ezt a két hengert szorítom neki két csáp-szerű karral a vascsőnek. A csápokat fémhálóból alakítottam ki. Szükségesnek láttam segéd görgők használatát ami nem hajtott csak a finomabb "siklás" érdekében kerül alkalmazásra. Ezek a mindenki által jól ismert ragasztópisztolyba való betétek melyeket kifúrtam és esztergával 1 cm-es darabokra vágtam. Ezután már csak be kellett fűrészelni és felpattintani a megfelelő helyre. A mi roverünkön az airsoft golyó felszedésére is az űrliftet használjuk. A módszer pofon egyszerű mivel amúgy is rendelkezésünkre állnak forgó tengelyek így csak kiválasztottam a megfelelőt és egy cérnaspulnit rögzítettem rá. Így a leengedett majd újra feltekert madzag ragasztós végére ha minden jól megy felragadnak a golyók. Ezzel a megoldással az űrlift kb 3 cm/s-os sebességre képes.
2010. április 22., csütörtök
Pár kép a mostani állapotról
Kicsit sajnos elmosódtak, de nem akartam vakuzni, mert akkor visszacsillan és semmit se lehet látni.
2010. április 19., hétfő
Újabb szoftverezés
Na újabb jó hírek, végre megoldódott az infra probléma. Valahogy mindig ugyanazokba a hibákba esek ezekkel a megszakításokból, és mindig arra jutok, hogy nem tudok konzekvens lenni a megoldással kapcsolatban, mintha minden programnak lenne saját lelke és nem teljesen egyformán produkálnák a hibákat. Ami biztos, hogy az egyik hiba az volt, hogy nem állítottam be bemenetnek az interrupt lábat, ezt azért nem értem miért baj, mert ha a soros port megszakításnál eljátszom ugyanezt, akkor ott megszakítás engedélyezésnél felülírja a láb irányát, nem tudom ez miért nem történik meg egyéb interruptok esetén, pedig nyilván ez lenne a logikus. Na mind egy a lényeg, hogy ezt átírtam, illetve ki kellett cserélnem az optokapukat. A sharp-ok közül az egyik működött, a másik furcsa módon 5V-ot adott alaphelyzetben ami jó is, de amikor kitakartam a fény útját, akkor 2,7V-ot sikerült produkálnia 0V helyett. Próbálkoztam soros áramkorláttal, a kimenetet 10kohmmal felhúztam külön 5V-ra is de semmi sem változott sajnos. Így maradtak a jó öreg TCST2103-as optoim amiknek már a vezetékébe beleforrasztottam az ellenállásokat, így csak be kellett kötni a tápot földet meg a kimenetet és már ment is minden mint a karikacsapás. A kapcsolók közül hely hiányában most egyelőre 2-t kötöttem be, egyet elöl egyet hátul, és egy hurkapálcával összekötöttem az egy végen lévő kapcsolókat, mint egy lökhárító funkcionál. Ide majd nem összekötve a kapcsolókat fémlemezt fogunk hajlítani. Ezek működnek is rendben, megállítják a robotot ütközés esetén.
tegnap végeztem egy hosszabb tesztelést is. Méregettem, hogy mennyire pontosan tudok megtenni utakat a szoftver parancsaival, és egészen jó eredményeket produkált a kis szörny, 1-2cm-es pontossággal megtesz 205cm-es utat. Sajnos a felbontásunkat az opto előtt forgó kis karika (enkóder) lyukszáma határozza meg, és ez nem valami sok. Kb 2 cm-es pontosságot tudunk ilyen nagy kerékméret mellett. Számítások alapján a kerék kerülete kb 35cm és ezalatt kapunk 24 jelet. dupla ennyi az jobb lenne, de hát ebből kell dolgozni.
A kanyarodást még nem igazán sikerült tesztelni, mert ugrik a szíj meg leesik stb... de várhatóan 6 foknál kevesebbet nem fogunk tudni fordulni...
A kanyarodáskor fellépő sebességkülönbséget az oldalak között próbáltam minimálisra csökkenteni, csak teljesen másképp viselkedik a robot, amikor meg van emelve és csak nézem a forgási sebességet, illetve amikor le van téve a földre és tényleg forog. Ebbe még az is belejátszik persze, hogy elforog a gumiban a felni. Ezek a kis apróságok elég bosszantóak, de hétvégre elvileg orvosolva lesznek, és akkor jöhetnek a további tesztek is. Közben Kerék készíti a vezérlő panelt, úgyhogy hétvégére már valószínűleg az is felkerülhet a robotra a légycsapóval meg az űriklóval együtt. Most feltettem ideiglenesen tesztelés céljűból a 3 szervó alkotta kamera mozgató rendszert is, amit Atesz tervezett. Sajnos egy 7805-nek túl nagy terhelés 3 szervót mozgatni, úgyhogy csak 1-el tudtam igazából kipróbálni, de működni fog, pláne ha majd a végleges panelen 2db 7806 fogja hajtani.
Azt hiszem mára egyelőre ennyi, képeket csináltam még, amiket ha lesz még időm feltöltök hamarosan...
tegnap végeztem egy hosszabb tesztelést is. Méregettem, hogy mennyire pontosan tudok megtenni utakat a szoftver parancsaival, és egészen jó eredményeket produkált a kis szörny, 1-2cm-es pontossággal megtesz 205cm-es utat. Sajnos a felbontásunkat az opto előtt forgó kis karika (enkóder) lyukszáma határozza meg, és ez nem valami sok. Kb 2 cm-es pontosságot tudunk ilyen nagy kerékméret mellett. Számítások alapján a kerék kerülete kb 35cm és ezalatt kapunk 24 jelet. dupla ennyi az jobb lenne, de hát ebből kell dolgozni.
A kanyarodást még nem igazán sikerült tesztelni, mert ugrik a szíj meg leesik stb... de várhatóan 6 foknál kevesebbet nem fogunk tudni fordulni...
A kanyarodáskor fellépő sebességkülönbséget az oldalak között próbáltam minimálisra csökkenteni, csak teljesen másképp viselkedik a robot, amikor meg van emelve és csak nézem a forgási sebességet, illetve amikor le van téve a földre és tényleg forog. Ebbe még az is belejátszik persze, hogy elforog a gumiban a felni. Ezek a kis apróságok elég bosszantóak, de hétvégre elvileg orvosolva lesznek, és akkor jöhetnek a további tesztek is. Közben Kerék készíti a vezérlő panelt, úgyhogy hétvégére már valószínűleg az is felkerülhet a robotra a légycsapóval meg az űriklóval együtt. Most feltettem ideiglenesen tesztelés céljűból a 3 szervó alkotta kamera mozgató rendszert is, amit Atesz tervezett. Sajnos egy 7805-nek túl nagy terhelés 3 szervót mozgatni, úgyhogy csak 1-el tudtam igazából kipróbálni, de működni fog, pláne ha majd a végleges panelen 2db 7806 fogja hajtani.
Azt hiszem mára egyelőre ennyi, képeket csináltam még, amiket ha lesz még időm feltöltök hamarosan...
2010. április 15., csütörtök
További apróbb fejlesztések, hibajavítások
Mióta ismét hozzám került a rover csináltam pár apróbb dolgot rajta, a felszerelt kapcsolókat bekötöttem, mégpedig úgy, hogy a kapcsolók alaphelyzetben nyitottak, amikor pedig az akadálynak megy a robot, akkor zárnak. A mikrokontroller adott lábát egy ellenállás segítségével felhúztam plusz tápra, a másik oldalára pedig rákötöttem a kapcsoló egyik felét. A kapcsoló földet kapcsol a kontroller lábára, ezzel lehúzza azt, és ezt a változást figyeli a kontroller. Az optoréseket is megpróbáltam feléleszteni, próbapanelen működött is, nagynehezen dokumentáció hiányában sikerült kibogoznom, hogy melyik lába hova megy, k is próbáltam, működött is szépen, ellenben amikor a roveren lévő cuccot próbáltam belőni, akkor az nem működött. Egyelőre nem tudom még mi a hiba, de majd igyekszem kiméregetni meg rájönni.
Fény derült egy olyan hibára is i, hogy a robot nem vette mégsem jól a már kibővített 6 bájtos üzeneteket, mivel a zigbee modul nem jól küldte a cuccokat, és ezért nem indult a rover parancsszóra. A megoldás az volt, hogy késleltetve küldöm el a PC-ről a bájtokat, illetve valamiért a 0-kat nem küdte el, és mivel ezek igen gyakran előfordulnak az üzenetekben, ezért 6 bájtnál rövidebb parancsok mentek át a kontrollerbe, és ezeket nem tudta helyesen értelmezni, ezt egyelőre gyorsan úgy oldottam meg, hogy 253-as számot küldök 0 helyett. A 253 nem fordul elő máskor csak ebben az esetben ezért könnyen ki lehet szűrni, és a vételnél 0-ra visszaállítani. az általános utasításokat 250-ig használom. 255 a stop 254 a nyugtázás ( ACK ) a 251 pedig egy félpercenként kiküldött ADC kérés az akku feszültséget küldi rá válaszképp a kontroller. Ezt a PC-n százalékban illetve grafikusan egy csíkon is kijelzi.
Felmerült még egy olyan probléma is, hogy a rover előre illetve hátra azonos kitöltés mellett nem azonos sebességgel halad, ami nem lenne probléma, de kanyarodáskor az egyik oldal előre forog a másik pedig hátra, és ebben az esetben a sebesség különbség már problémát okoz. Ezt még valahogy ki kell majd küszöbölni, erre egyelőre még nincs ötletem, mert az egyel nagyobb sebesség a lassú oldalon valószínűleg már sok lenne. Amint megvan a megoldás felkerül a blogra.
Fény derült egy olyan hibára is i, hogy a robot nem vette mégsem jól a már kibővített 6 bájtos üzeneteket, mivel a zigbee modul nem jól küldte a cuccokat, és ezért nem indult a rover parancsszóra. A megoldás az volt, hogy késleltetve küldöm el a PC-ről a bájtokat, illetve valamiért a 0-kat nem küdte el, és mivel ezek igen gyakran előfordulnak az üzenetekben, ezért 6 bájtnál rövidebb parancsok mentek át a kontrollerbe, és ezeket nem tudta helyesen értelmezni, ezt egyelőre gyorsan úgy oldottam meg, hogy 253-as számot küldök 0 helyett. A 253 nem fordul elő máskor csak ebben az esetben ezért könnyen ki lehet szűrni, és a vételnél 0-ra visszaállítani. az általános utasításokat 250-ig használom. 255 a stop 254 a nyugtázás ( ACK ) a 251 pedig egy félpercenként kiküldött ADC kérés az akku feszültséget küldi rá válaszképp a kontroller. Ezt a PC-n százalékban illetve grafikusan egy csíkon is kijelzi.
Felmerült még egy olyan probléma is, hogy a rover előre illetve hátra azonos kitöltés mellett nem azonos sebességgel halad, ami nem lenne probléma, de kanyarodáskor az egyik oldal előre forog a másik pedig hátra, és ebben az esetben a sebesség különbség már problémát okoz. Ezt még valahogy ki kell majd küszöbölni, erre egyelőre még nincs ötletem, mert az egyel nagyobb sebesség a lassú oldalon valószínűleg már sok lenne. Amint megvan a megoldás felkerül a blogra.
2010. április 11., vasárnap
Mechanika III. a Monster Truck támadása...
A tegnapi és a tegnapelőtti napon ismét sikerül nagyot haladnom a mechanikai munkálatokkal. Elsőként felszereltem a motortengelyek kimenetére a lyuktárcsát illetve a hozzá tartozó opto adó-vevő egységet. A tengelyben lévő M4-es menet eredetileg az ablak beállítására szolgál ha épp nem megfelelő a véghelyzet (mert ugye a motorjaink eredetileg BMW ablakemelő motorok voltak) most azonban erre a feladatra is tökéletesek. Ebben a formában 12 lyuk áll rendelkezésünkre fordulatonként, ha azonban ez kevésnek bizonyul további lyukasztásra lesz szükség. A kerekeket csütörtökön kaptam meg postán. A postás elsőre cipőnek nézte de szerencsére a rendelt kerekek ékeztek meg. Sóval a kerekek 110 mm átmérőjűek és 50 mm szélesek a tengelyük 5 mm a futófelület pedig közepesen gumiszerű műanyag. Szóval király. A kerekek felszerelésére kb a szombati napom rá is ment ugyanis készítenem kellet egy műanyag hengert amibe a korábban használt meghajtó persely beleszorul és a kerékbe is rögzíteni tudom. Ez a gyakorlatban egy 20 mm átmérőjű 24,25 század milliméteres műanyagdarabot jelent. Mivel ilyesmi anyagom otthon nem volt kénytelen voltam egy műanyag vágódeszkából rögtönözni esztergával. ( A segítségért köszi apu.) A felfogatás elkészültével már csak le kellet esztergálnom a 8 as imbusz csavarok fejét mert nem fért el a műanyag rögzítőgyűrű és a felni között. Miután elkészültem a kerekeket biztonsági okokból még két csavarral is rögzítettem, hogy nehogy kiessen a kíméletlen marsi terepen.
2010. április 10., szombat
További szoftverfejlesztés a szünetben.
Így a szünet vége felé sikerült egy kicsit megint haladni a munkával. Sikerült megírni a FIFO-t (First In First Out) vagyis amit először beírok azt először kell majd kiolvasnom is. Erre azért volt szükség, hogy megoldható legyen egy komplett grafikus úton megtervezett útvonal elküldése a rovernek, és egy parancs csomagként küldöm el az egészet, hogy ne kelljen többször is kivárni a 15 mámsodperces késleltetést, amit a szabályok írnak elő. A FIFO-t úgy hoztam létre, hogy az üzenetek egy 2 dimenziós tömbben tárolódjanak el. A sorok 6 elemből állnak, és egy komplett üzenetet tartalmaznak. 20 sorosra definiáltam a tömböt, tehát 20 üzenet eltárolására alkalmas. Ha eléri a kiolvasott üzenetek száma a beadottakét, magyarul minden bent lévő üzenetet kiolvastunk, akkor a tömb a 0-s elemre ugrik. Nem volt egyszerű első körben megírni ezt a cuccot, jól át kellett gondolni, és voltak kisebb hibák, rossz sorrendben csináltam függvényhívásokat meg ilyenek, de folyamatos LCD segítségével történő debuuggolás során mindig láttam, hogy hol lehet a hiba, és korrigáltam a dolgokat. Így most már működik a cucc nagyon jól.
Ezenkívül megírtam az ADC (Analog Digital Conversion) részt, ami az akkumulátor tápfeszültségét méri, és küldi el a PC-nek. Először is az akksi 12V-os tehát közvetlenül nem lehet rákötni a mikrokontroller lábára, leosztottam 2 ellenállás segítségével, amiket igyekeztem kOhm nagyságrendűre választani, mert itt nincs szükség nagy áramra. Úgy számoltam, hogy az akksi teljesen feltöltve üresjárásban leadhat 13,7V-ot is, az én leosztásommal 14V fölé is mehetne a cucc, persze így nem vagyunk olyan pontosak, de ebben az esetben nekünk bőven elég a 0,1V os pontosság, vagy akár még rosszabb is. 10bites az ADC a mikrokontrollerben és én ennek a 10 bitnek a felső 8 bitjét használom, hogy egy USART üzenetben elférjen, ami ugyebár 8 bites. Lehetne bonyolítani a pontosság érdekében, hogy 2 üzenetben küldjem el és a PC-n összerakjam a 10 bitet, csak egy szorzás lenne ott lényegében, de mivel nem fontos ezért ettől ebben az esetben eltekintek. A PC küld egy üzenetet majd kb fél percenként a kontrollernek, ami ezt az üzenetet értelmezni fogja, és a FIFO megkerülésével azonnal végre is hajtja. Felesleges lenne várni, hogy a FIFO-ban sorra kerüljön, ez nem befolyásolja a szervókat vagy a mozgást úgysem. Ugyanígy a stop üzenet is megkerüli a FIFO-t kellemetlen lenne megvárni míg nekimegy mindennek a rover mire lefut minden utasítás és akkor utána jönne csak a stop... Szóval rögtön történik 8 AD átalakítás, az eredményeket kiátlagolom, majd ezt a 8 bites átlagot elküldöm a PC-nek. Ott ez átszámítódik majd a megfelelőképpen %-ba és egy színes PROGRESSBAR vagyis "bitkolbász" formájában jelenik meg grafikusan. 3 színe van, 50% felett zöld 20% felett sárga és az alatt piros.
Ha minden jól emgy hamarosan neki állok megtervezni a vezérlő panel NYÁK-ját is, most várom, hogy a rover hozzám kerüljön és elkezdjem tesztelni az új koncepcióval. Remélem ma is sikerült pár hasznos dolgot felvésnem ide :)
Ezenkívül megírtam az ADC (Analog Digital Conversion) részt, ami az akkumulátor tápfeszültségét méri, és küldi el a PC-nek. Először is az akksi 12V-os tehát közvetlenül nem lehet rákötni a mikrokontroller lábára, leosztottam 2 ellenállás segítségével, amiket igyekeztem kOhm nagyságrendűre választani, mert itt nincs szükség nagy áramra. Úgy számoltam, hogy az akksi teljesen feltöltve üresjárásban leadhat 13,7V-ot is, az én leosztásommal 14V fölé is mehetne a cucc, persze így nem vagyunk olyan pontosak, de ebben az esetben nekünk bőven elég a 0,1V os pontosság, vagy akár még rosszabb is. 10bites az ADC a mikrokontrollerben és én ennek a 10 bitnek a felső 8 bitjét használom, hogy egy USART üzenetben elférjen, ami ugyebár 8 bites. Lehetne bonyolítani a pontosság érdekében, hogy 2 üzenetben küldjem el és a PC-n összerakjam a 10 bitet, csak egy szorzás lenne ott lényegében, de mivel nem fontos ezért ettől ebben az esetben eltekintek. A PC küld egy üzenetet majd kb fél percenként a kontrollernek, ami ezt az üzenetet értelmezni fogja, és a FIFO megkerülésével azonnal végre is hajtja. Felesleges lenne várni, hogy a FIFO-ban sorra kerüljön, ez nem befolyásolja a szervókat vagy a mozgást úgysem. Ugyanígy a stop üzenet is megkerüli a FIFO-t kellemetlen lenne megvárni míg nekimegy mindennek a rover mire lefut minden utasítás és akkor utána jönne csak a stop... Szóval rögtön történik 8 AD átalakítás, az eredményeket kiátlagolom, majd ezt a 8 bites átlagot elküldöm a PC-nek. Ott ez átszámítódik majd a megfelelőképpen %-ba és egy színes PROGRESSBAR vagyis "bitkolbász" formájában jelenik meg grafikusan. 3 színe van, 50% felett zöld 20% felett sárga és az alatt piros.
Ha minden jól emgy hamarosan neki állok megtervezni a vezérlő panel NYÁK-ját is, most várom, hogy a rover hozzám kerüljön és elkezdjem tesztelni az új koncepcióval. Remélem ma is sikerült pár hasznos dolgot felvésnem ide :)
2010. április 9., péntek
Mechanika fejlesztés II.
Az utóbbi fejlesztés óta csak a mai napon tudtam a robotra időt fordítani. A mai napon sikeresen elhárítottam a fordulás közbeni szíj megugrás jelenségét valamint a bordásszíj leugrálását is megszüntetem. Ezt úgy értem el, hogy a rover aljára felcsavaroztam két erős alumínium merevítőt a hossztengellyel párhuzamosan. Ennek köszönhetően a forduláskor fellépő erőhatások nem tudják a vázat meghajlítani és a szíj nem lazul meg. Azért a masina hozta a szokásos formáját így a ahhoz, hogy a merevítők elférjenek ki kellet reszelni némi anyagot az akkumulátor tartóból valamint a vázból is. Ha már fejtetőre állítottam a masinát akkor az akkumulátor tartót is módosítottam, hogy a barátságtalan terepen se csússzon ki az akksi. A módosítás tulajdonképpen a fapados "fogd a kalapácsot és üss" megoldást takarja de végülis az eredmény pazar. További problémaként jelentkezett, hogy az egyenesfutással gondok vannak. Ennek orvoslására az első hidat kismértékben módosítottam így a köldökzsínorral egyenesen fut de még ellenőrizni kell az AVR-el is. Ezután megkezdtem az ütközéskapcsolók rögzítését. Elöl a megbeszélt két kapcsolót rögzítettem a két oldalára a gépnek. A kapcsolok három érintkezősek szóval szabadon megválaszthatjuk utólag hogy NO vagy NC ként használjuk. Hátulra szintén két kapcsolót tettem mert éppen találtam két szinte teljesen megegyezőt és a kettő mégiscsak jobb mint az egy. Aztán itt kezdődtek a gondok... ahhoz, hogy érjen valamit megfelelően ki kell tenni a sarokra de jóformán nem volt sarok amire rögzíthettem volna. Megoldásként vágtam és hajtogattam egy kiegészítő lemezt amire rögzíteni lehetett mindkét kapcsolót valamint a motorvezérlőket és még ami nem fér el máshol mind mind erre lehet fogatni. Most körülbelül itt tartok holnap(illetve ma) végre nálam lesznek az új kerek és lehet azzal ügyeskedni...
2010. április 5., hétfő
Egy kis szoftverfejlesztés a szünetre...
Mivel Atesz birtokolja a gépezetet a szünetben, ezért én most csak elméleti síkon dolgozom, illetve próbapanelon próbálgatom ki az új cuccokat. Megírtam a mikrokontrollerbe a kapcsolók figyelését, amik akkor adnak majd 5V-ot a mikrokontroller adott lábára, ha a kapcsolókat megnyomja mondjuk egy akadály. A rover szélére lesz téve a 4 kapcsoló, és fémlemezek lesznek rájuk erősítve. Ha a rover ütközik, akkor rögtön megáll, és kicsit visszafog hátrálni az akadálytól. Ezt a részt a main programrészben egy végtelen ciklusban vizsgáljuk. Erre 4 lábát el kell használni a miktrokontrollernek, mert azt is tudni akarjuk, hogy hol van az akadály, nem csak a tényt, hogy neki mentünk valaminek.
Megírtam a megszakításvizsgálatot az elfordulás érzékelésére. Egy inkrementális jeladót fogunk használni erre a célra ha minden igaz, illetve oldalanként egyet. Így tudjuk majd mérni a kanyarodást is, illetve az előre/hátra haladást is. Az INT0 és INT1 megszakítás vektorát használtam fel a 8bites ATmega32-nek.
A szervómotorok vezérlését a motorokvezérléséhez felhasznált órajelhez kellett igazítani. Mivel a szervónak 10ms periódus idejű jel kell aminek 1-2 ms között van 5V-on a jel a maradék időben pedig 0-n, ezért leosztottam a prescalerrel a főórajelet 8-al. 8MHz esetében ez 1MHz-et eredményez. Ezzel a sebességgel elszámoltatok egy számlálót 50-ig. Ekkor már csak 20kHz maradt. Ezt 10ig számoltatom a motorok esetében, és így lehet 4 előre és 4 hátra sebességet definiálni. A szervók esetében pedig 200-ig számoltatom őket, így kijön a 100Hz-es jel. és ezen belül a végállások úgy alakulnak, hogy 10 és 46 között állítom, hogy meddig van 5V-on a jel és a maradék időben 0V. Így 5 fokos felbontást lehet elérni, mivel 46-10=36 és a szervó 180fokot tud forogni, tehát 180/36=5 . Ezt innentől már könnyen lehet használni korlátlan számú szervó esetén is. A mi esetünkben 4 szervó lesz használatban, de a biztonság kedvéért most 8 szervóra méreteztem a dolgokat. Persze ezekhez a változtatásokhoz hozzá kellett igazítani a PC-s szoftvert is, hogy kompatibilisek legyenek egymással.
Ezenkívül átírtam a teljes kommunikációt, most úgy döntöttem, hogy egyelőre elegek lesznek a 6 byte-os üzenetek is. Az első bájt a címzett eszközé pl szervó vagy motorvezérlő, a második szervó esetén a szög, motorvezérlő esetén egy olyan érték, amely magában foglalja a sebességet, és a mozgás irányát. 3 sebességfokozat van minden irányban. A következő bájtban megadom az elfordulás szögét 0-180 fok közötti érték. A 4. bájtban a távolságot centiméterben. Mivel egy bájt az üzenet mérete és lehet hogy 255cm-nél többet szeretnénk menni, ezért az 5. bájtban lehetőség van még 255cm út elküldésére. Amennyiben kevesebb mint 255 cm-t szeretnénk megtenni akkor az 5. bájt üres marad. A 6. bájtban pedig egy 255 értékű lezáró bájtot küldünk.
A grafikus útvonaltervező cuccost is teljesen ehhez a sémához igazítottam, így az már pontosan legenerálja és elküldi a parancsokat a kontrollernek.
Következő feladat az lesz, hogy a kontrollerben létrehozzak egy FIFO-t aminek a segítségével lehetőségem nyílik rá, hogy több üzenetet leküldjek egymás utána kontrollerbe és azok ott tárolódjanak, és sorban amint az előző véget ért, végrehajtódjanak. Remélem hamarosan ez is meglesz.
Megírtam a megszakításvizsgálatot az elfordulás érzékelésére. Egy inkrementális jeladót fogunk használni erre a célra ha minden igaz, illetve oldalanként egyet. Így tudjuk majd mérni a kanyarodást is, illetve az előre/hátra haladást is. Az INT0 és INT1 megszakítás vektorát használtam fel a 8bites ATmega32-nek.
A szervómotorok vezérlését a motorokvezérléséhez felhasznált órajelhez kellett igazítani. Mivel a szervónak 10ms periódus idejű jel kell aminek 1-2 ms között van 5V-on a jel a maradék időben pedig 0-n, ezért leosztottam a prescalerrel a főórajelet 8-al. 8MHz esetében ez 1MHz-et eredményez. Ezzel a sebességgel elszámoltatok egy számlálót 50-ig. Ekkor már csak 20kHz maradt. Ezt 10ig számoltatom a motorok esetében, és így lehet 4 előre és 4 hátra sebességet definiálni. A szervók esetében pedig 200-ig számoltatom őket, így kijön a 100Hz-es jel. és ezen belül a végállások úgy alakulnak, hogy 10 és 46 között állítom, hogy meddig van 5V-on a jel és a maradék időben 0V. Így 5 fokos felbontást lehet elérni, mivel 46-10=36 és a szervó 180fokot tud forogni, tehát 180/36=5 . Ezt innentől már könnyen lehet használni korlátlan számú szervó esetén is. A mi esetünkben 4 szervó lesz használatban, de a biztonság kedvéért most 8 szervóra méreteztem a dolgokat. Persze ezekhez a változtatásokhoz hozzá kellett igazítani a PC-s szoftvert is, hogy kompatibilisek legyenek egymással.
Ezenkívül átírtam a teljes kommunikációt, most úgy döntöttem, hogy egyelőre elegek lesznek a 6 byte-os üzenetek is. Az első bájt a címzett eszközé pl szervó vagy motorvezérlő, a második szervó esetén a szög, motorvezérlő esetén egy olyan érték, amely magában foglalja a sebességet, és a mozgás irányát. 3 sebességfokozat van minden irányban. A következő bájtban megadom az elfordulás szögét 0-180 fok közötti érték. A 4. bájtban a távolságot centiméterben. Mivel egy bájt az üzenet mérete és lehet hogy 255cm-nél többet szeretnénk menni, ezért az 5. bájtban lehetőség van még 255cm út elküldésére. Amennyiben kevesebb mint 255 cm-t szeretnénk megtenni akkor az 5. bájt üres marad. A 6. bájtban pedig egy 255 értékű lezáró bájtot küldünk.
A grafikus útvonaltervező cuccost is teljesen ehhez a sémához igazítottam, így az már pontosan legenerálja és elküldi a parancsokat a kontrollernek.
Következő feladat az lesz, hogy a kontrollerben létrehozzak egy FIFO-t aminek a segítségével lehetőségem nyílik rá, hogy több üzenetet leküldjek egymás utána kontrollerbe és azok ott tárolódjanak, és sorban amint az előző véget ért, végrehajtódjanak. Remélem hamarosan ez is meglesz.
2010. április 4., vasárnap
Mechanika fejlesztés I.
A tegnapi napon sikeresen előrébb jutottam a robot mechanikai feladataival. Ami fontos az az, hogy a 11 cm átmérőjű kerék használata megoldható egész kicsi beavatkozással (bár az 5 mm átmérőjű tengely okoz majd némi fejtörést). A kameramozgató szinte készen van, még hátra van a kamerát tartó konzol legyártása ami a kamera nélkül nehezen lenne kivitelezhető, valamint az, hogy pontosan hol is legyen a roverre elhelyezve. Az elhelyezés valószínűleg akkor tisztázódik, amikor már minden részegység elkészül. A kameramozgató tulajdonképpen 3 db egymásra épített szervomotor, így vízszintes irányban kb. 400 fokos függőlegesen pedig kb. 200 fokos a mozgási tartomány. A dolog szépséghibája annyi, hogy mivel az egyik fémtengelyes szervo a kolégiumban maradt így azt kellett használnom ami van. Tehát most a függöleges mozgatásért felelős motorok műanyag tengelyűek. A tesztek során a jobban igénybevett szervot majd fémtengelyesre cseréljük.
2010. március 30., kedd
Tesztelés videó
Íme a teszt során készült videó, nézzétek el a kamerázást, nehéz volt egyszerre mindent csinálni, és még a kamerát is nézni közben.
Tesztelés
Hát újra itt.
Ma nem volt sok időm a roverrel foglalkozni, úgyhogy azt a kevés időt amit rászántam teszteléssel töltöttem.
Lementem az udvarunkra, ami kb a versenykiírásnak megfelelő méretű kövekkel van borítva, és kipróbáltam hogy viselkedik a kis 4 kerekű a köveken. A motorvezérlő a hosszasabb kínzás után sem volt 30foknál melegebb így tapintásra, úgyhogy ennek nagyon örültem, az egyszerű kis pc-s vezérlő program segítségével nézegettem, hogy hogy tud mozogni a köveken. Sajnos a fordulással még sík talajon is probléma van, ez valami mechanikai baj lehet, amit majd orvosolni kell, illetve a kerekek sem bizonyultak elég rátemettnek a feladatra, ezért most lázasan kerék keresésbe fogtunk. Az eredeti tervünkben lánctalp szerepelt, de mivel nem találtunk igazán megfelelőt ezért maradtunk a kerekes megoldásnál. Lánctalpat RC tankhoz valót kb 20 ezer forintért találtunk, máshoz valót meg nem találtunk megfelelő méretűt. A kerekek néha kipörögtek a köveken, ami azért baj, mert így nem lehet majd pontosan mérni az elfordulást illetve a távolságokat, illetve nem hatékony a mozgás. Ezenkívül nehezítette a tesztelést, hogy a próbapanel illetve a zigbee modul nem volt rögzítve és a rázós úton kis híján leestek a roverről. Ez nyilván később nem lesz probléma, ha minden a végleges helyére kerül, de a tesztelést most nagyban megnehezítette. Az akkumulátor rögzítésére is kell találnunk valami megoldást, mert menetközben elkezdett hátrafelé kicsúszni az is. Megpróbálok mindjárt egy videót is feltenni, ha sikerül az eredményt feljebb fogjátok látni.
Ma nem volt sok időm a roverrel foglalkozni, úgyhogy azt a kevés időt amit rászántam teszteléssel töltöttem.
Lementem az udvarunkra, ami kb a versenykiírásnak megfelelő méretű kövekkel van borítva, és kipróbáltam hogy viselkedik a kis 4 kerekű a köveken. A motorvezérlő a hosszasabb kínzás után sem volt 30foknál melegebb így tapintásra, úgyhogy ennek nagyon örültem, az egyszerű kis pc-s vezérlő program segítségével nézegettem, hogy hogy tud mozogni a köveken. Sajnos a fordulással még sík talajon is probléma van, ez valami mechanikai baj lehet, amit majd orvosolni kell, illetve a kerekek sem bizonyultak elég rátemettnek a feladatra, ezért most lázasan kerék keresésbe fogtunk. Az eredeti tervünkben lánctalp szerepelt, de mivel nem találtunk igazán megfelelőt ezért maradtunk a kerekes megoldásnál. Lánctalpat RC tankhoz valót kb 20 ezer forintért találtunk, máshoz valót meg nem találtunk megfelelő méretűt. A kerekek néha kipörögtek a köveken, ami azért baj, mert így nem lehet majd pontosan mérni az elfordulást illetve a távolságokat, illetve nem hatékony a mozgás. Ezenkívül nehezítette a tesztelést, hogy a próbapanel illetve a zigbee modul nem volt rögzítve és a rázós úton kis híján leestek a roverről. Ez nyilván később nem lesz probléma, ha minden a végleges helyére kerül, de a tesztelést most nagyban megnehezítette. Az akkumulátor rögzítésére is kell találnunk valami megoldást, mert menetközben elkezdett hátrafelé kicsúszni az is. Megpróbálok mindjárt egy videót is feltenni, ha sikerül az eredményt feljebb fogjátok látni.
2010. március 29., hétfő
Távirányítós autó
Ma már végre sikerült összerakni a rovert mind a két motorvezérlővel. Tegnap még voltak olyan problémák, hogy ha mentek a motorok, akkor nagyon hamar felforrósodtak a FET-ek a motorvezérlő panelen, de most már kideült, hogy az én hibám volt, mivel azt hittem a vezérlő jelemről, hogy kb 10kHz-es négyszögjel, az inkább 100Hz nagyságrendű volt. Ez a motoroknak sem tesz jót, illetve a motorvezérlő is nagyon melegszik ilyenkor. Most sikerült feltornásznom a jelet kb 4kHz-re. Többre szerettem volna, de ahhoz hogy az én módszeremmel elő tudjak állítani szoftveresen PWM (Pulse Width Modulation) jelet, ahhoz nagyon gyors timer megszakításra van szükség a mikrokontrollerben, és ha túl gyorsan érkeznek a megszakítások, akkor sosem kerül sor az Usart-tól érkező megszakítások kezelésére, annak ellenére sem, hogy az Usart megszakítás kezelése közben tiltom a többi megszakítást. Ezért 4kHz-es jelet használunk most, ami teljesen megfelel a célnak, annyi a baj vele, hogy a 4kHz-et szépen lehet hallani menet közben, míg ha 20kHz-ünk lenne, akkor az nem bántaná a fülünket. Egyelőre azt hiszem ennyi belefér. Kicsit átírtam a vezérlő programomat, létrehoztam 10 különböző állapotot, mindegyikhez rendeltem egy gombot a PC-s programon, így az adott gombra kattintva elküldi a program a megfelelő üzenetet a Zigbee- modulon keresztül, ezt megkapja a rover és ennek megfelelően végrehajtja azokat a feladatokat amik ahhoz az állapothoz tartoznak.
Van 3 előre sebességünk, egy stop ( ilyenkor a motor vezérlőnek van egy tiltó lába, ezt 0-ba teszem, így nem vesz fel áramot a cucc állóhelyzetben meg nem sípoltatja feleslegesen a motorokat) van 2 hátramenetünk, 2 balra kanyarodási sebességi fokozat illetve 2 jobbra kanyarodási fokozat. Sajnos már késő van és elég hangos egyelőre a móka, úgyhogy csak gyorsan a talajtól megemelve kipróbáltam a cuccot, hogy működik e, szerencsére minden működik tökéletesen, de videó készítésére már nem maradt időm, de szerintem holnap csinálok egy kis ízelítőt. Persze én is kíváncsi vagyok hogy kanyarodik, egyenesen menni már láttam, de kanyarodni még nem. Még nincs teljesen belőve az első híd ami a felfüggesztést és a rugózást adja, ezért sajnos nem 100%-ig egyenesen megy a rover, de ez majd javításra kerül hamarosan. Azt hiszem mára ennyi újdonsággal sikerült szolgálni, remélem holnap is lesz egy kis időm fejlesztgetni a cuccot! Zárom is soraimat, köszi hogy végigolvastad a mai bejegyzést, remélem tetszett, és hasznosnak találtad.
Van 3 előre sebességünk, egy stop ( ilyenkor a motor vezérlőnek van egy tiltó lába, ezt 0-ba teszem, így nem vesz fel áramot a cucc állóhelyzetben meg nem sípoltatja feleslegesen a motorokat) van 2 hátramenetünk, 2 balra kanyarodási sebességi fokozat illetve 2 jobbra kanyarodási fokozat. Sajnos már késő van és elég hangos egyelőre a móka, úgyhogy csak gyorsan a talajtól megemelve kipróbáltam a cuccot, hogy működik e, szerencsére minden működik tökéletesen, de videó készítésére már nem maradt időm, de szerintem holnap csinálok egy kis ízelítőt. Persze én is kíváncsi vagyok hogy kanyarodik, egyenesen menni már láttam, de kanyarodni még nem. Még nincs teljesen belőve az első híd ami a felfüggesztést és a rugózást adja, ezért sajnos nem 100%-ig egyenesen megy a rover, de ez majd javításra kerül hamarosan. Azt hiszem mára ennyi újdonsággal sikerült szolgálni, remélem holnap is lesz egy kis időm fejlesztgetni a cuccot! Zárom is soraimat, köszi hogy végigolvastad a mai bejegyzést, remélem tetszett, és hasznosnak találtad.
2010. március 25., csütörtök
Hatalmas áttörés!!!
Hát örömmel jelenthetem, hogy a mai nap volt az eddigi talán legtermékenyebb a projekt rám eső részét tekintve eddig. Szinte az egész napom bütyköléssel telt, de megérte a fáradtságot, mert kezd talpra állni a dolog:) Sikerült valami csoda folytán ma végre életet lehelni a Zigbee-s modulokba. A számítógéppel eddig is tudtam velük kommunikálni, de valamiért a mikrokontrollerrel nem ment a kommunikáció. Annak ellenére, hogy ma sem csináltam elvileg semmit sem másként, mint eddig, most tökéletesen működik a kommunikáció az eszközök között. Sajnos egy kis szerencsétlenség is történt a sok jó mellett, gyakorlatilag nem értem, hogy miért, de a kis (TÁP) panelem, ami gyakorlatilag 12V-os bemenő feszültségből feszültség regulátorok illetve egy kis elektronika segítségével állított elő 5, 6, illetve 7,5-11,5 V-ig változtatható feszültséget, némi füst kíséretében megadta magát. Majd meg kell nézni mi történt, remélem van ami menthető belőle... Visszatérve a sikerekhez, összeraktam ma a vezérlő részeket egy dugdosós próbapanelre, összeraktam az opto leválasztókat, hogy a motorvezérlő panel és a vezérlő rész galvanikusan le legyen választva, illetve sokat vezetékeztem, meg csatlakozókat gyártogattam, hogy minden moduláris és cserélhető legyen. Fontos szerintem a modularitás egy ilyen versenynél, ha valami elszáll, akkor azt minden forrasztgatás meg csavarozgatás nélkül ki kell tudni cserélni. Mint azt a képen is láthatjátok, ez csak kipróbálás jellegű konstrukció egyelőre, az akksinak van helye a rover aljában, meg rendezettebbek lesznek a kábelek, meg nem lesz dugdosós panel stb... stb... de itt még csak a kipróbálásnál tartunk. Sajnos egyelőre számomra még ismeretlen okok miatt nem működik az egyik oldali motorvezérlő, ennek majd utána kell még nézni, hgoy mi lehet az oka, illetve nem egészen azokat a parancsokat küldöm ki, amiket szerettem volna, ezért a reakciók sem azok amiket várok a rovertől, mindenesetre most 3 parancsot tud a robot kezelni, és ez jelen esetben 3 sebességfokozatként van értelmezve a robot szemszögéből. Hát azt hiszem mára ennyit a technika újdonságairól, holnap biztos nem, de a hétvégén remélem sikerül tovább haladnom a dolgokkal, természetesen arról is majd beszámolok.
Ágyő
Ágyő
2010. március 24., szerda
Aktuális folyamatok
Igazából tegnap óta sok minden nem történt, úgy néz ki végre, hogy a PC-n futó Perl-es programban végre sikerül összehozni, hogy egy fényképen útvonalat lehessen kirajzolni, és ebből parancsokat generálni majd a robot számára, hogy az útvonalat le tudja követni. Ezzel szeretnénk egyrészt megvalósítani az irányítást, másrészt saját számítások, illetve tippelések alapján is lehet majd irányítani a rovert ha minden jól megy.
Hamarosan megpróbálok felrakni pár képet az eddigi elkészült részegységekről.
Hamarosan megpróbálok felrakni pár képet az eddigi elkészült részegységekről.
2010. március 23., kedd
Ez az első bejegyzés a MASTER csapat blogjában!!!
Kedves Olvasóm!
Ezen az oldalon hasznos információkra tehetsz szert a későbbiekben, ha esetleg érdekelt vagy robotikában, programozásban, mikrokontrollerek programozásában, különböző motorok meghajtásában stb...
Mivel sokan mondtátok, hogy dokumentálni kéne, hogy haladunk a Mars projekttel, ezért végül úgy döntöttem, hogy csinálunk egy egyszerű kis blogot, ahol lehet majd követni, hogy hol is tartunk. Nem a kezdetektől fogom írni a blogot, már lassan 2 hónapja zajlanak az előkészületek, de még a nagyja így is hátra van. Remélem mindenki talál majd izgalmas és hasznos részeket a mi kis blogunkon, és mi is örömünket fogjuk lelni az írásában.
Dióhéjban egyelőre annyit, hogy a csapatunk neve: MASTER (MArsi Spóra és Talaj Elemző Rover)
Tagok: Fábián Attila, Kerekes Zoltán, és én Kerékgyártó Gergely (későbbiekben Kero)
Feliratkozás:
Bejegyzések (Atom)
