Both sides previous revisionPrevious revisionNext revision | Previous revision |
et:microcontrollers [2010/01/22 11:05] – toimetaja | et:microcontrollers [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
---|
[{{ :images:general:intel_p8048h.jpg?250|Maailma esimene mikrokontroller Intel 8048}}] | [{{ :images:general:intel_p8048h.jpg?250|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 täitma mingit kindlat ülesannet, nii et kui funktsionaalsust tahetakse muuta või täiendada, siis tuleb kiibile uus programm peale laadida. | 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 täitma mingit kindlat ülesannet nii, et kui funktsionaalsust tahetakse muuta või täiendada, siis tuleb kiibile uus programm peale laadida. Mikrokontrollerid erinevad tavaarvutist (lauaarvuti, sülearvuti, server) mitmete aspektide poolest: |
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. | * Kõik funktsioonid on paigutatud ühe kiibi peale väiksemas ja kompaktsemas mahus. |
* Programmeeritakse kindla ülesande täitmiseks. Funktsionaalsuse muutmiseks tuleb tarkvara kood uuesti peale laadida. | * Programmeeritakse kindla ülesande täitmiseks. Funktsionaalsuse muutmiseks tuleb uus tarkvara 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. | * Väiksem voolutarve, kuna kõik füüsilised parameetrid on väiksemad ja vähem ressursinõudlikumad kui tavaarvutis. Mikrokontrolleri arendajad rõhuvadki tihti madalale voolutarbele, et mobiilsed lahendused suudaksid kauem aku pealt töötada. |
* Sihtotstarbelised sisendid ja väljundid. Mikrokontrolleritel on välja töötatud perifeeriad, et hõlbustada 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 ise mõjutada ümbritsevat keskkonda (näiteks mootori käitamine, alarmsignaali käivitamine). | * Sihtotstarbelised sisendid ja väljundid. Mikrokontrolleritel on välja töötatud perifeeriad, et hõlbustada 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 ise mõjutada ü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. | Mikrokontrollereid leidub väga palju seadmetes, mida inimesed igapäevaselt kasutavad, näiteks kodutehnika (mikrolaineahi, telekas), mänguasjad (Lego NXT, 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 lisada uusi omadusi. |
| |
===== Robootika ===== | ===== Robootika ===== |
| |
Robootika on ala, mis ühendab endas teadmisi ja tehnoloogiat robotite ehitamiseks. Tehnoloogia kiire arengu tõttu on aga üha hägustumas mõiste robot kui inimest asendav automaat. 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 juba ka arvutis jooksvat tarkvara, mis teeb inimese eest mingi töö ära (näiteks raporti koostamine). Roboteid luuakse teadupärast ju inimese asendadamiseks teatud ülesannete täitmisel. Selleks on mitmeid põhjuseid: töökeskkond on inimesele liiga ohtlik, tootmishinda tuleb alandada, et inimtööjõu eest ei pea 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. | Robootika on ala, mis ühendab endas teadmisi ja tehnoloogiat robotite ehitamisest. Tehnoloogia kiire arengu tõttu on aga üha hägustumas mõiste robot kui inimest asendav automaat. Robotina ei saa võtta ainult humanoidrobotit, autotööstuse koosteliini robotkätt, lennuki autopilooti, närvivõrkudel põhinevat tehisintellekti või lihtsat koristusrobotit, vaid juba ka arvutis jooksvat tarkvara, mis teeb inimese eest mingi töö ära (näiteks raporti koostamine). Roboteid luuakse teadupärast ju inimese asendamiseks teatud ülesannete täitmisel. Selleks on mitmeid põhjuseid: töökeskkond on inimesele liiga ohtlik, tootmishinda tuleb alandada, et inimtööjõu eest ei peaks enam maksma, nüri ja üksluine töö põhjustab palju eksimusi inimese töös või uued juhtimissüsteemid on piisavalt keerulised ja ajakriitilised, et inimene tuleb asendada automaatse otsustajaga. |
| |
| <pagebreak> |
| |
===== Mikrokontrollerid robootikas ===== | ===== 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 on võimetekohased ehitada ka üksiktegijal. Siinjuhul on levinumad mikrokontrollerid järgmised: | Kuna robootika valdkond on väga lai, siis järgnevalt piiritleme seda kui hobirobootikat, kus süsteemid ei ole väga keerulised ning on võimetekohased ehitada ka üksiktegijal. Hobirobootikas on levinumad mikrokontrollerid järgmised: |
| |
* Atmel AVR tehnoloogia mikrokontrollerid (ATmega, ATtiny ja muud) | * Atmel AVR perekonna mikrokontrollerid (ATmega, ATxmega, ATtiny ja muud) |
* Microchip Technology PIC perekonna mikrokontrollerid (PIC16, PIC24 ja muud) | * Microchip Technology PIC perekonna mikrokontrollerid (PIC16, PIC24 ja muud) |
* ARM-i tehnoloogial põhinevad mikrokontrollerid | * ARM 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õib välja tuua vaid tuntumad: Arduino (AVR-i baasil), BASIC Stamp (PIC-i baasil) ja Lego NXT (ARM-i baasil). Raamatus lähemalt käsitletav Kodulabori arendusvahendid on loodud AVR ATmega128 mikrokontrolleri baasil. | Väga tihti on kolmandad osapooled loonud arendusplaadid ja -keskkonnad eelnevalt mainitud mikrokontrollerite baasil. Kuna neid on palju, siis tasub välja tuua vaid tuntumad: Arduino (AVR baasil), BASIC Stamp (PIC baasil) ja Lego NXT (ARM baasil). Raamatus lähemalt käsitletavad Robootika Kodulabori arendusvahendid on loodud AVR ATmega ja ATxmega mikrokontrollerite baasil, sõltuvalt arendusplatvormi põlvkonnast. |
| |
Kuna mikrokontrollereid ja nende baasil loodud arendusplaate on väga palju, siis tekib kindlasti küsimus, et kuidas see kõige sobivam leida. Laias laastus võib vaadeldavad omadused jagada nelja kategooriasse - hind, füüsilised parameetrid, arenduskeskkond ja klienditugi. Füüsilistest parameetritest tasub jälgida järgmisi: | Kuna mikrokontrollereid ja nende baasil loodud arendusplaate on väga palju, siis tekib kindlasti küsimus, et kuidas see kõige sobivam leida. Üldiselt võib vaadeldavad omadused jagada nelja kategooriasse - hind, füüsilised parameetrid, arenduskeskkond ja kasutajatugi. Füüsilistest parameetritest tasub jälgida järgmisi: |
| |
* protsessori töösagedus (ühik hertsides) – määrab kiibi töökiiruse | * protsessori töösagedus – määrab kiibi töökiiruse |
* programmimälu maht (ühik baitides) – kui suure mahuga programmi on võimalik kiibile peale laadida | * programmimälu maht – kui suure mahuga programmi on võimalik kiibile peale laadida |
* andmemälu maht (ühik baitides) – kui suures mahus andmeid käsitletakse programmi käigus | * andmemälu maht – kui suures mahus andmeid on võimalik käsitleda programmis |
* sisend-väljund viikude arv ja nende funktsioon – erinevatel väljaviikudel on erinevad võimalused | * sisend-väljundviikude arv ja nende funktsioon – erinevatel väljaviikudel on erinevad võimalused |
* taimerite arv – oluline ajakriteeriumite täitmisel | * taimerite arv – oluline ajakriteeriumite täitmisel |
* võimsustarve – oluline mobiilsetes lahendustes | * voolutarve – oluline mobiilsetes lahendustes |
| |
| Arenduskeskkonna all mõeldakse PC arvuti tarkvara, mille abil saab 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, sest programmi väljatöötamise käigus on see põhiline töökeskkond. Samuti on oluline parameeter tarkvara hind, ehk kas selle eest tuleb eraldi maksta või on olemas tasuta alternatiive. Siit jõuab ka neljanda kategooria - kasutajatoe - juurde, ehk kui lihtne on saada abi ja toetust võimalike ettetulevate probleemide lahendamiseks. Kõiki neid nelja eespool mainitud kategooriat vaagides peakski sobiva arendusplaadi leidma. Järgmine pilt on pigem küll huumori vallast, aga mõte just selles ongi, et mikrokontrolleriga saab juhtida väliseid (elektrilisi) seadmeid ja lugeda anduritelt infot ümbritseva keskkonna kohta. |
| |
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 eespool mainitud kategooriat vaagides peakski sobiva arendusplaadi leidma. | {{ :images:general:kontrollerrobot.png?350 |}} |