MIMOR - MINI MOBILNI ROBOT LASTNE GRADNJE

Similar documents
KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Navodila za uporabo čitalnika Heron TM D130

Navodila za uporabo tiskalnika Zebra S4M

Donosnost zavarovanj v omejeni izdaji

PRESENT SIMPLE TENSE

Podešavanje za eduroam ios

Krmilnik za morski akvarij

ŠOLSKI CENTER VELENJE ELEKTRO IN RAČUNALNIŠKA ŠOLA Trg mladosti 3, 3320 Velenje MLADI RAZISKOVALCI ZA RAZVOJ ŠALEŠKE DOLINE RAZISKOVALNA NALOGA

Krmilnik koračnih motorjev

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Specification Details: Coded Dash Number M28803/1 -MC PART LISTINGS MANUFACTURER'S DESIGNATION OR TYPE NUMBER TEST OR QUALIFICATION REFERENCE

Milan Nedovič. Metodologija trženja mobilnih aplikacij

1. LETNIK 2. LETNIK 3. LETNIK 4. LETNIK Darinka Ambrož idr.: BRANJA 1 (nova ali stara izdaja)

Tehnologiji RFID in NFC in njuna uporaba

UČINKOVITOST NAČRTOV PREISKOVANJA IZBRANEGA OBMOČJA Z GEORADARJEM GLEDE NA NATANČNOST IN PORABLJEN ČAS

Ta knjiga se osredotoča na paralelne flux magnetomere, ki imajo na splošno boljše parametre.

Summi triumphum. & bc. w w w Ó w w & b 2. Qui. w w w Ó. w w. w w. Ó œ. Let us recount with praise the triumph of the highest King, 1.

Kvalitativna raziskava med učitelji in ravnatelji

OCENJEVANJE SPLETNIH PREDSTAVITEV IZBRANIH UNIVERZ IN PISARN ZA MEDNARODNO SODELOVANJE

Ogrodje mobilne aplikacije mfri

Digital Resources for Aegean languages

ISLANDIJA Reykjavik. Reykjavik University 2015/2016. Sandra Zec

VISOKOŠOLSKI STROKOVNI ŠTUDIJ. Elektrotehnika Avtomatika in robotika POROČILO PRAKTIČNEGA IZOBRAŽEVANJA. UNIOR d.d. -- Zreče

Commissioned by Paul and Joyce Riedesel in honor of their 45th wedding anniversary. Lux. œ œ œ - œ - œ œ œ œ œ œ œ œ œ œ. œ œ œ œ œ œ œ œ œ.

SKUPINA ŽOGICE Starost: 4 6 let Vzgojiteljica : Jožica Kenig Pomočnica vzgojiteljice: Nataša Gabršček

Halina, Hesus. (Advent) œ N œ œ œ. œ œ œ œ œ. œ. œ œ œ œ. œ œ. C F G7sus4. œ. # œ œ J œ œ œ J. œ œ. J œ. # œ. # œ œ œ

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

Magnetometri. Žiga Lausegger. Pedagoška fakulteta Ljubljana

LED prikazovalnik z mrežnim vmesnikom

Prikolice brez meja! Program gospodarskih vozil posebej za vaše potrebe...

Thomas Tallis Mass for 4 voices

a suite of three songs about childhood, for SATB chorus and piano

UPORABA MOBILNIH TELEFONOV MED SLUŽBENIMI VOŽNJAMI

SAS On Demand. Video: Upute za registraciju:

Nadgradnja kartografskih baz za potrebe navigacijskih sistemov

Digitalno krmiljenje in daljinski nadzor stanovanja

Avtomatizacija trajekta

BBL07/WBBL03 HOBART HURRICANES CORPORATE HOSPITALITY

SPROTNO UVAŽANJE PODATKOV IZ ODJEMALCA SPLETNEGA POKRA

KRMILJENJE MAZALNEGA SISTEMA VROČEGA RAVNALNIKA

IZDELAVA OCENE TVEGANJA

Prostor kraj čas 6 UPORABA LIDARSKIH PODATKOV ZA KLASIFIKACIJO POKROVNOSTI. Andreja Švab Lenarčič in Krištof Oštir

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA MAJ PIRIH AMESOVA SOBA DIPLOMSKO DELO

Engineering Design Assurance Test Report ( S ) MODEL: SPS-350P V 14.7 Amax 353 Wmax TEST EQUIPMENT LIST:

