MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are...

56
Tomaž Pintar MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU Diplomsko delo Maribor, avgust 2012

Transcript of MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are...

Page 1: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Tomaž Pintar

MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU

Diplomsko delo

Maribor, avgust 2012

Page 2: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates
Page 3: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

I

Diplomsko delo visokošolskega strokovnega študijskega programa

MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU

Študent: Tomaž Pintar

Študijski program: VS ŠP - Elektrotehnika

Smer: Avtomatika

Mentor: mag. Janez Pogorelc, univ. dipl. inž.

Lektorica: Špela Mosbruker

Maribor, avgust 2012

Page 4: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

II

Page 5: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

III

ZAHVALA

Zahvaljujem se mentorju mag. Janezu

Pogorelcu za pomoč in vodenje pri opravljanju

diplomskega dela.

Posebna zahvala velja staršem, bratu, sestri,

punci in vsem bližnjim, ki so me podpirali med

študijem.

Page 6: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

IV

Mini mobilni robot za vožnjo po labirintu

Ključne besede: mobilni robot, mikrokrmilnik, IR senzor, servomotor, program,

C-jezik

UDK: 681.5:007.5(043.2)

Povzetek

V diplomskem delu je predstavljena gradnja in delovanje mini mobilnega robota.

Predstavljen je mobilni robot, ki s pomočjo dveh IR senzorjev prevozi labirint sestavljen

iz belih plošč. Prav tako so podrobneje opisani vsi pomembni elementi, ki so potrebni

za delovanje. Med najpomembnejšimi je mikrokrmilnik ATmega8, v katerem je zapisan

algoritem, ki se uporablja pri vožnji skozi labirint. Na koncu je predstavljena še

izpopolnjena verzija robota, ki ima prednost predvsem v hitrosti mobilnega robota.

Page 7: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

V

Mini mobile robot to travel through the labyrinth

Key words: mobile robot, microcontroller, IR sensor, servomotor, programme, C-

language

UDK: 681.5:007.5(043.2)

Abstract

The construction and working of mini mobile robot are presented in the thesis. Robot

which drives through the labyrinth of white plates by the help of two IR sensors is being

presented. All elements which are essential for working are described in details. One of

these and the most important one is microcontroller ATmega8: it consists of an

algorithm which is used while driving through the labyrinth. An improved version of the

robot (the speed of the mobile robot is improved) is presented at the end of the thesis.

Page 8: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

VI

VSEBINA

1 UVOD ................................................................................................................... 1

2 CILJI NALOGE ..................................................................................................... 2

3 OPIS ELEMENTOV .............................................................................................. 3

3.1 POGONSKI DEL ........................................................................................... 3

3.2 SENZORJI .................................................................................................... 4

3.2.1 Oddajnik .................................................................................................... 6

3.2.1.1 Infrardeče valovanje ........................................................................... 7

3.2.2 Sprejemnik ................................................................................................ 8

3.3 VEZJE ........................................................................................................... 9

3.3.1 Mikrokrmilnik ........................................................................................... 11

3.3.1.1 Podatki mikrokrmilnika ATmega8 ..................................................... 11

3.3.2 Časovno vezje NE555 ............................................................................. 13

3.3.3 Krmilnik L293 ........................................................................................... 15

3.4 NAPAJANJE ............................................................................................... 17

3.5 PROGRAMATOR ........................................................................................ 18

4 IZVAJANJE NALOG .......................................................................................... 20

4.1 NAČRTOVANJE .......................................................................................... 20

4.2 IZDELAVA FIZIČNEGA MODELA................................................................ 21

4.2.1 Osnovni plošči ......................................................................................... 21

4.2.2 Kolesa ..................................................................................................... 22

4.3 PROGRAMIRANJE ..................................................................................... 23

4.3.1 WinAVR ................................................................................................... 23

4.3.2 PonyProg................................................................................................. 24

4.3.2.1 Opis uporabe PonyProg ................................................................... 24

5 REZULTATI ........................................................................................................ 27

5.1 FIZIČNI MODEL .......................................................................................... 27

5.2 PROGRAM .................................................................................................. 29

5.2.1 Diagram poteka ....................................................................................... 29

5.3 VOŽNJA ...................................................................................................... 31

6 IZBOLJŠAVA ROBOTA .................................................................................... 32

6.1 IZDELAVA ................................................................................................... 32

Page 9: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

VII

6.2 PULZNO-ŠIRINSKI MODULATOR (PWM) .................................................. 34

7 ZAKLJUČEK ...................................................................................................... 35

8 VIRI, LITERATURA ............................................................................................ 36

9 PRILOGE ............................................................................................................ 37

9.1 PROGRAMSKA KODA ...................................................................................... 37

9.2 NASLOV ŠTUDENTA ....................................................................................... 40

9.3 KRATEK ŽIVLJENJEPIS.................................................................................... 40

Page 10: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

VIII

KAZALO SLIK

Slika 1: Blokovna shema robota .................................................................................... 2

Slika 2: Servo motor...................................................................................................... 3

Slika 3: Predelava servo motorja .................................................................................. 4

Slika 4: Shema senzorja ............................................................................................... 5

Slika 5: Senzorja ........................................................................................................... 5

Slika 6: Delovanje LED diode ........................................................................................ 6

Slika 7: IR dioda ............................................................................................................ 6

Slika 8: Prikaz delovanja sprejemnika in oddajnika ....................................................... 7

Slika 9: SFH5110 .......................................................................................................... 8

Slika 10: SFH5110 blok shema ..................................................................................... 8

Slika 11: Shema ............................................................................................................ 9

Slika 12: Tiskano vezje ............................................................................................... 10

Slika 13: Izdelano vezje .............................................................................................. 10

Slika 14: ATmega8 ..................................................................................................... 11

Slika 15: Časovno stanje NE555 ................................................................................. 13

Slika 16: Shema časovnega vezja NE555 ................................................................... 14

Slika 17: Nadomestna shema krmilnika L293 ............................................................. 15

Slika 18: Shema krmilnika L293 .................................................................................. 16

Slika 19: Napajalne baterije ........................................................................................ 17

Slika 20: Vezava napetostnega regulatorja LM78L05 ................................................. 17

Slika 21: Shema ISP konektorja in mikrokrmilnika ...................................................... 18

Slika 22: Shema programatorja STK200 ..................................................................... 19

Slika 23: Programator STK200 ................................................................................... 19

Slika 24: Izgled mini mobilnega robota ........................................................................ 20

Slika 25: Osnovni plošči robota ................................................................................... 21

Slika 26: Kolesa .......................................................................................................... 22

Page 11: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

IX

Slika 27: I/O port setup ............................................................................................... 24

Slika 28: Kalibracija PonyProg .................................................................................... 24

Slika 29: Izbira mikrokrmilnika ..................................................................................... 25

Slika 30: Odpiranje kode ............................................................................................. 25

Slika 31: Zapis kode v mikrokrmilnik ........................................................................... 26

Slika 32: Robot od spredaj .......................................................................................... 27

Slika 33: Robot od zadaj ............................................................................................. 28

Slika 34: Vožnja po labirintu ........................................................................................ 31

Slika 35: Prikaz pogonskega dela ............................................................................... 32

Slika 36: Pogonski del ................................................................................................. 33

Slika 37: Izboljšana verzija robota ............................................................................... 33

KAZALO TABEL

Tabela 1: Opis uporabljenih priključkov mikrokrmilnika ............................................... 12

Tabela 2: Delovanje integriranega vezja L293 ............................................................ 16

