VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY UNIVERZÁLNÍ ŘÍDÍCÍ JEDNOTKA PRO JEDNODUCHÉ ROBOTY UNIVERSAL CONTROL UNIT FOR SIMPLE ROBOTS
|
|
- Božena Beranová
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF RADIO ELECTRONICS UNIVERZÁLNÍ ŘÍDÍCÍ JEDNOTKA PRO JEDNODUCHÉ ROBOTY UNIVERSAL CONTROL UNIT FOR SIMPLE ROBOTS DIPLOMOVÁ PRÁCE MASTER S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. Viktor Obr Ing. Milan Štohanzl BRNO, 2014
2 2
3 Abstrakt Text této diplomové práce se zabývá návrhem univerzální řídící jednotky pro jednoduché roboty. V první části jsou představeny některé z robotických soutěží, které se pořádají s cílem popularizovat robotiku. Další část popisuje konstrukci a jednotlivé části jednoduchých robotů používaných v těchto soutěžích. Třetí část pak obsahuje popis použitých součástek a celkové zapojení řídící jednotky spolu s návrhem desky plošného spoje a jejím osazením. Další část se věnuje stavbě demo-robota s touto řídící jednotkou. Poslední část se pak zabývá návrhem softwaru pro tuto jednotku a ověřením její funkčnosti. Klíčová slova Robot, řídící deska, servo, ATmega32A, OBS418, GP2Y0A41 Abstract The text of this master s thesis deals with designing universal control unit for simple robots. In the first part of the thesis there is a list of robotics competitions which are organized to popularize robotics. The next part describes construction and individual components of simple robots used in these competitions. The third part includes description of parts used on this unit and its whole scheme together with its circuit board layout and mounting. The fourth part deals with construction of simple demo-robot with this control unit. The last part describes the software designing for the unit and checking its functionality. Keywords Robot, kontrol unit, servo, ATmega32A, OBS418, GP2Y0A41 3
4 Bibliografická citace OBR, V. Univerzální řídící jednotka pro jednoduché roboty. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, s. Vedoucí diplomové práce Ing. Milan Štohanzl. 4
5 Prohlášení Prohlašuji, že svou diplomovou práci na téma Univerzální řídící jednotka pro jednoduché roboty jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. V Brně dne 23. května podpis autora Poděkování Děkuji vedoucímu semestrálního projektu Ing. Milanu Štohanzlovi za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mého semestrálního projektu. V Brně dne 23. května podpis autora 5
6 Obsah Úvod Robotické soutěže Robotour Robotem rovně RoboOrienteering Eurobot Field Robot Event Robot Challenge International Aerial Robotics Competition (IARC) Součásti robotů Pohon Senzory Interní senzory Externí senzory Komunikace s operátorskou stanicí Arduino Požadavky na řídící jednotku a návrh Mikrokontrolér Řízení serv Řízení motorů Napájení Celkové schéma zapojení Návrh plošného spoje Konstrukce demo-robota Mechanická konstrukce demo-robota Senzory a další vybavení IR detektory překážek Software robota Knihovna adc.c Knihovna bt.c Knihovna irsense.c Knihovna motor.c Knihovna servo.c Knihovna mpu6050_twi.c Hlavní soubor main.c
7 Formát vstupních a výstupních dat Zpracování dat funkcí main() Ovládací aplikace pro PC Závěr Použitá literatura Seznam zkratek Seznam obrázků a tabulek Seznam příloh
8 Úvod Tématem této diplomové práce je návrh univerzální řídící jednotky pro jednoduché roboty. Práce obsahuje přehled robotických soutěží, které se pořádají jak pro úplné začátečníky, tak pro týmy zastupující světové univerzity. Na základě požadavků kladených na tyto soutěžní roboty a jejich konstrukci je vytvořen přehled používaných typů robotů, senzorů a způsobů bezdrátové komunikace. Cílem práce je vytvoření řídící jednotky s mikrokontrolérem ATmega32A, kterou bude po připojení libovolných součástí (např. senzorů, serv) možno využít pro stavbu autonomního robota schopného samostatného pohybu mezi překážkami. Ten by také měl posílat naměřená data do počítače pro další zpracování. Při návrhu desky je nutné zohlednit různá rozhraní používaná u senzorů a komunikačních modulů v robotice. Součásti práce je tak i vytvoření knihoven pro tato rozhraní a ověření jejich funkčnosti. 8
9 1 Robotické soutěže Na světě se pořádá velké množství různých robotických soutěží. Většina z nich je organizovaných samotnými fanoušky robotiky, popř. ve spolupráci s univerzitami. Jde o soutěže pro široké spektrum účastníků, od začátečníků až po pokročilé, jednotlivce i týmy. Výjimečně se jedná o soutěže pořádané nebo zaštiťované přímo armádou nebo vládními organizacemi, na kterých tyto organizace loví nové zaměstnance. Jedná se tak o nejlepší způsob, jak nabýt nové zkušenosti s roboty, ale i ukázat své schopnosti potenciálním zaměstnavatelům. 1.1 Robotour Robotour je původem česká soutěž robotů pořádaná od roku 2006 v Praze, od roku 2009 je soutěž putovní, soutěžilo se už např. i v Brně, Bratislavě, nebo Vídni. Úkolem robotů je autonomně projet předem zadanou trasu parkem, aniž by vyjeli z cesty nebo narazili do překážek, navíc musí převézt i náklad (pětilitrový soudek piva, obr. 1). [2], [3] Obr. 1: Start soutěže Robotour 2010 [3] 1.2 Robotem rovně Soutěž pořádaná Radioklubem Písek od roku 2009 má velmi jednoduché zadání: dojet s robotem co nejdál po rovné dlážděné cestě parkem. Ale jak tvrdí sami organizátoři, rovně umí jet kde co, ale rovně prostě nejede nic. Soutěže se účastní roboti se senzory i bez nich (kategorie autíčka). [2] 1.3 RoboOrienteering Soutěž probíhá od roku 2010 v Rychnově nad Kněžnou, jedná se o orientační jízdu terénem pro roboty. Roboti musí přes dané kontrolní body dojet do cíle. [2] 9
10 1.4 Eurobot První ročník Eurobota se konal v roce 1994 ve Francii, od roku 1998 je soutěž putovní (konala se např. v Itálii nebo Švýcarsku). Kvůli omezenému počtu týmů z jednotlivých států se koná i národní kolo v ČR. Každý rok je zadání soutěže odlišné, ale v zásadě se podobají, vždy se jedná o zápas dvou robotů proti sobě, kteří mají za úkol třídit barevně odlišené koule (nebo puky) a umisťovat ty správné na svá pole (nebo do svých košů) a ty ostatní na pole soupeře. Úkoly se v podstatě liší jen tím, jaké hře se daný rok podobají (šachy, rugby atd., obr. 2). [2], [4] Obr. 2: Ukázka ze soutěže Eurobot [4] 1.5 Field Robot Event Od roku 2003 pořádaná putovní soutěž pochází z Nizozemí, poslední ročníky se však konají v ČR ve spolupráci s Českou zemědělskou univerzitou. Soutěž je motivována automatizací v zemědělství a roboti tak mají za úkol projíždět řádky pole, aniž by došlo k poškození rostlin, a detekovat napadené rostliny a plevel (v některých ročnících bylo za úkol plevel i postříkat). [2] 1.6 Robot Challenge Robot Challenge je rakouská soutěž pořádaná od roku 2004 ve Vídni s podporou a v prostorách rakouského ministerstva pro vědu. Soutěž má hned několik kategorií: Line Follower (jízda robotů po černé čáře na bílém podkladu na rychlost, s překážkami i bez nich), Puck Collect (sběr barevných puků), Robot Sumo (různé velikosti, roboti se navzájem vytlačují z kulaté arény, obr. 3) nebo Air Race (od roku 2012, sledování čáry ve tvaru osmičky pomocí létajícího robota). [2], [5] 10
11 Obr. 3: Mini Sumo na soutěži Robot Challenge 2009 [5] Kategorie Line Follower a Robot Sumo jsou velmi rozšířené a po celém světě se koná velké množství soutěží pouze pro tyto kategorie. O jejich oblíbenosti svědčí i to, že např. firma LEGO ve své řadě Mindstorms nabízí roboty určené pro soutěže ve sledování čáry. 1.7 International Aerial Robotics Competition (IARC) IARC je soutěž létajících robotů pořádaná AUVSI (Association for Unmanned Vehicle Systems International Mezinárodní asociace pro bezpilotní systémy) od roku 1990 v USA a Číně (zároveň). Je považována za jednu z nejtěžších robotických soutěží, tomu také odpovídá počet úkolů (misí), které byly za dobu její existence dokončeny. V roce 2013 se podařilo dokončit teprve šestou misi. Roboti měli v této misi za úkol vletět oknem do budovy, vyhnout se bezpečnostním kamerám, podle cedulek vedle dveří vletět do správné místnosti, ze stolu sebrat flash disk a nahradit ho jeho kopií a opět vyletět, to vše autonomně bez jakéhokoliv zásahu člověka. [2] 11
12 2 Součásti robotů Vzhled a vybavení robota závisí především na úkolech, které je schopen plnit. Většina robotů je konstruována pro konkrétní využití a obsahují pouze periferie nutné pro jejich provoz, aby byla jejich cena co nejnižší, ale také spolehlivost co nejvyšší. Při snaze vytvořit univerzální řídící jednotku je ale nutné zohlednit možnost použití různých periferií při konstrukci různých typů robotů. 2.1 Pohon Roboty lze z hlediska pohonu rozdělit na kolové, pásové, kráčející a další, kteří ovšem nejsou tak rozšíření (plaziví, skákající ). Koloví roboti mají nejčastěji diferenčně řízený dvoukolový (dvě hnaná kola s opěrou, nebo bez ní), tříkolový (dvě hnaná a jedno otočné opěrné kolo) nebo čtyřkolový podvozek (pohon všech čtyř kol). U větších robotů je v praxi používán tzv. Ackermanův podvozek (lze se s ním setkat i u automobilů), nejčastěji pak v uspořádání dvě zadní kola hnaná s diferenciálem a dvě přední řiditelná. Výhodou je větší průchodnost terénem, nevýhodou pak nemožnost otočení se na místě jako u diferenciálního podvozku. Ještě větší průchodnost terénem pak mají pásové podvozky, které jsou také založeny na diferenčním řízení, jen ne dvou kol, ale dvou pásů. Pohon pásů je však více energeticky náročný kvůli smyku, ke kterému dochází zejména při otáčení na místě. Kráčející roboti jsou nejčastěji dvounozí (humanoidní, problémy se stabilitou) nebo šestinozí, kteří v každém okamžiku stojí minimálně na třech nohou a jsou proto stabilní i v těžším terénu (obr. 4). Obr. 4: Šestinohý robot (hexapod) [6] Pro pohon kolových a pásových podvozků se používají hlavně stejnosměrné a krokové elektromotory. K jejich napájení nelze použít přímo mikrokontrolér, proudový odběr motorů je vyšší než výstupní proud pinu mikrokontroléru. Je proto nutné použít budící obvod s vlastním napájením, který bude mikrokontrolérem pouze řízen, jako např. H-můstek ve spínacím provedení (umožňuje řízení pomocí PWM). Kráčející roboti jsou pak téměř výhradně poháněni pomocí serv. Serva obsahují stejnosměrný motorek, převodovku a regulační obvod polohy, takže je jejich řízení a napájení odděleno a není tak potřeba používat žádné budící obvody. Natočení serva lze řídit pomocí 12
13 PWM přímo mikrokontrolérem a to změnou šířky pulzu. Perioda signálu je 20 ms, šířka pulzu pak závisí na konkrétním typu serva, nejčastěji se uvádí rozmezí hodnot 1 2 ms, kde 1 ms je pro maximální levé a 2 ms pro maximální pravé natočení, hodnota 1,5 ms pak odpovídá středové poloze. [1] 2.2 Senzory Interní senzory Aby byl robot schopen autonomního pohybu, musí obsahovat senzory. Ty lze rozdělit vzhledem k robotu na vnitřní (interní) a vnější (externí). Interní senzory sledují parametry jednotlivých částí robota sloužící k diagnostice i navigaci robota. Sledovanými parametry mohou být například stav baterie (aby se při jejím vybití robot nepoškodil, to je více než vhodné u létajících robotů), teplota (aby nedošlo k přehřátí a zničení robota), nebo rychlost otáčení kol, z níž lze vypočítat trasu robota (odometrie, využívá se např. v případě, že je třeba znát úhel, o který se robot otočil na místě). Z interních senzorů se u jednoduchých robotů objevuje většinou jen nějaká forma sledování stavu baterie. [1] Externí senzory Externí senzory slouží k získávání informací o okolí robota. Jednodušší dotykové (taktilní) senzory využívají většinou kontaktní spínač, po jehož sepnutí/rozepnutí dojde ke změně logické úrovně na vstupu mikrokontroléru. Nevýhodou těchto senzorů je však malý dosah, robot pak své okolí v podstatě jen osahává. Bezdotykové externí senzory mají větší dosah, některé i několik kilometrů, ale takové informace vzhledem k velikosti robota nemají velký význam, využívají se proto převážně senzory s dosahem v řádu centimetrů až metrů. K měření vzdálenosti slouží optické záření (infračervené senzory, lasery), akustické vlny (sonary), nebo elektromagnetické záření (radary). Infračervené (IR) senzory jsou obecně u soutěžních robotů nejpoužívanější, a to kvůli jejich jednoduchosti a rychlosti měření. Jsou založeny na principu detekce světla emitovaného IR LED diodou a odraženého od překážky. Nevýhodou tohoto principu je ale to, že množství detekovaného světla závisí nejen na vzdálenosti překážky, ale i na její barvě a materiálu, v neposlední řadě také na osvětlení z okolí. Aby byly tyto senzory co nejméně ovlivněny IR zářením z okolního světla, obsahují demodulátor, díky němuž jsou citlivé pouze na záření o daném modulačním kmitočtu (nejčastěji 36 nebo 38 khz). Příkladem takového senzoru může být TSOP48, který se vyrábí v několika provedeních v závislosti na modulačním kmitočtu (např. TSOP4838 pro 38 khz, obr. 5, [7]). Výstupem tohoto senzoru je logický signál, senzor je schopen detekovat pouze přítomnost nebo nepřítomnost překážky, od které by se záření odráželo. Obr. 5: TSOP4838 [7] Dalším typem IR senzoru je QRD1114 (obr. 6, [8]), který obsahuje už i vysílací diodu. Je vhodný k detekci překážky na vzdálenost menší než 6 mm, protože neobsahuje 13
14 demodulátor a je tak náchylný k rušení okolním světlem. Používá se např. pro sledování čáry nebo detekci okraje arény v robotickém sumo. Výstupem je opět logický signál. Obr. 6: QRD1114 [9] Existují však i IR senzory umožňující přesné měření vzdálenosti, která je pak na výstupu reprezentována analogově, tedy jako vzdálenosti úměrné napětí. Tyto senzory se vyrábějí v různém provedení podle rozsahu vzdáleností, které jsou schopny detekovat. Využívají toho, že záření odražené od překážky v určité vzdálenosti dorazí zpět k detektoru pod určitým úhlem, na vstupu senzoru je proto čočka, přes kterou odražené záření dopadá na odpovídající část plošného snímače. Pomocné obvody rozpoznají, na kterou část snímače záření dopadlo, a zjištěnou vzdálenost v podobě napětí můžeme odečíst na výstupu. Např. senzor GP2Y0A41 (obr. 7, [10]) firmy Sharp slouží k detekci na vzdálenost 4 30 cm, čemuž odpovídá výstupní napětí 2,7-0,4 V. Obr. 7: IR měřič vzdálenosti GP2Y0A41 [10] Akustické senzory (sonary) jsou nejčastěji ultrazvukové. Využívají toho, že je rychlost zvuku podstatně nižší než rychlost světla, a je proto na rozdíl od optických senzorů možné měřit vzdálenost pomocí měření doby mezi vysláním signálu a přijetím odraženého signálu (echa). Dosah sonarů je pak v řádu jednotek až desítek metrů, nevýhodou je kvůli rychlosti šíření zvuku delší perioda měření vzdálenosti. Sonary mají také širší vyzařovací úhly, může tak docházet k odrazům zvuku a detekci překážky v jiné než skutečné vzdálenosti. Naměřená vzdálenost se na výstupu objevuje v různých podobách, např. sonar SRF02 (vzdálenost 15 cm 6 m, frekvence 40 khz, vyzařovací úhel 55, obr. 8, [11]) má výstupní rozhraní I2C nebo UART, sonar SRF05 (vzdálenost 3 cm 4 m, frekvence a vyzařovací úhel stejné, obr. 8, [12]) má na výstupu impulsy délky 0,1 25 ms úměrné vzdálenosti. 14
15 Obr. 8: Sonary SRF02 a SRF05 [11, 12] 2.3 Komunikace s operátorskou stanicí Pro bezdrátovou komunikaci operátorské stanice (počítač nebo chytrý telefon) s robotem je možné využít hned několik možností, záleží na požadovaných parametrech komunikace. Pokud je komunikace pouze jednosměrná, tzn. od operátora do robota, jedná se v podstatě jen o dálkové ovládání robota. Pokud robot obsahuje nějaké senzory, řídí se daty z nich podle předem naprogramovaných algoritmů a operátora o svém okolí nijak neinformuje. Dálkové ovládání tak slouží pouze k řízení, popř. nastavení parametrů robota. Taková komunikace není nijak náročná na přenosovou rychlost a je tak možné využít i jednodušší technologie, např. dálkové ovládání pomocí IR vysílače a přijímače s modulací (kvůli ovlivnění okolním IR zářením). S tímto typem ovládání se můžeme setkat např. u televizorů a jiné elektroniky, dále pak v podobě IR portu u mobilních telefonů, ale i v robotice u jednoduchých robotů. Povely se posílají v podobě několikabitových slov (v závislosti na počtu povelů), jednotlivé bity jsou vyjádřeny délkou mezery mezi impulzy nebo nástupnou a sestupnou hranou impulzů uprostřed bitové periody. Kmitočet impulsů bývá v rozmezí khz, čemuž odpovídají i modulační kmitočty přijímačů (např. už dříve zmíněný SFH5110). Robota pak lze ovládat např. přímo ovladačem od televize, jen je potřeba přizpůsobit zpracování přijatého povelu komunikačnímu protokolu značky televizoru. Těch existuje celá řada a většinou jsou vzájemně nekompatibilní, liší se nejen modulačním kmitočtem, ale i formátem povelů (délka adresy a samotného povelu), vyjádřením bitů a bitovou periodou. Nevýhodou tohoto řešení je ale nutnost přímé viditelnosti mezi operátorem a robotem a také nízký dosah v řádu metrů. Další v robotice často používanou komunikační technologií je Bluetooth, jenž pracuje v bezlicenčním pásmu 2,4 GHz a je definována standardem IEEE Spadá do kategorie osobních počítačových sítí (PAN Personal Area Network). Jedná se v dnešní době o velmi využívanou technologii, obsahuje ji většina chytrých telefonů a např. i notebooků. Má také větší dosah (závisí na výkonu, tzn. třídě Bluetooth, tab. 1), navíc není nutná přímá viditelnost, a větší přenosovou rychlost než IR přenos (závisí na vývojové verzi, tab. 1), je proto možné Bluetooth využít pro obousměrný přenos mezi operátorem a robotem. Výhodou obousměrné komunikace je také to, že lze využít výpočetní výkon operátorské stanice (PC, mobilní telefon, speciální zařízení pro ovládání robota) k výpočtu pro mikrokontrolér časově náročnějších úloh. Data ze senzorů se tak mohou zpracovávat a v textové nebo grafické podobě zobrazovat na operátorské stanici, což usnadňuje řízení bez přímé viditelnosti. U nás v robotice nejpoužívanější Bluetooth moduly vyrábí firma connectblue. Jedná se např. o modul OEMSPA310i nebo jeho novější náhradu OBS418i (obr. 9, [15], [16]), které mají vestavěnou anténu, teoretický dosah ve volném prostoru až 100 m (třída 1) a s mikrokontrolérem komunikují pomocí rozhraní UART 3 V. [13] 15
16 Tab. 1: Dosah a přenosová rychlost Bluetooth [13] Třída Max. výstupní výkon Přibližný dosah Přenosová rychlost Verze mw dbm m Mbit/s EDR HS 24 Obr. 9: Bluetooth modul OBS418i [15] Často používanou komunikační technologií je také WiFi. Podobně jako Bluetooth je součástí chytrých telefonů a notebooků, navíc často slouží i k přenosu internetového připojení a tak je k WiFi možné přistupovat i pomocí WiFi routerů ze stolních počítačů. Jedná se o standard pro lokální bezdrátové sítě (WLAN Wireless Local Area Network) a je definován v IEEE v různých verzích (tab. 2). Dosahuje ještě vyšší přenosové rychlosti než Bluetooth a je proto vhodnější pro obousměrný přenos dat z a do robota kvůli rychlejší odezvě, je pak možné přenášet např. i obraz z kamery na robotovi. Dostupným WiFi modulem je např. OWS451x (obr. 10, [17]) od firmy connectblue se dvěma SMA konektory pro dvě antény (dual antenna diversity modul sám vybírá tu anténu, na které je silnější signál), jenž pracuje ve verzích a/b/g/n v pásmu 2,4 a 5 GHz a komunikuje pomocí rozhraní UART 3 V. [14] Tab. 2: Maximální rychlost WiFi podle standardu [14] Standard Pásmo [GHz] Maximální rychlost [Mbit/s] IEEE ,4 2 IEEE a 5 54 IEEE b 2,4 11 IEEE g 2,4 54 IEEE n 2,4 nebo IEEE ac 2,4 nebo
17 Obr. 10: WiFi modul OWS451x [17] 2.4 Arduino Mezi amatérskými robotiky je často jako řídící deska používán vývojový kit Arduino. Jedná se o open-source projekt (volně dostupný, včetně všech schémat a zdrojových kódů), který má několik verzí lišících se velikostí a osazeným mikrokontrolérem. Nejběžnější a nejdostupnější je Arduino Uno (obr. 11, [18]), které obsahuje mikrokontrolér ATmega328P. Obr. 11: Arduino Uno R3 [18] Arduino Uno R3 - ATmega328P - 16 MHz krystal - 32 kb FLASH (0,5 kb využito pro bootloader), 1 kb EEPROM, 2 kb SRAM - JTAG, TWI, UART, SPI, USB - 14 digitálních I/O pinů, 6 z nich PWM - 6 analogových vstupů - napájení: 7 12 V - rozměry: 68,6 x 53,3 mm Arduino nabízí množství rozšiřujících desek (shieldů) o stejném rozměru, které se nasazují nad sebe do konektorů a umožňují tak širší využití Arduina. Mezi takové shieldy patří např. Arduino Motor Shield (obr. 12, [19]), který obsahuje H-můstek L298P a umožňuje připojení dvou motorů o proudovém odběru až 2 A (nebo jednoho o odběru 4 A) a jejich řízení pomocí PWM, nebo Arduino WiFi Shield (obr. 12, [20]), který umožňuje bezdrátové připojení pomocí WiFi ve verzích b/g a obsahuje také slot na SD kartu. Obr. 12: Arduino Motor Shield a Arduino WiFi Shield [19], [20] 17
18 3 Požadavky na řídící jednotku a návrh Aby byla zachována co největší jednoduchost, ale také univerzálnost řídící jednotky, je nutné stanovit meze úkolů, jaké bude robot s touto jednotkou schopen plnit. Cílem je vytvoření řídící jednotky pro autonomního pozemního robota, který bude schopen detekovat překážky ve svém okolí a těmto se buď vyhýbat, nebo do nich cíleně vrážet (sumo), a informovat o svém počínání operátorskou stanici, kde bude možné získaná data dále zpracovávat a ze které bude také možné robota řídit. Základem je vyvedení všech používaných druhů komunikačních rozhraní (UART, I2C) a AD převodníku, aby bylo možné připojit různé typy senzorů nebo komunikačních modulů. Dále by jednotka měla obsahovat možnost připojení motorů a serv pro pohon robota. V neposlední řadě je nutné vybrat takové součástky, aby byl splněn požadavek na nízkou spotřebu (bateriový provoz) a malé rozměry řídící jednotky. 3.1 Mikrokontrolér Jako jádro řídící jednotky byl zvolen mikrokontrolér ATmega32A. Jedná se o 8bitový mikrokontrolér firmy Atmel, který obsahuje 32 kb paměti FLASH, 32 I/O pinů, 3 čítače/časovače, AD převodník a všechny dříve jmenovaná komunikační rozhraní (I2C Atmel nazývá TWI). S použitím vnitřního oscilátoru pracuje na frekvenci až 8 MHz, s externím krystalem pak až 16 MHz. Vyrábí se jak ve vývodové (PDIP40), tak SMD verzi (TQFP44, obr. 13, nebo MLF44). Další parametry jsou uvedeny níže. Oproti Atmega32 se liší v několika málo detailech, nejdůležitější je asi celkově nižší spotřeba ve všech módech. Mikrokontrolér byl vybrán jak kvůli jeho periferiím, tak kvůli předchozí zkušenosti s mikrokontroléry firmy Atmel. [21] Obr. 13: Pouzdro TQFP44 [21] ATmega32A - pouzdro TQFP44-32 kb FLASH, 1 kb EEPROM, 2 kb SRAM - JTAG, TWI, UART, SPI - 2 8bitové čítače/časovače, 1 16bitový čítač/časovač, 4 PWM kanály - 8kanálový, 10bitový AD převodník - 6 úsporných módů: Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby - maximální proud I/O pinem: 40 ma - napájení: 2,7 5,5 V - spotřeba (16 MHz, 5 V, 25 C, I out = 0 A): Active 13,8 ma, Idle Mode 5,6 ma 3.2 Řízení serv Řízení serva se provádí pomocí PWM. Na natočení serva má vliv šířka pulzu, ta bývá 1 2 ms, některá serva mají větší rozsah 0,5 2,5 ms, vždy se střední hodnotou 1,5 ms. 18
19 Opakovací frekvence těchto pulzů je 50 Hz, tzn. perioda 20 ms. Řídit jedno servo je tak možné jednoduše v módu Fast PWM, kde stačí nastavit periodu a pak změnou hodnoty příslušného registru čítače měnit šířku pulzu a tím požadované natočení serva. [1] Jelikož je opakovací perioda 20 ms, je možné během ní obsloužit až 8 serv. To však není možné v módu PWM, protože generovaný signál jde na jeden konkrétní pin. Lze však využít mód CTC, ve kterém se vyvolává přerušení podle hodnoty nastavené v registru čítače. Při tomto přerušení pak lze měnit úroveň na jakémkoliv pinu (nebo i více). Tak je tedy možné nezávisle řídit až 8 serv pomocí jednoho čítače, ty však musí být připojeny k 8 pinům. Obr. 14: Pouzdro SO16 [22] Aby bylo možné připojit více serv a neobsazovat kvůli tomu celý port, je možné využít demultiplexor 74HCT238 (obr. 14, [22]). Demultiplexor má 3 adresní vstupy, 3 enable vstupy (2 s aktivní nízkou úrovní, které budou připojeny na zem, a 1 s aktivní vysokou, který bude využit jako vstup pro PWM signál z mikrokontroléru) a 8 neinvertujících výstupů. Napájen je napětím 4,5 5,5 V, spotřeba demultiplexoru je 8 µa při napájení 5 V, 25 C a I out = 0 A. Vstupní signály demultiplexoru jsou na obr. 15. Na adresních pinech (A0 A2) dochází postupně ke změně adresy a signál enable na pinu E3 se tak postupně posílá na všechny výstupy demultiplexoru, ke kterým jsou připojena serva. Kromě serv je možné připojit např. i různé senzory, kdy pracuje v jednom okamžiku jen jeden z nich. Obr. 15: Průběhy na vstupních pinech demultiplexoru 3.3 Řízení motorů Kvůli vysokému proudovému odběru motorů není možné je přímo připojit na piny mikrokontroléru. Aby bylo možné řídit pomocí mikrokontroléru jak rychlost, tak směr otáčení motorů, je potřeba využít tzv. H-můstek (obr. 16, [23]). Svůj název dostal podle svého tvaru. V diskrétním provedení je složen ze čtyř spínačů (nejčastěji tranzistory), mezi něž je zapojen motor. Spínáním spínačů pak lze nastavit libovolný směr otáčení motoru, pokud jsou tranzistory spínány pomocí PWM, pak lze měnit i rychlost otáčení. 19
20 Obr. 16: H-můstek [23] Řízení pomocí H-můstku z diskrétních součástek se využívá především při potřebě vyšších proudů, jinak lze využít některý z velkého množství nabízených integrovaných H- můstků. Jako nejvhodnější se jeví obvod L298 firmy STMicroelectronics, který obsahuje dva H-můstky, každý schopný trvalého proudu 2 A, nebo až 3 A špičkového. Navíc lze oba můstky propojit a dodat tak do jednoho motoru proud až 4 A. Nabízí se ve vývodovém (pouzdro Multiwatt-15) i SMD provedení (PowerSO-20, obr. 17, [24]). Obr. 17: Pouzdro PowerSO20 [24] L298P - pouzdro PowerSO-20 - celkový proud 4 A (2 A na kanál) - ochrana proti přehřátí - imunita proti vysokému rušení (nízká úroveň až do 1,5 V) - napájení logické části: 4,5 7 V - napájení výkonové části: až 46 V - spotřeba při zastavení motorů (5 V, 25 C, I out = 0 A): 24 ma Nevýhodou tohoto obvodu je to, že na rozdíl od většiny ostatních integrovaných H- můstků neobsahuje rekuperační diody sloužící k ochraně výkonových tranzistorů uvnitř obvodu a je tak potřeba je k obvodu přidat (D1 D8, obr. 18). Podle doporučení výrobce by se mělo jednat o rychlé diody se spínacím časem pod 200 ns, trvalým proudem 2 A a úbytkovým napětím větším než 1,2 V. Byly proto vybrány diody MURS160T firmy ON Semiconductor v SMD provedení (pouzdro SMB 403A, [25]), které mají spínací čas 75 ns a úbytkové napětí 1,25 V. Na obě napájecí větve jsou ještě připojeny 100 nf blokovací kondenzátory. 20
21 Obr. 18: Zapojení H-můstku L298P [24] Vývody 2 a 19 slouží ke snímání proudu oběma můstky a je tak možné je využít pro ochranu proti zkratu, a to buď vhodným rezistorem, nebo pojistkou. Pokud dojde k mírnému navýšení proudu nad povolenou mez, obvod se začne nadměrně zahřívat a zafunguje jeho ochrana proti přehřátí. Při skokové změně proudu (zkratu) se však obvod může poškodit, aniž by se stihl zahřát. Proto jsou na tyto vývody připojeny vratné pojistky typu polyswitch RUE185 firmy Tyco. Rychlost jejich vypnutí závisí na velikosti proudu, jež jimi protéká. Trvalý proud pojistkou (při kterém by nemělo nikdo dojít k vypnutí) je 1,85 A, vypínací proud pak 3,5 A. Vypínací čas při tomto proudu je maximálně 12 s, s rostoucím proudem však klesá. [26] 3.4 Napájení Při návrhu napájecí části řídící jednotky je potřeba vzít v úvahu bateriový provoz robota a spotřebu jednotlivých částí jednotky. Kvůli bateriovému provozu je vhodné vybrat nízkoúbytkový (Low-Dropout) stabilizátor. Celková spotřeba všech IO při činnosti je uvedena v tabulce 3. Tab. 3: Spotřeba integrovaných obvodů IO 21 Spotřeba [ma] ATmega32A 13,8 74HCT238 0,008 74HCT238 0,008 L298P 24 celkem 37,816 K tomu je potřeba přičíst spotřebu komunikačního modulu (např. OBS418i má při činnosti spotřebu až 67 ma při napájení 3,3 V), senzorů (např. GP2Y0A41 má spotřebu až 12 ma) a serv. Spotřeba se tak může dostat až do řádu jednotek A (hlavně vlivem serv). Motory jsou napájeny samostatně přes H-můstek. [10], [16], [21], [22], [24]
22 Byl proto vybrán nízkoúbytkový stabilizátor LM1084. Vyrábí se v pouzdru TO-220 (obr. 19, [27]) a v provedení 3,3 V, 5 V, 12 V a s nastavitelným napětím. Výstupní proud stabilizátoru je 5 A, obsahuje ochranu proti přehřátí a omezovač proudu (8 A). Úbytek napětí na stabilizátoru je 1,3 V. Pro 5 V stabilizátor je rozsah vstupního napětí 6,3 30 V. Je třeba ho doplnit pouze o dva kondenzátory, vstupní má hodnotu 10 µf, výstupní 100 µf. Obr. 19: Pouzdro TO-220 a zapojení stabilizátoru LM1084 [27] 3.5 Celkové schéma zapojení Schéma zapojení je v příloze A.1. Základem desky je mikrokontrolér ATmega32A, jenž je doplněn o 100 nf blokovací kondenzátory na všech napájecích pinech kvůli eliminaci možného rušení, hlavně od H-můstku. Mezi piny XTAL1 a XTAL2 je připojen krystalový oscilátor s 22 pf kondenzátory (doporučená hodnota pf, [21]). Celý port A mikrokontroléru slouží jako 8kanálový AD převodník a je tak kompletně vyveden na konektor a doplněn o vyvedené napájecí napětí a zem. Polovina portu B (PB4 PB7) má kromě funkce I/O pinů i funkci SPI rozhraní. To se používá např. pro programování mikrokontroléru a tak je na konektor vyveden i signál reset doplněný o tlačítko. Druhá polovina portu B (PB0 PB3) je využita pro jeden z demultiplexorů. Ten má mezi napájecí piny zapojen blokovací kondenzátor. Jeho výstupní konektor opět obsahuje i napájecí napětí a zem. Rozměry a provedení konektoru souhlasí s konektory používanými u serv. Druhý demultiplexor je připojen na polovinu portu C (PC4 PC7), stejně jako první je doplněn o blokovací kondenzátor a konektor s napájecím napětím a zemí. Na druhé polovině portu C (PC0 PC3) je vyveden obecný I/O konektor, jehož součástí je i TWI (I2C) rozhraní dostupné na pinech PC0 a PC1. Prvních 6 pinů portu D (PD2 PD7) je obsazeno H-můstkem, piny enable můstku jsou připojeny přímo na piny PD4 a PD5, které jsou výstupem 16bitového čítače/časovače 1 a je tak možné na nich generovat pulzní šířkově modulovaný signál v módu Fast PWM pouhým nastavením hodnoty příslušného komparačního registru. H-můstek je navíc doplněn o jumper na napájení, aby bylo možné ho vypnout, pokud není využit. Zbývající 2 piny pak slouží jako rozhraní UART. Protože dnes většina komunikačních modulů používá UART v logických úrovních 3 V, je nutné upravit úrovně mikrokontroléru, který používá UART 5 V, stačí však přidat odporový dělič na spojení mezi Tx mikrokontroléru a Rx modulu, aby nedošlo k jeho poškození. Doporučené hodnoty děliče jsou R 1 = 1,8 kω a R 2 = 2,2 kω [16], to odpovídá vysoké úrovni kde R 1 a R 2 jsou odpory rezistorů děliče a U CC je napájecí napětí. 22, (1) V opačném směru dokáže mikrokontrolér správně rozeznat úrovně přijaté z modulu (vysoká úroveň u ATmega32A začíná u 0,6.Vcc, tzn. 3 V, [21]). Toto řešení je použitelné do přenosové rychlosti Bd (115,2 kbit/s, [16]), pro vyšší rychlosti by bylo nutné použít
23 ještě na obou vstupech hradla. Na konektoru pro komunikační modul je ještě vyveden signál BLUE, který má nízkou úroveň, pokud jsou přes modul posílána data. Na výstup je připojena modrá dioda s úbytkem napětí 2,85 V při proudu 4 ma (maximální proud výstupem, [16]). Rezistor R 3 omezující proud tak má odpor o velikost, (2) kde U CC je napájecí napětí, U D úbytek napětí na diodě a I D proud diodou, taková hodnota však není dostupná, byl tak vybrán vyšší rezistor z řady, a to o hodnotě 560 Ω. Na desce je ještě druhá dioda indikující přítomnost napájecího napětí, a to červená s úbytkem 2 V při proudu 10 ma, proud omezující rezistor R 4 má odpor použitý rezistor tak má hodnotu 330 Ω., (3) 3.6 Návrh plošného spoje Návrh plošného spoje je v příloze B.1. Všechny součástky jsou v SMD provedení, pouze stabilizátor je ve vývodovém, aby bylo možné ho lépe chladit. Navíc není u nás v SMD provedení k dispozici. Je nutné dostatečně dimenzovat výkonové spoje, jako např. od H- můstku ke konektorům pro motory a od stabilizátoru ke konektorům (kvůli vysokému odběru serv). Celkové rozměry desky jsou 69,5 x 59,1 mm. Výsledná osazená řídící jednotka je na obr. 20. Na H-můstku L298P je pomocí teplovodivé pasty přilepen pasivní chladič (modrý) používaný např. u grafických karet. Vedle něj jsou vratné pojistky polyswitch RUE185, které jsou oproti původnímu návrhu vývodové místo SMD, které byly dlouhodobě nedostupné. Chladič je možné podle potřeby připevnit i na stabilizátor napětí, obzvlášť pokud je řídící jednotka použita pro řízení většího počtu serv. Obr. 20: Osazená řídící jednotka Na obr. 21 je pak znázorněno rozložení konektorů jednotlivých periferií, na zvláštní konektor je vyvedeno rozhraní SPI, dále pak UART upravený na 3 V logiku a doplněný o modrou LED. Rozhraní TWI je součástí konektoru, na který je vyvedena polovina portu C, druhá polovina slouží k ovládání demultiplexoru MUX2. Druhý demultiplexor MUX1 je ovládán z portu B, oba demultiplexory mají konektory se svými výstupy. Svůj konektor má 23
24 také celý port A, kde je možné využít 10bitový AD převodník. H-můstek má kromě dvou konektorů pro motory ještě konektor na napájecí napětí pro výkonovou část můstku a konektor na jumper, kterým je možné odpojit můstek od 5 V napájení v případě, že je využíván jiný pohon (např. pomocí serv). Vedle stabilizátoru je pak konektor pro napájecí napětí celé řídící jednotky. Obr. 21: Rozložení konektorů (červená barva) a integrovaných obvodů (modrá) 24
25 4 Konstrukce demo-robota Aby byly využity všechny periferie řídící jednotky, byl navržen pásový robot diferenčně poháněný dvěma motory. Robot se pohybuje zcela autonomně podle dat získaných ze senzorů, nebo je řízen pomocí počítače přes Bluetooth, přes který také do počítače posílá data na další zpracování a zobrazení. 4.1 Mechanická konstrukce demo-robota Podvozek robota je vyroben ze 1,5 mm tlustého plastu, konkrétně se jedná od HD-PE (High density polyethylene = polyethylen s vysokou hustotou, [28]). Jedná se v současnosti o jeden z nejpoužívanějších plastů, vyrábí se z něj např. obaly na CD a DVD. Celý podvozek je nastříkán černou barvou (obr. 22). Podvozek má v přední části držák na servo, v zadní části pak vyvýšenou platformu pro Bluetooth modul a IMU (viz. dále). Bočnice jsou odnímatelné pro přístup ke kolům a převodům. Kola a pásy jsou ze stavebnice Merkur. Celkové rozměry podvozku (včetně pásů) jsou 16,5 x 12,5 x 7,5 cm (délka x šířka x výška). Obr. 22: Podvozek robota 4.2 Senzory a další vybavení Pro komunikaci s PC robot obsahuje již dříve popsaný Bluetooth modul OBS418i [16] od firmy connectblue. Ten funguje jako Serial Port Adapter a s řídící jednotkou komunikuje pomocí UART. Veškerá data zapsaná do datového registru UART odešle na sériový port počítače a naopak. Modul je umístěn na vyvýšené platformě tak, aby byl příjem signálu co nejlepší, tzn. nad zbylou elektronikou. 25
26 Obr. 23: Robot osazený veškerou elektronikou Dále robot obsahuje IR detektor vzdálenosti od firmy Sharp GP2Y0A41 [10] pro vzdálenost 4 30 cm, kterou převádí na vzdálenosti úměrné napětí, které je měřeno pomocí AD převodníku. Senzor je umístěn na servomotoru na přední straně robota tak, aby bylo možné se senzorem otáčet a měřit tak vzdálenost ve více směrech (v rozsahu cca 90 před robotem, obr. 24). Obr. 24: Senzor Sharp GP2Y0A41 na servu Pro ověření komunikace přes rozhraní I2C (u Atmelu nazýváno TWI kvůli právům firmy Phillips na název I2C) byla využita inerciální měřicí jednotka (IMU = Inertial Measurement Unit) GY-521 (obr. 25, [29]) se senzorem MPU-6050 od firmy InvenSense. Tento senzor obsahuje 3osý akcelerometr a 3osý gyroskop v jednom pouzdře vyrobené technologií MEMS (Micro-Electro-Mechanical Systems). Protože jsou data z akcelerometru náchylná na otřesy a data z gyroskopu na přesnost (je nutné je integrovat a tak se každá malá chyba postupně zvětšuje, tzv. drift), je výhodou IMU to, že obsahuje oba tyto senzory a ty se tak vzájemně mohou korigovat. Nevýhodou je pak složitější zpracování takových dat (pomocí různých filtrů). 26
27 Obr. 25: IMU modul GY-521 [30] MPU-6050 však obsahuje vlastní procesor pro výpočet těchto dat (DMP = Digital Motion Processor) a z IMU je tak možné získávat buď surová data z akcelerometru a gyroskopu, nebo přímo vypočítané úhly náklonu senzoru z DMP. Ty se nazývají podle pojmů používaných v letectví roll (náklon podle podélné osy), pitch (sklon podle příčné osy) a yaw (směr podle svislé osy), obr. 26. IMU modul je umístěn spolu s Bluetooth modulem na vyvýšené platformě (obr. 27). Obr. 26: Osy otáčení letadla [31] Obr. 27: IMU modul (vlevo) a Bluetooth modul (vpravo) na platformě Robot je poháněn pomocí dvou běžných 12 V stejnosměrných motorů přes H-můstek, elektronika (včetně logické části H-můstku) je napájena ze šesti 1,5 V AA baterií přes 5 V stabilizátor na řídící jednotce, výkonová část H-můstku pak přímo z baterie. Motory a baterie jsou umístěny na spodní straně robota (obr. 28). 27
28 IR detektory překážek Obr. 28: Robot ze spodní strany Pro detekci překážek v okolí robota jsou kromě senzoru GP2Y0A41 na přední straně využity i jednoduché detektory se senzory TSOP4838 a dvěma IR diodami. Ty jsou umístěny na bocích a zadní straně robota (obr. 29) a slouží pouze k detekci přítomnosti nebo nepřítomnosti překážky v daném směru, nikoliv však vzdálenosti k překážce. Obr. 29: IR detektory překážek na bocích a zadní straně robota Zapojení (příloha A.2) obsahuje kromě diod a senzoru ještě doporučený rezistor 100 Ω a kondenzátor 4,7 μf (viz. [7]) a rezistor R 1 omezující proud diodami na 10 ma (5 ma každá, [32]) o velikosti 28. (4) Plošný spoj je v příloze B.2, jedná se o jednostrannou desku se součástkami ve vývodových pouzdrech, pouze rezistory jsou SMD. Deska má rozměry 30,5 x 19,0 mm. Aby
29 nedocházelo k ovlivnění senzoru TSOP4838 a diod při rozptylu IR záření, je nutné je od sebe oddělit, v tomto případě pomocí extrudovaného polystyrenu, aby do senzoru směřovalo pouze záření odražené od překážky a ne záření rozptýlené. Pro přibližnou kalibraci senzoru bylo provedeno měření jak vzdálenosti, při které detektor detekuje odražené záření, tak měření závislosti této vzdálenosti na úhlu od osy detektoru, ve kterém se překážka nachází. K měření byla využita řídící jednotka a knihovna irsense.c (viz. dále), data byla odesílána do počítače přes Bluetooth. Naměřená vzdálenost detekce ploché překážky (s bílým povrchem kancelářský papír na papírové krabici, obr. 30) byla 16,5 cm. Obr. 30: Měření vzdálenosti detekce signálu v přímém směru Pro měření úhlové závislosti (obr. 31) pak byl detekován bílý válec o průměru 8 cm, použité IR diody mají vyzařovací úhel cca 20 (obr. 32, [32]). Na obrázku 33 je pak tato závislost znázorněna červenou čarou (vyzařovací charakteristiky diod znázorněny černou čarou). Vytvořený IR detektor tak má díky použití dvou diod vyzařovací úhel cca 50, významnou roli však hraje použitá překážka. Pokud by byla překážka užší, úhel by byl menší. Naměřené hodnoty jsou v příloze C.1. Obr. 31: Měření úhlové závislosti detektoru 29
30 Obr. 32: Vyzařovací charakteristika diody [32] Obr. 33: Závislost hranice detekce na úhlu 30
31 5 Software robota Pro ovládání demo-robota bylo vytvořeno několik knihoven, některé z nich jsou použitelné obecně s touto řídící jednotkou, některé zase slouží pro ověření funkce konkrétních komponent demo-robota a s jinými komponentami nemusí fungovat. Vytvořené knihovny mají především za cíl ověřit funkčnost jednotlivých periferií řídící jednotky a nasazení řídící jednotky např. u soutěžního robota si může vyžadovat jejich optimalizaci. 5.1 Knihovna adc.c Knihovna adc.c slouží k přístupu k AD převodníku na portu A. AD převodník u ATmega32A je 10bitový, hodnota převodu je uložená ve dvou 8bitových registrech, a to se zarovnáním doprava (2 bity ve vyšším registru ADCH, 8 bitů v nižším ADCL), nebo doleva (8 bitů v ADCH, 2 bity v ADCL). Při zarovnání doleva je tak možné přečíst jen 8 nejvýznamnějších bitů za cenu 4násobného snížení rozlišení, které ale i tak dosahuje dostatečné hodnoty. Pro 10bitový převod s referenčním napětím rovným napájecímu platí podle [21] kde U in je vstupní napětí převodníku, LSB nejméně významný bit a V REF referenční napětí. Při čtení horních 8 bitů tak LSB odpovídá hodnota 4 a změna vstupního napětí na 1 bit pak je Výsledná hodnota vzdálenosti pro IR měřič vzdálenosti Sharp GP2Y0A41 se provede výpočtem podle [10] kde d je vzdálenost v cm a ADV hodnota z 10bitového převodníku. Při čtení pouze 8 bitů je tak potřeba přečtenou hodnotu vynásobit čtyřmi a pak až dosadit. Tento výpočet však řídící jednotka nevykonává, posílá data na zpracování do aplikace na PC a sama má pevně stanovenou mez pro vyhýbání se překážce na základě hodnoty z AD převodníku. Knihovna obsahuje tyto funkce: void adc_init(void) - inicializace AD převodníku - registr ADMUX: nastavení referenčního napětí (AVCC), zarovnání 10bitové hodnoty převodu doleva - registr ADCSRA: spuštění převodníku, nastavení předděličky hodinového signálu na 128 (výsledná frekvence 125 khz) unsigned char adc_measure(unsigned char channel) - registr ADMUX: zápis hodnoty proměnné channel (kanál AD převodníku, 0-7) - registr ADCSRA: start konverze - čekání na dokončení konverze - čtení a návrat hodnoty registru ADCH (horních 8 bitů výsledku převodu) (5) (6) (7) 31
32 5.2 Knihovna bt.c Tato knihovna slouží ke komunikaci přes UART s komunikačním modulem, v tomto případě s Bluetooth modulem, ale je použitelná i pro jiné. Důležité je mít stejně nastavenou komunikaci v mikrokontroléru, modulu i počítači (nebo jiném zařízení, které data přijímá). Knihovna obsahuje: void BT_init(unsigned int ubrr_baudrate) - inicializace UART - registr UBRR: nastavení odpovídající přenosové rychlosti (baudrate) Baud - registr UCSRB: spuštění přijímače, vysílače a povolení přerušení při příjmu - registr UCSRC: nastavení formátu přenosu 8 datových bitů, 1 stop bit, bez parity - registr DDRD: nastavení vstupu/výstupu void BT_transmit(unsigned char data[]) - čekání na vyprázdnění datového registru UDR - zapsání dat do registru (po bytech), která se tím ihned odešlou ISR(USART_RXC_vect) - obsluha přerušení - přerušení při příjmu dat - uložení obsahu registru UDR do proměnné 5.3 Knihovna irsense.c Irsense.c slouží k inicializaci a měření pomocí navržených IR detektorů. Jejich IR LED diody jsou připojeny k jednomu z demultiplexorů, výstupy z detektorů pak na port A. Protože detektory TSOP4838 pracují s modulovaným zářením na frekvenci 38 khz, je takto modulovaný signál nutné přivést na výstupní piny s IR LED diodami. Toho lze využít např. při použití čítače/časovače 2 v CTC (Clear Timer on Compare) módu za pomoci přerušení. Stačí jen nastavit vhodnou předděličku frekvence a hodnotu registru OCR2 (při dosažení této hodnoty dojde k přerušení). Jako nejvhodnější se jeví předdělička 8 a hodnota registru OCR2 = 25, těmto hodnotám pak podle [21] odpovídá frekvence modulovaného signálu 32, (8) kde f clk je frekvence hodinového signálu a N předdělička. Detektor také nemůže přijímat modulovaný signál stále, považuje ho pak za šum, je tak nutné tento modulovaný signál ještě jednou modulovat. Podle [7] bylo zvoleno množství 30 po sobě jdoucích pulzů, tomu odpovídá maximální činitel plnění obálky 0,45. Použita byla nižší hodnota, 30 pulzů odpovídá 60 přerušením, bylo proto využito přetečení čítače přerušení (unsigned char, 0-255), tzn. 60 přerušení vysílání, 195 přerušení bez vysílání a činitel plnění obálky 0,24. Knihovna obsahuje: void ir_init(unsigned char ir_count) - inicializace čítače a detektorů - registr TCCR2: CTC mód, předdělička 8 - registr OCR2: hodnota, při které dojde k přerušení (25) - registr TIMSK: povolení přerušení - registry DDRA a DDRC: nastavení vstupů/výstupů
33 - vstupní proměnná ir_count: množství připojených detektorů (0-7) unsigned char ir_measure(void) - vrací proměnnou, ve které jsou uložena data z detektorů a která se obnovuje při přerušeních ISR( TIMER2_COMP_vect ) - obsluha přerušení - přerušení při dosažení hodnoty OCR2 - inkrementace čítače přerušení, při hodnotě 0-58 nastavuje (při sudé hodnotě) nebo nuluje (při liché) datový vstupní pin demultiplexoru (adresa postupně 0 až ir_count) - při hodnotě 59 (konec 30. pulzu) kromě nulování pinu přečte hodnotu na výstupu příslušného detektoru a zapíše ji do proměnné s daty 5.4 Knihovna motor.c Knihovna slouží k ovládání motorů pomocí H-můstku na desce, který je připojen na dané výstupní piny 16bitového čítače/časovače 2. Ten pracuje v módu Fast PWM a stačí tak nastavit hodnotu odpovídající činiteli plnění PWM (tomu je zase úměrná rychlost otáčení motorů). Čítač/časovač 2 je 16bitový, ale dokáže se chovat jako 2 nezávislé 8bitové čítače. Každý motor se tak může otáčet jinou rychlostí, což je pro diferenčně řízený podvozek nutnost. Frekvence PWM není u motorů až tak stěžejní, je proto možné nastavit vyšší předděličku a méně tak zatěžovat mikrokontrolér. void motor_init(unsigned char motor_count) - inicializace čítače a H-můstku - registry TCCR1A a TCCR1B: nastavení neinvertujícího Fast PWM módu, 8bitový čítač, předdělička v závislosti na proměnné motor_count (počet motorů) spuštění jednoho, nebo dvou 8bitových čítačů - nastavení směru a rychlosti otáčení (při inicializaci OCR1A = OCR1B = 0, motory stojí) void motor_speed_new(unsigned char motor_speed, unsigned char motor_direction, unsigned char motor_number) - změna směru otáčení a rychlosti motoru motor_number (0/1) - motor_speed (stání plná rychlost), motor_direction 1/2 (směr je ovládán úrovněmi na vstupních pinech H-můstku, čítač řídí pouze rychlost) 5.5 Knihovna servo.c Tato knihovna slouží k ovládání až 8 serv prostřednictvím demultiplexoru nebo po malé úpravě 8 serv na jakémkoliv výstupním pinu mikrokontroléru. Knihovna staví na již dříve uvedených informacích o řízení serv a jejich možné multiplexaci (obr. 15). Protože jsou serva řízena PWM pulzy o šířce do 2,5 ms s periodou 20 ms, je možné pomocí jednoho čítače/časovače (tady konkrétně č./č. 0) nezávisle obsloužit během 20 ms periody až 8 serv, a to buď přepínáním na jiné piny, nebo přepínáním adresy v demultiplexoru. Čítač je nastaven do CTC módu a veškeré řízení serv se tak odehrává pomocí přerušení. Knihovna umožňuje řízení serva v rozsahu 1 2 ms (což pro běžná serva stačí), 33
34 předdělička je nastavena na hodnotu 64 a v registru OCR0 je hodnota 249, tomu odpovídá PWM s frekvencí tzn., k přerušení dochází s frekvencí 1 khz (2 přerušení za periodu PWM signálu). První milisekundu tak signál zůstává na vysoké úrovni, druhá milisekunda je rozdělena podle požadované šířky impulzu na část na vysoké a část na nízké úrovni (nastavením OCR0 na požadovanou hodnotu), poté proběhne zbylá půlmilisekunda (do 2,5 ms) a dochází k přepnutí adresy na další servo. Knihovna obsahuje: void servo_init(unsigned char position) - inicializace čítače/časovače 0 a demultiplexoru - registr TCCR0: CTC mód, předdělička 64 - registr OCR0: výchozí hodnota registr TIMSK: povolení přerušení - registr DDRB: nastavení výstupů - nastavení středové polohy pro všechny serva void servo_position_new(unsigned char position, unsigned char servo) - nastavení nové pozice (position, 0-249) serva (servo, 0-7) ISR( TIMER0_COMP_vect ) - obsluha přerušení - inkrementace čítače přerušení a akce podle jeho hodnoty (délka pulzu, přepínání adres) (9) 5.6 Knihovna mpu6050_twi.c Zatímco kódů pro přístup k surovým datům z akcelerometru a gyroskopu obvodu MPU-6050 je plný internet a sama firma InvenSense k tomuto způsobu získávání dat vydala několik aplikačních poznámek a map registrů, svoji technologii DMP (Digital Motion Processor) si chrání a teprve nedávno na tuto technologii poskytla open source licenci, avšak pouze registrovaným uživatelům a bez jakýchkoliv aplikačních poznámek či jiné podpory. Do té doby firma InvenSense dodávala svým obchodním partnerům pouze hotové aplikace pro zpracování dat z DMP a tak existuje jen několik málo knihoven od uživatelů, které jsou schopny k těmto datům přistupovat, většina je však pro Arduino a využívá jeho další knihovny. Proto byla zvolena cesta čtení surových dat z IMU a jejich další zpracování až v aplikaci na PC. Byly k tomu využity dvě knihovny z [33] a [34] (pro TWI a MPU-6050), které byly sloučeny do jedné a upraveny tak, aby výstupní data byla ve tvaru vhodném pro přenos pomocí UART a Bluetooth. Data z každé osy akcelerometru a gyroskopu jsou reprezentována dvěma byty, celkově tedy data z IMU zabírají 12 bytů. Knihovna tak obsahuje obecné funkce pro rozhraní TWI, kdy je mikrokontrolér jako master (řídí komunikaci, vysílá hodinový signál), a dvě funkce speciálně pro čtení dat z IMU. Knihovna obsahuje: uint8_t TWIM_Init (uint32_t TWI_Bitrate) - inicializace TWI rozhraní 34
35 - registr TWBR: nastavení přenosové rychlosti (cca 250 khz) podle TWI_Bitrate - návratová hodnota potvrzení, že vše proběhlo uint8_t TWIM_Start (uint8_t Address, uint8_t TWIM_Type) - registr TWCR: spuštění TWI - kontrola, jestli byla komunikace navázána (ve status registru TWSR) - registr TWDR: odeslání adresy zařízení (Address) a čtení/zápis (TWIM_Type) - další kontrola spojení - návratová hodnota potvrzení, že vše proběhlo void TWIM_Stop (void) - registr TWCR: ukončení spojení uint8_t TWIM_Write (uint8_t byte) - zapsání bytu do registru TWDR a jeho odeslání - návratová hodnota potvrzení, že vše proběhlo uint8_t TWIM_ReadAck (void) - čtení bytu a vyžádání dalšího - návratová hodnota potvrzení, že vše proběhlo uint8_t TWIM_ReadNack (void) - čtení posledního bytu - návratová hodnota potvrzení, že vše proběhlo void TWIM_WriteRegister(char reg, char value) - zapsání hodnoty (value) do registru (reg) char TWIM_ReadRegister(char reg) - vyžádání dat z registru (reg) - návratová hodnota požadovaná data void MPU6050_ReadAccel(unsigned char *acc_data, int axis) - čtení dat ze dvou registrů akcelerometru odpovídajících dané ose (axis) - zápis na ve funkci daná místa pole acc_data void MPU6050_ReadGyro(unsigned char *gyro_data, int axis) - čtení dat ze dvou registrů gyroskopu odpovídajících dané ose (axis) - zápis na ve funkci daná místa pole gyro_data 5.7 Hlavní soubor main.c Soubor main.c obsahuje kromě funkce main() ještě funkci pro sběr dat z IR senzorů (měřič vzdálenosti a 3 detektory): void collect_data(unsigned char *data_col) - obsahuje 3 měření pomocí senzoru GP2Y0A41 pro 3 polohy natočení serva (-45, 0, 45 ) a návrat serva do výchozí polohy - dále obsahuje volání funkce ir_measure() int main(void) - funkce main() obsahuje inicializaci všech periferií, globální povolení přerušení a nekonečnou smyčku, ve které zpracovává přijatá data 35
36 Formát vstupních a výstupních dat Vstupní data pro řídící jednotku mají podobu jednoho bytu, kde význam jednotlivých bitů je následující: data_in[7] data_in[6] data_in[5] - bit zprostředkovávající pojistku při ztrátě spojení - 0 = autonomní mód, 1 = dálkově ovládaný - směr otáčení levého motoru data_in[4], data_in[3] - rychlost otáčení levého motoru data_in[2] - směr otáčení pravého motoru data_in[1], data_in[0] - rychlost otáčení pravého motoru V autonomním módu mají data pro motory podobu buď samých 1 (jeď), nebo samých 0 (stůj). V módu dálkového ovládání závisí posledních 6 bitů na požadovaném směru jízdy, hodnoty jsou uvedeny v tab. 4. Tab. 4: Vstupní data a jejich význam dopředu doleva dopředu 36 dopředu doprava X X X otáčení vlevo stop otáčení vpravo X X X dozadu doleva dozadu dozadu doprava X X X Na rozdíl od vstupních dat, která přenáší informaci jen pro motory, výstupní data obsahují naměřené hodnoty ze všech senzorů, a tak už nestačí byt jeden, ale rovnou 16. Význam jednotlivých bytů v poli je následující: data_out[15], data_out[14] data_out[13], data_out[12] data_out[11], data_out[10] data_out[9], data_out[8] data_out[7], data_out[6] data_out[5], data_out[4] data_out[3] data_out[2] data_out[1] data_out[0] Zpracování dat funkcí main() - gyroskop, osa x - gyroskop, osa y - gyroskop, osa z - akcelerometr, osa x - akcelerometr, osa y - akcelerometr, osa z - až 8 IR detektorů (pouze 0 = není, 1 = je překážka) - IR měřič vzdálenosti, 45 vlevo - IR měřič vzdálenosti, přímo - IR měřič vzdálenosti, 45 vpravo Po inicializaci všech periferií následuje nekonečná smyčka, kde řídící jednotka zpracovává přijatá data. Jako první proběhne kontrola, jestli jsou přijata nová data (porovnáním s poslední uloženou hodnotou), nebo jsou v proměnné data stará. To by pak
37 mohlo znamenat, že robot ztratil spojení s operátorskou stanicí (PC) a kdyby v takovém případě nadále vykonával starý příkaz, mohlo by dojít k jeho poškození. Proto vstupní data obsahují kontrolní bit (na pozici data_in[7]), kterým lze odlišit nová data od starých. Aplikace na PC totiž tento bit s každým odesláním instrukcí mění, a tak i když je vyslán dvakrát po sobě např. pokyn pro jízdu vpřed, liší se tyto dva pokyny v jednom bitu a řídící jednotka tak vyhodnotí data jako nová a uloží si je do paměti pro příští porovnání. Pokud jednotka vyhodnotí data jako stará několikrát po sobě (pro případ, že by přenos dat byl pomalejší a jednotka se k vyhodnocení dostala dříve, než dojdou nová data), robota zastaví a čeká na nová data. Po správném příjmu dat následuje získání dat ze všech senzorů pomocí funkce collect data a čtením registrů IMU a jejich odeslání do počítače byte po bytu. Ten je po jejich obdržení zpracuje a posílá nové instrukce. Komunikace tak probíhá neustále, i když robot stojí na místě, stále získává data ze senzorů a posílá je do počítače (neplatí při stání kvůli nesplnění podmínky nových příchozích dat). Po odeslání dat jednotka vyhodnotí, jestli data obsahují bit pro autonomní pohyb nebo dálkově ovládaný. V případě dálkově ovládaného pohybu jednotka nastaví novou rychlost motorů a opět čeká na nová data. Pokud dorazila instrukce obsahující bit pro autonomní pohyb a zároveň pokyn jeď, vyhodnotí si jednotka sama data o okolí z IR senzorů. Pro autonomní pohyb byl napsán pouze jednoduchý algoritmus. Pokud je před robotem dostatek prostoru (více než 10 cm, tzn. hodnota z IR měřiče vzdálenosti směřujícího přímo je menší než 60 dekadicky), robot jede rovně. Pokud ne, pak zkontroluje levý detektor a v případě volného prostoru se začne otáčet vlevo. Pokud není místo vlevo a je vpravo nebo vzadu, otáčí se doprava. Pokud všechny senzory hlásí překážku, robot zastaví. Po vyhodnocení posledních dat se smyčka opakuje a zpracovávají se zase nová data. Celý postup je znázorněn ve vývojovém diagramu na obr
38 Obr. 34: Vývojový diagram funkce main() 38
39 5.8 Ovládací aplikace pro PC Pro ovládání robota a zobrazování dat naměřených senzory byla v programu Microsoft Visual Studio 2013, který je ve studentské licenci zdarma ke stažení, napsána aplikace pro PC. Screenshot z této aplikace je na obr. 35. Aplikace je rozdělena do několika bloků, bloky jsou přehledně popsány. V levé části nahoře se nachází blok pro připojení k Bluetooth modulu robota přes sériový port, zobrazeny jsou parametry navázané komunikace. Pod ním je blok s výběrem módu, v jakém se bude robot pohybovat (buď autonomně, nebo podle instrukcí obsluhy programu. Dále je v levé části blok s daty z IMU, zobrazeny jsou pouze pohyby v horizontálních osách, tzn. sklon (pitch) a náklon (roll). V levém dolním rohu jsou pak tlačítka pro ovládání směru jízdy robota, po přepnutí do autonomního módu se většina tlačítek deaktivuje a funkční zůstanou pouze tlačítka pro jízdu dopředu a pro zastavení. Obr. 35: Screenshot z aplikace pro PC V pravé části aplikace jsou zobrazeny data z IR senzorů, u zadního a bočních detektorů se pouze mění barva ze zelené na červenou v případě detekce překážky, u předního otočného senzoru jsou zobrazeny i naměřené vzdálenosti, barva se ze zelené na červenou mění při přiblížení se k překážce na vzdálenost nižší než 10 cm. Tomuto zobrazení odpovídá postavení robota na obr
40 Obr. 36: Robot detekující překážku na pravé straně Zatímco zobrazování dat z IR senzorů pracovalo bez větších potíží, zobrazení dat z IMU se nakonec nepodařilo zrealizovat. Při snaze implementovat některý z používaných filtrů pro zpracování dat z inerciálních měřících jednotek (komplementární, Kalmanův, Mahonyho) aplikace vždy spadla a nepodařilo se odhalit příčinu jejího pádu. Bylo proto zapotřebí hledat možné zdroje chyb a tak byla otestována i samotná komunikace řídící jednotky přes Bluetooth. Testování proběhlo pomocí programu RealTerm: Serial Capture Program, který (na rozdíl od např. HyperTerminalu) dokáže zobrazovat příchozí data i v binárním tvaru a je tak možné ověřit, jaká data řídící jednotka posílá. Jak je vidět na obr. 37, řídící jednotka posílá požadovaný počet bytů, jejichž struktura odpovídá dříve zmíněné. Poslední 3 byty odpovídají vzdálenostem naměřeným IR měřičem vzdálenosti (151, 133, 92, tzn. 3,8 cm, 4,4 cm a 6,8 cm podle rovnice (7)), následující byte (čtvrtý od konce) odpovídá třem IR detektorům detekujícím překážku (robot byl při tomto měření v krabici, aby při ladění aplikace neobdržel nečekanou instrukci a nezřítil se ze stolu). Následující dva byty odpovídají svislé ose z akcelerometru (proto poměrně vysoké číslo), další čtyři pak horizontálním osám x a y (proto malé číslo, malý vliv gravitace v těchto osách), zbylých šest bytů jsou pak data z gyroskopu. Komunikace řídící jednotky se tak zdá být v pořádku, chyba je nejspíš v samotné aplikaci a ne v jednotce jako takové. RealTerm také umožňuje měřit dobu, za jakou se data vrátí zpět. Při připojení pouze předního IR senzoru a snímání a posílání jen jedné hodnoty (bez natáčení servem do boku) se odezva pohybovala kolem 300 ms. Při připojení a odesílání dat ze všech senzorů ale byla odezva podstatně větší, pohybovala se kolem 1500 ms (zvlášť kvůli pomalému natáčení serva a pomalému vyčítání dat z registrů IMU). 40
41 Obr. 37: Ověření správnosti komunikace pomocí RealTerm 41
42 Závěr V diplomové práci je popsán návrh univerzální řídící jednotky pro roboty. Projekt obsahuje přehled robotických soutěží a v robotice používané elektroniky. Na základě tohoto přehledu je pak rozhodnuto, které periferie musí taková univerzální řídící jednotka obsahovat, aby byla zachována jak její univerzálnost, tak naopak jednoduchost. Výsledkem práce je návrh řídící jednotky obsahující mikrokontrolér ATmega32A, integrovaný H-můstek pro připojení dvou motorů, dva demultiplexory umožňující připojení až 16 serv nebo senzorů a z mikrokontroléru vyvedené všechny druhy rozhraní, ať už je to SPI, TWI (I2C), nebo UART upravený na 3 V logiku pro komunikační moduly. Vyveden je také 8kanálový AD převodník. K otestování všech periferií řídící jednotky byl postaven demo-robot, který pomocí senzorů detekuje překážky v okolí a autonomně se jim vyhýbá, o všem informuje operátorskou stanici (PC) pomocí bezdrátového Bluetooth modulu. Robot také obsahuje inerciální měřící jednotku, která se používá pro určení náklonu a zrychlení. Ke všem periferiím byly vytvořeny knihovny, které umožňují široké použití řídící jednotky. V rámci diplomové práce byl vytvořen i jednoduchý ovládací program pro robota, je tak možné ho na dálku řídit a sledovat na PC graficky znázorněná data ze senzorů detekujících překážky, data z inerciální měřící jednotky se zobrazit nepodařilo, zřejmě se v programu vyskytla chyba, kvůli které program při přijetí těchto dat padal. Komunikace tak byla ověřena pomocí programu RealTerm, který neodhalil na straně řídící jednotky problém s komunikací, chyba je tak nejspíše opravdu na straně programu a ne řídící jednotky. Řídící jednotka je schopná zprostředkovávat data hned z několika senzorů najednou, kdy zároveň běží všechny 3 čítače/časovače, UART a TWI. V této konfiguraci už se projevovalo na rychlosti sběru dat určité zpoždění, ale jednalo se o extrémní situaci v rámci testování. Pro jednoduché roboty je řídící jednotka plně dostačující, např. roboti pro robotické sumo si většinou vystačí se dvěma motory a jedním senzorem překážek, kdy se roztočí na místě, najdou překážku (soupeře) a rozjedou se proti ní. Toho by byla řídící jednotka zajisté schopná a tak se podařilo splnit zadání. 42
43 Použitá literatura [1] NOVÁK, P. Mobilní roboty 1. díl Pohony, senzory, řízení. Praha: Nakladatelství BEN, ISBN [2] Robotika.cz. Soutěže [online]. www [cit. 19. května 2014]. Dostupné na www: < [3] Robotika.cz. Pravidla [online]. www [cit. 19. května 2014]. Dostupné na www: < [4] Eurobot.org. Eurobot 2014 rules [online]. www [cit. 19. května 2014]. Dostupné na www: < [5] Robotika.cz. Robot Challenge 2009 [online]. www [cit. 19. května 2014]. Dostupné na www: < [6] Wikipedia.org. Hexapod (robotics) [online]. www [cit. 19. května 2014]. Dostupné na www: < [7] Vishay Telefunken. TSOP48 Photo Modules [online]. www [cit. 20. května 2014]. Dostupné na www: < [8] Fairchild Semiconductor. QRD1113, QRD1114 [online]. datasheet [cit. 19. května 2014]. Dostupné na www: < [9] Solarbotics. QRD1114 [online]. www [cit. 19. května 2014]. Dostupné na www: < [10] Snail Shop. GP2Y0A41 [online]. www [cit. 19. května 2014]. Dostupné na www: < [11] Snail Shop. SRF02 [online]. www [cit. 19. května 2014]. Dostupné na www: < [12] Snail Shop. SRF05 [online]. www [cit. 19. května 2014]. Dostupné na www: < [13] Wikipedia.org. Bluetooth [online]. www [cit. 19. května 2014]. Dostupné na www: < [14] Wikipedia.org. Wi-Fi [online]. www [cit. 19. května 2014]. Dostupné na www: < [15] Spezial Electronic. Bluetooth EDR UART, I2C, GPIO Serial Port Adapter moduly [online]. www [cit. 19. května 2014]. Dostupné na www: < 43
44 [16] Spezial Electronic. Product Brief OBS418 [online]. datasheet [cit. 19. května 2014]. Dostupné na www: < [17] Spezial Electronic. WiFi UART Dual Band Serial Port Adapter OWS451 2,4GHz a 5GHz [online]. www [cit. 19. května 2014]. Dostupné na www: < [18] Arduino. Arduino Uno [online]. www [cit. 19. května 2014]. Dostupné na www: < [19] Arduino. Arduino Motor Shield [online]. www [cit. 19. května 2014]. Dostupné na www: < [20] Arduino. Arduino WiFi Shield [online]. www [cit. 19. května 2014]. Dostupné na www: < [21] Atmel. Atmel ATmega32A datasheet [online]. datasheet [cit. 19. května 2014]. Dostupné na www: < ATmega32A_Datasheet.pdf>. [22] NXP. 74HC238; 74HCT238 3-to-8 line decoder/demultiplexer [online]. datasheet [cit. 19. května 2014]. Dostupné na www: < 74HC_HCT238.pdf>. [23] Wikipedia.org. H bridge [online]. www [cit. 19. května 2014]. Dostupné na www: < [24] STMicroelectronics. L298 Dual Full-bridge Driver [online]. datasheet [cit. 19. května 2014]. Dostupné na www: < L298_H_Bridge.pdf>. [25] ON Semiconductor. MURS120T3 Series Ultrafast Rectifiers [online]. datasheet [cit. 20. května 2014]. Dostupné na www: < smd-datasheet-1.pdf>. [26] Tyco Electronics. RUE185 PTC Devices [online].datasheet [cit. 20. května 2014]. Dostupné na www: < [27] Texas Instruments. LM1084 Low Dropout Positive Regulators [online]. www [cit. 19. května 2014]. Dostupné na www: < [28] Wikipedia.org. Polyethylen [online]. www [cit. 20. května 2014]. Dostupné na www: < [29] InvenSense. MPU-6000/MPU-6050 Six-Axis MEMS Devices [online]. www [cit. 20. května 2014]. Dostupné na www: < 44
45 [30] Robotstore.cz. GY-521 6DOF Arduino modul [online]. www [cit. 20. května 2014]. Dostupné na www: < 6dof>. [31] Wikipedia.org. Aircraft principal axes [online]. www [cit. 20. května 2014]. Dostupné na www: < [32] GME. 5.0 mm Infrared Emitting Diode [online]. datasheet [cit. 20. května 2014]. Dostupné na www: < datasheet-1.pdf>. [33] Udo s Blog. Using ATmega as I2C master [online]. www [cit. 21. května 2014]. Dostupné na www: < [34] Udo s Blog. Read acceleration sensor MPU-6050 with ATmega 16A [online]. www [cit. 21. května 2014]. Dostupné na www: < 45
46 Seznam zkratek PWM Pulse-width Modulation Pulsně šířková modulace IR Infrared Infračervený SMD Surface-mount Device Součástka s povrchovou montáží MUX Multiplexor/Demultiplexor IMU Inertial Measurement Unit Inerciální měřící jednotka ADC Analog-to-digital Converter Analogově-digitální převodník UART Universal Asynchronous Receiver/Transmitter Univerzální asynchronní přijímač/vysílač I2C Inter-integrated Circuit Dvouvodičová sériová sběrnice TWI Two-wire Interface Dvouvodičová sériová sběrnice (jako I2C) SPI Serial Peripheral Interface Sériové periferní rozhraní 46
47 Seznam obrázků a tabulek Obr. 1: Start soutěže Robotour 2010 [3]... 9 Obr. 2: Ukázka ze soutěže Eurobot [4] Obr. 3: Mini Sumo na soutěži Robot Challenge 2009 [5] Obr. 4: Šestinohý robot (hexapod) [6] Obr. 5: TSOP4838 [7] Obr. 6: QRD1114 [9] Obr. 7: IR měřič vzdálenosti GP2Y0A41 [10] Obr. 8: Sonary SRF02 a SRF05 [11, 12] Obr. 9: Bluetooth modul OBS418i [15] Obr. 10: WiFi modul OWS451x [17] Obr. 11: Arduino Uno R3 [18] Obr. 12: Arduino Motor Shield a Arduino WiFi Shield [19], [20] Obr. 13: Pouzdro TQFP44 [21] Obr. 14: Pouzdro SO16 [22] Obr. 15: Průběhy na vstupních pinech demultiplexoru Obr. 16: H-můstek [23] Obr. 17: Pouzdro PowerSO20 [24] Obr. 18: Zapojení H-můstku L298P [24] Obr. 19: Pouzdro TO-220 a zapojení stabilizátoru LM1084 [27] Obr. 20: Osazená řídící jednotka Obr. 21: Rozložení konektorů (červená barva) a integrovaných obvodů (modrá) Obr. 22: Podvozek robota Obr. 23: Robot osazený veškerou elektronikou Obr. 24: Senzor Sharp GP2Y0A41 na servu Obr. 25: IMU modul GY-521 [30] Obr. 26: Osy otáčení letadla [31] Obr. 27: IMU modul (vlevo) a Bluetooth modul (vpravo) na platformě Obr. 28: Robot ze spodní strany Obr. 29: IR detektory překážek na bocích a zadní straně robota Obr. 30: Měření vzdálenosti detekce signálu v přímém směru Obr. 31: Měření úhlové závislosti detektoru Obr. 32: Vyzařovací charakteristika diody [32] Obr. 33: Závislost hranice detekce na úhlu Obr. 34: Vývojový diagram funkce main() Obr. 35: Screenshot z aplikace pro PC Obr. 36: Robot detekující překážku na pravé straně Obr. 37: Ověření správnosti komunikace pomocí RealTerm Tab. 1: Dosah a přenosová rychlost Bluetooth [13] Tab. 2: Maximální rychlost WiFi podle standardu [14] Tab. 3: Spotřeba integrovaných obvodů Tab. 4: Vstupní data a jejich význam
48 Seznam příloh A. SCHÉMATA ZAPOJENÍ A SEZNAMY SOUČÁSTEK A.1 Řídící jednotka A.2 IR detektor B. PLOŠNÉ SPOJE B.1 Řídící jednotka B.2 IR detektor C. NAMĚŘENÉ HODNOTY C.1 Vyzařovací charakteristika IR detektoru
49 A. SCHÉMATA ZAPOJENÍ A SEZNAMY SOUČÁSTEK A.1 Řídící jednotka Schéma zapojení řídící jednotky 49
50 Označení Hodnota Pouzdro Popis BLUE OSBL1206C1A 1206 LED dioda - modrá C1 10 μf/35 V C Elektrolytický kondenzátor C2 100 μf/25 V E Elektrolytický kondenzátor C3 C6 100 nf 1206 Keramický kondenzátor C7, C8 22 pf 1206 Keramický kondenzátor C9 C nf 1206 Keramický kondenzátor D1 D8 MURS160T3 SMB Dioda 600V/2A F1, F2 RUE185 Vratná pojistka 1,85A/30V IC1 LM1084 TO-220 Stabilizátor napětí 5V/5A IC2 ATmega32A TQFP44 Mikrokontrolér AVR IC3 L298P PowerSO-20 H-můstek IC4, IC5 74HC238 SO-16 Demultiplexor 3-to-8 Q1 16 MHz HC49 Krystal R1 1,8 kω 1206 Rezistor R2 2,2 kω 1206 Rezistor R3 560 Ω 1206 Rezistor R4 330 Ω 1206 Rezistor RED OSHR1206C1A 1206 LED dioda - červená RST Mikrospínač SMD a další, např. konektory s roztečí vývodů 2,54 mm, kabely, chladič, držák baterií 50
51 A.2 IR detektor Schéma zapojení IR detektoru Označení Hodnota Pouzdro Popis C1 4,7 μf/63 V RM2,5 x 6,3 mm Elektrolytický kondenzátor IC1 TSOP4838 TSOP48 IR detektor LED1, LED2 5 mm IR LED dioda R1 360 Ω 1206 Rezistor R2 100 Ω 1206 Rezistor a další, např. konektory 51
52 B. PLOŠNÉ SPOJE B.1 Řídící jednotka Vrchní a spodní strana desky, rozměry 69,5 x 59,1 mm (1:1) Osazovací výkres desky (1:1) B.2 IR detektor Spodní strana a osazovací výkres desky, rozměry 30,5 x 19,0 mm (1:1) 52
Merkur perfekt Challenge Studijní materiály
Merkur perfekt Challenge Studijní materiály T: 541 146 120 IČ: 00216305, DIČ: CZ00216305 / www.feec.vutbr.cz/merkur / steffan@feec.vutbr.cz 1 / 10 Název úlohy: Autonomní dopravní prostředek Anotace: Úkolem
Jízda po čáře pro reklamní robot
Jízda po čáře pro reklamní robot Předmět: BROB Vypracoval: Michal Bílek ID:125369 Datum: 25.4.2012 Zadání: Implementujte modul do podvozku robotu, který umožňuje jízdu robotu po předem definované trase.
Students for Automotive (S4A)
Students for Automotive (S4A) Soutěž o nejlepší vozítko postavené na platformě Arduino Petr Šimoník a kolektiv Ostrava 2017 Obsah 1. Anotace soutěže... 3 2. Základní informace... 4 2.1 Pořadatel soutěže...
Bezdrátový přenos signálu v reálné aplikaci na letadle.
Bezdrátový přenos signálu v reálné aplikaci na letadle. Jakub Nečásek TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF
BEZDRÁTOVÉ ZABEZPEČOVACÍ ZAŘÍZENÍ
BEZDRÁTOVÉ ZABEZPEČOVACÍ ZAŘÍZENÍ (Bakalářská práce) Lukáš Čapek E-mail: xcapek10@stud.feec.vutbr.cz ÚVOD Cílem mého bakalářského projektu bylo zkonstruovat jednoduché bezdrátové zařízení pro všeobecné
Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný
Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů Zdeněk Oborný Freescale 2013 1. Obecné vlastnosti Cílem bylo vytvořit zařízení, které by sloužilo jako modernizovaná náhrada stávající
Návrh konstrukce odchovny 2. dil
1 Portál pre odborné publikovanie ISSN 1338-0087 Návrh konstrukce odchovny 2. dil Pikner Michal Elektrotechnika 19.01.2011 V minulem dile jsme si popsali návrh konstrukce odchovny. senzamili jsme se s
Manuál přípravku FPGA University Board (FUB)
Manuál přípravku FPGA University Board (FUB) Rozmístění prvků na přípravku Obr. 1: Rozmístění prvků na přípravku Na obrázku (Obr. 1) je osazený přípravek s FPGA obvodem Altera Cyclone III EP3C5E144C8 a
AD4RS. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485
měřící převodník 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma komunikace linkami RS232 nebo RS485. Katalogový list Vytvořen: 4.5.2007 Poslední aktualizace: 15.6 2009 09:58 Počet stran:
Uživatelská příručka
Rele Control Elektronické ovládání výstupů Uživatelská příručka ver. 1.36 (09/02/2006) revize 07.10.2006 HW PROGRESS Milan Jaroš OBSAH: 1 Seznámení... 3 1.1 Určení... 3 1.2 Základní údaje... 3 1.3 Složení
Úvod do mobilní robotiky AIL028
md at robotika.cz http://robotika.cz/guide/umor07/cs 11. října 2007 1 Definice Historie Charakteristiky 2 MCU (microcontroller unit) ATmega8 Programování Blikání LEDkou 3 Kdo s kým Seriový port (UART)
Projekt BROB B13. Jízda po čáře pro reklamní robot. Vedoucí projektu: Ing. Tomáš Florián
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCHTECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Projekt BROB 2013 B13. Jízda po čáře pro reklamní robot Vedoucí projektu: Ing. Tomáš Florián Autoři práce: Martin
Robotická ruka. Lukáš Fotr a Jaroslav Karban. Integrovaná střední škola, 2. ročník Kumburská 846, Nová Paka
Středoškolská technika 2017 Setkání a prezentace prací středoškolských studentů na ČVUT Robotická ruka Lukáš Fotr a Jaroslav Karban Integrovaná střední škola, 2. ročník Kumburská 846, Nová Paka Koordinátor:
9. Robot pro Robotický den 2012
Předmět Jméno Ročník BROB Základy robotiky Pavel Svoboda, Luboš Tlustoš Datum 2. 6.5.2012 Kontroloval Hodnocení Dne Úloha 9. Robot pro Robotický den 2012 Zadání: Sestavte tým, jehož úkolem bude zúčastnit
Přenos signálů, výstupy snímačů
Přenos signálů, výstupy snímačů Topologie zařízení, typy průmyslových sběrnic, výstupní signály snímačů Přenosy signálů informací Topologie Dle rozmístění ŘS Distribuované řízení Většinou velká zařízení
Arduino Martin Friedl
Arduino Martin Friedl 1 Obsah Materiály Vlastnosti Programování Aplikace 2 Co je to Arduino? Arduino je otevřená elektronická platforma, založená na uživatelsky jednoduchém hardware a software. Arduino
Ověření funkčnosti ultrazvukového detektoru vzdálenosti
1 Portál pre odborné publikovanie ISSN 1338-0087 Ověření funkčnosti ultrazvukového detektoru vzdálenosti Plšek Stanislav Elektrotechnika 06.12.2010 Práce se zabývá ověřením funkčnosti ultrazvukového detektoru
Čtyřnohý kráčející robot
Čtyřnohý kráčející robot Jan Šimurda (134 629) Martin Řezáč (134 600) Ivan Štefanisko (138 952) Radek Sysel (133 850) Vedoucí projektu: Ing. Vlastimil Kříž ÚSTAV AUTOMATIZACE A MĚŘÍCÍ TECHNIKY Obsah 1.
Úvod do mobilní robotiky NAIL028
md at robotika.cz http://robotika.cz/guide/umor08/cs 6. října 2008 1 2 Kdo s kým Seriový port (UART) I2C CAN BUS Podpora jednočipu Jednočip... prostě jenom dráty, čti byte/bit, piš byte/bit moduly : podpora
Vývojové kity Mega48,
Vývojové kity Mega48, Mega48 Mega48X a Mega328 Ucelená řada ada vývojových kitů s obvody ATmega48 a ATmega328 je vhodná jak pro výukové účely ely a seznámení se s funkcemi mikrokontrolér mikrokontrolérů,
Konektory a Kabely. Aneb zařízení integrovaná do základní desky a konektory a kabeláž pro připojení externích zařízení
Karel Johanovský Michal Bílek SPŠ-JIA Konektory a Kabely Aneb zařízení integrovaná do základní desky a konektory a kabeláž pro připojení externích zařízení 1 Zařízení integrovaná do MB Základní deska se
Mikrokontroléry. Doplňující text pro POS K. D. 2001
Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou
4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485
měřící převodník 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma komunikace linkami RS232 nebo RS485 13. ledna 2017 w w w. p a p o u c h. c o m 0294.01.02 Katalogový list Vytvořen: 4.5.2007
Projekt BROB. Základy robotiky. Téma: Digitální časomíra. Vedoucí projektu: Tomáš Jílek
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Základy robotiky Projekt BROB Téma: Digitální časomíra Vedoucí projektu: Tomáš Jílek Projektanti: Petr Bilík (ID:191970)
Zapojení a řízení činnosti sonarových senzorů MB1220 pomocí Arduino Micro
Zapojení a řízení činnosti sonarových senzorů MB1220 pomocí Arduino Micro 1 Úvod Cílem této části projektu je návrh a odladění sítě šesti sonarových senzorů pro UAV (kvadrokoptéru). Vstupní parametry úlohy
FVZ K13138-TACR-V004-G-TRIGGER_BOX
TriggerBox Souhrn hlavních funkcí Synchronizace přes Ethernetový protokol IEEE 1588 v2 PTP Automatické určení možnosti, zda SyncCore zastává roli PTP master nebo PTP slave dle mechanizmů standardu PTP
Vzdálené ovládání po rozvodné síti 230V
Vzdálené ovládání po rozvodné síti 230V Jindřich Vavřík STOČ 2011 1 1. Základní popis Systém umožňující přenášení informací po rozvodné síti nízkého napětí 230V. Systém je sestrojen ze dvou zařízení vysílače
Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky
FREESCALE TECHNOLOGY APPLICATION 2012-2013 Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky Jméno: Libor Odstrčil Ročník: 3. Obor: IŘT Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované
Students for Automotive (S4A)
Students for Automotive (S4A) Soutěž o nejlepší vozítko postavené na platformě Arduino III. ročník Petr Šimoník a kolektiv Ostrava 2018 Obsah 1. Anotace soutěže... 3 2. Základní informace... 4 2.1 Pořadatel
1 Podrobná specifikace Yunifly Datasheet
1 Podrobná specifikace Yunifly Datasheet OBRAZEK fotky Yunifly obe desky zvlast + dohromady + top view - merge to one 1.1 Hmotnost a rozměry Elektronika Yunifly je složena ze dvou samostatných částí, které
24 bitový dvoukanálový AD převodník s obvodem HX711
24 bitový dvoukanálový AD převodník s obvodem HX711 Jako vždy, nejdřív si projdeme datasheet obvodu HX711, abychom se dozvěděli, jak obvod přesně pracuje. Jádrem převodníku je obvod HX711, který obsahuje
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY. OPTICKÝ SPOJ LR-830/1550 Technický popis
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY OPTICKÝ SPOJ LR-830/1550 Technický popis BRNO, 2009 1 Návrh a konstrukce dálkového spoje 1.1 Optická
Impulsní regulátor ze změnou střídy ( 100 W, 0,6 99,2 % )
ZÁPADOČESKÁ UNIVERZITA V PLZNI Fakulta elektrotechnická Impulsní regulátor ze změnou střídy ( 100 W, 0,6 99,2 % ) Školní rok: 2007/2008 Ročník: 2. Datum: 12.12. 2007 Vypracoval: Bc. Tomáš Kavalír Zapojení
D/A převodník se dvěma napěťovými nebo proudovými výstupy. (0 10 V, 0 5 V, ±10 V, ±5 V, 4 20 ma, 0 20 ma, 0 24 ma)
D/A převodník D/A převodník se dvěma napěťovými nebo proudovými výstupy (0 10 V, 0 5 V, ±10 V, ±5 V, 4 20 ma, 0 20 ma, 0 24 ma) Komunikace linkami RS232 nebo RS485 28. ledna 2016 w w w. p a p o u c h.
4IOT-SEN-01 Sensor pro IoT aplikace Technická dokumentace
Sensor pro IoT aplikace Technická dokumentace WWW.4IOTECH.COM 2018 4IOTECH s.r.o. Stránka 1 z 12 Technický popis 4IOT-SEN-01 je zařízení vyvinuté společností 4IOTECH s.r.o. speciálně do průmyslového prostředí.
GFK-2004-CZ Listopad Rozměry pouzdra (šířka x výška x hloubka) Připojení. Skladovací teplota -25 C až +85 C.
Modul slouží pro výstup digitálních signálů 24 Vss. Specifikace modulu Rozměry pouzdra (šířka x výška x hloubka) Připojení 48,8 mm x 120 mm x 71,5 mm dvou-, tří- a čtyřdrátové Provozní teplota -25 C až
UniPi 1.1 Lite Technologická dokumentace
UniPi 1.1 Lite Technologická dokumentace Obsah 1 Úvodní představení produktu... 3 2 Popis produktu... 4 2.1 Využití GPIO pinů... 5 2.2 GPIO konektor... 5 2.3 Napájení... 6 2.4 Montáž Raspberry Pi k UniPi
Megarobot.cz Senzory Jan Stránský. Senzory. Co je to senzor Jednotlivé senzory Hit senzor senzor nárazu Modul fotorezistoru...
Senzory Obsah Co je to senzor... 2 Jednotlivé senzory... 2 Hit senzor senzor nárazu... 2 Modul fotorezistoru... 2 Tlačítko... 3 Teplotní senzor... 3 Senzor magnetismu... 3 Infračervený senzor... 4 Infračervený
SIMULACE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE
SIMULE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE M. Kabašta Žilinská univerzita, Katedra Mechatroniky a Elektroniky Abstract In this paper is presented the simulation of single-phase matrix converter. Matrix converter
Praktické úlohy- 2.oblast zaměření
Praktické úlohy- 2.oblast zaměření Realizace praktických úloh zaměřených na dovednosti v oblastech: Měření specializovanými přístroji, jejich obsluha a parametrizace; Diagnostika a specifikace závad, měření
PK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.
MB-ATmega16/32 v2.0 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (21.12.2004) Obsah 1 Upozornění... 3 2 Úvod... 4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti
5. A/Č převodník s postupnou aproximací
5. A/Č převodník s postupnou aproximací Otázky k úloze domácí příprava a) Máte sebou USB flash-disc? b) Z jakých obvodů se v principu skládá převodník s postupnou aproximací? c) Proč je v zapojení použit
PŘÍLOHY. PRESTO USB programátor
PŘÍLOHY PRESTO USB programátor 1. Příručka PRESTO USB programátor Popis indikátorů a ovládacích prvků Zelená LED (ON-LINE) - PRESTO úspěšně komunikuje s PC Žlutá LED (ACTIVE) - právě se komunikuje s uživatelskou
VETRONICS 760. Technická specifikace mobilní jednotky
Technická specifikace mobilní jednotky VETRONICS 760 Revize 1.0, květen 2017 PRINCIP a.s. Radlická 204/503, 158 00 Praha 5 Tel.: +420 257 21 09 04, Fax: +420 257 22 02 51 E-mail: centrum@princip.cz, reklamace@princip.cz
Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování
8. Rozšiřující deska Evb_IO a Evb_Motor Čas ke studiu: 2-3 hodiny Cíl Po prostudování tohoto odstavce budete něco vědět o Výklad Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem
TGZ. 2-osé digitální servozesilovače
TGZ 2-osé digitální servozesilovače Digitální servozesilovače TGZ TGZ představuje nový koncept měničů pro více-osé aplikace. TGZ v sobě zahrnuje moderní prvky digitálního řízení, jednoduché přednastavené
Návod k obsluze [CZ] VMS 08 Heineken. Řídící jednotka pro přesné měření spotřeby nápojů. Verze: 1.1 Datum: 28.2.2011 Vypracoval: Vilímek
Návod k obsluze [CZ] VMS 08 Heineken Řídící jednotka pro přesné měření spotřeby nápojů Verze: 1.1 Datum: 28.2.2011 Vypracoval: Vilímek Charakteristika systému VMS08 je mikroprocesorem řízená jednotka určená
TDS. LED zobrazovače. 4 sedmisegmentový svítící displej Výška znaku 10 nebo 57 mm Komunikace přes RS července 2012 w w w. p a p o u c h.
LED zobrazovače 4 sedmisegmentový svítící displej Výška znaku 10 nebo 57 mm Komunikace přes RS485 11. července 2012 w w w. p a p o u c h. c o m Katalogový list Vytvořen: 17.12.2004 Poslední aktualizace:
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY ŘÍZENÍ KROKOVÝCH MOTORKŮ ZÁKLADY ROBOTIKY - SEMESTRÁLNÍ PROJEKT AUTOR PRÁCE VEDOUCÍ
GFK-2005-CZ Prosinec Rozměry pouzdra (šířka x výška x hloubka) Připojení. Provozní teplota -25 C až +55 C. Skladovací teplota -25 C až +85 C
Výstup 24 Vss, negativní logika, 0,5 A, 2 body Modul slouží pro výstup digitálních signálů 24 Vss. Specifikace modulu Rozměry pouzdra (šířka x výška x hloubka) Připojení 12,2 mm x 120 mm x 71,5 mm dvou-,
Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer
Přednáška A3B38MMP Bloky mikropočítače vestavné aplikace, dohlížecí obvody 2015, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, kat. měření, ČVUT - FEL Praha 1 Hlavní bloky procesoru
Řídící a regulační obvody fázové řízení tyristorů a triaků
A10-1 Řídící a regulační obvody fázové řízení tyristorů a triaků.puls.výstup.proud Ig [ma] pozn. U209B DIP14 155 tacho monitor, softstart, U211B DIP18 155 proud.kontrola, softstart, tacho monitor, limitace
Vestavné systémy BI-VES Přednáška 5
Vestavné systémy BI-VES Přednáška 5 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011 ZS2010/11 Evropský
FREESCALE TECHNOLOGY APPLICATION
FREESCALE TECHNOLOGY APPLICATION 2013-2014 3D LED Cube Jméno: Libor Odstrčil Ročník: 4. Obor: IT Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky 2 1 Konstrukce Obr. 1.: Výsledná LED kostka.
Programování mikropočítačů platforma Arduino
Programování mikropočítačů platforma Arduino Obsah Arduino... 1 Digitální výstupy a vstupy... 2 Připojení LED k Arduinu... 2 Co je to LED?... 3 Výpočet hodnoty předřadného rezistoru pro LED... 3 Barevné
I/O modul VersaPoint. Analogový výstupní modul, 16 bitový, napětí, 1 kanál IC220ALG321. Specifikace modulu. Spotřeba. Vlastnosti. Údaje pro objednávku
Analogový výstupní modul, 16 bitový, napětí, 1 kanál Modul slouží pro výstup analogových napěťových signálů. Tyto signály jsou k dispozici v 16 bitovém rozlišení. Specifikace modulu Rozměry pouzdra (šířka
I/O modul VersaPoint. Analogový výstupní modul, 16 bitový, napětí/proud, 1 kanál IC220ALG320. Specifikace modulu. Spotřeba. Údaje pro objednávku
Analogový výstupní modul, 16 bitový, napětí/proud, 1 kanál Modul slouží pro výstup analogových napěťových nebo proudových signálů. Tyto signály jsou k dispozici v 16 bitovém rozlišení. Specifikace modulu
Sériový programátor SI Prog
Sériový programátor SI Prog V poslední době dostáváme množství žádostí o uveřejnění jednoduchého programátoru. Dnešním příspěvkem snad uspokojíme alespoň část zájemců, protože bude popsán jednoduchý programátor
TECHNICKÁ UNIVERZITA V LIBERCI Studentská 1402/2 461 17 Liberec 1
Technická univerzita v Liberci Studentská 1402/2, 461 17 Liberec IČ: 467 47 885 vyřizuje oddělení veřejných zakázek 1 VÝZVA K PODÁNÍ NABÍDEK A PROKÁZÁNÍ SPLNĚNÍ KVALIFIKACE A ZADÁVACÍ DOKUMENTACE Zadavatel
ETC Embedded Technology Club setkání 3, 3B zahájení třetího ročníku
ETC Embedded Technology Club setkání 3, 3B 9.10. 2018 zahájení třetího ročníku Katedra měření, Katedra telekomunikací,, ČVUT- FEL, Praha doc. Ing. Jan Fischer, CSc. ETC club, 3, 3B 23.10.2018, ČVUT- FEL,
Stručný návod pro návrh přístrojového napájecího zdroje
Stručný návod pro návrh přístrojového napájecího zdroje Michal Kubíček Ústav radioelektroniky FEKT VUT v Brně Poznámka Návod je koncipován jako stručný úvod pro začátečníky v oblasti návrhu neizolovaných
AVR TESTBOARD. Karel Babický. SPŠ a VOŠ Písek Karla Čapka 402, Písek
Středoškolská technika 2010 Setkání a prezentace prací středoškolských studentů na ČVUT AVR TESTBOARD Karel Babický SPŠ a VOŠ Písek Karla Čapka 402, 39701 Písek Úvod Tato deska slouží spolu s USB sériovým
MI Video rozhraní pro vozidla Renault. Přepínání mezi jednotlivými vstupy a ovládání přehrávání
MI-1250 Video rozhraní pro vozidla Renault Tento adaptér (rozhraní) umožňuje zobrazit RGB signál o vysokém rozlišení, AV signál z externího zdroje (například DVD přehrávače) a video signál z kamery při
GFK-1904-CZ Duben Rozměry pouzdra (šířka x výška x hloubka) Připojení. Skladovací teplota -25 C až +85 C. Provozní vlhkost. Skladovací vlhkost
Modul slouží pro výstup digitálních signálů 24 Vss. Specifikace modulu Rozměry pouzdra (šířka x výška x hloubka) Připojení 12,2 mm x 120 mm x 71,5 mm dvou- a třídrátové Provozní teplota -25 C až +55 C
FILIP SCHWANK. Katedra měření, listopad 2017
FILIP SCHWANK Katedra měření, listopad 2017 CO JE TO MBED Knihovna pro programování mikrokontrolérů Jazyk C++ Jednoduché funkce dělají složité věci Od řidiče auta až po jeho mechanika JAK NA TO Registrovat
SEP2 Sensor processor. Technická dokumentace
SEP2 Sensor processor Technická dokumentace EGMedical, s.r.o. Křenová 19, 602 00 Brno CZ www.strasil.net 2010 Obsah 1. Úvod...3 2. Zapojení zařízení...4 2.1. Připojení napájecího napětí...4 2.2. Připojení
DUM č. 6 v sadě. 31. Inf-7 Technické vybavení počítačů
projekt GML Brno Docens DUM č. 6 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 28.11.2013 Ročník: 1A, 1B, 1C Anotace DUMu: přehled interních sběrnic a vstup-výstupních interface
Obsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14
Obsah O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14 KAPITOLA 1 Úvod k počítači Raspberry Pi 15 Hardware 16 Mikroprocesor Broadcom 2835 / grafický procesor 16 Paměť 18 Konektory počítače
Použití UART a radia na platformě micro:bit
Použití UART a radia na platformě micro:bit Jakub Vodsed álek Katedra měření Fakulta elektrotechnická České vysoké učení v Praze 25. června 2017 Obsah 1 Úvod 2 UART UART - úvod UART - výstup Prostý výpis
DESKA ANALOGOVÝCH VSTUPŮ ±24mA DC, 16 bitů
ZÁKLADNÍ CHARAKTERISTIKA Připojení analogových vstupů Doba převodu A/D ms Vstupní rozsah ±ma, ±ma DC Rozlišení vstupů bitů Přesnost vstupů 0,0% z rozsahu Galvanické oddělení vstupů od systému a od sebe
Adresovatelné RGB LED
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra měření Dokumentace Adresovatelné RGB LED Zpracoval Ondřej Hruška 10. dubna 2017 1 Základní informace Adresovatelné (číslicově řízené)
Chytkarobot. Karel Chytra. Vyšší odborná škola, Střední škola, Centrum odborné přípravy Budějovická 421 Sezimovo Ústí
Středoškolská technika 2014 Setkání a prezentace prací středoškolských studentů na ČVUT Chytkarobot Karel Chytra Vyšší odborná škola, Střední škola, Centrum odborné přípravy Budějovická 421 Sezimovo Ústí
Arduino digitální multimetr
Arduino digitální multimetr aneb jak to dopadne, když softwarový architekt navrhuje hardware... Petr Stehlík www.pstehlik.cz Osnova Idea a motivace Návrh a plán Teorie a implementace Problémy a chyby USB
Středoškolská technika 2015. Meteostanice
Středoškolská technika 2015 Setkání a prezentace prací středoškolských studentů na ČVUT Meteostanice Tomáš Kosťov, Petr Holický Střední průmyslová škola Resslova 5, Ústí nad Labem 1/17 Obsah O projektu
VÝVOJOVÁ DESKA PRO JEDNOČIPOVÝ MIKROPOČÍTAČ PIC 16F88 A. ZADÁNÍ FUNKCE A ELEKTRICKÉ PARAMETRY: vstupní napětí: U IN AC = 12 V (např.
VÝVOJOVÁ DESKA PRO JEDNOČIPOVÝ MIKROPOČÍTAČ PIC 16F88 A. ZADÁNÍ FUNKCE A ELEKTRICKÉ PARAMETRY: vstupní napětí: U IN AC = 12 V (např. z transformátoru TRHEI422-1X12) ovládání: TL1- reset, vývod MCLR TL2,
STÍNÍCÍ TECHNIKA BUDOUCNOSTI
DOMÁCÍ AUTOMATIZACE STÍNÍCÍ TECHNIKA BUDOUCNOSTI DANIEL MATĚJKA PŘEDSTAVENÍ SPOLEČNOSTI LG SYSTEM (DIVIZE DOMÁCÍ AUTOMATIZACE) DOMÁCÍ AUTOMATIZACE Zpracování elektoprojektů, domovní fotovoltaické systémy,
Přijímací modul ECA-16
Přijímací modul ECA-16 Přenos signálů po datové síti ETHERNET nebo RS485 Monitorování stavu provozu, poruch, limitních hodnot Dálkové ovládání strojů a technologický procesů Zobrazení dějů a ruční ovládání
Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1
Přednáška - Čítače 2013, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Náplň přednášky Čítače v MCU forma, principy činnosti A3B38MMP, 2013, J.Fischer,
Multifunkční dataloger s displejem EMD-1500
Multifunkční dataloger s displejem EMD-1500 Pro zobrazení, záznam a vyhodnocení fyzikálních veličin (výška hladiny, teplota, průtok apod.) 3,5'' TFT dotykový displej, české menu Libovolné kombinace vstupních
A/D a D/A PŘEVODNÍK 0(4) až 24 ma DC, 16 bitů
Deska obsahuje osm samostatných galvanicky oddělených vstupních A/D převod-níků pro měření stejnosměrných proudových signálů 0(4) 20 ma z technologických převodníků a snímačů a čtyři samostatné galvanicky
Studentská tvůrčí a odborná činnost STOČ 2017
Studentská tvůrčí a odborná činnost STOČ 2017 HW vývojový systém pro robotiku Bc. David Wunderlich FAI UTB ve Zlíně 20. dubna 2017 FAI UTB ve Zlíně Klíčová slova: Espruino, Lego, STM32, Altium, JavaScript.
MSP 430F1611. Jiří Kašpar. Charakteristika
MSP 430F1611 Charakteristika Mikroprocesor MSP430F1611 je 16 bitový, RISC struktura s von-neumannovou architekturou. Na mikroprocesor má neuvěřitelně velkou RAM paměť 10KB, 48KB + 256B FLASH paměť. Takže
Crouzet Micro-PLC Millenium 3 Smart
Products Elektrické stroje Automatizační moduly Crouzet Micro-PLC Millenium 3 Smart Modře podsvětlený LCD pro lepší čitelnost Podpora všech funkcí včetně speciálních Maximálně 700 funkčních bloků v programu
PROUDOVÝ ZDROJ PRO LED MODULY Nastavitelný proudový zdroj 100 ma 2000 ma s měřením
Klíčové vlastnosti Napájení jednotlivých LED a světelných modulů Nastavitelný proud 100 ma 2000 ma Výstupní napětí až 50 V DC při napájení 24 V DC Měření proudu protékajícího LED Měření napětí na LED Měření
EC Motor. IO Modul EC200. EC200 Int. EC200 Ext. Verze 1.20, revize PMControl s.r.o.
EC Motor IO Modul EC200 EC200 Int. EC200 Ext. Verze 1.20, revize 2010-07-27 PMControl s.r.o. 1. Popis IO modulu EC200 IO modul EC200 je rozšiřující interface pro motory s vestavěnou elektronikou řady PMC
Popis vývodů desek, jejich zapojování a spárování robota
Popis vývodů desek, jejich zapojování a spárování robota ----------------------------------------------------------------------------------------------------------------- Popis desky procesoru, LED, tlačítek
Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Obr. 1: Brick s moduly [3]
2. Popis robota NXT Cílem této kapitoly je seznámit s parametry a moduly stavebnice NXT. Klíčové pojmy: Stavebnice, moduly, CPU, firmware, komunikace, brick. Nejdůležitější součástkou stavebnice je kostka
PROUDOVÝ ZDROJ PRO LED MODULY
PROUDOVÝ ZDROJ PRO LED MODULY 100 ma 2000 ma 01/2018 ATEsystem s.r.o. Studentská 6202/17 708 00 Ostrava-Poruba Česká republika M +420 595 172 720 E atesystem@atesystem.cz W www.atesystem.cz INFORMACE O
Quido RS 2/16 OC. 2 vstupy pro kontakt 16 digitálních výstupů 1 teploměr -55 až +125 C komunikace přes RS485 nebo RS232
první zapojení dokumentace hardwaru 2 vstupy pro kontakt 16 digitálních výstupů 1 teploměr -55 až +125 C komunikace přes RS485 nebo RS232 20. října 2010 w w w. p a p o u c h. c o m 0315.01.01 Q uido RS
Elektronická stavebnice: Deska s jednočipovým počítačem
Elektronická stavebnice: Deska s jednočipovým počítačem Modul s jednočipovým počítačem Modul s řídícím jednočipovým počítačem je centrálním prvkem stavebnice. Jeho konstrukce umožňuje přímé připojení do
NTIS-VP1/1: Laboratorní napájecí zdroj programovatelný
NTIS-VP1/1: Laboratorní napájecí zdroj programovatelný stejnosměrný zdroj s regulací výstupního napětí a proudu s programovatelnými funkcemi 3 nezávislé výstupní kanály výstupní rozsah napětí u všech kanálů:
Ovládání, základní, senzory větru
Ovládání, základní, senzory větru RW Senzor větru Detail připojovacího konektoru Detail uchycení na konzolu Senzor větru, s možností připojení k, TF21/24, TF41/44 a TF33. RW je zařízení, které reguluje
Analyzátor sériového rozhraní RSA1B
Simulační systémy Řídicí systémy Zpracování a přenos dat Analyzátor sériového rozhraní RSA1B Návod k použití TM 07-02-08 OSC, a. s. tel: +420 541 643 111 Staňkova 557/18a fax: +420 541 643 109 602 00 Brno
1. MIKROPROCESOR ATMEGA A/D PŘEVODNÍK MÓDY PŘEVODNÍKU Single Conversion Mode Auto Triggering Start...
1. MIKROPROCESOR ATMEGA 8535... 2 1.1 A/D PŘEVODNÍK... 2 1.2 MÓDY PŘEVODNÍKU... 3 1.2.1 Single Conversion Mode... 3 1.2.2 Auto Triggering Start... 4 1.2.3 Free Running Mode... 4 1.3 VÝBĚR MĚŘENÉHO KANÁLU...
Vektorové obvodové analyzátory
Radioelektronická měření (MREM, LREM) Vektorové obvodové analyzátory 9. přednáška Jiří Dřínovský Ústav radioelektroniky FEKT VUT v Brně Úvod Jedním z nejběžnějších inženýrských problémů je měření parametrů
PGSM-M10 - GSM/GPRS moduly s M10
PGSM-M10 - GSM/GPRS moduly s M10 Malé GSM/GPRS komunikační moduly PGSM-M10 jsou určeny pro pohodlný vývoj mobilních aplikací a vestavbu do dalších zařízení. Díky svým rozměrům a integraci všech potřebných
IOFLEX02 PROGRAMOVATELNÁ DESKA 16 VSTUPŮ A 32 VÝSTUPŮ. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.
IOFLEX02 PROGRAMOVATELNÁ DESKA 16 VSTUPŮ A 32 VÝSTUPŮ Příručka uživatele Střešovická 49, 162 00 Praha 6, e-mail: s o f c o n @ s o f c o n. c z tel./fax : 220 610 348 / 220 180 454, http :// w w w. s o
VETRONICS 770. Technická specifikace mobilní jednotky
Technická specifikace mobilní jednotky VETRONICS 770 Revize 1.0, červen 2017 PRINCIP a.s. Radlická 204/503, 158 00 Praha 5 Tel.: +420 257 21 09 04, Fax: +420 257 22 02 51 E-mail: centrum@princip.cz, reklamace@princip.cz
Stabilizovaný zdroj s L 200T
Stabilizovaný zdroj s L 200T Tématický celek: Stabilizované zdroje, SE4 Výukový cíl: Naučit žáky praktické zapojení stab. zdroje a pochopit jeho funkci. Pomůcky: Multimetr, zátěž (rezistor 27Ω/10W) Odborná
Návrh konstrukce odchovny 3. dil
1 Portál pre odborné publikovanie ISSN 1338-0087 Návrh konstrukce odchovny 3. dil Pikner Michal Elektrotechnika 16.02.2011 V minulém díle jsme se seznámily s elektronickým zapojením. Popsali jsme si principy