Engineering Design Assurance Test Report ( S ) MODEL: SPS--230P V 9.6 Amax 230 Wmax TEST EQUIPMENT LIST:

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA V DUŠAN TIŠMA s.p.

EU NIS direktiva. Uroš Majcen

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDLEK ZA FIZIKO. Podiplomski program: Fizikalno izobraževanje. Matej Rožič.

PARTIZANSKA BOLNIŠNICA "FRANJA" (pri Cerknem) PARTISAN HOSPITAL "FRANJA" (near Cerkno)

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

This work was created for a charity, and you may freely make printed copies from this PDF data for your performance until Dec 31, 2022.

1000W Single Output Power Supply

Bušilice nove generacije. ImpactDrill

Global Danfoss. Z vodjo ključnih kupcev na terenu. Turbocorjev. Hitrost v IT Hitrost pri dobavah Hitrost v inovacijah. kompresor, ki utira nove poti

Engineering Design Assurance Test Report ( S )

ORGANIZACIJSKA KLIMA V BOHINJ PARK EKO HOTELU

TEHNOLOGIJA PRIDELAVE MEDU V SATJU

DIPLOMSKO DELO INTRANET SODOBNO ORODJE INTERNE KOMUNIKACIJE

KOLEDAR STROKOVNIH SIMPOZIJEV V OBDOBJU APRIL JUNIJ 2008

KONCIPIRANJE IN SNOVANJE NAPRAVE ZA SAMOPOSTREŽNO PRODAJO SVEČ

ALEKS - TRAVEL Rakovac - Bujanovac

Slovenska različica e-knjige Negovanje. sočutja. Učenja med prvim obiskom Evrope. 17. KARMAPA Ogyen Trinley Dorje

Engineering Design Assurance Test Report ( S )

Načrtovanje in izdelava kratkega 2D animiranega filma

Vladimir Markovič: Logika, delovanje in izračuni SP/SG naprav 2010/11

POGAJANJA V NABAVI V PODJETJU MERCATOR D.D.

OMREŽNA SKLADIŠČA PODATKOV (NAS)

PODATKOVNA BAZA (Uporaba IKT pri poslovanju)

12 16 MATRIX LED DRIVER

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

Večuporabniške aplikacije na večdotičnih napravah

Uporaba HTML 5 in CSS3 v spletnih kvizih

Engineering Design Assurance Test Report ( S ) MODEL: SPS-070P V 12 Amax 60 Wmax

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

Bioklimatska pergola. Agava TM ŽIVLJENJE NA PROSTEM

E X C E L L E N C E I N S A C R E D C H O R A L M U S I C. Puer Natus in Bethlehem. A Child Is Born in Bethlehem. Arranged by Robert G.

NAMESTO UVODNIKA. ISSN LETNIK IX, MAJ 2008 MENTOR: Lojze Vrankar

Zahvala Zahvaljujem se mentorju doc. dr. Boštjanu Murovcu za nadvse koristne nasvete, pripombe, napotke ter potrpežljivo pregledovanje diplomskega del

UNIVERZA V LJUBLJANI FAKULTETA ZA ŠPORT DIPLOMSKO DELO UROŠ ČADEŢ

DEUS CARITAS EST SATB Choir, Soloist, Organ. œ œ. œœœœœ. œ œœœ œ œ œ

Čarovniščki STIK 2015/ Čarovniščki

B&B VIŠJA STROKOVNA ŠOLA. Diplomsko delo višješolsko strokovnega študija Program: Poslovni sekretar GOVOR GOVORNIŠTVO

Elementi implementacije spletne trgovine

coop MDD Z VAROVANIMI OBMOČJI DO BOLJŠEGA UPRAVLJANJA EVROPSKE AMAZONKE

VODENJE IN USPEŠNOST PODJETIJ

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

UPORABA IN STROŠKOVNA ANALIZA SISTEMA ZA UPRAVLJANJE SPLETNIH VSEBIN

Skupaj za zdravje človeka in narave

UPORABA LASERJEV V I DUSTRIJI

Dinamični izračuni razmer v omrežju

VSE, KAR SO HOTELI, SO DOBILI

PRENOVA PROCESA REALIZACIJE KUPČEVIH NAROČIL V PODJETJU STEKLARNA ROGAŠKA d.d.

Matija Lovrić VPELJAVA GEST Z MIŠKO IN NADGRADNJA FUNKCIONALNOSTI KLASIČNEGA UPORABNIŠKEGA VMESNIKA

Alma Nemes. Transcribed from several period publications. - ma Ne - mes. w œ w. Ne - mes. w w w w. - mes, quae di - ce - re Cy - pris

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Ecce dies venit desideratus

