This is an old revision of the document!


Mikrokontrollerid ja robootika

Mikrokontrollerid

Maailma esimene mikrokontroller Intel 8048

Mikrokontroller on arvuti mahutatuna ühe kiibi peale (inglise keeles computer-on-a-chip). Tegu on integraalskeemiga, mis sisaldab nii mälu, protsessorit kui ka sisend-väljundliideseid. Mikrokontroller programmeeritakse mingit kindlat ülesannet täitma, nii et kui funktsionaalsust tahetakse muuta või täiendada, siis tuleb uus programm kiibile peale laadida. Mikrokontrollerid erinevad tavaarvutist (lauaarvuti, sülearvuti, server) mitme erineva aspekti poolest:

  • Kõik tavaarvuti funktsioonid on paigutatud ühe kiibi peale väiksemas ja kompaktsemas mahus.
  • Programmeeritakse kindla ülesande täitmiseks. Funktsionaalsuse muutmiseks tuleb tarkvara kood uuesti peale laadida.
  • Väiksem voolutarve, kuna kõik füüsilised parameetrid on väiksemad ja vähem ressursinõudlikumad kui tavaarvutis. Väga tihti mikrokontrolleri arendajad rõhuvadki madalale voolutarbele, et mobiilsed lahendused suudaksid kauem aku pealt töötada.
  • Sihtotstarbelised sisendid ja väljundid. Mikrokontrolleritel on välja töötatud perifeeriad hõlbustamaks suhtlemist teiste mikrokontrollerite ja arvutitega (näiteid suhtluskanalitest USB, CAN, UART), aru saada füüsilistest reaalse maailma protsessidest (näiteks lüliti lülitus, temperatuuri mõõtmine) ja mõjutada ise ümbritsevat keskkonda (näiteks mootori käitamine, alarmsignaali käivitamine).

Mikrokontrollereid leidub väga palju seadmetes, mida inimesed igapäevaselt kasutavad, näiteks kodutehnika (mikrolaineahi, telekas), mänguasjad (LegoNXT, rääkivad nukud), sõiduvahendid (auto, tõstuk) jms. Nende laialdane kasutus on olnud võimalik tänu sellele, et oma programmeeritavuse ja laialdase funktsionaalsuse tõttu on seadmetele lihtne juurde lisada uusi omadusi ning muuta need intelligentsemateks.

Robootika

Robootika on ala, mis ühendab endas teadmisi ja tehnoloogiat, et ehitada roboteid. Mõiste robot, kui inimest asendav automaat, ise on aga tehnoloogia kiire arengu tõttu üha hägustumas. Robotina ei saa võtta ainult humanoidrobotit, autotööstuse koosteliini robotkätt, lennuki autopilooti, närvivõrkudel põhinevat tehisintelligenti või lihtsat koristusrobotit, vaid ka juba arvutis jooksvat tarkvara, mis teeb inimese eest mingi töö ära (näiteks raporti koostamine). Roboteid luuakse teadupärast ju selleks, et asendada inimesi teatud ülesanne täitmisel. Selleks on mitmeid põhjuseid: töökeskkond on liiga ohtlik inimese jaoks, alandada tootmishinda, nii et ei pea inimtööjõu eest enam maksma, nüri ja üksluine töö põhjustab palju eksimusi inimese töös või uued juhtimissüsteemid on nii keerulised ja ajakriitilised, et inimene tuleb asendada automaatse otsustajaga.

Mikrokontrollerid robootikas

Kuna robootika valdkond on väga lai, siis järgnevalt piiritleme seda kui hobirobootikat, kus süsteemid ei ole väga keerulised ning võimetekohased ehitada ka üksiktegijal. Siinjuhul on enimlevinumad mikrokontrollerid järgmised:

  • Atmel AVR tehnoloogia mikrokontrollerid (ATmega, ATtiny ja muud)
  • Microchip Technology PIC perekonna mikrokontrollerid (PIC16, PIC24 ja muud)
  • ARM-i tehnoloogial põhinevad mikrokontrollerid

Väga tihti on kolmandad osapooled loonud arendusplaadid ja -keskkonnad eelnevalt mainitud mikrokontrollerite baasil. Kuna neid on väga palju, siis välja võib tuua vaid tuntumad: Arduino (AVR baasil), BASIC Stamp (PIC baasil) ja Lego NXT (ARM baasil). Raamatus lähemalt käsitletav Kodulabori arendusvahendid on loodud AVR ATmega128 mikrokontrolleri baasil.

Kuna mikrokontrollereid ja nende baasil loodud arendusplaate on väga palju, siis tekib kindlasti küsimus, et kuidas see kõige sobivam leida. Laias laastud võib vaadeldavad omadused jagada nelja kategooriasse - hind, füüsilised parameetrid, arenduskeskkond ja klienditugi. Füüsilistest parameetritest tasub jälgida järgmisi:

  • protsessori töösagedus (ühik hertsides) – määrab kiibi töökiiruse
  • programmimälu maht (ühik baitides) – kui suure mahuga programmi on võimalik kiibile peale laadida
  • andmemälu maht (ühik baitides) – kui suures mahus andmeid käsitletakse programmi käigus
  • sisend-väljund viikude arv ja nende funktsioon – erinevad väljaviigud omavad erinevaid võimalusi
  • taimerite arv – oluline ajakriteeriumite täitmisel
  • võimsustarve – oluline mobiilsetes lahendustes

Arenduskeskkonna all mõeldakse PC arvuti tarkvara, mille abil saab teha järgmist: kirjutada ja kompileerida programmi, laadida programm mikrokontrollerisse ning siluda programmi töö käigus, et avastada võimalikke vigu. Siinkohal saabki määravaks see, kui mugav ja lihtne on kõiki neid toiminguid teha, kuna programmi väljatöötamise käigus on see põhiline töökeskkond. Siit jõuab ka neljanda kategooria - klienditoe - juurde ehk kui lihtne on saada abi ja toetust võimalike ettetulevate probleemide lahendamiseks. Kõiki neid nelja eelpoolmainitud kategooriat vaagides peakski sobiva arendusplaadi leidma.

et/microcontrollers.1263899858.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0