Page 12: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

X

UPORABLJENI SIMBOLI

m – meter (merska enota za dolžino)

λ – lambda (oznaka za valovno dolžino v fiziki)

f - frekvenca

B – byte (zlog, v računalništvu manjša enota za količino podatkov oziroma velikost

pomnilnika)

V – volt (izpeljana enota za merjenje električne napetosti)

Page 13: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

XI

UPORABLJENE KRATICE

DC – enosmerna napetost (direct current)

AC – izmenična napetost (alternating current)

A/D – analogno-digitalna pretvorba (analog to digital)

IR – infrardeča svetloba (infrared)

LED – svetleča dioda (light-emitting diode)

SRAM – statični bralno-pisalni pomnilnik (static random-access memory)

EEPROM – zbrisljiv in programirljiv bralni pomnilnik (erasable programmable read-only

memory)

Vcc – pozitivna napajalna napetost

GND – negativna napetost

PWM – pulzno-širinski modulator (pulse-width modulation)

USB – univerzalno serijsko vodilo (universal serial bus)

Page 14: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 1

1 UVOD

Mobilne robote danes srečujemo na skoraj vseh področjih. Uporabljajo se v raznorazne

namene, kot so raziskovanja na oddaljenih planetih, kamor človek ne more oz. bi ga bilo

prenevarno poslati, in v raznih laboratorijih, kjer je potrebna velika natančnost oz. se dela

z nevarnimi snovmi. Uporabljajo pa se tudi za razna tekmovanja, kot je vožnja skozi

labirint, vožnja kjer robot sledi črti, do raznih tekmovanj, kjer roboti med seboj igrajo

nogomet ali pa televizijskih oddaj kjer se roboti bojujejo med seboj (zmagovalec je tisti, ki

na koncu »preživi«).

Tehnično ločimo dva načina mobilnosti, in sicer mobilnost s pomočjo nog ter mobilnost s

pomočjo koles. Kolesno mobilni roboti so konstrukcijsko enostavnejši in učinkovitejši na

utrjeni ravni podlagi, medtem ko se nožno mobilni roboti veliko bolje odnesejo pri naravno

razgibanem terenu in pri izogibanju ovir. Glede vodenja ločimo mobilne robote, ki so

daljinsko vodeni s pomočjo človeka, ter avtonomne mobilne robote, ki se po prostoru

orientirajo s pomočjo različnih senzorjev. Med najbolj uporabne štejemo senzorje na silo,

infrardeče senzorje, ultrazvočne senzorje ter raznorazne video kamere, ki služijo kot

umetni vid robota. Pri avtonomnem mobilnem robotu ni zunanjega nadzornega sistema,

zato se vsi potrebni algoritmi izvajajo na samem robotu. Poznamo pa tudi pol avtonomne

mobilne robote, kjer imamo zunanji nadzorni sistem na primer kamero, ki nam določa

položaj robota in strategijo gibanja. Podatki o želeni trajektoriji se mobilnemu robotu

pošiljajo preko brezžične komunikacije, na podlagi katere se izvaja regulacija hitrosti

motorja [12].

Page 15: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 2

2 CILJI NALOGE

Glavni cilj diplomske naloge je načrtovanje, programiranje in izdelava avtonomnega

mobilnega robota, ki s senzorji zaznava hodnike labirinta. Robot mora s pomočjo dveh

senzorjev, ki sta nameščena spredaj in na boku, prevoziti labirint čim hitreje. Labirint je

zgrajen iz podlage in hodnikov, sestavljenih iz belih plošč.

Za naš labirint je značilno, da nima otokov, zato robot deluje tako, kot če bi v labirint

postavili slepega človeka. Le-ta si pri hoji pomaga s tipanjem (palice ob steno labirinta ali

pa za svoje tipanje uporabi kar roki). Če se bo slep človek tako vseskozi med hojo

oprijemal ene od sten, bo v labirintu slej ko prej našel izhod. Čas, ki ga bo potreboval za

izhod iz labirinta, je tako odvisen od hitrosti hoje. Na enakem principu deluje naš robot, z

razliko da ima robot namesto rok nameščena senzorja, ki zaznavata steno labirinta;

namesto logičnega razmišljanja slepca pa uporablja algoritem, ki je zapisan v

mikrokrmilniku.

En senzor je nameščen ob desnem boku robota in omogoča, da robot vseskozi sledi

desni steni labirinta. Na podlagi informacij tega senzorja lahko robot vozi naravnost in

zavije desno, kadar nekaj časa ne zazna stene. Za zavoj na levo pa ima robot v sami

konici vgrajen senzor, ki zazna sprednjo steno, ko se pripelje do nje. S pomočjo informacij

obeh senzorjev in ustreznega vodenja lahko robot brez večjih zapletov pripelje do cilja

(Slika 1).

Slika 1: Blokovna shema robota

Page 16: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 3

3 OPIS ELEMENTOV

V tem poglavju bomo opisali predelavo pogonskega dela, izdelovanje senzorjev,

načrtovanje vezja in predstavili vse pomembnejše elemente, ki smo jih uporabili pri gradnji

mobilnega robota. Sem spadajo mikrokrmilnik ATMEL ATMEGA8, ki predstavlja možgane

našega robota, časovno vezje NE555, krmilnik L293 za regulacijo motorčkov ter

programator STK200.

3.1 POGONSKI DEL

Pogonski del je sestavljen iz dveh RC servo motorjev, ki smo jih zaradi naših potreb

nekoliko spremenili (Slika 2).

Servo motor deluje tako, da lahko z njim natančno nastavimo oz. spreminjamo pozicijo

prijemala na osi. Pogosto jih srečamo v modelarstvu, robotiki, avtoindustriji in še

marsikje. Značilnost motorjev je, da se njihova gred vrti le v obsegu 180°(od -90°do +90°).

Servo motor je sestavljen iz navadnega DC motorja, ki je priključen na vezje za nadzor,

ter zobnikov, ki motorju povečajo navor in znižajo hitrost. Za povezavo ima tri priključke:

napajanje (+), masa (-) in tretji priključek, na katerega pripeljemo impulz za krmiljenje

motorja [1].

Slika 2: Servo motor

Ker pa za vožnjo mini mobilnega robota skozi labirint potrebujemo motorja brez omejitev

glede na zasuk, smo servo motorjema fizično odstranili mehansko blokado na enem

izmed zobnikov, kar omogoča, da se lahko motor vrti kontinuirano. Poleg te modifikacije

smo motorjema odstranili tudi krmilni priključek in povezavo z vezjem (Slika 3). Tako nam

za pogon robota ostaneta navadna DC motorja v zaprtem ohišju skupaj z zobniki.

Page 17: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 4

Slika 3: Predelava servo motorja

3.2 SENZORJI

Senzorju so med najpomembnejšimi deli pri mini mobilnem robotu. Z njimi robot zaznava

steno v labirintu in na podlagi tega izvaja ukaze za vožnjo skozi hodnike. V robotiki

poznamo mnogo senzorjev za pridobivanje informacij, od senzorjev za meritev položajev,

hitrosti, pospeška, navora do senzorjev, ki imajo podobno funkcijo kot človeška čutila (vid,

sluh, vonj in dotik) kot so merilniki sile, sistemi vida, senzorji dotika in podobno [2].

Pri izbiri senzorjev se vedno vprašamo po ceni, velikosti, teži, ki bo dostopna in primerna

za naš projekt. Prav tako je pomembna občutljivost, ločljivost, čas odziva in ne nazadnje

