Přepnout na navigaci

SOČ 2017 Petr Bobčík - Nadstavbová deska pro robota Pololu 3pi

Cílem této práce je návrh nadstavbové desky (shieldu) v podobě DPS a nárazníku, pro robota Pololu 3pi, který by jej posunul o několik úrovní. Konstrukce robota je od výrobce optimalizována na soutěžní disciplínu „sledování čáry“, kde robot dosahuje výborné výsledky a nemá mezi komerčně dostupnými produkty téměř žádnou konkurenci. Abych ho mohl použít na složitější variantu sledování čáry, kde byly přidány překážky, odbočky a rozpojky, tak jsem se rozhodl 3pi doplnit potřebné funkce. Jelikož v průběhu několika let prokázal své kvality, rozhodl jsem se využít podvozek tohoto robota a můj shield na něj pouze nasunout.
Po své desce jsem požadoval detekci nárazů, orientace v prosotru, určení své polohy, správu napájení a možnost nabíjet robota bez nutnosti odpojovat baterie. Klíčovou schopností je také jednoduchá tvorba uživatelských programů, který si může uživatel nahrát pomocí přidavného procesoru, dle jeho preferencí. Celou práci, včetně schémat, modelu robota a textu, si můžete stáhnout.

Obsah:

Pololu 3pi

Robot Pololu 3pi je velmi rychlý, komerčně dostupný robot, určený především pro soutěžní disciplínu „sledování čáry“.

Výbava robota

Robot obsahuje dva zpřevodované elektromotory, které mu umožní s jeho hmotností a výbavou, jet až 1m/s. Obsahuje 9 senzorů odrazivosti, které umožňují snímání černé čáry. O výpočetní výkon a řízení celého robota se stará procesor ATmega328P, od firmy Atmel. Nabíjení zajišťují 4 mikrotuškové baterie (AAA). Potřebné údaje se dají zobrazit na displeji, který dokáže vypsat až 8x2 znaků (8 znaků na řádek).

Deska samotného robota má průměr 95 mm. Celková hmotnost bez baterií je 83 g.

Pololu 3pi to vhodný pro začínající programátory, kteří se chtějí od začátečních robotů, například legových robotů ze stavebnice Mindstorm, posunout o kousek dále a chtějí se naučit programovací jazyk C++.

O projektu

Již několik let jezdím s Robotárnou na soutěže v České republice, kde jsme robota Pololu 3pi několikrát využívali. Je navržen na standardní variantu soutěžní disciplíny „sledování čáry“. Úkolem je, sledování černé čáry a jízda po ní. Na tuto disciplínu neměl téměř konkurenci. V průběhu let se na mnoha soutěžích tato disciplína změnila na „najdi čáru“. Na dráze přibyly rozdvojení, křižovatky, přerušení a překážky. Na tyto varianty není již Pololu 3pi stavěno a neobsahuje potřebné funkce (senzory). 

Proto jsem se rozhodl návrhnout nadstavbovou desku (shieldu), v podobě DPS a nárazníku pro robota Pololu 3pi. Tento shield by mu umožnili zařazení do soutěžní disciplíny „najdi čáru“ i do ostatních soutěží, jako třeba „myš v bludišti“. Dalším využitím by, kromě již uvedených disciplín, mohla být pomucka při výuce. Můžeme na něm názorně ukázat funkčnost přidaných senzorů, a také zjednodušit tvorbu studentských projektů. Propojení teorie s názornou ukázkou je vždy lepší než pouhá teori.

Požadované funkce

  1. zjištění své pozice (natočení, posunutí, …), přidáním enkodérů, gyroskopu, magnetometru a akcelerometru
  2. orientace, detekování překážky nebo cizího předmětu v okolí robota díky IR senzorům
  3. možnost vypnout robota při neočekávané, či nežádoucí činnosti
  4. detekce nárazu do překážky a určení místa kolize (zda robot narazil přímo nebo zboku, …), pomocí nárazníku s nárazovými (indukčními) senzory
  5. možnost připojení přídavné desky pro zvýšení výpočetního výkonu a vybavení robota
  6. oddělení uživatelského programu a mého hlavního řídicího (časově kritického) programu
  7. napájení pomocí Li-pol baterií (pro snížení váhy robtoa)

V části napájení bylo nezbytné navrhnout:

Elektronika

Hlavním cílem této práce bylo navržení DPS (Deska Plošného Spoje). Tato deska obsahuje následující součástky:

  1. 1x Procesor AVR Xmega A1
    1. 8/16-bitový mikrokontrolér
    2. 2kB paměti EEPROM
    3. 32MHz
    4. 100 pinů
  2. 2x Enkodér AS5047P - 14-bitový rotační magnetický enkodér
  3. 1x Inerciální pohybová jednotka (IMU) – Gyroskop, akcelerometr, magnetometr a signálový procesor v čipu MPU-9250
  4. 9x IR senzor: a. vysílač – 3 mm IR LED L-934F3C b. přijímač – 3 mm fototranzistor L-93DP3BT
  5. 1x Přídavná deska (FRDM KL25Z, FRDM KL46Z, FRDM K64F nebo Arduino Uno)
  6. 1x Čip pro zpracování hodnot z indukčního senzoru LDC1614_WQFN
  7. 1x Nabíjecí čip MCP73831T
  8. 1x Micro-USB
  9. 1x Step-up TPS61236
  10. 2x Stabilizátory TPS73033DBV

