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. Trasa robotu by měla být pro člověka na první pohled neodhalitelná, proto zvažte přednostně použití magnetické pásky přilepené k podlaze pod kobercem. Řízení robotu bude realizováno po některé ze standardních sériových sběrnic (RS-485, Ethernet apod.). Využijte návrh kolegů z loňského roku a úpravy, které provádí student Robert Bayer v rámci své Bakalářské práce. Změněné zadání: V průběhu semestru bylo zadání změněno z původního sledování magnetické pásky na sledování černé čáry.
Snímač: Senzor čáry pro malé mobilní roboty, který nabízí kalibraci čidel, komunikaci s okolím prostřednictvím sběrnice I2C a čtení hodnoty čidla v několika formátechqrd1114 Odrazový infrasenzor IR LED + fototranzistor Detekce na vzdálenost <6mm, optimum 0.25-1.5mm Vhodný pro sledování čáry či detekci okraje arény Rozměry 4.4x6.1x4.7mm Parametry snímače
Zapojení čidla: Návrh plošného spoje se snímači: Čidla zelené součástky jsou umístěné ze strany součástek. SMD rezistory červené jsou umístěny ze strany spojů. Seznam součástek: QRD1114-5 ; SMD rezistor (velikost 1206) 330R - 5 Odporová síť (RN) 4k7 typu A - 1 Konektor (například úhlový PSH) - 1
Komunikace: Senzor komunikuje jako I2C slave s výchozí adresou 0xAA, kterou lze změnit zápisem do registru 0xAA. V případě, že je adresa nastavena na 0 00 nebo 0xFF, použije se adresa výchozí. LED dioda blikne při každém čtení z registru senzoru. Registry: Číslo registru Název Popis 0 Digitální pozice Pozice čáry jako jeden bajt, ve kterém n-tý bit odpovídá stavu n-tého čidla. Pokud čidlo čáru vidí, je odpovídající bit nastaven na 1, v opačném případě je jeho hodnota nulová. Dva zbývající bity jsou ignorovány. 1 OnLine 1 = Aspoň jedno čidlo vidí čáru 0 = Celý senzor je mimo čáru 2 Pozice čáry (high byte) Vyšší bajt pozice čáry (0-5000) získané váženým průměrem naměřených hodnot. 3 Pozice čáry (low byte) 4, 6, 8, 10, 12, 14 Hodnota čidla (high byte) Vyšší bajt hodnoty jednoho ze pěti čidel (0-1000), 5, 7, 9, 11, 13, 15 Hodnota čidla (low byte) 16, 18, 20, 22, 24, 26 Nezpracovaná hodnota čidla (high byte) 17, 19, 21, 23, 25, 27 Nezpracovaná hodnota čidla (low byte) Vyšší bajt nezpracované hodnoty čidla hodnota přímo naměřená A/D převodníkem před kalibrací. Kalibrace 1. Zapíšte do I2C registru 0 00 hodnotu 1 nebo stiskněte tlačítko a vyčkejte, dokud se nerozsvítí zelená LED dioda. 2. Umistěte senzor nad černou čáru a stiskněte tlačítko nebo zapište hodnotu 0 02 do I2C registru 0 00 (LED blikne). 3. Umistěte senzor mimo čáru a stiskněte tlačítko nebo zapište hodnotu 0 02 do I2C registru 0 00 (LED blikne). 4. Nyní je možné senzor normálně používat.
Návrh na řízení: Nasnímanou zesílenou hodnotu převedeme pomocí A/D převodníku ATmega16 a následně je hodnota zpracována programem. Program vyšle na výstup 16bitovou hodnotu o rychlosti otáčení pravého a levého motoru. Mikrokontrolér ATmega16 byl navrhnut z důvodu lepší výbavy. ATmega16 JE nízkopříkonový 8bitový mikrokontrolér založený na. rozšířené architektuře RISC AVR. Vlastnosti mikrokontroléru ATmega16: - instrukční Soubor obsahuje 131 instrukcí, - 32 registrů délky 8 bitů, - Čtyři 8-bitové Vstupné / výstupní porty (celkem tedy 32 vstupů / výstupů), - hodinový kmitočet 0 až 16 MHz, maximální výkon 16 MIPS Výpočetní, - paměť programu JE tvořena zabudovanou Flash Kapacita JE 16 KB; počet přeprogramování JE 1000 cyklů, - datová pamět RAM kapacita hostelu 1 KB, - datová paměť EEPROM kapacita hostelu 512 B, počet přeprogramování JE 100 000 cyklů, - Flash EEPROM jsou programovatelné primo v systému pomoči rozhraní SPI Nebo JTAG, - DVA 8-bitové Citace / časovače, jeden 16-bitový (dokonalejší) čítač / časovač, - Čtyři PWM kanály, - analogový komparátor, 10-bitový A / D převodník, - jednotky USART, SPI, TWI (Support IIC), - jednotky WDT, Power-on reset, - zabudovaný RC oscilátor, - pouzdra DIP 40, TQFP 44, - Orientační cena 100Kč.
Závěr: Praktickou část projektu jsem nestihl proto, že téma bylo v průběhu změněno. Z finančních důvodu nebylo možné realizovat sledování magnetické pásky a navázat tak na práci z minulého roku a bakalářskou práci studenta Roberta Bayera. Zadání práce bylo upraveno na levnější variantu sledování černé čáry. Dále došlo k rozpadu týmu, který se touto problematikou měl zabývat. Z těchto důvodu se mě podařil pouze teoretický rozbor dané problematiky.