tip izhoda, ki je lahko digitalen ali analogen. V primeru, da je izhod analogen potrebujemo

še dodatno A/D pretvorbo [2].

Na podlagi teh podatkov smo se odločili za IR senzorja, katera smo na dveh ločenih

ploščicah sestavili sami. Obstajajo tudi razni linearni senzorji, kot je na primer SHARP-ov

IR senzor GP2D120, katerega lahko kupimo v ohišju in nam zaznava razdaljo

proporcionalno od 4─30 cm. Ti senzorji že imajo vgrajeno infrardečo oddajno diodo in

sprejemnik, vendar ima senzor analogni izhod, zaradi katerega bi potrebovali dodatno A/D

pretvorbo, da bi lahko tak senzor povezali z vhodom mikrokrmilnika. Naš senzor je

sestavljen iz oddajnika, katerega predstavlja IR dioda in sprejemnika (fotodioda) SFH

5110. Na sliki 4 lahko vidimo vezje našega senzorja in povezavo z mikrokrmilnikom

(priključki 1, 2, 3 za sprejemnik ter priključka 1, 2 za oddajnik).

Page 18: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 5

Slika 4: Shema senzorja

Na osnovi sheme smo nato naredili povezave za tiskanino, katero smo zjedkali in sestavili

dva ločena senzorja, na katera smo dodali še nosilca tako, da lahko senzorja pritrdimo na

robota (Slika 5).

Slika 5: Senzorja

Page 19: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 6

3.2.1 Oddajnik

Oddajnik nam predstavlja IR dioda, ki spada v skupino svetlečih diod (LED diod ─ Light

Emitting Diode), kar pomeni, da dioda izžareva svetlobo. Dioda je sestavljena iz čipa,

napolnjenega z zlitinami kemičnega elementa. Kadar skozi njo steče tok, nam zasveti

(slika 6).

Slika 6: Delovanje LED diode

LED proizvajajo hladno svetlobo, za razliko od žarnic, ki segrevajo žarilno nitko tako

močno, da zasveti. Svetloba je lahko vidnega spektra kot so rdeča, oranžna, rumena,

zelena, modra, bela LED dioda ali IR spektra katerega s prostim očesom ne moremo

zaznati – le-to se uporablja predvsem za daljinsko vodenje naprav, kot so televizorji in

gospodinjski aparati (slika 7) [3].

Slika 7: IR dioda

Page 20: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 7

3.2.1.1 Infrardeče valovanje

IR valovanje je elektromagnetno sevanje valovnih dolžin 780 nm do 1 mm, kar je daljše od

valovnih dolžin vidne svetlobe ter krajše od mikrovalovnega valovanja. Delimo jih na tri

skupine:

IR-A (bližnje območje infrardeče svetlobe) med 780 nm in 1400 nm valovne

dolžine,

IR-B (srednjevalovna infrardeča svetloba) med 1400 nm in 3000 nm valovne

dolžine,

IR-C (daljno območje infrardeče svetlobe) med 3000 nm in 1 nm valovne dolžine.

Uporablja se v različne namene, kot je nočno gledanje, kjer nam oprema zazna sevanje in

ga pretvori v sliko, na kateri se toplejši predmeti vidijo svetlejše, kar omogoča vojski in

policiji lažje prepoznavanje objektov v temi. Sevanje se uporablja tudi v termografiji, kjer

lahko iz oddaljenih predmetov ugotovimo njihovo temperaturo ali pa za segrevanje, kot se

uporablja v infrardeči savni [4].

Za nas je najpomembnejše, da lahko infrardečo svetlobo izkoristimo za komuniciranje na

kratke razdalje. Naša IR dioda spada v prvi razred (IR-A) bližnje območje infrardeče

svetlobe z valovno dolžino 875 nm. Kot smo že omenili, se v daljinskih upravljalcih

uporabljajo infrardeče svetleče diode za oddajanje infrardečega sevanja, katerega leča

fokusira v ozek žarek. Infrardeča komunikacija je uporabna v zaprtih prostorih saj

infrardeče sevanje ne prodira skozi zidove, kar lahko s pridom izkoristimo za naš robotski

senzor, kjer se nam bo infrardeča svetloba iz oddajnika (IR dioda) od stene labirinta

odbijala nazaj do sprejemnika SFH511 (Slika 8).

Slika 8: Prikaz delovanja sprejemnika in oddajnika

Page 21: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 8

3.2.2 Sprejemnik

Kot sprejemnik infrardeče svetlobe smo uporabili senzor SFH 5110-xx, ki zaznava IR

svetlobo različnih frekvenc (Slika 9). Oznaka “xx” na koncu nam pove frekvenco utripajoče

svetlobe, katero senzor zazna. Te se gibljejo od 30 do 40 kHz. V našem primeru smo

uporabili senzor SFH 5110-36, ki nam zazna infrardečo svetlobo, modulirano s pomočjo

časovnega vezja NE555, ki generira signal frekvence 36 kHz za napajanje IR diode;

postopek moduliranja je opisan v poglavju 3.1.2 [5].

Slika 9: SFH5110

SFH5110 je sestavljen iz integriranega vezja, ki vsebuje fotodiodo, pasovno prepustni

filter, ojačevalnik ter demodulator signala. Kot lahko vidimo na sliki 10, nam izhod krmili

NPN tranzistor, kar pomeni, da je senzor aktiven pri logični ničli, saj nam takrat, ko senzor

zazna IR svetlobo, tranzistor izhod sklene z maso [5].

Slika 10: SFH5110 blok shema

Page 22: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 9

Takšni senzorji so zelo občutljivi, zato jih lahko najdemo v napravah kot so televizorji,

videorekorderji, DVD predvajalniki, glasbeni stolpi, uporabljajo pa se tudi kot optična

stikala.

3.3 VEZJE

Vezje za mini mobilnega robota smo načrtovali v programskemu orodju EAGLE (angl.

Easily Applicable Graphical Layout Editor), namenjeno projektiranju tiskanih vezij. Z njim

je mogoče na dokaj enostaven način profesionalno izdelati tiskano vezje, ki bo ustrezalo

tehnološkim standardom izdelave.

S programom smo najprej izdelali električno shemo (angl. Shematic), kjer smo izbrali

ohišja elementov ter vstavili vse potrebne priključke in jih nato povezali med seboj kot

prikazuje slika 11. V naslednjem koraku smo nato elemente na površini tiskanega vezja

ustrezno razvrstili in povezali s tiskanimi vezmi (Slika 12).

Slika 11: Shema

Page 23: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 10

Slika 12: Tiskano vezje

Zaradi dvoslojnosti vezja, ozkih linij in mnogih vmesnih povezav smo se odločili, da vezje

ne bomo jedkali sami, ampak nam je to izdelalo podjetje Lingva, ki se profesionalno

ukvarja z izdelavo tiskanih vezij po naročilu. Vsak element na vezju je tako mogoče

»prispajkati« iz spodnje in zgornje strani, prav tako je skoraj nemogoče uničiti povezave

med elementi, saj so vse zaščitene s posebnim premazom. Nastalo ploščico velikosti 7 x

6 cm nam prikazuje slika 13.

Slika 13: Izdelano vezje

Page 24: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 11

3.3.1 Mikrokrmilnik

Mikrokrmilnik je elektronsko vezje (čip), ki vsebuje mikroprocesor, programski pomnilnik,

podatkovni pomnilnik, generator ure, periferne enote in še kaj. Ima torej skoraj vse

sestavine mikroračunalnika. Prisotni so dandanes že skoraj v vsaki elektronski napravi.

