Mehhatroonika Kodulaboris moodulite ühendamineAutor: Raivo Sell ![]() Käesolev õpiobjekt tutvustab Robootika Kodulaborit ja selle arenduskeskkonna seadistamist.Robootika Kodulabor on ATMega mikrokontrolleril põhinev omavahel seotud moodulite komplekt, mis on komplekteeritud kaasaskantavasse kohvrisse. Kodulaboriga saab teha erinevaid mehhatroonika- ja robootikaalaseid eksperimente ning harjutusi alates lihtsast tule vilgutamisest kuni keeruka seadme ehitamiseni. Kodulabor on mõeldud eelkõige koolidele, sisaldades endas lisaks riistvarale ka metoodilist materjali ja harjutusülesandeid koos näidete ja lahendustega. Kodulabor on integreeritud oma veebikeskkonnaga, mis on suunatud õpilasele ja õpetajale, sisaldades näiteid, riist- ja tarkvara kirjeldusi ning harjutusülesandeid. Lühidalt öeldes on Kodulabor mobiilne töövahendite komplekt, mida kasutatakse õppe ja harjutamise eesmärgil kodus, koolis või töökohal. Kodulabori moodulid on komplekteeritud baas ja lisakomplekti. Kodulabori baaskomplektiga on võimalik teostada lihtsamaid harjutusi digitaalsete sisend-väljunditega, näidikute ja LCD ekraaniga. Lisaks võimaldab baaskomplekt luua süsteeme, mis on juhitavad üle interneti ning teostada andmesalvestust SD kaardile. Andurite ja mootoritega eksperimenteerimiseks on vaja Andurite ja Mootorite lisakomplekti. Lisaks anduritele ja mootoritele sisaldab lisakomplekt ka Kommunikatsiooni moodulit, mis võimaldab praktiseerida nii juhtmega kui ka juhtmevaba sidet. Lisaks on Robootika Kodulaboriga ühilduvad Masinnägemise ja RFID moodulid, mis ei ole komplekteeritud kohvritesse vaid on saadaval eraldi. ![]() Õpiobjekti nimi: Mehhatroonika Kodulaboris moodulite ühendamineÕpiväljundid:Pärast mooduli läbimist õpilane:
Kasutusjuhend:
Õpetatav osa: Lugeda teoreetilist ülevaadet enne riistvara reaalset ühendamist ja pingestamist. Vaadata õpivideosid korrektse riistvara käsitlemise tagamiseks. Õpitu kinnistamiseks tuleb praktilised näited reaalselt läbi teha. Seoste loomine: Läbi õppevideo ja sõnalise selgituse järgimise. Kinnistav osa: Iseseisev praktika reaalse riistvarakomplekti baasil.
TEOREETILINE OSARobootika Kodulabori riistvarakomplektiKontrollermoodulKodulabori keskseks mooduliks (kontrollermooduliks) on arendusplaadile paigaldatud mikrokontroller ATmega2561. Lisaks mikrokontrollerile on plaadil veel mitmesuguseid perifeeriaseadmeid, JTAG programmaator, Ethernet, SD kaart, pingealaldi ja ühenduspistikud. Kontrollermooduli plaat sisaldab endas järgmisi komponente:
![]() Kontrollermooduli plaat on varustatud alaldiga ja pingestabilisaatoriga. Sisendpingeks sobib plaadile 6-15 V. Voolukadude minimeerimiseks on soovitatav kasutada 6-9V pingeallikat. Toite ühendamisel peab plaadil toite LED põlema hakkama. Kui see ei sütti, võib põhjus olla puudulikus toites või hoopis lühises Kontrollermooduli plaadil või temaga ühendatud seadmetes. Mikrokontrollerit saab programmeerida üle USB JTAG või ISP liidese kaudu. JTAG meetod toetab lisaks lihtsale programmi pealelaadimisele ka programmikoodi silumist. Kontrollermooduli plaat on varustatud oleku LED-iga, mis on ühendatud mikrokontrolleri viiguga PB7. LED süttib, kui viik seada madalasse olekusse (loogiline 0). Seda on hea kasutada lihtsa indikaatorina. Plaadile on paigaldatud SD mälukaardi pesa kuhu on võimalik sisestada standardne mikro SD mälukaart. Mälukaart on ühendatud SPI liidese kaudu mikrokontrolleriga ja seda võib kasutada andmete salvestamiseks, juhul kui need peavad säilima ka pärast toite eemaldamist mikrokontrollerilt. Kasutajaliidese moodul![]() Kasutajaliidese moodul on mõeldud lihtsamateks harjutusteks ja elementaarseks protsessi juhtimiseks. Moodulil on kolm nupp-lülitit ja kolm valgusdioodi (LED), mis on ühendatud AVR sisend-väljundviikudega. Lisaks lihtsatele valgusdioodidele on moodul varustatud ka LED numberindikaatoriga ja graafilise LCD ekraaniga ning alfabeetilise LCD ekraani väljundiga. Kasutajaliidese moodulit on mugav kasutada koos teiste moodulitega, võimaldades juhtida näiteks mootoreid ja kuvada andurite lugemeid. Moodul on kaetud pleksiklaasist kattega, kaitstes seda juhuslikult plaadile sattuvate metallesemete eest, mis võivad moodulil elektrilisi ühendusi lühistada. Moodul on varustatud:
ÜhendamineKontrollermooduli ühendamisel teiste moodulite ning seadmetega tuleb esmalt veenduda, et Kontrollermooduli toide ei ole ühendatud. Ajal kui plaat on pingestatud, on ohtlik seadmeid ühendada. Mooduleid ja seadmeid tuleb omavahel ühendada ettevaatlikult ja liigset jõudu kasutamata. Vale käsitlemise korral võivad piikriba piigid kergesti kõveraks painduda. Programmeerimiseks ja nõrkvoolu (alla 500 mA) toiteks võib Kontrollermooduli ühendada ainult arvutiga, kasutades mini USB kaablit. Kui kasutusel on moodulid, mis vajavad summaarselt rohkem voolu kui 500 mA tuleb seadmete toiteks kasutada eraldi toiteallikat. Kui Kontrollermooduliga on ühendatud välise toiteallika pistik, lülitub moodul automaatselt USB toitelt välisele toitele. ARENDUSKESKKONNA SEADISTAMINEArenduskeskkond Eclipse ATmega2561Järgnev juhend kirjeldab Kodulabori versioon 5 (Kontroller v1 - ATmega2561) arenduskeskkonna paigaldamist ja esmast seadistamist. Tarkvara paigaldaminePaigaldamiseks laadige alla Robootika Kodulabori arenduskeskkond vastavalt oma operatsioonisüsteemile. Arenduskeskkond sisaldab endas Eclipse arenduskeskkonda, Eclipse AVR pluginat, Robootika Kodulabori teeki, Kodulabori programmeerimisvahendeid ja näidisprojekti. MS Windows Tarkvara allalaadimine → Eclipse HomeLab pakk Linux Ubuntu Tarkvara allalaadimine → Homelab-keyring Linux/muud ja MacOS Paigaldage repositooriumist järgmine tarkvara:
Projekti loomineKui arendustarkvara on paigaldatud saab alustada programmi kirjutamist, kuid eelnevalt on vaja teha siiski mõned seadistused ja luua projekt. Uus projekt, sisaldab endas tüüpiliselt palju erinevaid faile: programmikoodi(e), päisfaile, kompileeritud programmi jne. Selleks, et projektid oleks korrektselt eristatavad, tuleks iga projekti jaoks luua uus kataloog (seda võimalust pakub uue projekti loomise abimees). Uue projekti loomiseks tuleb läbida järgmised sammud: 1. Avada Eclipse (Robotic HomeLab IDE) ja alustada uue projekt seadistamist. Kui Tarkvara on äsja paigaldatud, on esmalt vaja tekitade projektide repositoorium ehk Workspace. Selleks näidake avanenud aknas Workbench asukoht, kuhu soovite projektide repositooriumi luua. ![]() Uue projekti loomiseks tuleb valida menüüst File - New - C project. Lisada projekti nimi ning vajutada nupule Next. 2. Järgmises aknas tuleks projekti konfiguratsiooniks valida ainult Release ![]() 3. Järgnevalt avaneb aken, kus tuleb märkida mikrokontrolleri tüüp ja taktsagedus. Kodulabori (v5) mikrokontrolleriks on ATmega2561 ja taktsageduseks 14745600 Hz. Projekti lõplikuks loomiseks vajutada nupule Finish. ![]() 4. Nüüd avaneb juba programmeerimise kasutajaliides, kuid enne, kui saab hakata programmi kirjutama, on vaja tekitada algkoodi fail. Selleks valige äsjaloodud projektil hiire parema klahviga New - Source File ja sisestage soovitud faili nimi, mis peab kindlasti lõppema laiendiga “.c“. Soovitav on peafaili nimeks valida „main.c“. Peale Finish nupu vajutamist luuakse vastav fail ja avatakse see arenduskeskkonda. ![]() 5. Enne lähtekoodi kirjutamist on mõistlik teha mõned seadistused, mis peaks hõlbustama arenduskeskkonna kasutamist. Valige menüüst Window - Preferences ja avage vasakul olevast puust General - Workspace ning märkiga ära valik Save automatically before build ![]() 6. Edasi võib hakatuseks kopeerida alloleva testprogrammi lähtekoodi ja üritada seda kompileerida. Kompileerimiseks võib kasutada klahvikombinatsiooni CTRL+B. ![]() Koodi tekstiversioon Kompileerumise õnnestumiseks peab olema tarvarakood ilma vigadeta ja kompilaator peab leidma kõik vajalikud päisfailid. Eduka kompileerumise tunnuseks on Problem aknas tühjus (äärmisel juhul mõni hoiatus Warning) ja Console aknas kompilaatori väljund mis antud projekti puhul on midagi sellist: ![]() Koodi tekstiversioon
![]() Kui koodis oli viga või ei leitud päisfaile, siis on Console aknas viimasel real veateade koos leitud vigade arvuga, millele eelneb leitud võimaliku vea kirjeldus. ![]() Koodi tekstiversioon Samuti on Problems aknas erinevad veateated ja vastav koht koodis märgitakse vea ikooniga. ![]() 7. Kodulabori teegi kasutamine eeldab, et see on tarkvara paigaldamise juhendi kohaselt süsteemi paigaldatud. Iga projekti korral tuleb teek projekti seadetest lisada lingitavate objektide nimekirja. Selleks avada esmalt: Project → Properties ja seejärel vasakust puust C/C++ Build → Settings, edasi Tool Settings → AVR C linker → Libraries. Paremal avanenud aknas valida Libraries (-l) osas ikoon Add… ja sisestada avanenud aknasse homelab2561. Seejärel OK ja veelkord OK. ![]() 8. Edasi võib teegi testimiseks kopeerida alloleva testprogrammi lähtekoodi eelmise asemele ja üritada seda kompileerida. Kompileerimiseks võib kasutada klahvikombinatsiooni CTRL+B. ![]() Koodi tekstiversioon Kui ka selle koodi kompileerimine õnnestub, siis on kõik eelnevad seadistused tehtud õigesti.
Kontrollerile koodi laadimine1. Ühendada kontrollerplaat USB kaabliga arvutiga. Peale kontrollerplaadi ühendamist peaks (esmasel ühendamisel teatud aja pärast) süttima väike roheline toite LED - PWR. 2. Määrata programmi laaduri (AVRDude) seaded. Selleks avada uuesti projekti seaded Project → Properties ja seejärel vasakust puust AVR → AVRDude, edasi Programmer configuration → New. Avanenud aknas midagi eriti seadistada pole vaja ja võib kohe OK vajutada. Veenduge, et see oleks valitud ja vajutage Apply ning OK. ![]() Oluline on kontrollida, et nüüd oleks Programmer configuration valikus midagi valida ja juhul kui eelnevalt midagi ei muudetud on selleks: New Configuration. ![]() 3. Kui Kodulabori Kontrollermoodul on arvutiga ühendatud, võib kompileeritud programmi nüüd üritada laadida kontrollerisse. Selleks vajutage lihtsalt AVR ikoonile või klahvikombinatsioon CTRL + Alt + U. Programmi mõjul peaks kontrolleri plaadil olev oleku-LED PB7 perioodiliselt süttima ja kustuma. Kui programm töötab, on tarkvara paigaldatud edukalt ja esimene projekt tehtud. Palju õnne! ![]() LISAMATERJAL
Teoreetilise osa algtekstide autor: Raivo Sell |