PICnick
minden, ami elektronika, de legfőképp mikrovezérlő

plc.mechatronika.hu
www.microchip.com

www.chipcad.hu

 

Idézetek

"Nem a rendkívüli éleslátás teszi naggyá az államférfit, hanem a jelleme."

Voltaire

 

"A kérdés, ami néha elbizonytalanít: én vagyok őrült, vagy mindenki más?"

Einstein

 

"Nem vagyok én olyan okos, csak többet foglalkozom a problémákkal."

Einstein

 

Nem érti ezt az a sok ember,
Mi áradt itt meg, mint a tenger?
Miért remegtek világrendek?
Egy nép kiáltott. Aztán csend lett.
De most sokan kérdik: mi történt?
Ki tett itt csontból, húsból törvényt?
És kérdik, egyre többen kérdik,
Hebegve, mert végképp nem értik -
Ők, akik örökségbe kapták -:
Ilyen nagy dolog a Szabadság?

Márai Sándor


Mars Rover

 

Csapat név: Planet Express

 

Robot név: A.P.C. (Armoured Personnel Carrier)

 

Csapattagok:

 

Bernard Balázs - PC oldali programozás

Turczel József - robot építés, NYÁK tervezés, NYÁK gyártás

Kerényi Pál - robot építés, NYÁK tervezés, NYÁK gyártás, uC oldali programozás

 

Képek:

 

 

 

Köszönet a képekért a M.M.C.-nek és Sipos Attilának

 

Videok:

 

 

Ahogy a programozó látta

A kapitány naplója

 

Robot leírás:

A fejlesztés alatt az alacsony költség mellett a minél hatékonyabb robotot próbáltuk megvalósítani. Sok minden előkerült a megbeszélések alatt, de általában mindhez nagy áramfelvétel, nagy súly, és magas költség tartozott.

Mint minden más csapat, mi is számba vettük a külön földi és külön vízi meghajtást. Meg is vettük a vízi meghajtáshoz az alkatrészeket és ki is próbáltuk, de súlyuk és áramfelvételük miatt döntöttünk amellett, hogy olyan kereket kell csinálni, ami vízen és szárazföldön, vagyis fagyot vízen is megállja a helyét.

A fejlesztési költség, mint minden új fejlesztésű robotnál többszöröse, több tízszerese a kész robot alkatrész költségének.

 

Meghajtás:

Minél könnyebb robotot építünk, annál kevesebb teljesítmény kell a mozgatásához, és annál kisebb akku cellát kell cipelni. Ezen a gondolatmeneten elindulva a robot törzsét annyira leredukáltuk, hogy nem maradt a robotnak törzse csak a 4 szervót tartó két kereszttartó és az őket összekötő főtartó.

A meghajtásnál fontosnak éreztük, hogy mind a 4 kerék érje a talajt, mivel így számítható ki legjobban a robot mozgása, ezért a főtartót vékony, keskeny nyáklemezből készítettük, hogy könnyen elcsavarodhasson ezzel megvalósítva a rugalmas kerékfelfüggesztést.

 

Rádió kommunikáció:

Az adatátvitelt az HOPE RF cég adóvevő moduljával valósítottuk meg. Ennél gyengébb minőségű ISM sávú szeméttel nem hiszem, hogy bárki is találkozott volna. Half-duplex kommunikáció és 434MHz-en 150 m szabadtéri hatósugárral van hirdetve a Chipcad Kf.t -nél.

A modulhoz tartozó leírás, nem is köszön a valóságnak. A lábkiosztáson kívül a leírásban minden más hibás. A RESET láb nem RESET-eli le a modult. Feszültség esés esetén a modul elfelejti a beállított (EEPROM-ba égetett) rádió és kommunikációs paramétereket.
A konfiguráló program egyik adatbeviteli ablakának nincsen neve, tehát nem lehet tudni, hogy ott milyen paramétert kell megadni. Itt csak a logika és a programozói rutin segít.

A modul felprogramozása a leírásban közölt kapcsolás szerint lehetetlen, Az ENABLE-lábat hol magasba, hol alacsonyba kell húzni, attól függően hogy programozási módban, vagy normál kommunikációs módban vagyunk.

A MODE-select láb a leíráshoz képest pont ellentétesen működik, stb. első nekifutásra csak ennyi hiba ugrik be, amin napokat szívtam mire rájöttem, és közben az HOPE RF cég címeres mérnökeit illetve azoknak közeli felmenőit szidtam.