Mikrokrmilnik začne svojo funkcijo opravljati šele, ko vanj vpišemo program; ta je v našem

primeru med najpomembnejšimi dejavniki, da lahko robot brez težav čim hitreje prevozi

labirint.

Pri našem razvoju smo uporabili mikrokrmilnik ATMEL ATmega8 iz družine AVR.

Slika 14: ATmega8

3.3.1.1 Podatki mikrokrmilnika ATmega8

8 kilobajtov programskega pomnilnika (do 10 000 vpisov),

1 kilobajt SRAM pomnilnika,

512 bajtov EEPROM pomnilnika (do 100 000 vpisov),

dva 8-bitna števca/časovnika,

16-bitni števec/časovnik,

SPI – serijski vmesnik,

UART – asinhronski serijski vmesnik,

8-kanalni 10-bitni AD pretvornik,

analogni primerjalnik,

23 programljivih V/I vrat,

19 prekinitev in

interni RC oscillator.

Page 25: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 12

ATmega8 ima tri skupine vhodno/izhodnih priključkov z imeni PORTB, PORTC in

PORTD ter še nekaj drugih priključkov, ki se uporabljajo za programiranje

mikrokrmilnika in priključka za napajanje. Mikrokrmilnik potrebuje za napajanje

enosmerno napetost v območju med 4.5 in 5.5 V [6].

Tabela 1: Opis uporabljenih priključkov mikrokrmilnika

IME FUNKCIJA

PB0 (izhod) Sprednji oddajnik (IR dioda)

PB1 (izhod) Stranski oddajnik (IR dioda)

PB3 Programirni priključek

PB4 Programirni priključek

PB5 Programirni priključek

PC0 Sprednja signalna LED dioda

PC1 Stranska signalna LED dioda

PC2 Krmiljenje levega pogonskega motorčka

pozitivni priključek (+)

PC3 Krmiljenje levega pogonskega motorčka

negativni priključek (-)

PC4 Krmiljenje desnega pogonskega motorčka

pozitivni priključek (+)

PC5 Krmiljenje desnega pogonskega motorčka

negativni priključek (-)

PC6 RESET priključek

PD6 (vhod) Sprednji sprejemnik

PD7 (vhod) Stranski sprejemnik

VCC Pozitivni priključek napajanja

GND Negativni priključek napajanja

Page 26: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 13

3.3.2 Časovno vezje NE555

NE555 je integrirano časovno vezje, ki nam ponuja mnogo različnih možnosti uporabe, od

monostabilnega multivibratorja, astabilnega multivibratorja, flip-flopa do pulzno-širinskega

modulatorja (PWM). V našem primeru smo uporabili astabilni multivibrator, ki nam

generira modulirano svetlobo IR diode, katera je potrebna za zaznavo pri sprejemnikih.

Ker z izhodom NE555 upravlja flip-flop, se priklopi med enim in drugim stanjem zgodijo v

trenutku. Oblika izhodnega signala je torej pravokotna v razponu od 27 do 45 kHz, kar

nam omogoča krmiljenje IR diod, ki sestavljajo senzor.

Astabilni multivibrator je oscilator. Nima stabilnega stanja in ves čas prehaja iz enega v

drugo stanje z neko časovno konstanto, ki je odvisna od vezave in vrednosti zunanjih

elementov. Na izhodu se menjata visok (HI) in nizek (LO) napetostni nivo glede na

napajalno napetost (Slika 15) [7].

Slika 15: Časovno stanje NE555

Na sliki 5 spodaj je narisana krivulja polnjenja in praznjenja kondenzatorja C3, s katerim

poleg upora R5 in trimerja RP1, IR diodi nastavimo frekvenco pravokotnega moduliranega

signala, katero zaznava IR sprejemnik SFH5110 (Slika 16). Na izhodu bi to lahko izmerili

kot hitro utripanje IR diode s frekvenco 36kHz.

5 1 3

1,44

P

f HzR R C

Page 27: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 14

Izhod časovnika NE555 (tretji priključek) je preko IR diode priključen na trimer RP2, s

katerim nastavljamo velikost amplitude pravokotnega signala na IR diodi. S tem se

spreminja njena svetilna moč, posledica pa je večji domet žarka, kar nam omogoča večjo

občutljivost na daljših razdaljah.

Slika 16: Shema časovnega vezja NE555

Page 28: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 15

3.3.3 Krmilnik L293

Krmilnik L293 je integrirano vezje, ki je posebej narejeno za krmiljenje dveh enosmernih

motorjev. Omogoča nam enostaven način za spreminjanje smeri vrtenja motorja. To je še

posebej pomembno, saj lahko v zavoju robotu, namesto da mu eno kolo ustavimo, drugo

pa vrtimo naprej, eno kolo zavrtimo nazaj, drugo pa naprej. S tem se robot dejansko zavrti

na mestu, kar poleg hitrejše izpeljanega zavoja pripomore tudi k manjši možnosti, da nam

robot trči v steno ali se zatakne. Vezje je mogoče napajati v območju med 4,5 V in 36 V,

preko napajalnih sponk VSS in VS. Priključek VSS je namenjen napajanju krmilne logike,

priključek VS pa napajanju motorjev. Napetosti VSS in VS sta lahko različni, vendar bi naj

bila napajalna napetost motorjev nekoliko višja od napetosti krmilne logike. Lahko pa sta

(tako kot v našem primeru) enaki [8].

Integrirano vezje L293 je razdeljeno na dva med seboj neodvisna dela. Vsakega posebej

lahko aktiviramo preko priključka ENABLE1 ter ENABLE2. Če je na priključek pripeljana

logična 0, je delovanje tistega dela vezja onemogočeno in motor se v tem primeru ne

more vrteti. Ker za vožnjo robota skozi labirint vseskozi potrebujemo aktivna motorja in

posledično tudi aktivni krmilnik L293, smo priključka ENABLE1 in ENABLE2 vezali

neposredno na napetost +5 V (logična 1) [8].

Slika 17: Nadomestna shema krmilnika L293

Page 29: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 16

Kot smo že omenili, smo krmilili naša enosmerna motorja v obe smeri. Za to smo

potrebovali vezje, ki bo menjavalo polariteto napetosti na priključkih motorja. To smo storili

tako da smo vhode krmilnika L293 (IN1, IN2, IN3, IN4) povezali z izhodi mikrokrmilnika

ATmega8 [8].

Slika 18: Shema krmilnika L293

Smer vrtenja motorjev torej nadziramo s priključki IN1, IN2 (levi motor) in IN3, IN4 (desni

motor). Motorja sta priključena na izhode OUT1, OUT2, OUT3, OUT4 (slika 18). Vodenje

motorjev v odvisnosti od vhodnih podatkov nam opisuje spodnja tabela.

Tabela 2: Delovanje integriranega vezja L293

IN1 (IN3) IN2 (IN4) OUT1 (OUT3) OUT2 (OUT4) OBNAŠANJE

MOTORJA

0 0 0 0 motor stoji

0 1 0 1 vrtenje v levo

1 0 1 0 vrtenje v desno

1 1 0 0 motor stoji

Page 30: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 17

3.4 NAPAJANJE

Napajanje je sestavljeno iz šest zaporedno vezanih polnilnih baterij (Slika 19). Baterije so

od proizvajalca GP Batteries, velikosti AA, napetosti 1,2 V ter kapacitete 2300 mAh. To

pomeni, da je napajalna napetost nominalno 7,2 V. Napajalna napetost je zelo