Schémata

Jako ukázku jsem si zvolil dvě schémata, které jsou součástí shieldu. Kompletní technickou dokumentaci k tomuto shieldu si můžete stáhnout.

Prvním schématem je zapojení CPU (AVR Xmegy).

Druhým schématem je napájení robota Pololu 3pi. Součástí tohoto zapojení je ochrana proti přepólování, spínání celkového napájení i napájení pro samotného robota, měření proudu a napětí.

Realizace

Vytvořil jsem 4 vrstvou desku, která obsahuje všechny zmíněné funkce. Navrhnul jsem také externí desku pro enkodér (viz níže) a indukční senzor. Obě se k nadstavbové desce přichytí pomocí pinhedů.

Enkodér

Slouží ke zjištění ujeté vzdálenosti, natočení jednotlivých kol a pro realizaci PID regulátoru.

Indukční senzor

Pro detekování nárazů jsem se rozhodl použít indukční senzor. Měření indukčnosti zajišťoval čip LDC1614. Pomocí kovového prstence na vnější straně nárazníku je robot schopen detekovat náraz.


Nárazník

Nárazník je nezbytnou součástí zmíněného robota. Bez něj dochází k ničení robota nárazy do překážky. Dále také ničení senzorů odrazivosti, při prutkém zabrzdění robota, kdy se vlivem setrvačnosti překlopí a narazí jimi do podlahy. Přidáním mého nárazníku by umožnilo ochranu robota a senzorů proti nárazu, a také by se k němu daly přichytit destička s indukčními senzory.

Vzniklo zde několik návrhů. U těchto nárazníku jsem za požadavek lehkost, odolnost, kruhový tvar a snadná odjímatenlnost. Tyto požadavky splňuje poslední návrh, který můžete viděn na obrázku níže.

Kolem tohoto nárazníku se přidá tlumící pěna, která bude tlumit nárazy. Pro správnou funkci indukčních senzorů se po celém obvodu této pěny přochytí i měděnná fólie.

Závěr

V této práci jsem navrhl shieldu v podobě DPS a nárazník. Deska byla navrhnuta v programu Eagle. Celý robot byl pro testovací účely navrhnut, i s nárazníkem, v program SolidWorks.

Seznam funkcí, které jsou na mém shieldu navrženy:

  1. zařízení ke zjištění své pozice (natočení, posunutí, …) pomocí:
    1. enkodéru
    2. gyroskopu
    3. magnetometru
    4. akcelerometru
  2. konstrukci pro uchycení enkodérů
  3. IR senzor pro detekci překážky
  4. indukční senzory pro detekci nárazu a přibližného místa kolize
  5. nárazník k ochraně robota před nárazy a uchycení indukčních senzorů
  6. kompatibilita s různými přídavnými deskami, pinově kompatibilní s Arduino UNO (např.: FRDM KL25Z, NUCLEO-F103RB)
  7. nabíjení pomocí Li-pol baterií, včetně:
  8. ochrana proti přepólování
  9. spínání hlavního napájení
  10. spínání napájení pro 3pi
  11. měření proudu a napájení

Díky této práci bude robot Pololu 3pi univerzálnější než doposud. Dalším zlepšením do budoucna by mohlo být například vytvořit vlastního “3pi“ podvozku. Tento podvozek by umožnil odebrání jednoho procesoru, který je na základním modelu robota.

Finální podoba

Vizualizace z programu SolidWorks

Ve skutečnosti

Aktuální informace

finální podoba schémat

26.1.2017 - začátek routování

1.3.2017 - dokončení routování DPS

2.3. 2017 - DPS odeslány do výroby

9.3.2017 - DPS dorazily z výroby

10.3.2017 - začátek pájení

25.3.2017 - dopájeno

Nyní probíhá programování a zkouška jednotlivých senzorů.

Úspěchy

Okresní kolo SOČ 5.4.2017 - 2. místo

Prezentaci k obhajově okresního kola můžeta najít zde.

Video prezentace

 

Záznam prezentace z okresního kola SOČ 2017 v Brně.

Poděkování

Na závěr bych rád poděkoval lidem, kteří mi s touto prací pomáhali:

Jaroslavu Páralovi

Za vedení této práce, obětavou pomoc, ať už při návrhu, tak při textové části práce, a také za velkou trpělivost.  

Ing. Jiřímu Váchovi a Ing. Jakubovi Streitovi 

Za technickou pomoc, podnětné rady a poskytnutí pracoviště pro realizaci desky.

Tato práce vznikla za finanční podpory JCMM a Jihomoravského kraje. Veškerá činnost na projektu probíhala na Robotárně (pobočka Dětského domu mládeže Brno, Helceletova).

 

Poslední editace proběhla 2017-04-08 01:54:12 uživatelem Jarek Páral

nahoru