Mivel a távrecsegő modul alkalmas 315, 434, 868, 915 MHz- en is kommunikálni minden sávon +-10 kHZ eltolást lehet vele megvalósítani 100Hz es lépésekben. Tehát több ezer csatorna címezhető vele. De sajnos feszültség eséskor véletlenszerűen áll be valamire.

A modul egyetlen törvényt tart be, és az Murphy-törvénye, hogy mindig legalább olyan messzi random csatornára és kommunikációs módra álljon át, ahova biztos, hogy nincs áthallás adó és vevő között

A hozzá vett 434-es antennával a két modul, jó ha szabadtéren a 20m-t átvitte a 150m helyett.

A HALF DUPLEX kommunikációt annyira komolyan vették a modulon szunnyadó Atmel chip programozói, hogy ha adás közben az Atmel chip vételt is érzékel kifagy benne a program, amit a RESET lábbal nem lehet újraindítani, hanem teljes hideg indításra van szüksége.
Tehát TÁP KI várakozás TÁP BE. Ezt úgy kerültem meg, hogy ha sokáig nem jött adat a rádiótól akkor az azt jelenti, hogy már megint lehalt a modul, és ilyenkor egy FET-tel kapcsoltam a  tápját ki és be.

Ez a csodálatos rádió modul a katalógusban leírt áramfelvétel többszörösét zabálta,
nagyjából 100mA-t 5V-os feszültség mellett, ha volt kommunikáció ha nem. A rádió modul csak akkor volt képes adatot fogadni, ha minden szervo állt. Bárhogy próbáltuk szűrni a tápon a tüskéket a modul annyira érzékeny volt, hogy kényszerből le kellett állítanunk a szervókat adott időközönként hogy a rádió venni tudjon. Ezen nem segített a PWM frekvenciájának módosítása sem, sem az hogy 10 és 100nF-os zavarszűrő kondit tettünk a végén szinte már mindenhova.

 

Mért adatok:

A robotban több mérési funkciót is implementáltunk, de lekérdezésük problémás volt a rádió modul, kommunikációra alkalmatlan volta miatt, ezért benne volt ugyan a programban, de nem kérdeztük le a verseny alatt.

 

Belső lekérdezhető adatok:
Akkumulátor feszültség
StepUp feszültség
Aktiv futási idő
Stb.

 

A külvilágból információkat gyűjtő modul a versenyen nem került beépítésre mivel csak ballasztként szerepelt volna. Egyszeri lekérdezésével a robot irányításának elvesztését nem hogy kockáztattuk volna, hanem borítékolhattuk.

 

Marsi vezérlő és földi bázis program:

A PC oldali programok Bernard Balázs barátom és csapattársam remekművei! Visual Basic 6 alatt írta meg úgy, hogy előtte még sosem programozott basic-ben. A programok fél év alatt készültek el a versenyen használt félkész verzióig :) Aki már írt saját magának programot az tudja, hogy egy program mindig csak félkész, mindig talál benne az ember finomítani, bővíteni valót.

 

Mikrovezérlő program:

A mikrovezérlőben futó folyamatos csiszolást igénylő programot, én Kerényi Pál követtem el a robot ellen, természetesen ez sem lesz kész sosem. Itt is akad mindig egy két dolog, amit még bele kell préselni a tokba. A robotban egy darab PIC18F2520 as vezérlő csücsült a főtartó közepére felszerelt dobozban elhelyezett nyákon.

A négy darab kereket hajtó motort Full H Bridge IC-kkel illesztettük, amit software-es PWM el vezéreltem megszakításból, egyetlen TIMER felhasználásával.
Ennek előnye, hogy a fogaskerekeket kímélve, folyamatos felfutással lehetett indítani, és megállítani a motorokat.

Amennyiben nem lett volna elég ez a sebesség, az uC egyetlen lábával vezérelni lehetett a StepUp IC-t 3-féle feszültségszint előállítására. Erre a MARS felett keringő műhold képének lassú átvitele miatt nem volt szükség. Természetesen minden állítási lehetőséget távolról, rádión keresztül lehetett elérni. Beleértve a motorokra kapcsolt feszültségeket, valamit a robot elején és végén lévő irányfények megvilágítását.

 

Köszönet:

Juhász Róbertnek, aki tanácsaival és munkájával segítette a robot építését, az utolsó pillanatokban is.

 

Sipos Attilának, és csapatának a verseny megszervezéséért, hogy kiélhettük gyermeteg alkotó vágyainkat és összemérhettük tudásunkat.