pomembna, saj je od nje odvisna hitrost vrtenja motorjev. Baterije je zato potrebno

napolniti, ko skupna napetost pade približno za 0,2 V. Program za vožnjo skozi labirint je

načrtovan za določeno hitrost robota, zato lahko prenizka napajalna napetost negativno

vpliva na vožnjo robota.

Slika 19: Napajalne baterije

Ker je mikrokrmilniško vezje robota dimenzionirano za (stabilizirano) nižjo napetost, smo v

vezje vključili standardni napetostni regulator LM 78l05. Namen regulatorja je, da nam na

izhodu generira napetosti 5 V, tudi če je napajalna napetost veliko višja. Vrednosti vhodne

napetosti, pri katerih regulator še deluje, se gibljejo med 7 in 20 V (Slika 20).

Slika 20: Vezava napetostnega regulatorja LM78L05

Page 31: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 18

3.5 PROGRAMATOR

Za programiranje mini mobilnega robota smo izdelali programator, kateri podpira skoraj

vse AVR mikrokrmilnike, STK200. Prednost programatorja je predvsem v tem, da lahko

mikrokrmilnik ATmega8 programiramo kar v ciljnem vezju robota po serijski poti in nam

čipa zato ni potrebno vseskozi izmenjevati med robotom in programatorjem. Vezje robota

je zato izdelano tako, da se lahko programator poveže z mikrokrmilnikom preko ISP 10

polnega konektorja (Slika 21).

Slika 21: Shema ISP konektorja in mikrokrmilnika

Na drugi strani je programator povezan preko LPT porta z računalnikom. Z modifikacijo

nekaj elementov v vezju lahko programator povežemo z računalnikom tudi preko USB

priključka. Takšno programiranje nam olajša in pospeši delo, saj lahko v trenutku, ko

program prenesemo na mikrokrmilnik, že poženemo robota in opazujemo njegovo

obnašanje. Poleg že naštetih prednosti je programator tudi dokaj preprosto izdelati. Na

sliki 22 lahko vidimo shemo programatorja STK200 ter končni izdelek na sliki 23.

Page 32: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 19

Slika 22: Shema programatorja STK200

Glavni del vezja je IC 74HC244, dvosmerni linijski ojačevalnik. Vezje dobi preko sponke 5

na DB25 priključku signal, da preide iz stanja visoke impedance v aktivno stanje.

Istočasno mora biti aktiviran signal RESET. Preko signalov MISO, MOSI in SCK (CON 10)

se koda po določenem protokolu naloži v vezje. Zanki 2-12 in 3-11 (DB25) sta namenjeni

diagnostiki, da program zazna prisotnost vmesnika na LPT portu [9, 10].

Slika 23: Programator STK200

Page 33: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 20

4 IZVAJANJE NALOG

4.1 NAČRTOVANJE

Obliko mini mobilnega robota smo si najprej približno zamislili, nato pa smo idejo narisali z

računalnikom preko Google Sketch Up programa. Program je brezplačen, enostaven za

uporabo ter nam omogoča lažjo predstavitev objekta v 3D prostoru (Slika 24). Pri izdelavi

načrta smo morali upoštevati tudi dimenzije, ki so predpisane za velikost hodnikov pri

tekmovalnem labirintu na FERI-ju. Robot tako ne sme biti prevelik, saj se lahko zaradi

tega zatakne v hodniku ali zavoju. Prav tako senzorji ne smejo biti pritrjeni višje kot je

visoka stena labirinta. Poleg teh omejitev smo mobilnega robota izdelali tako, da ima

sprednji del zaobljen oz. izrezan v polkrog in da ima kolesa zaščitena s samim ohišjem. S

tem smo preprečili, da bi se robot, predvsem v zavoju, zataknil ob steno labirinta, s čimer

bi bila onemogočena njegova nadaljnja vožnja.

Slika 24: Izgled mini mobilnega robota

Page 34: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 21

4.2 IZDELAVA FIZIČNEGA MODELA

4.2.1 Osnovni plošči

Po načrtu smo mobilnega robota izdelali iz dveh skoraj identičnih osnovnih plošč, ki so

med seboj povezani z distančniki. S tem smo pridobili dosti prostora za vezje, motorja in

napajanje.

Za osnovni plošči smo izbrali leseni vezani plošči debeline 3 mm, kateri je ravno dovolj

mehek za oblikovanje hkrati pa zadošča dovolj veliko trdoto za konstrukcijo robota. Slika

25 nam prikazuje osnovni plošči povezani z distančniki ter izrez za kolesi.

Slika 25: Osnovni plošči robota

Spodnja plošča nam služi za pritrditev vezja in skupaj s pomožnima nastavkoma na

spodnji strani za uravnoteženje robota med vožnjo. Na zgornjo ploščo smo zaradi velikosti

koles pritrdili motorja. Poleg motorjev so zgoraj še baterije, zaradi lažjega dostopa do njih,

saj jih je potrebno pogosto polniti. Od spredaj sta na zgornjo ploščo pritrjena še senzorja,

od zadaj pa imamo stikalo za vklop ter potenciometra za nastavitev jakosti IR diod.

Page 35: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 22

4.2.2 Kolesa

Zaradi sorazmerno velikega prenosa med DC motorjem in zunanjo osjo, smo za robota

izbrali nekoliko večja kolesa in s tem povečali hitrost. Kolesa smo naredili iz CD medijev,

katere smo po dva zlepili skupaj zaradi večje trdnosti. Okoli koles smo pritrdili še gumo, ki

nam preprečuje zdrs koles (Slika 26).

Slika 26: Kolesa

Page 36: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 23

4.3 PROGRAMIRANJE

Programiranje je pri izdelavi mini mobilnega robota ena izmed najpomembnejših in hkrati

najzahtevnejših nalog. Od kvalitete našega programa je odvisno obnašanje robota v

labirintu in posledično njegova hitrost, s katero ga bo uspešno prevozil. Program smo

napisali v programskem jeziku C, ki je eden od najbolj razširjenih programskih jezikov.

Razdelili smo ga na tri segmente, in sicer: vožnjo naravnost, zavoj levo ter zavoj desno.

Pri vožnji naravnost robot vseskozi sledi desni steni tako, da kadar senzor zazna steno,

upočasni levo kolo, kadar pa stene ne zazna, upočasni desnega. Kadar se poleg

stranskega senzorja aktivira hkrati še sprednji, pomeni, da je pred njim stena in mora

zaviti levo. Pri zavoju levo se nam levo kolo zavrti nazaj, desno pa naprej. S tem robotu

omogočimo hitreje in bolj zanesljivo izpeljati zavoj. Oster zavoj desno naredi robot takrat,

kadar se nam bočni senzor nekaj časa ne aktivira, kljub rahlemu pomikanju robota v

desno. Izvrši se ukaz, ki nam desno kolo zavrti nazaj, levega pa naprej, pri tem se robot

obrne za 90° v desno.

4.3.1 WinAVR

AVR Studio je programski paket oz. razvojno orodje podjetja ATMEL za razvoj aplikacij,

namenjenim 8-bitnim AVR mikrokrmilnikom. Program je brezplačen in vključuje orodje za

vodenje projektov, urejevalnik, simulator in prevajalnik za programsko kodo v zbirnem

jeziku ter tako imenovani razhroščevalnik delovanja. AVR Studio nam podpira ATMEL-ova

razvojna orodja in programatorje, uporabo RTOS (real-time operating system) ter uporabo