POGAJANJA V LOGISTIKI

Upravitelj opravil Task Manager

Transcription:

MIMOR - MINI MOBILNI ROBOT LASTNE GRADNJE Uvod Beseda robot zajema široko področje, pod katerim si predstavljamo, da neko delo opravlja stroj. V našem primeru je to delo premagovanje labirinta, za katerega je izdelan mini robot, ki s svojim gibanjem premaguje ovire. Glavni nadzor nad njegovim delovanjem opravlja Atmelov mikrokontroler 89C2051, enostavno programiranje pa nam omogoča program BascomLT, zato je ta članek primeren tudi za začetnike. Mehanski del robota Robot ima stik s tlemi samo s tremi kolesi. Prva dva služita za pogon, tretje kolo pa je prostovrteče (slika 1). Slika 1: Na desni prostovrteče kolo; na levi pa kolo iz plastične mase obdano z gumo, na sredini pa je prilepljen element za pritrditev na servo-motor.

Prednost takšne izdelave je v tem, da se robot lahko obrača na mestu, to pa koristi kadar se znajde čisto blizu ovire. Za pogon sta uporabljena dva servo-motorja, ki sta pritrjena na aluminijast okvir. Oblika okvirja je na sliki 2a, ki se ga lahko poljubno spremeni, pomembno je to, da lahko nanj pritrdimo dva servo-motorja (slika 2b). Okvir služi samo toliko, da dele robota drži skupaj. Slika 2a: Prikaz okvirja. Slika 2b: V okvir vgrajen servo-motor. Servo-motor vsebuje že svoje elektronsko vezje, katerega krmilimo preko treh priključkov, dva za napajanje (+5V), tretji pa za krmiljenje (PWM). Velikost zasuka servo-motorja (0-90 ) je odvisno od širine pulza, ki se giblje od 1 do 2ms. Širina pulza se preverja vsake 20ms. Če na vhodu ni signala, potem se motor počasi ustavi, če pa želimo, da se hitro ustavi, mu moramo zagotoviti širino pulza dolgo približno 1.5ms (odvisno od motorja). Ker pa je robot lahek je pri obeh načinih ustavljanja dolžina zavorne poti enaka. Opisani servo-motor je iz radijsko vodenih R/C modelov (Slika 3). V 2. odstavku smo ugotovili, da se s širino pulza (1 do 2ms) servo-motor različno odkloni, mi pa potrebujemo takšen način delovanja, da se bo servo-motor lahko ustavil, vrtel samo v eno ali samo v drugo smer, kolikor časa bomo hoteli. Zato je potrebna manjša predelava (odklop pozicijske povratne vezave).

Najprej odvijemo vijake in odstranimo zgornji pokrov. Zobnik, na katerega pride pritrjeno kolo, je povezan z potenciometrom. To vezavo moramo ločiti od potenciometra, tako da se ne vrtita skupaj. Nato zavrtimo potenciometer približno na sredino in vse skupaj sestavimo nazaj. Kolesa in hitrost Za kolesa lahko uporabimo kar element, ki ga dobimo poleg servo-motorja (slika 3), če pa želimo imeti večjo hitrost robota, pa moramo imeti večja kolesa. Naredimo jih lahko iz plastične mase, na sredino pa prilepimo element, da lahko kolo pritrdimo na servo-motor (slika 1). Hitrost lahko povečamo tudi tako, da povišamo napetost na servo-motorjih (do 7.2V), vendar je potem potrebno v vezje vstaviti še 5-voltni stabilizator, da lahko napajamo ostale elemente. Slika 3: Servo-motor iz R/C modelov in element, ki ga lahko uporabimo za kolo. Testiranje servo-motorja Primer programa, ki ga bomo lahko izvajali kasneje, ko bomo imeli sestavljeno vezje. 'Vrtenje motorja v eno smer z največjo hitrostjo 'DO-LOOP zanka P1.3 = 1 'Na tretjem pinu porta 1 je signal velikosti +5V Waitms 2 'Širina pulza je 2 ms P1.3 = 0 'Na tretjem pinu porta 1 je signal velikosti 0V Waitms 20 'Po 20ms je potrebna ponovna širina pulza Loop 'Neskončna zanka End 'Vrtenje motorja v drugo smer z največjo hitrostjo 'DO-LOOP zanka P1.3 = 1 'Na tretjem pinu porta 1 je signal velikosti +5V 'Širina pulza je 1 ms P1.3 = 0 'Na tretjem pinu porta 1 je signal velikosti 0V Waitms 20 'Po 20ms je potrebna ponovna širina pulza Loop 'Neskončna zanka End 'Počasna ustavitev motorja P1.3=0 'Na vhodu je vseskozi 0V

