9. 5. 2014 Jízda po čáře pro robot FEKTBOT BROB BAMT VUT FEKT Michal Lesák, Tomáš Trenčan, Ondřej Balga Vedoucí projektu: Ing. Vlastimil Kříž
Poděkování Tímto bychom rádi velice poděkovali všem lidem, kteří nám s projektem pomáhali. Konkrétně to jsou tito lidé: Ing. Vlastimil Kříž Ing. František Burian Ing. Petr Gábrlík Ing. Tomáš Jílek Úvod Proč jsem si vybral právě tento projekt Tento projekt jsme si vybrali, protože nás zajímala problematika ovládání vozidel pomocí snímačů magnetické pásky, kterou jsme viděli při jedné z prezentací pana Richtera. Byla to pro nás také určitá výzva, protože nikdo z nás nikdy nic takového nedělal. Také jsme konečně chtěli zkusit něco praktického a zajímavého, co by se mohlo někdy hodit ať už při dalším studiu nebo také jako uplatnění někde v praxi. Popis výrobku Náš snímač má umožnovat již vyrobenému FEKT BOTU pohyb pomocí magnetické pásky. Skládá se z DPS o rozměrech 4x6 cm, na kterém je umístěno napájení z USB, poté stabilizátor na 3.3 V, mikrokontrolér Atmega 8l a snímač HML HMC5883L od firmy Honeywell, který komunikuje přes I 2 C s Atmegou. Dále jsou tam umístěny piny na programování Atmegy.
Obsah Poděkování... 1 Úvod... 1 Proč jsem si vybral právě tento projekt... 1 Popis výrobku... 1 Teorie... 3 Atmega 8L - 8PU, mikrokontrolér, procesor, AVR ISP, 2.7-5.5V, 8k-flash, 8MHz, DIP28... 3 Honeywell HMC5883L... 3 VLASTNOSTI... 3 VLASTNOSTI... 4 Schéma zapojení... 4 POSTUP PRÁCE PŘI VÝVOJI APLIKACE... 5 Postup práce:... 5 Návrh DPS:... 5 Ukázka čistého DPS... 7 Návrh DPS v EAGLU... 7
Teorie Atmega 8L - 8PU, mikrokontrolér, procesor, AVR ISP, 2.7-5.5V, 8k-flash, 8MHz, DIP28 AVR jádro kombinuje bohatý set instrukcí s 32 pracujícími registry. Všech 32 registrů je napojeno přímo na ALU, což umožňuje, aby 2 nezávislé registry mohly být zpřístupněny v jedné instrukci prováděné v jednom časovém cyklu. Výsledná architektura je až 10krát rychlejší než obyčejné CICS mikro-kontroléry. Schméma Zapojení Honeywell HMC5883L Honeywell HMC5883L je multi-chip modul určený pro nízké magnetické pole snímání s digitálním rozhraním pro aplikace, pro málo nákladné projekty magnetometrie. I2C sériová sběrnice umožňuje snadné rozhraní. HMC5883L je 3.0x3.0x0.9mm povrch montáž 16-pin bezolovnatý čip dopravce. Vhodné pro mobilní telefony, netbooky, spotřební elektronika, Auto Navigace, Systémy a osobní navigační zařízení. Dostupnost na: http://www.farnell.com/datasheets/1683374.pdf VLASTNOSTI Tří osí magnetorezistivní senzory 12-Bit ADC spojení s Low Noise AMR senzory dosahuje 5 mili-gauss Rozlišení v ± 8 Gauss pole Built-In self test Provoz při nízkém napětí a nízká spotřeba Rozsah (+/- 8 Oe) Maximální výstupní frekvence
Schéma zapojení Stabilizátor LM1117 LM1117 je řada regulátorů pro nízké napětí s propadem 1,2 V při 800 ma zatěžovací proud. Má stejný pin-out jako průmyslový standard National Semiconductor LM317.LM1117 je k dispozici v nastavitelném provedení, které může nastavit výstupní napětí od 1.25V až 13,8 s pouze dvěma externí odpory.pro náš případ je to 3,3 V. Kromě toho je k dispozici v pěti pevné napětí, 1.8V, 2.5V, 2.85V, 3.3V a 5V. LM1117 nabízí stávající omezení a tepelné vypnutí. Přesnost, že výstupní napětí se v rámci 1%. Řada LM1117 je k dispozici v Programu celoživotního učení, TO-263, SOT-223, TO-220, TO-252 a D-PAK balíčků. Minimálně 10μF tantalový kondenzátor je třeba na výstupu ke zlepšení přechodné odezvy a stability. Dostupnost na: http://simplemachines.it/datasheets_mizar/lm1117.pdf VLASTNOSTI K dispozici v 1.8V, 2.5V, 2.85V, 3.3V, 5V, V nastavitelných verzích Tepelná ochrana a omezovač proudu Rozsah teploty -40 0 C až po 125 0 C Schéma zapojení
POSTUP PRÁCE PŘI VÝVOJI APLIKACE Postup práce: Žačali jsme tím, že jsme si vybrali vhodný snímač magnetického pole jako náhradu za KMZ51, který se už nevyrábí. Po prohledání několika stránek, jsme zvolili jako nejvhodnější HMC5883L, jelikož byl dostupný a měl vyhovující parametry. Jako mikrokontrolér jsme zvolili ATMEGA-8L-8AU, protože byl dostupný ve škole a taká plně dostatečný pro náš snímač. Zvolili jsme napájení 5V z USB. V datasheetu snímače jsme se dočetli, že 5V je na něj moc. Tento problém jsme vyřešili tím že, jsme přidali stabilizátor napětí LM1117,kvůli relativně nízké ceně 70Kč,-. V datasheetu stabilizátoru jsme se našli, že k němu jsou potřeba 10µF tantalové kondenzátory, zkusili jsme dát elektrolytické. Po proměření napájeni jsme došli k závěru, že je můžeme použít. Z mikrokontroléru je vývod na 6ti-PIN do, kterého lze připojit programátor USBasp, 3-PIN jako vývod na I2C a další 3-PIN na komunikaci s robotem. Jelikož programátor napájí obvod 5V a snímač snese jen 3,3V je mezi snímačem a napájením propojka, která se sepne po naprogramování mikrokontroléru. Návrh DPS: Kreslení desky v Eaglu byl zpočátku problém, protože s tímto programem nikdo z nás ještě nedělal, ale po pár špatných návrzích byl jeden snesitelný tak jsme se ho pokusili vyrobit. Po hodně nezdařených pokusech ji vyrobit fotocestou, způsobených naší neznalostí a také špatným cuprexitem, jsme si nechali desku vyrobit na školní fréze na DPS, což jsme měli udělat už na začátku, protože bychom ušetřili 3 týdny času. Teď byl největší problém napájet snímač, který je v hrozném pouzdře s piny pouze zespod a taky je velký cca 2mm 2, naštěstí nám pomohl František Burian, který nacínoval jak snímač tak desku a prohřál to. Tím mu patří velké díky za pomoc. Také nám poradil, že není vhodné používat bezolovnatý cín, který byl k dispozici a zapůjčil nám svůj olovnatý, kterým to šlo opravdu líp. Použili jsme klasickou mikropájku. Po skončení si propípali cesty kvůli zkratům a studeným spojům. Programování: Na programování jsme použili Programátor USBasp.
Nejdříve jsme naprogramovali komunikaci mezi snímačem HMC5883L a mikro kontrolérem ATmega8 po sběrnici I 2 C. Ze snímače se do mikrokontroléru odesílají hodnoty polohy snímače vůči pásce. Pokud se vychýlí od pásky na jednu nebo na druhou stranu, tak se hodnota odeslaná ze snímače zvýší. Kam se robot odklonil se pozná podle přijatého znaménka. Podle znaménka a velikosti odchylky se vypočítají 2 hodnoty. Tyto hodnoty jsou určeny k řízení motorů. Pomocí těchto hodnot jsme schopni udržet robota na pásce a při výchylce dát povel motorům aby ji odstranili.
Ukázka čistého DPS Návrh DPS v EAGLU
Závěr Při dělaní DPS došlo k neočekávaným problémům ohledně výroby DPS a pájeni snímače. Tak se nám bohužel tento projet zatím nedokázalo naprogramovat.