vtičnika za prevajalnik GCC. GCC predstavlja odprtokodno zbirko prevajalnikov za

programske jezike C, C++, objektni C, Fortran, Java, Ada. Zaradi uporabe jezika C

srečamo prevajalnik GCC znotraj paketa WinAVR.

WinAVR je množica programskih orodij, namenjena delu z mikrokrmilniki AVR. Kot smo

že omenili vsebuje prevajalnik GCC, ustrezne knjižnice v jeziku C, orodje za zbirni jezik,

programirni programski vmesnik ter razhroščevalnik (debugger) [11].

Page 37: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 24

4.3.2 PonyProg

PonyProg je program za programiranje, ki je združljiv z več programatorji, med drugim

tudi s STK200. Program nam generirano hex kodo preko programatorja prenese po

serijski komunikaciji v mikrokrmilnik in zapiše v FLASH ROM pomnilnik. Program deluje v

vseh operacijskih sistemih od Windows 95 do XP, kakor tudi v novejših Windows 7 ter v

Intel Linux [9].

4.3.2.1 Opis uporabe PonyProg

Programator STK200 na eni strani povežemo z računalnikom, tako da vstavimo DB25 v

priključek za tiskalnik, na drugi strani pa ga povežemo s ciljnim vezjem v našem primeru

vezjem robota.

Po zagonu programa PonyProg najprej v meniju Setup → Interface Setup … izberemo

nastavitve za naš vmesnik (Slika 27).

Slika 27: I/O port setup

Nato moramo program tudi kalibrirati (prilagoditi hitrosti našega računalnika). To storimo v

meniju Setup → Calibration (Slika 28). Pomembno je da med kalibracijo teče samo

PonyProg, vse ostale programe začasno zapremo.

Slika 28: Kalibracija PonyProg

Page 38: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 25

Predno naložimo kodo v ciljni sistem moramo izbrati tip mikrokrmilnika pod zavihkom

Device (Slika 29).

Slika 29: Izbira mikrokrmilnika

Nato preberemo datoteko s kodo, ki jo želimo vpisati v mikrokrmilnik, File → Open Device

File … (Slika 30). Program pozna HEX, MOT, BIN, ROM in druge zapise kode.

Slika 30: Odpiranje kode

Page 39: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 26

Programiranje poženemo z ukazom Command → Write All (Slika 31). Program najprej

kodo vpiše, nato jo preveri in nas obvesti o uspešnem vpisu.

Slika 31: Zapis kode v mikrokrmilnik

Page 40: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 27

5 REZULTATI

5.1 FIZIČNI MODEL

Po prilagajanju oz. usklajevanju vseh posameznih komponent mini mobilnega robota smo

izdelali končni izdelek kot ga prikazujeta sliki 32 in 33. Robot ima vse tiste elemente, ki jih

je potrebno spreminjati na dostopnih mestih tako, da ga med samim testiranjem ni

potrebno razstavljati.

Slika 32: Robot od spredaj

Na vrhu robota so napajalne baterije, katere lahko po potrebi preprosto prestavimo v

polnilec in napolnimo. Na sprednji strani robota sta poleg obeh senzorjev tudi signalni

LED diodi, ki nam signalizirata kdaj je kateri od senzorjev aktiven.

Page 41: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 28

Slika 33: Robot od zadaj

Iz zadnje strani robota imamo dostop do priključka za programator, kar je zelo praktično

za testiranje. Na zgornji plošči se nahaja stikalo za vklop in izklop vezja od napajalne

napetosti, na vsaki strani poleg pa sta precizna trimerja, ki nam služita za nastavitev

jakosti IR diode (oddajnika) na senzorjih. S tema dvema spremenljivima uporoma tako

nastavimo na kakšni oddaljenosti od stene labirinta bo potekala vožnja robota.

Page 42: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 29

5.2 PROGRAM

5.2.1 Diagram poteka

V diagramu poteka je grafično predstavljen algoritem vodenja robota v določenih

situacijah. Krmilnik robota od sprednjega in bočnega senzorja dobiva podatke, na podlagi

katerih se odloča kakšno potezo bo naredil. Kadar oba senzorja zaznata oviro pomeni, da

se je znašel v situaciji, kjer pred njim ter na njegovem desnem boku stoji ovira. V tej

situaciji robot v trenutku naredi obrat za 90° v levo tako, da levo kolo zavrti nazaj, desno

pa naprej. Pri vožnji naravnost robot uporablja samo senzor na boku. Kadar je senzor

aktiven pomeni, da je robot preblizu ovire, zato začne upočasnjevati levo kolo. V trenutku

ko senzor ni več aktiven, se začne upočasnjevati desno kolo. Kolo upočasnimo tako, da

ga programsko za nekaj milisekund ustavimo, nato pa ga spet poženemo za isti čas. Ker

se to izvaja zelo hitro, se kolo dejansko ne ustavi, vendar se začne vrteti počasneje.

Hitrost je odvisna od velikosti pavz, ko kolo ustavimo in spet poženemo. Pri vožnji

naravnost zato robot vseskozi vozi malenkost cikcak. Vedno kadar bočni senzor ne zazna

ovire, se sočasno vklopi števec, ki nam prišteva do 30. To pomeni, da se med

pomikanjem robota v desno izvajajo koraki od 0 do 29. Vsak korak traja približno 1 ms,

zato je obhodni čas zanke dolg dobrih 30 ms. Če po tridesetih korakih senzor še vedno

ne zazna ovire pomeni, da mora robot narediti oster zavoj za 90° v desno.

Page 43: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 30

Page 44: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 31

5.3 VOŽNJA

Po končanem fizičnem modelu ter pisanju programa, smo robota najprej testirali v

manjšem labirintu in opazovali njegovo obnašanje. Program smo nato postopoma

prilagajali vožnji robota, istočasno pa smo spreminjali tudi občutljivost senzorjev, dokler

nismo prišli do zadovoljivih rezultatov. Pri testiranju je zelo pomembno, da so vse stene

labirinta popolnoma bele, v nasprotnem primeru senzorji ne zaznavajo enako in pride do

težav pri vožnji. Podobne težave lahko nastanejo tudi zaradi neprimerne osvetljenosti,

zato je pomembno, da je celoten labirint enako osvetljen.

Ko smo z mini mobilnim robotom tako končali testiranje na lastnem labirintu, smo se z

njim preizkusili še na državnem tekmovanju RoboT 2012 v veliko večjem in zapletenem

labirintu Fakultete za elektrotehniko, računalništvo in informatiko, kjer takšna tekmovanja

organizirajo že 12 let zaporedoma. Mini mobilni robot z imenom BigboT se je v močni

konkurenci odrezal dobro, saj je v obeh dveh poskusih vožnje, ki jih je imel na voljo,

uspešno prevozil labirint s časoma 01.02.63 ter 00.53.47 min., kar je zadostovalo za

šestnajsto mesto od petintridesetih tekmovalcev (Slika 34).

Na tekmovanju smo poleg prednosti, katera se odraža predvsem v zanesljivosti robota,

opazili tudi slabosti, kot je premajhna hitrost robota in njegova velikost. Te pomanjkljivosti

smo želeli odstraniti, zato smo izdelali novega robota, ki ga bomo na kratko opisali v

naslednjem poglavju.

Slika 34: Vožnja po labirintu

Page 45: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 32

6 IZBOLJŠAVA ROBOTA

Kot smo že omenili, smo zaradi določenih slabosti, predvsem hitrosti robota ter njegove

velikosti, izdelali še enega, ki je precej manjši ter veliko hitrejši. Namesto velikih koles in

