|
Elektronika pro malý mobilní robot
|
|
Tato stránka je určena především těm, kteří by si rádi postavili vlastní mobilní robot, ale nechtějí moc pájet i když sami něco zapojit umí, programovat také umí a nebo se tím dokonce živí, a možná MCU nejsou úplně jejich doménou. Pokud se tak nějak cítíte a navíc do toho nechcete moc investovat, protože si chcete pohrát, pak věřte, že Vás to co popíši níže, moc stát nebude. Veškeré níže uvedené podklady jsou naprosto volně použitelné pro nekomerční použití. Komerční použití pouze po dohodě.
|
|
O co tedy jde ?
|
|
Jde o programovatelnou elektroniku použitelnou do robotů pro zápasy minisumo a do robotů pro objíždění překážek. Navíc určitě téměř každý najdete i nějaké další využití. Vždyť ne všechny funkce musí být využity a tak lze touto elektronikou například jen řídit sériovým portem z PC DC motor atp. Celé zapojení je optimalizováno tak, aby co nejméně součástek dělalo co nejvíce a aby zapojení bylo co nejlacinější i za cenu složitějšího programu v MCU. Program jako polotovar zde získáte zdarma a tak Vás tato stránka věci nemusí trápit a Vaše vlastní programování bude vlastně ještě jednodušší, než by bylo nutné při psaní "na zelené louce". Vaše programování se tedy omezí na samotnou inteligenci robotu. Celé ovládání periférií a realtime záležitosti už jsou vyřešeny. Pokud nechcete MCU programovat vůbec, pak lze vzít program jak je a všechno řídit sériovým portem, protože program jak je jen předává sériovým portem stavy čidel a nastavuje PWM dvou DC motorů. Lze také k ovládání použít nadřízený MCU se sériovým portem a tuto elektroniku využít jen jako periférii čidel a pohonu, přičemž na typu použitého MCU nezáleží a lze si jej zvolit dle svých zvyklostí, dovedností či požadavků.
|
|
Co tato elektronika umí ?
|
|
Elektronika je vlastně malým počítačem, osazeným PIC16F818 (dále jen PIC) s připojenými perifériemi. Ovládá 2 DC motory s maximálním proudem 500mA pomocí PWM od zastavených motorů až po plný výkon v sedmi stupních každým směrem. Dále snímá stav odrazového IR senzoru pro identifikaci překážky vlevo, vpravo, uprostřed nebo bez překážky. Snímá stav odrazových senzorů pro rozeznání pro IR světlo odrazivé a neodrazivé podložky pod robotem. Je vybavena softwarově řešeným asynchronním sériovým portem 2400bps 8N1 pro připojení nadřízeného systému (například PC) nebo pro další rozšíření. Sériový port je v úrovních CMOS a pokud se rozhodnete připojit tuto elektroniku k PC, pak je nutno CMOS úrovně převést na úrovně RS232 například pomocí integrovaného obvodu MAX232. Konektor ICSP slouží k programování MCU PIC přímo v desce spojů pomocí k tomu určených programátorů, například SCPD2. Desku tedy můžete provést i v SMD, protože MCU PIC není potřeba při programování přes ICSP konektor vyjímat z desky, ale nic Vám nebrání ani použití PIC v DIL pouzdře a jeho zasazení do patice. Elektronika se napájí z pěti až šesti NiCd nebo NiMh akumulátorů o jmenovitém napětí 1.2V a nebo ji lze napájet ze stabilizovaného zdroje 5V. Zdroj musí být schopen dodat proud především podle použitých motorů. Velice vhodný je například poměrně levný spínaný kompaktní zdroj (adaptér do zdi) SYS1298-1305 (5V/2.6A).
|
|
Schéma zapojení
|
|
|
|
Funkce a rozmístění motorů a senzorů.
|
|
IR odrazový senzor pro rozpoznání překážek pracuje tak, že IR LED (zde 53F3BT) umístěné po stranách SFH5110-36 produkují IR světlo modulované 36kHz. Rozbliká se levá IR LED a otestuje výstup SFH5110-36, zda se došlo k odrazu IR světla. Totéž se provede s pravou IR LED. Podle toho, zda máme zaznamenán odraz od jedné, obou či žádné IR LED nyní víme, zda je překážka vpravo či vlevo, uprostřed a nebo není v dosahu čidla překážka žádná. Pro správnou činost musíme zajistit, aby byly IR LED a SFH5110-36 rozmístěny tak, aby IR LED nesvítily přímo do SFH5110-36 a také tak, aby směrové natočení IR LED dávalo pro konkrétní účel ty nejlepší výsledky.
|
|
Spodní odrazové senzory (zde QRD1114) rozeznávají pouze odrazivou a neodrazivou plochu a umisťují se pod robot tak, aby byly co nejblíže podložce. Pokud je podklad pod robotem neodrazivý a ohraničíme tento podklad odrazivou barvou, mohou tato čidla zajistit to, že robot nikdy nevyjede z ohraničeného prostoru. Příkladem je takto řešen kruh pro zápasy robotů minisumo, který je černý (neodrazivý) a na okraji je bílý (odrazivý). Pro robot vyhýbající se pouze překážkám nemusíme tato čidla vůbec zapojovat a jejich stav můžeme ignorovat.
|
|
Motory slouží k pohybu robotu. Je jedno, zda je robot pásový nebo kolový. Ovládá se zvlášť výkon každého motoru, což umožnuje otáčení robotu i na místě, nebo pohyb vpřed či vzad. Ovládání dvou motorů s pohonem dvou kol či pásů je pro malé a jednoduché roboty tím nejjednodušším řešením. Motory musí být s převody a lze místo nich použít i některá modelářská serva s odstraněnou elektronikou a potenciometrem s přímým zapojením jejich DC motoru k této elektronice. Lze také zakoupit i elektromotory s prevodovkou a to i s vhodnými koly, nebo také kola vhodná pro montáž na modelářské servo.
|
|
Vlastní program
|
|
Zde je ta nejdůležitější část celého článku. Nebojte se toho a program si dobře pročtěte. Je velice podrobně komentován, aby byl pokud možno pochopitelný i úplným začátečníkům s MCU PIC. Navíc není třeba tento program chápat na úrovni každé instrukce, ale prostě jej jen použít a do označeného místa jen dopsat svou část programu, která nastavuje několik proměnných a řídí tím celý robot. Pokud chcete pochopit program hlouběji, nic není zatajováno a je popsáno v komentářích tak, aby bylo možno to při troše snahy pochopit. Program otevřete v MPLAB IDE, které lze volně stáhnout ze stránek firmy Microchip, výrobce MCU PIC. Program je po otevření v MPLAB IDE značně přehlednější, než pokud jej otevřete jakýmkoli běžným textovým editorem a můžete jej v MPLAB IDE i rovnou upravovat, dopisovat, kompilovat a s vhodným programátorem, jako je například SCPD2, MCU PIC rovnou programovat.
|
|
Zde si stáhněte zdrojový kód programu: minisumo_x.asm
|
|
a zde zkompilovaný do HEX: minisumo_x.hex
|
|
Co teď s tím ?
|
|
Všechno co je potřeba vědět o elektronice pro robot už víte a tak je ten správný čas se vypravit na nákup součástek a materiálu. Robot se dá nakonec zkonstruovat i z dílů vyříznutých z překližky, dá se vyrobit i z plexiskla, prostě nápadům se meze nekladou. Elektroniku pak můžete připájet i na univerzální plošný spoj a nebo ji sestavit v nepájivém kontaktním poli. Zdatnější pak mohou navrhnout i desku plošných spojů tak, aby jim co nejlépe do jejich robotu vyhovovala s ohledem na rozměry.
|
|
Možná, že pro někoho bude nejsložitější částí vložit program do MCU PIC. Na webu existuje mnoho různých konstrukcí jednoduchých programátorů [2] [3] a nebo se dá zakoupit lepší programátor hotový i s debugerem a to za velice příjemnou cenu.
|
|
Zbývá už jen popřát mnoho úspěchů ve Vašem robotickém počínání.
|
|