End V primeru, da se motor ne vrti je lahko napaka v vezju oz., če motor samo 'trzne', je napaka lahko pri predelavi servo-motorja. Krmilni in logični del mobilnega robota Ena izmed najbolj zanimivih naloga robota je 'premagati' labirint, zato potrebuje senzorje s katerimi zaznava okolico. Za dan primer zadostujejo IR (infra-rdeči) senzorji (slika 4), katerih uporaba je enostavna. Na oddajni IR diodi mora biti bužirka, zato da je snop bolj usmerjen. Deluje pri 35kHz (največji domet), s spreminjanjem frekvence pa lahko domet zmanjšamo. Sprejemna dioda ima tri priključke, dva napajanje (+5V), tretji pa je TTL izhod. Ko dioda zazna IR žarek se izhod postavi na 0V, v nasprotnem primeru je +5V. Ker imamo opravka s TTL napetostnimi nivoji, lahko senzorje priključimo neposredno na mikrokontroler. Za napajanje lahko uporabimo štiri do šest Ni-Cd baterij po 1.2V velikosti AA, še boljše pa je uporabiti Ni-Mh baterije, ki imajo kapaciteto od 1.3 do 1,6Ah. Pritrdimo jih lahko pod vozilo, lahko pa tudi drugam. Opis vezja Slika 4: IR sprejemna in oddajna dioda. Shema sprejemnega dela z mikrokontrolerjem je na sliki 6, shema frekvenčnega generatorja pa je na sliki 7. Glavno vlogo v vezju ima Atmelov mikrokontroler, ki glede na zaznavanje IR sprejemnikov krmili oba servomotorja. Za frekvenčni generator je uporabljen timer NE555, ki ga lahko natančno nastavimo z preciznim trimerjem (domet). Če uporabimo tri IR elemente, potem je boljše narediti dva frekvenčna generatorja, zato da lahko enemu oz. dvema senzorjema nastavljamo različni domet. Servo-motorja sta priključena na P1.0 in P1.1. Ker mikrokontroler na teh dveh pinih zahteva zunanji pullup, sta proti Vcc priključena še dva upora. Na pinih od P1.2 do P1.7 ima mikrokontroler že notranje pullup-e, tako da IR sprejemniki pridejo priključeni direktno brez uporov. Za urin signal mikrokontrolerja služi kvarc in dva kondenzatorja. Če zvišamo napetost, da se bodo servo-motorji vrteli hitreje, potem moramo v vezje vstaviti še 5-voltni stabilizator (LM7805). Seznam elementov: Oznaka Vrednost Opis IC1 Atmel 89C2051 mikrokontroler IC2 NE555 timer C1,C2 33pF kondenzator C3 1000µF/16V ELKO C4 10µF/63V ELKO C5,C6,C7 0.1µF kondenzator

C8 10nF kondenzator R1,R2,R3 10K upor R4,R5 1K upor R6,R7 470E upor POT1 1K potenciometer IR1,IR2,IR3 PNA 4602M IR sprejemnik (Panasonic) IR4,IR5 QT QEC113 IR oddajna dioda Q1 12MHz kvarc Program, ki je bil sprogramiran v mikrokontrolerju na tekmovanju 'Program za orientacijsko delovanje Dim K As Integer Dim D As Integer Dim F As Integer D = 0 F = 0 If P1.4 = 0 Then If P1.2 = 0 Then Incr D K = 5 If D = 10 Then K = 1 D = 0 Else K = 2 Else K = 3 K = 9 K = 15 Incr F If F = 8 Then If P1.4 = 1 Then K = 5 K = 11 F = 0 Loop Until P1.4 = 0 Else F = 0 If P1.3 = 0 Then 'Sprednji stranski senzor 'Zadnji stranski senzor 'Da se robot nebi zaletel v steno, se obrne čisto malo levo in 'nadaljuje pot 'Če zadnji senzor ne zazna stene se obrne za malo večji kot levo ' Ta else stavek je od prvega if stavka in je v delovanju, če 'stranski sprednji senzor ne zazna stene 'Zaznavanje sprednje stene