počasnejšega prenosa hitrosti zaradi veliko zobnikov v uporabljenih RC servomotorjih,

smo tokrat uporabili mala kolesa ter DC motorja (brez zobniškega reduktorja) pritrdili tako,

da se je os motorčka neposredno dotikala kolesa in ga posledično vrtela.

6.1 IZDELAVA

Izboljšano verzijo robota smo prav tako izdelali iz lesa vezane plošče, z razliko, da imamo

pri novemu samo eno osnovno ploščo in ne dveh. Tudi ta plošča je oblikovana tako, da je

možnost, da se robot zatakne ob steno labirinta, čim manjša. Pod osnovno ploščo imamo

pritrjenih šest baterij, ki nam skupaj dajejo 7,2 V izhodne napetosti. Na plošči pa sta

pritrjena DC motorja maksimalne vhodne napetosti 6 V ter maksimalnega toka 340 mA.

Princip delovanja pogonskega dela nam prikazuje spodnja slika.

Slika 35: Prikaz pogonskega dela

Kot lahko vidimo na sliki 35 se os DC motorčka ter zunanja stran kolesa stikata.

Prestavno razmerje vrtljajev gonilne gredi (motorčka) in gnane gredi (kolesa) je 10 : 1. S

tem dosežemo, da lahko kolo naredi do 1440 obratov na minuto. Na osi motorja kot tudi

na kolesu je nameščena guma, ki nam omogoča večje trenje na stičišču in preprečuje

Page 46: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 33

zdrs koles pri vožnji. Puščici nam prikazuje smeri vrtenja osi motorčka ter kolesa. Med

tem ko se os motorja vrti v eno smer se kolo vrti v drugo in obratno. Kolesa sta

nameščena v izrezninah plošče, pritrjena pa preko osi na vezano ploščo, kar lahko dobro

vidimo na sliki 36.

Slika 36: Pogonski del

Vezje je prav tako nameščeno na vrhu plošče s to razliko, da so vse komponente direktno

na vezju. Sprejemnik in oddajnik smo postavili na čelo tiskanine tako, da je en senzor

čisto spredaj na sredini, drugi pa spredaj desno (slika 37). Tako nimamo senzorjev na

posebej vezju, kar nam izniči kar nekaj povezovalnih žic. Bistvena sprememba v vezju je,

da motorčkov ne krmilimo več preko ojačevalnika L293, vendar za to uporabljamo dva

pulzno-širinska modulirana signala, ki ju generira mikrokrmilnik.

Slika 37: Izboljšana verzija robota

Page 47: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 34

6.2 PULZNO-ŠIRINSKI MODULATOR (PWM)

PWM je že vgrajen v mikrokrmilniku in ga v našem primeru lahko koristimo na priključkih

vrat PORTB, in sicer na priključkih PB1(15), PB2(16), PB3(17) mikrokrmilnika ATmega8.

PWM modul je generator signala konstantne frekvence, z nastavljivim prevajalnim

razmerjem. Je generator pravokotne oblike, njegova posebnost je, da mu lahko poljubno

nastavljamo širino aktivnega impulza, pri čemer se frekvenca signala ne spremeni.

Razmerje nastavitve časov visokega (logična 1) in nizkega (logična 0) stanja izhodov

imenujemo prevajalno razmerje. To lastnost PWM generatorja spretno izkoriščamo pri

regulaciji moči enosmernega motorja [8].

Za krmiljenje motorjev smo tako uporabili dva PWM signala, s katerima smo krmilili

MOSFET tranzistorja BUZ11, ki delujeta kot stikali. Enosmerna motorčka smo vezali

preko tranzistorjev, krmilili pa smo jih tako, da smo PWM signalu spreminjali dolžino

impulza in s tem določili čas odprtja tranzistorja. Dlje ko bo tranzistor odprt, večja bo

srednja vrednost napetosti na motorju, hitreje se bo motor vrtel. Obliko PWM signala nam

določi program mikrokrmilnika, glede na dobljene podatke od senzorjev.

Na mikrokrmilnik ATmega8 lahko priključimo frekvence od 1MHz do 16 MHz. Ker pa v

našem primeru nismo uporabljali kristala, ampak notranjo uro, smo te frekvence lahko

nastavljali od 1MHz do 8 MHz. V vsaki PWM periodi mora števec izračunati 256 korakov,

zato je frekvenca signala 256-krat manjša od frekvence notranje ure mikrokrmilnika.

Notranjo uro smo nastavili na 4 MHz, zato je frekvenca signala naslednja:

6frekvenca notranje ure 4 10

frekvenca 15 625256 256

PWM Hz

Page 48: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 35

7 ZAKLJUČEK

V diplomskem delu je bila predstavljena gradnja avtonomnega mini mobilnega robota, ki s

pomočjo senzorjev prevozi labirint sestavljen iz belih plošč. Predstavljena je bila vsa

aparatura in programska oprema, kakor tudi vsi elementi, ki sestavljajo robota.

Dobre lastnosti mini mobilnega robota so, da odlično zaznava bele ovire in se jim spretno

izogiba. Prav tako je pri vožnji zelo zanesljiv, kar smo tudi dokazali v dveh vožnjah na

odprtem državnem študentskem in dijaškem tekmovanju z mobilnimi roboti RoboT 2012.

Robot je v obeh vožnjah prišel do cilja in se s povprečnim časom uvrstil na solidno mesto.

Slabost robotov z IR senzorji nastopi predvsem takrat, kadar ovire niso bele barve ter

dobro osvetljene. Takrat senzorji ne zaznavajo več dobro in zato lahko pride do motenj v

vožnji. Te težave se deloma da odpraviti z nastavitvami jakosti IR diod.

Na tekmovanju smo spoznali, da je pomanjkljivost našega robota predvsem v tem, da ima

prevelike prenose obratov (zaradi uporabe RC servomotorjev) in posledično manjšo

hitrost. V izdelavi robota smo zato uporabili velika kolesa, s čimer smo to hitrost deloma

povečali, vendar še vseeno ne dovolj. S povečavo koles smo robota posledično naredili

tudi nekoliko večjega in bolj okornega, kar vpliva tudi na vodenje.

Odločili smo se, da izdelamo izboljšano verzijo robota, pri kateri nismo hoteli preveč

odstopati od prvotne. Izdelali smo robota, ki ima manjša kolesa in direktni prenos iz osi

DC motorčka na kolo robota. Izvedli smo tudi pulzno-širinsko krmiljenje, zaradi česar je

bilo potrebno vezje nekoliko modificirati. Tako smo izdelali mini mobilnega robota manjših

dimenzij ter večje hitrosti vožnje.

Page 49: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 36

8 VIRI, LITERATURA

[1] Smak shop, delovanje servo motorja, dosegljivo na URL:

http://www.smakshop.si/smakrobot-mehanika-pogon-analogni-servo-motor.html

[2] FERI, senzorji, dosegljivo na URL:

http://www.ro.feri.uni-mb.si/predmeti/robotika_2/predavanja/senzorji.pdf

[3] LED SM, led tehnologija, dosegljivo na URL:

http://www.led-sm.com/index.php/led-tehnologija.html

[4] Wikipedija, infrardeče valovanje, dosegljivo na URL:

http://sl.wikipedia.org/wiki/Infrarde%C4%8De_valovanje

[5] Impedanca, SFH5110, dosegljivo na URL:

http://www.impedanca.si/media/SFH5110_Pb_free_2007_03_30%5B1%5D.pdf

