Raivo Sell, Heiko Pikner, Eero Väljaots ROBOOTIKA TÖÖVIHIK Robootika Kodulabori baasil
Kujundus: Raivo Sell Küljendus: Taavi Duvin Fotod, joonised, ekraanitõmmisd: Raivo Sell, Heiko Pikner, Eero Väljaots, Illo Jõe Õppematerjali valmimist toetas Eesti Teadusagentuur TeaMe programmist. See teos on litsentseeritud Creative Commonsi 3.0 Eesti litsentsiga. Autorile viitamine + Mitteäriline eesmärk + Jagamine samadel tingimustel Tartu Ülikool Tartu 2013 Autorid: Raivo Sell, Heiko Pikner, Eero Väljaots, Illo Jõe 2
Sissejuhatus ja põhiterminid. Ülesanne 1. Tutvumine Kodulabori baaskomplektiga! 5 Ülesanne 2. Tutvumine Robootika Kodulabori lisakomplektiga! 6 Robootikasüsteemid Ülesanne 1 - Süsteemi komponendid! 7 Ülesanne 2 - Mikrokontrolleri sisendid ja väljundid! 9 Ülesanne 3 - Registrid! 10 Ülesanne 4 - Analoog-digitaalmuundur! 11 Ülesanne 5 - Pulsilaiuse modulatsioon (PWM)! 12 Ülesanne 6 - Praktilised ülesanded! 13 Näidikud ja ekraanid. Ülesanne 1. LED-i takisti väärtuse arvutamine! 14 Ülesanne 2. LED-i ühendamine! 15 Ülesanne 3. Numbernäidik! 16 Ülesanne 4. LCD ühendamine! 17 Ülesanne 5. Tähemärkide koodid! 18 Ülesanne 6. Praktilised ülesanded! 19 Elektrimootorid. Ülesanne 1. Alalisvoolumootori juhtimine! 20 Ülesanne 2. Pöörlemiskiiruse arvutus! 21 Ülesanne 3. Mootori parameetrite arvutus! 22 Ülesanne 4. Samm-mootori juhtimine! 23 Ülesanne 5. Manipulaatori kinemaatika! 24 Ülesanne 6. Praktilised ülesanded! 25 Analoogandurid Ülesanne 1. Potentsiomeeter! 26 Ülesanne 2. Termistor! 27 Ülesanne 3. Infrapuna kaugusandur! 28 Ülesanne 4. Fototakisti! 29 Ülesanne 5. Kiirendusanduri paigutus! 30 3
Ülesanne 6. Praktilised ülesanded! 31 Digitaalandurid Ülesanne 1. Ultraheliandur! 32 Ülesanne 2. IR-majakas! 33 Ülesanne 3. Autode lugeja! 34 Ülesanne 4. Kooder! 35 Ülesanne 5. Lidar! 36 Ülesanne 6. Praktilised ülesanded! 37 Liikumismehhanismid Ülesanne 1. Roboti navigatsioon puuteanduritega! 38 Ülesanne 2. Robot koordinaattasandil! 39 Ülesanne 3. Inertsiaalne navigatsioonisüsteem! 40 Ülesanne 5. Omnirattalise platvormi juhtimine! 43 Ülesanne 6. Praktilised ülesanded! 44 Andmeside Ülesanne 1. Lihtne andmete ülekanne! 45 Ülesanne 2. Juhtmevaba võrk! 46 Ülesanne 3. Sidelahenduste protokollid! 48 Ülesanne 4. UART sidelahendus! 49 Ülesanne 5. I2C võrgulahendus! 50 Ülesanne 6. Praktilised ülesanded! 51 Andmete kogumine Ülesanne 1. Andmete salvestamine ja mälumahud! 52 Ülesanne 2. Statistilised arvutused! 53 Ülesanne 3. Andmete kogumine ja töötlemine! 55 Ülesanne 4. Mõõtemääramatus! 56 Ülesanne 6. Praktilised ülesanded! 60 4
Sissejuhatus ja põhiterminid. Ülesanne 1. Tutvumine Kodulabori baaskomplektiga Tutvumine Robootika Kodulabori baaskomplekti riistvaraga. Tutvumine AVR mikrokontrolleri ATmega256 riistvara kirjeldusega (riistvara ülevaade). Tutvumine Kodulabori kasutajaliidese mooduli riistvara kirjeldusega (riistvara ülevaade). 5
Ülesanne 2. Tutvumine Robootika Kodulabori lisakomplektiga Tutvumine Robootika Kodulabori lisakomplekti riistvaraga. Tutvumine Robootika Kodulabori andurite mooduli riistvara kirjeldusega (riistvara ülevaade). Tutvumine Robootika Kodulabori mootorite mooduli riistvara kirjeldusega (riistvara ülevaade). Tutvumine Robootika Kodulabori kommunikatsioonimooduli riistvara kirjeldusega (riistvara ülevaade). 6
Robootikasüsteemid Ülesanne 1 - Süsteemi komponendid Robootikasüsteem koosneb tavaliselt mitmetest komponentidest ja osadest. Sul on vaja projekteerida lihtne labürinti läbiv robot, mis suudab distantsilt tuvastada seina ja läbida labürint ilma seinu puudutamata. Ülesanne. Koosta roboti komponentide põhimõtteline graafiline skeem koos komponentide omavaheliste ühendustega. Kasuta etteantud komponente (plokke), lisades neid vajadusel ise juurde. Ühendusskeem Põhjenda lühidalt oma lahendust. 7
Leia Robootika Kodulabori komplektidest roboti ehitamiseks vajalikud komponendid ja moodulid ning seosta need oma graafikul olevate plokkidega. 8
Ülesanne 2 - Mikrokontrolleri sisendid ja väljundid Alljärgnevalt on pildid erinevatest robootika komponentidest. Millised ühendad kontrolleri sisendisse ja millised väljundisse? Proovi ära arvata, mis komponentidega on tegu. Ülesanne. Määra piltidel olevad komponendid ja tõsta need sobivasse tulpa (sisendi või väljundi alla). Piltidel olevad komponendid: 9
Ülesanne 3 - Registrid Kontrolleri registrite väärtused esitatakse tihti kümnendsüsteemi asemel kahendsüsteemis (tähistatakse 0b) ja kuueteistkümnendsüsteemis (tähistatakse 0x). Ülesanne. Teisenda alljärgnevad kahendkujul olevad registri väärtused 16-nd koodi. Vihje: 8-kohalisele kahendkoodile vastab alati 2-kohaline kuueteistkümnendarv. 10
Ülesanne 4 - Analoog-digitaalmuundur Robot kasutab objektide tuvastamiseks infrapuna kaugusandurit, mille väljundiks on pinge, mis vastab mõõdetava objekti kaugusele. Anduri tööpiirkond on 20-150 cm. Mõõtetulemus salvestatakse kahendarvuna 10-bitilisse registrisse (maksimaalne väärtus: 1024) nimega ADC. Registri maksimaalne väärtus vastab 2,56 V anduri väljundpingele. Kõrvalolev graafik, mis on pärit anduri andmelehelt, näitab anduri väljundpinge ja mõõdetava kauguse omavahelist seost. Ülesanne. Koosta valem, mis võimaldab registri (ADC) väärtusest tuletada anduri väljundpinge (Uout) väärtuse. Too näitearvutus, kui registri väärtus on 0x1F4. Millisele ligikaudsele kaugusele see vastab? Lahenduskäik Vihje: pane tähele, et registri väärtus on esitatud kuueteistkümnendkujul, valemis tuleks see teisendada kümnendkujule. Kauguse leiad graafikult, kui oled leidnud antud kuueteistkümnendarvule vastava pinge. 11
Ülesanne 5 - Pulsilaiuse modulatsioon (PWM) Servomootor kasutab oma võlli asendi määramiseks spetsiifilist pulsilaiuse modulatsiooni (PWM). Pulsi laiuseks aktsepteeritakse 1,0-2,0 ms impulssi ca 20 ms intervalliga. Servo hoob on vasakus äärmises asendis 1,0 ms korral ja paremal äärmises asendis 2,0 ms korral. Ülesanne. Joonista ruudustikule proportsioonis servomootori juhtsignaal, mille puhul servo hoob oleks keskmises ehk nullasendis. Horisontaalskaalal võtta üks ruut võrdseks 1 millisekundiga (ms). Pinge väärtus ei ole antud ülesande juures oluline. Lahendus 12
Ülesanne 6 - Praktilised ülesanded Robootika Kodulabor 1. Joonista Google Docsi keskkonnas lihtne roboti navigeerimise algoritm ja salvesta see pdf-ina oma arvutisse. 2. Otsi internetist erinevaid mikrokontrollereid ja võrdle nende parameetreid. Leia 10 olulist parameetrit, mida tasub võrrelda mikrokontrolleri valikul robootikasüsteemi. 3. Seadistada vastavalt juhendile Robootika Kodulabori programmeerimiskeskkond Eclipse, kompileeri näide ja laadi see kontrollerisse. Edasijõudnutele: 1. Tee lihtne programm, mis vilgutab kontrolleri plaadil olevat LED-i (PB7). 2. Tee lihtne programm, mis süütab kontrolleri plaadil oleva LED-i (PB7), kui kontrollerplaadil olev nupp (B_LDR) on alla vajutatud. 13
Näidikud ja ekraanid. Ülesanne 1. LED-i takisti väärtuse arvutamine Mikrokontrolleriga on vaja ühendada valgusdiood (LED). Valgusdioodi puhul on oluline, et seda läbiks õige tugevusega voolu ja pinge. Need parameetrid sõltuvad lisaks LED-i muudest parameetritest ka LED-i värvusest. Õige voolutugevuse saavutamiseks (lubatust suurema voolutugevuse piiramiseks) ühendatakse lihtsamates ahelates LED-iga järjestikku takisti. Ülesanne. Arvuta õige takisti väärtus, kus kõikide LED-ide pärivooluks arvesta 20 ma ja vali sobivaim takisti (olemasolevaid takisteid leiab elektroonikakomponentide müüjate e- poodidest, näiteks Farnell, Elfa jt) järgmiste juhtude jaoks: Viide: Ohmi seadus 14
Ülesanne 2. LED-i ühendamine Mikrokontroller juhib LED-i nii, et kui kontrolleri väljundviik (PB4) on madal (0), peab LED põlema, ja kui kõrge (1), on LED kustunud. Pea silmas, et ka mikrokontrolleri viigu määramata oleku puhul peab LED olema kindlalt kustunud. Kasutada olevad komponendid: Ülesanne. Koosta etteantud komponentidest sobiv ühendusskeem ja põhjenda komponentide paigutust skeemis. Mikrokontrolleri väljundpinge on 5 V ja LED on ühendatud kontrolleri viiku PB4. Ühendusskeem Põhjendus Vihje. R2 on niinimetatud pull-up-takisti. Uuri selle kohta lisaks internetist, kuidas need skeemi ühendada. Soovitus. Skeemi koostamiseks on soovitav kasutada arvutitarkvara Eagle Schematic Editor vabavaralist versiooni. 15
Ülesanne 3. Numbernäidik 7-segmendiline numbernäidik koosneb seitsmest pikliku kujuga LED-ist ja tavaliselt ka punktist. Segmendid on tähistatud tähtedega tähestiku järjekorras ja punkt on tähistatud kui DP. Segmendi juhtimiseks on kasutusel ajur, mis töötab nihkeregistri põhimõttel. Ülesanne. Näita data-registri sisu kahend- ja kuueteistkümnendkujul: 16
Ülesanne 4. LCD ühendamine Väike graafiline LCD on ühendatud mikrokontrolleriga üle SPI-liidese. SPI on sünkroonne jadaliides väiksemamahuliste andmete vahetamiseks. Ühele siinile saab lisada mitu seadet, kus üks on alati ülem- (master) ja teised alamad (slave) seadmed. Antud näites on mikrokontroller ülem- ja LCD alamseade. Ülesanne. Kirjelda, kuidas toimib teksti jõudmine ekraanile. Märgi kõigepealt skeemi kaablitele 1-4 SPI-signaali tähised ja seejärel kirjelda, millises järjekorras kontroller vastavad signaalid ekraanile edastab. Ühendusskeem Lahendus Vihje. Uuri SPI-liidese kirjeldust ja graafilise LCD tarkvarateeki. Abi saab ka internetist SPI andmeside protokolli uurides. 17
Ülesanne 5. Tähemärkide koodid Ekraanidele saadetakse tähemärgid tavaliselt mitte otse tähena vaid tähemärgi koodina. Kooditabelid on ekraanidel erinevad, kuid küllalt tihti kasutatakse ASCII kooditabelit, kus igale märgile on omistatud mingi kindel täisarv. Selle tabeli leiab lihtsalt internetist. Ülesanne. Leia järgnevatele tekstidele vastav ASCII-kood. Vihje. Kindlat täisarvulist koodi omavad lisaks sümbolitele ka tühik, Enter" jt klahvid. 18
Ülesanne 6. Praktilised ülesanded 1. Koosta programm, mis loendab 7-segmendilisel indikaatoril numbreid 0->9 ja siis tagurpidi tagasi 9->0. Esita tarkvara algoritm ja lähtekood. 2. Esita suvalises järjekorras 7-segmendilisel indikaatoril kuueteistkümnendsüsteemi arve sagedusega 1 Hz. 3. Pane 7-segmendilisel indikaatoril perioodiga 500 ms ringiratast kordamööda põlema välised 6 segmenti. Edasijõudnutele: 1. Kuva graafilisel LCD-l 10-realine tekst, mida saab nuppudega S1 ja S2 üles-alla kerida. 2. Tee kolme nupuga kasutajaliides teksti sisestamiseks. Näiteks ühe nupuga teha märgi valik, teisega märgi kinnitamine ja kolmandaga teksti lõplik kinnitamine. Teksti maksimaalne pikkus on 10 märki. 19
Elektrimootorid. Ülesanne 1. Alalisvoolumootori juhtimine Püsimagnetiga alalisvoolumootorid on lihtsa ehitusega ja elementaarse juhtimisega mootorid. Nende juhtimiseks kasutatakse tavaliselt neljast lülituselemendist koosnevat H-silda, mis võimaldab lisaks mootori kiirusele juhtida ka pöörlemissuunda. Ülesanne. Millist (PWM) töötsüklit on vaja, et saavutada alalisvoolumootori võlli pöörlemiskiiruseks 60% nominaalsest pöörlemiskiirusest. Joonistage PWM-signaali kuju allpool olevasse teljestikku. Lisaks märkida skeemile transistorid, mis on lülitatud, kui mootor pöörleb ühes suunas. Põhjenda lühidalt oma lahendust. 20
Ülesanne 2. Pöörlemiskiiruse arvutus Alalisvoolumootorid pöörlevad küllaltki suure nurkkiirusega. Roboti liigutamiseks on vaja tavaliselt väiksemat nurkkiirust ja suuremat jõudu. Selleks ühendatakse roboti mootori ja ratta vahele reduktor, mis vähendab väljundvõlli nurkkiirust. Roboti liikumiskiirus sõltub veel ratta läbimõõdust, kusjuures kehtib seaduspärasus, et mida suurem on ratas, seda kiiremini liigub robot sama ratta nurkkiiruse juures. Ülesanne. Reduktoriga, mille ülekandesuhe on 12:1, varustatud alalisvoolumootori reduktori võllile on kinnitatud 5,2 cm diameetriga ratas. Roboti liikumise maksimaalne kiirus siledal pinnal sõites peab olema 1,56 m/s. Kui kiiresti peab sellisel juhul alalisvoolumootor pöörlema. Kiirus andke p/min. Lahendus Vihjed: kiirus, perioodilised liikumised ja nurkkiirus. 21
Ülesanne 3. Mootori parameetrite arvutus Alalisvoolumootoriga tahetakse ringi ajada roboti veoajamit, millele on rakendatud koormus. Mootori andmelehel on järgmine informatsioon: Nimipinge 12,0 V Tühijooksu kiirus 4800 pööret minutis Vool, kui võll on blokeeritud Max. pöördemoment 5,0 A 13,7 N-cm Tühijooksu vool 26,0 ma Ülesanne. Leia mootori kiirus ja vool koormuse 8 N/cm all, kui mootor on tööle lülitatud nimipingega. Eeldame, et sõltuvus mootori kiiruse ja koormusmomendi vahel on lineaarne. Põhjenda oma lahendust Vihje: ülesannet võib lahendada ka graafiliselt. 22
Ülesanne 4. Samm-mootori juhtimine Bipolaarsel samm-mootoril muudetakse mähiste polaarsust kommutatsiooni ajal. Korraga aktiveeritakse vastasmähised. Mootori neli juhet ühendatakse kõik eraldi poolsildadega. Kommuteerimisel rakendavad poolsillad mähiste otstele kas positiivset või negatiivset pinget. Joonisel on ülemise positiivse poole PNP-transistorid tähistatud tähega Q" ja alumise poole NPN-transistorid tähega T". Ülesanne. Täitke tabel transistoride olekutega nii, et bibolaarne samm-mootor hakkaks pöörlema täissammudega. Kui transistor on avatud, siis märkige 1" ja kui suletud, siis 0". Mootor peab pöörlema päripäeva. Näitena on üks rida ette tehtud. 23
Ülesanne 5. Manipulaatori kinemaatika Töölaua kohale on positsioneeritud kolme servomootoriga robotmanipulaator. Robotiga on kaasas tema lülide mõõtmeid kajastav joonis. Joonisel on kõik mõõtmed millimeetrites. Roboti joonisele on kantud ka arvutamist vajavad nurgad α, β ja γ. Lisaks on roboti töölaud ruuduline. Iga ruudu suurus on 100 x 100 mm. Ülesanne. Roboti koodrite kontrollimiseks tuleb arvutada kõikide liigendite nurgad. Lahenduskäik Vihjed: täisnurkne kolmnurk, koosinusteoreem 24
Ülesanne 6. Praktilised ülesanded 1. Mootorit juhitakse kasutajaliidese mooduli nuppude alla vajutamisega. Nuppude S1" ja S2" eraldi vajutamine peatab mootori kaheks sekundiks ning seejärel käivitub mootor uuesti. Kui mõlemad nupud on samaaegselt alla vajutatud, siis mootor seisab kuni nuppude vabastamiseni. (Robotil tuleks rakendada sarnast skeemi kahe eraldi mootori juhtimiseks). 2. Servomootorit juhitakse kasutajaliidese mooduli nuppude abil. Nupu S1" alla vajutamisel pöörleb servomootori hoob ühe sammu võrra vasakule, nupu S3" alla vajutamisel pöörleb servomootori hoob ühe sammu võrra paremale ning nupu S2" alla vajutamisel liigub hoob algasendisse (keskmine positsioon). Servomootori hoova asendit näidatakse sammudena 7-segmendilisel indikaatoril (keskmine asend on number 5). Sammuks valida tinglik samm, 1/10 kogu liikumise ulatusest. 3. Samm-mootor pöörleb iga nupule S1" ja S3" vajutamise järel 50 sammu vastavalt päri- või vastupäeva. Nupp S2" katkestab pöörlemise viivitamatult. Edasijõudnutele 1. Ühendatud on kõik kolm erinevat tüüpi mootorit. Nupule vajutus käivitab ja peatab vastava mootori. Nupp S1" juhib alalisvoolumootorit, S2" servomootorit ja S3" sammmootorit. 2. Koosta programm, mis vajutades nupule S1" suurendab alalisvoolumootori kiirust ja vajutades S3" vähendab seda. Nupp S2" muudab pöörlemissuunda. 25
Analoogandurid Ülesanne 1. Potentsiomeeter Potentsiomeeter on kolme kontaktiga muuttakisti, mille kahe äärmise kontakti vahel on fikseeritud takistus ja äärmiste ning keskmise kontakti vahel muutuv takistus. Potentsiomeeter on põhimõtteliselt ka pingejagur, kus pingejaguri takistid moodustuvad äärmiste kontaktide ja keskmise kontakti vahel. Ülesanne. Roboti juhtpuldis oleva LED-valgustusega ekraani heleduse muutmiseks kasutatakse potentsiomeetrit R3. Teada on, et roboti toitest tulev pinge on 5,0 V. Ekraani taustavalguse reguleerimise vahemik on 1 3 V. Selle saavutamiseks lisatakse ahelasse takistid R1 ja R2. Labori sahtlis leidus järgmise väärtusega takisteid: 1 Ω, 3 Ω, 150 Ω, 1 kω, 5 kω ja 10 kω. Vali sobivad takistid ja potentsiomeetri takistus. Potentsiomeetrit läbivaks vooluks võtta 1 ma. Lahenduskäik Vihje: Ohmi seadus 26
Ülesanne 2. Termistor Termistor on takisti, mille takistus sõltub temperatuurist. Robootika Kodulabori andurite mooduli plaadil on 10 kω nimitakistusega termistor (temperatuuril 25 C). Temperatuuril 25-50 C on termistori B-parameeter 3900. Termistori üks viik on ühendatud +5 V toitega ja teine mikrokontrolleri analoog-digitaalmuunduri kanaliga (tähistatud TEMP). Sama mikrokontrolleri viigu ja maaga on ühendatud 10 kω takisti, tähistusega R1, mis koos termistoriga moodustab pingejaguri. Ülesanne. Joonista teljestikku TEMP viigu väljundpinge muutumise graafik. Temperatuurivahemik valida 25-50 C. Põhjenda oma lahendust Vihje: naturaallogaritm 27
Ülesanne 3. Infrapuna kaugusandur Objekti kauguse mõõtmiseks on olemas triangulatsioonimeetodil töötavad optilised andurid. Levinuimad neist on firma Sharp poolt toodetavad infrapuna (lühend: IR) lainepikkusel töötavad analoogpinge väljundiga kaugusandurid. Joonejärgimisrobot on vaja varustada kahe Sharpi IR-anduriga GP2Y0A21YK mõõtepiirkonnaga 10 80 cm, et tuvastada väljakul olevaid takistusi. Probleem on selles, et kui anduri ees on takistus lähemal kui 5 cm, siis vastab sellele väljundpinge kaks väärtust (vt joonist). Seda on näha ka anduri andmelehel olevalt graafikult. Robotile on võimalik andureid paigutada punktiiriga tähistatud piirkonda, mille mõõtmed on 25 x 30 cm. Piirkonda ümbritseb piire, mis on tähistatud punase joonega. Ülesanne. Joonista roboti kujutisele sobivasse kohta IR andurid nii, et nende mõõtepiirkonnad oleks maksimaalselt ära kasutatud. Punktiirjoon anduri joonisel tähistab anduri mõõtepiirkonda. 28
Ülesanne 4. Fototakisti Fototakisti on andur, mille elektriline takistus muutub logaritmiliselt vastavalt temale pealelangeva valguse intensiivsusele. Võistluse jaoks hakatakse ehitama tuletõrjerobotit, mis peab põleva küünla pimedas üles leidma ja ära kustutama. Valgusallika ülesleidmiseks leiti sahtlipõhjast fototakisti tähistusega VT935G, mida soovitakse monteerida roboti ninaosasse. Fototakisti üks viik on ühendatud +5 V toitega ja teine mikrokontrolleri analoogdigitaalmuunduri ühe kanaliga. Sama mikrokontrolleri viigu ja maaga on ühendatud ka tavaline 10 kω takisti, mis koos fototakistiga moodustab pingejaguri. Kuna fototakisti elektriline takistus väheneb temale langeva valguse intensiivsuse kasvades, siis mõõdetav pinge mikrokontrolleri viigu peal kasvab valguse intensiivsuse kasvades. Fototakisti valgustustiheduse ja elektritakistuse vahelise seose kohta annab anduri andmeleht järgmise valemi ja graafiku: Teada on sirge tõus k, mis VT935G anduril on 0,9. Teada on ka joone ühe punkti andmed: 18,5 kω takistus 10 lx valgustustiheduse juures. Ülesanne. Arvuta takistuse järgi valgustustihedus luksides. Mõõdetud on järgmised temperatuurianduri (LDC) takistused: 1,4 kω, 5,6 kω ja 140 kω. Lisaks hinda, millise nimetatud takistuse korral on valgustihedus maksimaalne ja millise korral minimaalne. Lahenduskäik Vihje: arvu logaritm ja selle omadused. 29
Ülesanne 5. Kiirendusanduri paigutus 2-teljelise kiirendusanduri väljundpinge vastab kiirenduse muutusele X- ja Y-suunas. Väljund on antud kiirendusanduril nn. ratiometric, st väljundi tundlikkus sõltub toitepingest. Kui toitepinge (Vcc) on 5 V, siis tundlikus on 312 mv/g, kui Vcc = 3 V, siis tundlikkus langeb kuni 174 mv/g-ni. 0-kiirenduse korral (0g) on anduri väljund Vcc/2. Ülesanne. Andurit toidetakse pingega 3 V. Milline väljundpinge vastab kiirendusele -0.5g? Toitepingega 5 V on X-telje väljundi lugem 3,06 V. Millisele kiirendusele see vastab? Lahendus 30
Ülesanne 6. Praktilised ülesanded 1. Kuva potentsiomeetri takistus LCD-l. Kui takistus jääb vahemikku 0 999 Ω, siis kasuta oome, ja kui 1000 5000 Ω, siis kilo-oome. Potentsiomeetri takistuse nimiväärtus on 5 kω. Kui takistus on kω-des, tuleb ühiku eristamiseks kasutada tähte k. 2. Koosta programm, mis mõõdab infrapunaanduriga objekti kaugust. Mõõtmist alustab nupu S1" vajutamine. Mõõtmise ajal vilgub korraks kollane LED. Kui objekt on kaugemal kui 50 cm, süttib roheline LED, kui objekt on lähemal kui 50 cm, süttib punane LED. 3. Kuva NTC temperatuurianduri väärtus LCD-l kraadides. Nupu S2" abil saab muuta ühikuid: Kelvin (K), Fahrenheit ( F) ja Celsius ( C). Edasijõudnutele 1. Mõõdetakse objekti kaugust infrapunaanduriga ja tulemus kuvatakse kolme valgusdioodi (LED1 LED3) abil kahendkujul. Kauguse suurenemisel peab vastavalt kasvama ka kuvatav väärtus. Skaalaks võtta ligikaudu 1 bit = 1 dm. 2. Kasutades valgustugevuse andurit, tuvastatakse järsk valgustugevuse muutus (laevalgustuse sisse- või väljalülitamine). Kui muutus on järsk, alarmeeritakse sellest punase LED-i vilkumisega (5 sekundit). Kui valgustugevus muutub sujuvalt, näidatakse selle muutumise suunda. Roheline LED tähistab valgustugevuse suurenemist ja kollane valgustugevuse vähenemist. 31
Digitaalandurid Ülesanne 1. Ultraheliandur Ultraheli kaugusmõõdik määrab objekti kaugust helilaine objektilt tagasipeegeldumise aega mõõtes. Ümmarguse põhjaga autonoomsele robotile on vaja paigaldada ruumis orienteerumiseks 6 ultraheliandurit nii, et esimene ringi pool oleks võrdsete vahedega kaetud. Seda tüüpi ultraheliandur otseselt infot kauguse kohta ei väljasta. Anduril on peale toiteviikude veel päästiku ja kajaviigud. Päästikuviiku kõrgeks seades genereerib andur ultrahelilaine. Sel hetkel läheb kõrgeks ka kajaviik ja jääb kõrgeks, kuni peegeldunud helilaine on andurini tagasi jõudnud. Seega põhimõtteliselt näitab kajasignaal aega, mille jooksul heli objektini ja tagasi levib. Ülesanne. Roboti programmis mõõdetakse kajaviigu olekut taimeriga. Saadi järgmised ajad: 1. 18 ms 2. 0,08 ms 3. 5 ms Arvutada mõõdetud objektide kaugused sentimeetrites. Kas kõikide andurite mõõtmisi (päästikuviikude lülitamisi) võib ühel ajal teha? Lahendus Vihje: heli levimise kiirus õhus ~332 m/s. 32
Ülesanne 2. IR-majakas Robotexi võistlusel on kaks majakat, mis kiirgavad 36 khz kandevsagedusel servomootorite PWM-signaale. Saatmise periood on 20 ms, mis on majakatel nihkes. Majakas Vastuvõtja Võistluse jaoks hakatakse ehitama uut Robotexi robotit, mis peab teadma, mis suundadesse väravad jäävad. Majakate tuvastamiseks osteti kaks IR-vastuvõtjat, tootekoodiga IRM-8608S. Elektroonikutel on aga plaadi koostamisel abi vaja: vastuvõtjad tuleb plaadile paigaldada nii, et värava suunda saaks võimalikult täpselt tuvastada. Ülesanne. Paiguta kaks IR-andurit andurid trükkplaadile õigesse kohta. Andureid on võimalik paigutada ükskõik millisesse kohta punktiirjoonega tähistatud ala sees. Must kriips on plaadil olev vahesein. Põhjenda valikut 33
Ülesanne 3. Autode lugeja Liikluses kogutakse statistilisi andmeid seadmega, mis loendab teele asetatud voolikute abil voolikutest ülesõitmisi. Seadme mälust saadi tabel andmetega mõlema vooliku kohta. Tabelis on mõlema vooliku impulsside toimumise kellaajad formaadis dd.mm.yy_hh:mm:ss,sss. Kahe mõõtva vooliku vahemaa üksteisest on 1 meeter. Esimene voolik 08.11.11_11:32:27,000 08.11.11_11:32:27,188 08.11.11_12:57:36,505 08.11.11_12:57:37,472 08.11.11_13:11:07,421 Teine voolik 08.11.11_11:32:27,072 08.11.11_11:32:27,260 08.11.11_12:57:36,135 08.11.11_12:57:37,102 08.11.11_13:11:07,477 08.11.11_13:11:07,566 08.11.11_13:11:07,622 Ülesanne. Süsteemist saadud katseandmed tuleb töödelda ja arvutada neist kõigi voolikust üle sõitnud autode kiirused. Tee ka kindlaks, mis suunas need autod teel sõitsid, kui esimene auto sõitis positiivses suunas. Kui palju autosid teel sõitis? Lahendus Viide: füüsika, kinemaatika. 34
Ülesanne 4. Kooder Kooder on sobilik mootori või reduktori nurkkiiruse ja võlli asendi mõõtmiseks. Optiline kooder koosneb avade või lõhedega kettast ja optopaarist. Optopaar on IR-valgusdioodist ja fototransistorist koosnev süsteem, mille vahele on asetatud piludega kooderketas nii, et ketta pöörlemisel avad perioodiliselt katkestavad valguse ning seetõttu vastavalt lülitavad fototransistorit sisse ja välja. Selle tulemusena tekib fototransistori väljundis ristküliksignaal, mida saab kasutada võlli nurkkiiruse leidmiseks. Ajami pöörlemissuuna kindlaks määramiseks tuleb ühele koodri rattale paigaldada kaks veidi nihkes olevat optopaari. Tekivad allpool näidatud signaalid. Ülesanne. Kanna signaalidele nelja püstise joone abil ajahetked, millal kontroller neid loeb. Lisaks täida tabel tõeväärtustega (1 või 0 olenevalt signaali olekust). Näitena on üks hetk (vertikaalne kriipsjoon) koos tõeväärtustega suvalisse kohta ette tehtud. 35
Ülesanne 5. Lidar Lidar on seade, mis kaardistab laserkiirega ümbrust. Lidari põhiline komponent on IR-laser, mille siinusekujuliselt moduleeritud signaali sagedus on 5 MHz. Valguse peegeldumisel mõnelt pinnalt tekib faasinihe saadetud ja tagasipeegekdunud laserkiire faasi vahel. Selle mõõtmiseks piisab ainult tagasipeegelduva signaali faasi mõõtmisest, sest saadetava laserkiire faas on teada. Faasinihke suurus on seotud kaugusega objektini. Skaneerimine toimub peegli pööramisega, mis suunab laserkiire soovitud suunda. Teada on valguskiiruse valem ja seos kauguse arvutamiseks. c - valguse kiirus, f - laserkiire moduleerimissagedus (Hz) ja τ - valguse lainepikkus (m) Ülesanne. Arendusmeeskond töötab välja uut lidarit. Arvutada peegli ühe asendi faasinihkest kaugus D objektini. Faasinihe θ, mis anduriga mõõdeti, on 3π/2 radiaani. Lahendus Viide: valguse interferents ja difraktsioon. 36
Ülesanne 6. Praktilised ülesanded 1. Vajutades nupule S2", tehakse ühe sekundi jooksul UH-anduriga 10 järjestikust mõõtmist. Pärast mõõtmist kuvatakse mõõdetava objekti keskmine kaugus LCD ekraanil detsimeetrites. Vajutades nupule S1", kuvatakse minimaalne mõõtetulemus, ja vajutades nupule S3", kuvatakse maksimaalne mõõtetulemus. Vea korral kuvatakse vastav teade. 2. Tee UH-anduriga pidevaid mõõtmisi ja näita LED-idega objekti kauguse muutuse kiirust: aeglane muutus rohelise LED-iga, mõõdukas muutus kollase LED-iga ja kiire muutus punase LED-iga. 3. Süüdata punane LED, kui koodrit pöörata. Kuva LCD-l koodri pöörlemiskiirus ühikutes p/min. Edasijõudnutele 1. Simuleeritakse ultraheli kaugusanduriga radari tööd. Andur tuleb paigaldada servomootori hoovale. Servomootori hoob koos anduriga liigub pidevalt ühest äärmisest asendist teise. Kui andurist lähemale kui 0,5 m ilmub objekt, peatatakse servomootor 5 sekundiks ning kontrollermooduli plaadil oleva LED-i (PB7) abil antakse märku, et objekt on leitud. Pärast 5-sekundilist LED-i vilgutamist jätkatakse skaneerimist. 2. Ühenda CMUCam3 kodulaboriga ja ürita sellega punaseid objekte otsida. Kodulabori ekraanile kuva ümber objekti joonistatud ristküliku keskpunkti koordinaadid. 37
Liikumismehhanismid Ülesanne 1. Roboti navigatsioon puuteanduritega Liikuv robotplatvorm on varustatud kolme puuteanduriga, mis asetsevad roboti ees paremal (P), vasakul (V) ja keskel (K). Andurid annavad kontrollerile digitaalse signaali 1", kui andur puutub vastu objekti ja 0", kui takistust ei ole. Mootoreid on võimalik juhtida järgmiselt: täiskäik edasi (E), täiskäik tagasi (T) ja seis (S). Ülesanne. Kuidas juhid mootoreid andurite järgmiste väljundsignaalide puhul? Täida tabel. * Mis võiks olla selle kombinatsiooni reaalne situatsioon? Märgi sellele situatsioonile mootorite juhtimine kahe sammuga. 38
Ülesanne 2. Robot koordinaattasandil Roboti väljak on seotud koordinaatsüsteemiga. Robot asub väljakul punktis x = 4 ja y = 2 (oranžide nurkadega ristkülik). Sihtpunktiks on x = 3 ning y = 14 (punane ring), kus asub tema akude laadija. Robot on koos seda ümbritseva ohutusvahega suurusega 2 x 2 ruutu. Roboti koordinaate loetakse tema keskpunktist. Väljakul on ka tõke, millest robot peab mööda sõitma. Ülesanne. Mõelda lühim teekond, millel sõites robot jõuaks oma laadimisjaama. Teekond tuleb kirjeldada punkti läbiva sirge tõusunurgaga ja sirge kaugusega eelmisest punktist. Joonistada teekond allolevale ruudustikule. Algus on ette tehtud. Viide: sirge tasandil ja kahe punkti vaheline kaugus. 39
Ülesanne 3. Inertsiaalne navigatsioonisüsteem Inertsiaalne navigatsioonisüsteem (INS) võimaldab kiirendusandurite ja güroskoopide abil määrata oma asendit ja läbitud teepikkust ilma väliste mõõtevahendite abita. Seda kasutatakse enamasti lennukitel ja rakettidel kiire liikumise trajektoori mõõtmiseks. Kui INSga läbitud teepikkust mõõta, siis asukoha määramatus suureneb pidevalt. Sellepärast ei saa ainult INS-ga kuigi pikalt iseseisvalt mõõta, vaid seda kasutatakse enamasti trajektoori mõõtmise täpsuse tõstmiseks koos GPS-iga. Kõige lihtsama INS-i saab ehitada, kui sirgjooneliselt kiirendavalt või aeglustuvalt liikuvale robotile paigaldada üheteljeline kiirendusandur, mis mõõdab kiirendust ainult sõidusuunas. Anduri väljundi põhjal arvutatakse liikumise kiirus ja läbitud teepikkus. Ülesanne Kiirenduse mõõtetulemused on tabelis, arvuta nende põhjal kiiruse ja teepikkuse väärtused ning kanna tulemused graafikutele. 40
Viide: integraal 41
Ülesanne 4. GPS-koordinaadid GPS-mooduli kasutamine roboti lisaseadmena võimaldab määrata roboti asukohta GPSkoordinaadiga ja märkida üles roboti liikumise trajektoori. Google Maps ja Regio Delfi kaardid on vabavaralised kaardirakendused, mille abil on võimalik asukohta jälgida ka internetist. Koordinaadi kuvamine kaardil toimub URL-i abil. Google Maps asub aadressil: http:// maps.google.com/ ja Delfi kaart http://kaart.otsing.delfi.ee/. Ülesanne 1 Kasutades ühte kaardirakendust, uuri välja, kuidas saad kaardi pealt kindlaks teha enda asukoha koordinaadid, ja genereeri sellest URL-link, mille veebisirvija aadressireale sisestades näitab kaardirakendus just seda punkti. Ülesanne 2 Võtame aluseks näiteks sellise URL-lingi: http://maps.google.com/maps?q=59%2023.8634n,024%2039.4734e%28tehnopol %29&t=k&z=16 Milline parameeter selles määrab, kas kuvatakse satelliidipilti või joonistatud kaarti? Milline parameeter määrab kaardi suurenduse? Kuidas saab punktile nime anda? 42
Ülesanne 5. Omnirattalise platvormi juhtimine Omniratastega platvorm annab tasapinnal suure liikumisvabaduse x- ja y-telgede sihis. Lisaks on võimalik kohapeal pöörlemine. Kolmerattalise platvormi puhul on mootorite telgede vaheline nurk 120. Ehitamisel on kolme omnirattaga robot, mille juhtkontroller väljastab roboti liikumissuunda x- ja y-telje sihiliste komponentidena ning pöörlemiskiirusega ümber roboti kesktelje. Ülesanne. Koosta valemid iga mootori kiiruse arvutamiseks. Üks valem on näitena ette tehtud. Kasutada täisnurkseid kolmnurki, mille haarad on kiirusvektorid. Lähtu joonisel toodud kiirusvektoritest. Lahendus Vihje: vektorid, kolmnurk ja täisnurkne kolmnurk. 43
Ülesanne 6. Praktilised ülesanded Antud praktiline ülesanne vajab lisaks Kodulabori komplektidele ka lintidega robotplatvormi RP06 või analoogilist, millel on puuteandurid ja ajamitel koodrid ning joonejälgimise andurid. Antud praktilised ülesanded on järjest keerukamad, st 1. ülesanne on lihtsam, 2. natuke keerulisem jne. 1. Kahe puuteanduriga varustatud robot peab suutma ruumis suvalist trajektoori pidi ringi sõita ning vastu takistust põrgates suutma sellest mööda manööverdada. 2. Ühe ettepoole suunatud ultrahelianduriga varustatud robot peab suutma ruumis suvalist trajektoori pidi ringi sõita ning takistusele lähenedes ilma sellele otsa sõitmata sellest mööda manööverdada. 3. Paigutage roboti etteotsa väike servomootor, mille hoovale kinnitada ultraheliandur nii, et servo hoova keskmise asendi korral on andur suunatud otse ette vaatama. Looge käepärastest vahenditest (näiteks Kodulabori kohvrid) lihtne labürint. Robot peab suutma läbida labürindi nii, et pöörangule lähenedes teab robot juba ette, kummas suunas pöörama peab. Õige suuna leidmiseks peab servole paigaldatud ultrahelianduriga pidevalt skaneerima eesolevaid takistusi ja kõrvalolevaid seinu. Edasijõudnutele 1. Koodritega varustatud robot peab läbima kindla marsruudi selleks kahe ratta pöörete lugemisest saadud infot kasutades. Mõtle, kuidas kompenseerida summeeruvat viga? 2. Kasutades joonejälgimisandurite ja kaugusanduriga varustatud robotit, programmeeri joonejälgija, mis on võimeline jälgima musta joont valgel platsil ja mööduma joonele asetatud takistustest ilma neile otsa sõitmata. 44
Andmeside Ülesanne 1. Lihtne andmete ülekanne Digitaalse andmeside puhul määrab ülekandesagedus, kas saadetava biti väärtus on 0" või 1". Kui andmesiini olek määratakse näiteks sageduse takti tõusval frondil, siis selleks ajahetkeks peab andmesiin olema jõudnud minna vastavasse olekusse. Üks andmeühik on üldjuhul üks bait ehk 8 bitti. Numbritel ja tähemärkidel tehakse vahet kokkuleppeliselt: mõlemad side osapooled peavad teadma, millal kantakse üle arv või tähemärk. Tähemärke kirjeldatakse standardiseeritud ühe baidi suuruste ASCII-koodide abil, kus igale märgile vastab kindel kood. Näiteks sümbolile A vastab kahendkood 0b01000001". Ülesanne Leia Internetist ASCII-koodide tabel ja joonista andmesignaali kuju ASCII-koodis tähtede K ja S ülekandmisel UART-i kaudu mikrokontrollerist arvutisse, kui ette on antud taktsignaal. Kuidas nende tähtede signaalide kujud üksteisest erinevad? Viide: elektromagnetism. 45
Ülesanne 2. Juhtmevaba võrk Juhtmevaba ZigBee-ühendus võimaldab seadmetest koostada võrgustikke, mille liikmed saavad omavahel suhelda ja andmeid vahetada. Võrgu liikmed jagunevad: täisliikmeteks, mis tähendab, et nad suudavad suhelda kõigi teiste samasuguste liikmetega, kes omakorda vahendavad suhtlust edasi kaugematele liikmetele. Liikme energiatarbimine sõltub sellest, kui paljude teiste liikmetega tuleb andmeid vahetada: pideva andmevahetuse ajal on võrgus kõik täieõiguslikud liikmed aktiivsed. lihtliikmeteks (näiteks andurid), mis tähendab, et nad saavad suhelda ainult ühe täisliikmega, kes vahendab neid ülejäänud võrgustikku. ZigBee võrgustikus on alati üks võrgustiku koordinaator, kes on teadlik kõigist võrgustiku täisliikmetest ja korraldab andmevahetust võrgus, kuid tal ei pea olema otseühendust kõigiga, sest tähisliikmed vahendavad suhtlust. ZigBee-seadmeid saab samuti kokku ühendada mitmel viisil: kõige lihtsam omavahel ühendamise viis on tähekujuline organisatsioon ühe keskse koordinaatoriga; keerukam on puukujuline ühendus, mis koosneb mitmest ühendatud tähest; võimalik on ka võrgukujuline ühendus, kus iga seade on ühendatud ainult mõne teise lähemal asuva seadmega. 46
Ülesanne 1 Kirjutage iga ZigBee võrgustiku skeemi alla, millise ülesehitusega on tegemist ja samuti märgi kõigi liikmete tüübid (võimalikud on erinevad lahendused): koordinaator (tähis K) täisliige (tähis T) lihtliige (tähis L) Ülesanne 2 Millist skeemi võiks kasutada (põhjendage) kooli territooriumi valvamisel, kui oluline on andmevahetuse võimalikult sujuv edasitoimimine liikmete vahetumisel ja väljalülitumisel? Millist skeemi võiks kasutada (põhjendage) suvemaja valvesüsteemi tarbeks, kus on oluline võrgustiku liikmete akude võimalikult pikk vastupidavus? Millist skeemi võiks kasutada (põhjendage) koolimaja klassiruumide ühtses seiresüsteemis, kus igas klassis on mitu jälgimist vajavat parameetrit (temperatuur, valgustugevus, õhuniiskus jms)? 47
Ülesanne 3. Sidelahenduste protokollid Mõõte- ja andmete kogumise süsteeme saab koostada erinevatest moodulitest, mis kõik võtavad vastu ja/või edastavad andmeid. Selline süsteem on näiteks sõidukite liiklustiheduse loendur, mille erinevad osad võivad asuda nii ühises korpuses kui ka üksteisest mitme kilomeetri kaugusel. Ülesanne Mõtle levinud sidelahenduste ja nende kasutusalade peale ja kirjuta iga ülekande noole alla, milliseid sidelahendusi sobib sellel andmeedastusel kasutada. 48
Ülesanne 4. UART sidelahendus Mikrokontrolleri protsessori taktsagedusest sõltub, kui suurt veavaba UART andmeside kiirust on võimalik kasutada. Andmeside kiirust mõõdetakse ühikuga bps (ingl k bits per second - bitti sekundis). AVR mikrokontrolleri UART ülekandekiiruse määrab 2 B suurune UBRRregister, kus väärtus on kahendkujul. Suure protsessori taktsageduse ja madala ülekandekiiruse korral on see arv suurem 255-st, mille jaoks on register kahekohaline. UBRR-i väärtus saab olla ainult täisarv ja see arvutatakse järgmise valemiga: Kui saadud arv ei ole täisarv, siis UART-side ei ole ka veavaba. Kiiret ja veavaba ühendust võimaldavad protsessori taktsagedused, mis on 1,8432 MHz kordsed. Ülesanne 1 Kui AVR-kontroller ATmega2561 töötab sagedusel FCPU = 14 745 600 Hz ja UART-i soovitav andmete ülekandesagedus on 115 200 bps, siis milline väärtus tuleks kirjutada UBRRregistrisse? Teisenda vastus ka kahendkujule. Ülesanne 2 Kui kaua võtab aega 2400 ASCII-sümboli ülekanne mikrokontrollerist arvutisse UART-i töösagedusel 9600 bps? Vihje: registri väärtusi hakatakse lugema paremalt alumisest (UBRRLn) registrist. 49
Ülesanne 5. I2C võrgulahendus Andmete ülekanne I 2 C-liidese abil toimub üks bait korraga ja andmevahetus viiakse alati läbi kindlas tegevuste järjekorras. Roboti kauguse mõõtesüsteem koosneb mikrokontrollerist, I 2 C ultraheliandurist ja I 2 C EEPROM mälust. Kontroller küsib andmeid andurilt, arvutab nende põhjal kauguse mõõdu ja salvestab välisesse mälusse. Ülesanne 1 Kasutades loogikat, kirjuta iga tegevuse ette number, millises järjekorras tuleks järgmised I 2 C andmevahetuse tegevused sellises mõõtesüsteemis läbi viia? Saada mikroskeemi aadress + kirjutamise bitt Stop 1 Start Saada andmed Saada mikroskeemi aadress + lugemise bitt Start Stop Saada mikroskeemi sisemise registri aadress Loe andmed Saada mikroskeemi sisemise registri aadress Ülesanne 2 Joonista eespool toodud mõõtesüsteemi põhimõtteline ühendusskeem koos toiteskeemiga. Vihje: uuri I 2 C- / TWI-protokolli ja ühendusviisi veebist 50
Ülesanne 6. Praktilised ülesanded 1. Koosta programm UART-sideliidese elementaarseks kasutamiseks. Ühenda arvuti USB- või Serial-kaabli abil kontrolleriga ja saada terminali programmist arvuti klaviatuuri abil kontrollerile tähemärk. Kontroller võtab tähemärgi vastu, liidab sellele ühe ja saadab tagasi arvutisse, mida saab jälgida terminali aknast (näiteks tähemärgi A kirjutamisel ilmub sinna B ). 2. Jagunege paarideks ja ühendage kaks kontrollerit Serial-kaabli abil üksteisega. Koosta iseseisvalt mõlemale kontrollerile ühesugune programm, kus nupu S1" vajutus saadab UART-i abil välja tähemärgi A ja S2" vajutus B. Tähe A saamine UART-i abil süütab punase LED-i ja tähe B saamine kustutab selle. 3. Jagunege paarideks ja looge ühendus kahe ZigBee-mooduliga varustatud kontrolleri vahel. Esmalt tee kindlaks enda ja paarilise seadme ZigBee aadressid vajadusel selleks teistest eemale minnes. Seejärel loo juhtmevaba ühendus ja kirjuta LCD peale, millist nuppu teisel seadmel vajutatakse. Oma seadmel saada nupuvajutuse peale välja nupu järjekorranumber. Edasijõudnutele 1. Loo ühendus kahe Bluetooth-mooduliga varustatud laboriseadme vahel. Bluetoothmoodulite aadressid saad õpetajalt. Seejärel sisestage paarilise seadme aadress programmi ja looge juhtmevaba ühendus kahe seadme vahel. Koostage mõlemale kontrollerile ühesugused programmid, kus nupuvajutusele vastavalt saadetakse teisele seadmele järjekorranumber, mis muudab vastava värviga LED-i olekut (kui põleb, siis kustutab ära jne). 2. Koosta programm Etherneti-ühenduse testimiseks. Veebisirvija käsureale kirjutatud aadressi põhjal punase LED-i sisse ja välja lülitamine. URL-aadress kujul IP-aadress/ off kustutab LED-i ja IP-aadress/on paneb selle põlema. 51
Andmete kogumine Ülesanne 1. Andmete salvestamine ja mälumahud Väike mobiilne roboti ilmajaam mõõdab iga 5 min möödumisel nelja parameetrit: õhurõhku, õhutemperatuuri, õhuniiskust ja tuule tugevust. Iga parameeter on arv vahemikus 0 65535 ja koosneb seega kahest baidist. Kõik andmed säilitatakse mälus, et nende põhjal saaks hiljem koostada graafikuid. Ülesanne 1 Tuleta valem kirjeldatud süsteemi mälumahu arvutamiseks Ülesanne 2 Leia eespool kirjeldatud süsteemi põhjal. Kui suurt mälumahtu on vaja, kui andmed loetakse kord nädalas mälust maha? Kui suurt mahtu on vaja kuu aja andmete säilitamiseks? Kas kasutada tuleks SD-mälukaarti või piisab EEPROM-ist, Flash-mälust? Märkus: meeles tuleb pidada, et mälude mahud on organiseeritud 2 astmetena, kus iga järgmine maht on eelmisest kaks korda suurem. Flash ja EEPROM mälude suurused võidakse tihti esitada ka ühikutes kb (kilobitt) või mb (megabitt). 52
Ülesanne 2. Statistilised arvutused Meid huvitab, kas, kuidas ja kui palju sõltub väikese sisepõlemismootoriga mudellennuki mootori iga lennu keskmine kütusekulu õhutemperatuurist. Tegemist on keeruka sõltuvusega, kus suhet mõjutavab tuul, lennuki töörežiim jm, kuid võimalik on siiski teada saada üldine õhutemperatuurist põhjustatud kütusekulu muutus. Lennuk käib kuu aja jooksul 20 korda keskpäeval lendamas ja täidab üsna ühesuguseid ülesandeid. Mikrokontroller mõõdab ära keskmise lennu kütusekulu liitrites tunnis ja samuti keskmise õhutemperatuuri. Saadud andmed on järgnevas tabelis: 53
Ülesanne Märgi iga lennu andmed graafikule ja otsusta, kas lennuki kütusekulu ja õhutemperatuuri vahel seos puudub, on nõrk või tugev; kas seos on funktsionaalne või korrelatiivne; kas seos on negatiivne või positiivne; mis põhjustel seos üldse võiks olla põhjuslik või ei saa need parameetrid üldse üksteisest sõltuda; millist trendivõrrandit võiks kasutada seose kirjeldamiseks. Viide: funktsioonid. 54
Ülesanne 3. Andmete kogumine ja töötlemine Moodne tark maja sisaldab endas palju automaatikat (andureid ja täiturmehhanisme), mille ülesanne on ruumides ja maja ümber andmete kogumine, töötlemine, salvestamine ja vastavalt kogutud andmetele automaatselt tegutsemine. Automaatsüsteemid jagunevad kütte-, ventilatsiooni-, valve-, kodutehnika juhtsüsteemideks jne. Süsteemide tsentraalse juhtimise korral on võimalik tagada ruumis viibivate inimeste soovide, mugavuse, turvalisuse ja energiasäästu maksimaalne saavutamine. Igas ruumis saab automaatika läbi viia järgmisi tegevusi: 1. lülitada sisse/välja ventilaatorit, 2. lülitada sisse/välja kliimaseadet, 3. tõmmata alla/üles aknakatteid, 4. reguleerida põrandakütet, 5. reguleerida radiaatoreid 6. niisutada õhku veeauruga, 7. lülitada sisse sireen, 8. teavitada turvateenistust, 9. lülitada sisse automaatne kustutussüsteem, 10. lülitada sisse/välja valgustus, 11. kasta toataimi. Ülesanne Milliseid tegevusi eelnevast nimekirjast saab automaatika teha, kui anduri väärtus ületab piirväärtust (min või max. lubatud väärtust)? Märgi iga anduri juurde tegevuste number või numbrid! õhutemperatuur 2, 4,... valgustugevus... süsihappegaasi sisaldus õhus... põranda temperatuur... õhuniiskuse andur... vingugaasi sisaldus õhus... kuumusandur laes... IR-liikumisandur... elektritarve ruumis... kellaaeg ja kuupäev... aknaklaasi purunemise andur... 55
Ülesanne 4. Mõõtemääramatus Sageli tekib ühte või teist mõõteriista kasutades küsimus, kui täpselt see mõõdab ehk mis on mõõdetud suuruse määramatus. Näiteks ultraheli kaugusmõõdiku mõõtemääramatust on võimalik hinnata statistiliselt, kui viia sellega läbi kordusmõõtmised. Määramatuse kindlaks tegemiseks mõõdetigi sellega n = 10 korda kaugust 200 cm kaugusel asuva objektini ja märgiti saadud tulemused tabelisse. Ülesanne Täida tabel lõpuni ja arvuta anduri mõõtetulemuse määramatus Kauguse mõõdiste x aritmeetiline keskmine arvutatakse: Seejärel on võimalik lõpuni täita järgmine tabel: 56
Tabeli põhjal arvutatakse mõõdiste eksperimentaalne standardhälve järgmise valemiga: Mõõdiste aritmeetilise keskmise standardmääramatuse hinnang: Kui eeldame, et 95% juhtudest langeb mõõdis mõõdetud piiridesse, siis kattetegur k = 2. Ultraheli kaugusmõõdiku resolutsioon on 1 cm. Siis mõõtevahendi standardmääramatuse hinnang arvutatakse järgmise valemiga: Kui eeldame, et mõõtetulemus langeb 95% juhtudest leitud piiridesse, siis mõõtetulemuse laiendmääramatus on Ultrahelianduri pikkusmõõdu võib siis aritmeetilise keskmise ja laiendmääramatuse abil esitada kujul: x = (200,... ±...) cm 57
Ülesanne 5. Andmeanalüüs Robootika Kodulabor Mobiilse roboti ratta küljes on kooder, mis loeb 5 impulssi ühele roboti ratta pöördele. Ratta läbimõõt on 100 mm. Mikrokontroller mõõdab kiirust 2 Hz sagedusega ja loendab seega kindla ajavahemiku jooksul koodri impulsid kokku. Kui andmed on salvestatud, siis loendur nullitakse. Sellisel juhul saab katsesõidu kohta järgnevate andmetega tabeli: 58
Ülesanne 1 Leia valem eelnevate andmete põhjal roboti kiiruse arvutamiseks Kasutades arvuti tabelarvutust, leia vastavad kiiruste ja läbitud teepikkuste väärtused ja täida tabel. Arvutustulemused ümarda kahe komakohani. Ülesanne 2 Tee leitud kiiruse ja teepikkuse andmetest arvutis graafik? Millise kujuga need on ja mis võib olla selle põhjuseks? 59
Ülesanne 6. Praktilised ülesanded 1. Reaalajaline mõõtmine ja andmete edastamine. Koosta lihtne programm, mis taimeri abil mõõdab kord sekundis (1 Hz mõõtesagedus) ultrahelianduriga kaugust ja teisendab selle sentimeetriteks. Iga mõõtetulemus edasta jooksvalt USB- või Serialkaabli abil arvutisse terminaliprogrammi nii, et iga mõõdis ilmub järjest uuele reale. 2. Andmete kogumine ja analüüs. Koosta programm, mis mõõdab 1 minuti jooksul 2 Hzlise sagedusega termistori abil temperatuuri, teisendab väärtused kraadideks ja salvestab massiivi. Kui minut on läbi, siis kontroller lõpetab mõõtmise ja saadab kogu massiivi väärtused korraga näiteks USB-kaabli abil arvutisse. Vii andmed terminalist Excelisse ja koosta graafik temperatuuri muutuse kohta, kui külmkapis/õues jahutatud andurit 1 minut käes soojendada. 3. SD-kaardi kasutamine. Koosta programm, mis nupu S1" vajutusega mõõdab valgustugevust ja mõõda seda klassi erinevates osades. Teisenda mõõtetulemused luksideks ja salvesta paari minuti jooksul andmed järjest SD-kaardile tekstifaili. Sisesta SD-kaart arvutisse, ava tekstifail ja tee Excelis valgustugevuse muutuste kohta graafik. Edasijõudnutele 1. Korrelatsioonianalüüs. Tee programm, mis mõõdab nupuvajutuse peale fotoanduriga valgustugevust ja NTC-temperatuurianduriga keskkonna temperatuuri. Tee hõõglambist või veel parem kaminast erineval kaugusel 20 mõõtmist. Andmed salvesta massiivi ja saada arvutisse. Koosta Exceli graafik ja leia, kas valgustugevuse ja temperatuuri vahel on olemas korrelatiivne seos. 2. Anduri mõõtetulemuse määramatus. Koosta programm infrapuna-kaugusmõõtja automaatseks määramatuse testimiseks (ultraheli-kaugusmõõdiku harjutuse eeskujul). Selleks peab kontroller mõõtma kord sekundis kaugusmõõtjaga muutumatut vahemaad ja salvestama selle, kuni on olemas 10 mõõtetulemust. Leia matemaatiline algoritm ruudu ja ruutjuure arvutamiseks. Esita mõõtetulemus koos laiendmääramatusega LCDl. 60