Gosub Nazaj K = 22 K = 5 If P1.3 = 0 Then Gosub Nazaj K = 22 If P1.3 = 0 Then Gosub Nazaj K = 22 Loop End Naprej: P1.0 = 1 P1.1 = 1 8 Decr K Loop Until K = 0 'Zaznavanje sprednje stene 'Zaznavanje sprednje stene 'Podprogrami za premikanje robota Nazaj: P1.0 = 1 P1.1 = 1 8 Decr K Loop Until K = 0 Desno:

Decr K P1.0 = 1 P1.1 = 1 Waitms 20 Loop Until K = 0 Levo: Decr K P1.0 = 1 P1.1 = 1 Waitms 2 Waitms 20 Loop Until K = 0 Stoj: Na prvi pogled izgleda program dolg in zapleten, vendar so v glavni zanki predvsem»if then else«stavki, ki se tudi ponavljajo. Običajno začnemo s kratko verzijo programa, potem pa program popravljamo in dopisujemo glede na reagiranje robota. Tako nastane iz kratkega programa malo daljši in bolj uporaben. Program, ki sem ga napisal je ena izmed možnosti, lahko pa ga napišemo na veliko drugih načinov. Tema je zelo odprta, zato lahko vsak pokaže svoje ideje in rešitve. Krajša razlaga programa: Robot ima tri senzorje, ki so priključeni na P1.2 (stranski zadnji), P1.3 (sprednji) in P1.4 (stranski sprednji). Da robot zanesljivo najde izhod iz labirinta, je najboljše, da vseskozi sledi steni (samo levi ali samo desni), zato sta oba senzorja na desni strani. Začetni del programa preverja samo stranska senzorja, in to tako dolgo (pomika se malo naprej in malo desno), dokler s sprednjim stranskim senzorjem ne zazna stene. Ko jo zazna, se robot obrne malo levo in malo naprej, dokler s stranskim zadnjim senzorjem ne zazna stene. Tako se robot na začetku postavi vzporedno s steno. Ko obe stranski sprejemni diode zaznavata steno (odbiti snop IR žarka), se robot pelje naravnost, tako dolgo, dokler sprednji senzor ne zazna ovire. Ker se vozilo drži desne stene pomeni da se mora pri zaznavi sprednje stene obrniti za 90 stopinj levo (če so stene labirinta postavljene med seboj za 90 ). Del programa, ki se začne na If P1.3 = 0 Then Endif, se večkrat ponovi, ker zaznava sprednjo oviro in jo mora pravočasno odkriti. V primeru, da robot izgubi desno steno, se ponovno nastavi tako, kot je opisano. Program je v DO-LOOP (neskončna zanka) zanki, kar pomeni, da se izvaja, dokler ne ugasnemo stikala. Konstanti D in F sta uporabljeni zato, da lahko dosežemo v določeni ponovitvi programa drugačno reagiranje robota, s konstanto K pa določamo število ponovitev DO-LOOP zanke klicanega podprograma, kar nam pomeni dolžino premika. V podprogramu za premikanje robota naprej ali nazaj se pojavi problem, ker moramo enemu motorju priskrbeti 1ms širok pulz, drugemu pa 2ms. Na začetku oba postavimo na logično eno, potem pa po 1ms postavimo na logično 0 najprej prvi motor in po 2ms še drug servo-motor. Ko se bo zanka ponovila, bo zopet na začetku na obeh motorjih +5V in zato pride do razlike za 1ms. Da se izognemo zapletenemu podprogramu sem namesto waitms 20 napisal waitms 18 in program prav tako deluje pravilno. Zaključek Atmelov mikrokontroler nam omogoča različne možnosti izboljšave. Z uporabo timerja lahko natančneje določimo širino pulza, zato lahko robotu spreminjamo hitrost gibanja, kar pomeni da se robot lahko ustavlja (pospešuje) počasi. Izdelek lahko poljubno preprogramiramo in ga uporabimo za druge namene (npr. vožnja po dani poti, itd.).

Slika 5: Shema elementov povezanih na mikrokontroler. Slika 6: Frekvenčni generator in razpored pinov na IR sprejemniku.

Slika 7: Pogled na razstavljenega robota Uroš Derstvenšek, študent 1. letnika UNI programa Elektrotehnika E-mail: Uros.Derstvensek@mailandnews.com Mentor: mag. Janez Pogorelc, univ. dipl. inž. E-mail: Janez.Pogorelc@uni-mb.si UNIVERZA V MARIBORU Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko in robotiko Smetanova ul. 17, 2000 Maribor. Spletna stran: http://www.ro.feri.uni-mb.si