[6] Atmel, ATmega8, dosegljivo na URL:

http://www.atmel.com/

[7] Svet elektronike št. 179, Elektronika za začetnike – Vezja z NE555, 2010_SE179_44,

Avtor: Bojan Kovač.

[8] FERI, tekma, svet elektronike, dosegljivo na URL:

http://www.ro.feri.uni-mb.si/tekma/Svet_el_RoboPIC/RoboPIC_5_32-37_Nov05_124.pdf

[9] Tripod, dosegljivo na URL:

http://lancos.tripod.com/prog.html#avrisp

[10] Sites google, avrpro, dosegljivo na URL:

https://sites.google.com/site/vnukec/avrprog

[11] Svet elektronike št. 175, Namestitev programskih orodij AVR studio in WinAVR,

2010_SE175_35, Avtor: Miha Zatler.

[12] Mobilni roboti, izgradnja in teoretične osnove, dosegljivo na URL:

http://www.ro.feri.uni-mb.si/predmeti/skup_sem/projekt3/mobir.pdf

Page 50: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 37

9 PRILOGE

9.1 Programska koda

#include <avr/io.h>

#include <avr/delay.h>

#include <avr/wdt.h>

// Definicije konstant

#define true 1

#define false 0

volatile register unsigned char left asm("r4");

//Glavni program

int main(void)

{

PORTC = 0b00000000; //vse v izklopljeno stanje

DDRC = 0b00111111; //Motorja in LED diodi

PORTD = 0b11000000;

DDRD = 0b00000000; //Senzorja

wdt_enable(WDTO_500MS);

for ( ; ; )

{

if(left ==true) {

left =false;

//VOZNJA NARAVNOST

PORTC =0b00101011; // LED ne sveti, motorja sta v pogonu

if(bit_is_set(PIND, PD7)) { // stranski senzor ne zazna ovire zato se

desno kolo začne vrteti počasneje

PORTC =0b00100011; // LED dioda ne sveti

Page 51: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 38

//upočasnitev desnega kolesa

PORTC =0b00101011; // Desni in levi motor se vrtita naprej

_delay_ms(2); // Zakasnitev 2ms

PORTC =0b00100011; // Desni motor se ustavi

_delay_ms(2); // Zakasnitev 2ms

}

//ZAVOJ DESNO

left =false;

PORTC =0b00100101; //desni senzor dlje

časa ne zazna, zavoj desno

for(int x = 0; x < 30; x++) {

wdt_reset();

_delay_ms(1);

}

//VOZNJA NARAVNOST

PORTC =0b00100011; // LED ne sveti

if(bit_is_clear(PIND, PD7)) { // stranski senzor zazna oviro zato se levo

kolo začne vrteti počasneje

//upočasnitev levega kolesa

PORTC =0b00101001; // Desni in levi motor se vrtita naprej,

prižge se rdeča LED

_delay_ms(2); // Zakasnitev 2ms

PORTC =0b00001001; // Levi motor se ustavi

_delay_ms(2); // Zakasnitev 2ms

}

Page 52: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 39

//ZAVOJ V LEVO

if(bit_is_clear(PIND, PD6 & PD7)) { // ko sprednji senzor zazna oviro se robot

obrne za 90°v levo

PORTC =0b00011010; // Levi motor se zavrti nazaj, desni pa

naprej, prižge se zelena LED

_delay_ms(250); // Zakasnitev 250ms

_delay_ms(50); // Zakasnitev 50ms

}

}

}

}

Page 53: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 40

9.2 Naslov študenta

Ime in priimek: Tomaž Pintar

Naslov: Slivnica 4

Pošta: 3263 Gorica pri Slivnici

Tel.študenta: 041 898 154

e-mail študenta: [email protected]

9.3 Kratek življenjepis

Rojen: 10. 3. 1988 v Celju

Osnovna šola: Osnovna šola Slivnica pri Celju, Gorica pri Slivnici 61, 3263 Gorica pri Slivnici

Srednja šola: Poklicna in tehniška elektro in kemijska šola, Pot na Lavo 22, 3000 Celje

Fakulteta: Fakulteta za elektrotehniko, računalništvo in informatiko, Smetanova ulica 17, 2000 Maribor

Page 54: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 41

I Z J A V A O A V T O R S T V U

diplomskega dela

Spodaj podpisani ____________Tomaž Pintar__ _________,

z vpisno številko ________ _93620924____ __________,

sem avtor diplomskega dela z naslovom:

___________ _Mini mobilni robot za vožnjo po labirintu________________________

______________________________________________________________________

S svojim podpisom zagotavljam, da:

sem diplomsko delo izdelal samostojno pod mentorstvom (naziv, ime in priimek) ___________ mag. Janez Pogorelc, univ. dipl.inž._________ _______

in somentorstvom (naziv, ime in priimek)

_____________________/____________________________________________

so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.) identični s tiskano obliko diplomskega dela

soglašam z javno objavo elektronske oblike diplomskega dela v DKUM.

V Mariboru, dne Podpis avtorja:

Page 55: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 42

IZJAVA O USTREZNOSTI DIPLOMSKEGA DELA Podpisani mentor _____ _Janez Pogorelc________ _______ izjavljam, da je (ime in priimek mentorja) študent _________________Tomaž Pintar ________________ izdelal diplomsko (ime in priimek študenta-tke) delo z naslovom:___________Mini mobilni robot za vožnjo po labirintu _ ________ _______________________________________________________________________ (naslov diplomskega dela) v skladu z odobreno temo diplomskega dela, Navodili o pripravi diplomskega dela in mojimi navodili. Datum in kraj: Podpis mentorja:

Page 56: MINI MOBILNI ROBOT ZA VOŽNJO PO LABIRINTU · The construction and working of mini mobile robot are presented in the thesis. Robot which drives through the labyrinth of white plates

Mini mobilni robot za vožnjo po labirintu Stran 43

IZJAVA O ISTOVETNOSTI TISKANE IN ELEKTRONSKE VERZIJE DIPLOMSKEGA DELA IN OBJAVI OSEBNIH PODATKOV DIPLOMANTOV

Ime in priimek diplomanta: _______ _Tomaž Pintar____ ______ Vpisna številka: _____________ 93620924 ____ Študijski program: ________ _VS ŠP - Elektrotehnika_ _ ______ Naslov diplomskega dela: ___Mini mobilni robot za vožnjo po labirint__________ _ ____________________________________________________________________ Mentor: ______________ mag. Janez Pogorelc, univ. dipl.inž._____ ___ Somentor: ____________________________/_________ ________ _____ Podpisani _____ Tomaž Pintar_______ izjavljam, da sem za potrebe arhiviranja oddal elektronsko verzijo zaključnega dela v Digitalno knjižnico Univerze v Mariboru. Diplomsko delo sem izdelal-a sam-a ob pomoči mentorja. V skladu s 1. odstavkom 21. člena Zakona o avtorskih in sorodnih pravicah (Ur. l. RS, št. 16/2007) dovoljujem, da se zgoraj navedeno zaključno delo objavi na portalu Digitalne knjižnice Univerze v Mariboru. Tiskana verzija diplomskega dela je istovetna elektronski verziji, ki sem jo oddal za objavo v Digitalno knjižnico Univerze v Mariboru. Podpisani izjavljam, da dovoljujem objavo osebnih podatkov vezanih na zaključek študija (ime, priimek, leto in kraj rojstva, datum diplomiranja, naslov diplomskega dela) na spletnih straneh in v publikacijah UM. Datum in kraj: Podpis diplomanta: