LAPPEENRANNAN TEKNILLINEN YLIOPISTO Teknillinen tiedekunta LUT Metalli KOLMEN VAPAUSASTEEN MANIPULAATTORIN HYÖDYNTÄMINEN MEKATRONIIKKA-OPINTOJAKSON HARJOITUSTÖISSÄ UTILIZATION OF THREE DEGREES OF FREEDOM MANIPULATOR IN MECHATRONICS-COURSE’S LABORATORY EXERCISES Kandidaatintyö Ohjaaja: TkT Kimmo Kerkkänen Lappeenrannassa 12.5.2011 Juho Knuutila 0311921 Tapio Kurki 0311976 SISÄLLYS 1. Johdanto............................................................................................................ 1 1.1. Työn taustaa .............................................................................................. 2 1.2. Työn tavoitteet .......................................................................................... 3 1.3. Työn rajaus ................................................................................................ 3 2. Teoria................................................................................................................ 4 2.1. Logiikka .................................................................................................... 4 2.1.1. Ohjelmoitava logiikka ....................................................................... 5 2.1.1.1. Siemens STEP7 .............................................................................. 5 2.1.1.2. Arduino .......................................................................................... 5 2.1.2. Anturointi ........................................................................................... 6 2.2. Robottikinematiikka ................................................................................ 13 2.3. Käänteiskinematiikka .............................................................................. 15 2.3.1. Denavit- Hartenberg transformaatiomatriisi .................................... 15 2.3.2. Geometrinen ratkaisutapa ................................................................ 19 2.3.3. Algebrallinen ratkaisutapa ............................................................... 21 3. Suunnittelun vaiheet ......................................................................................... 25 3.1. Manipulaattorin toimintakunnon ja soveltuvuuden arviointi .................. 26 3.2. Korjaustoimenpiteet ................................................................................ 28 3.3. Harjoitustöiden vaatimukset ................................................................... 30 3.4. Käytettävissä olevat resurssit .................................................................. 32 3.5. Oheistoimintojen ja manipulaattorin toimintojen ideointi ...................... 34 3.6. Oheistoimintojen jatkokehittely .............................................................. 34 4. Harjoitustöiden kehittäminen ja analysointi ................................................... 36 4.1. Harjoitustyö 1 – Mekatroniikka .............................................................. 36 4.2. Harjoitustyö 2 – Mekatroniikka .............................................................. 36 4.3. Harjoitustöiden analysointi ..................................................................... 37 4.3.1. Harjoitustyön 1 analysointi .............................................................. 37 4.3.2. Harjoitustyön 2 analysointi .............................................................. 37 4.3.3. Testaajan palaute ............................................................................. 38 4.3.4. Manipulaattorin jatkokehityskohteet ............................................... 39 5. Johtopäätökset ................................................................................................ 41 LIITE I. Harjoitustyöohje 1 LIITE II. Harjoitustyöohje 2 LIITE III. Oheislaitteiden valmistuspiirustukset SYMBOLIT JA LYHENTEET Latinalaiset aakkoset a Denavit- Hartenberg varsiparametri A Kiertomatriisi d Denavit- Hartenberg varsiparametri k Apumuuttuja L Varren pituus n Lukumäärä r Työkalupisteen vektori R Paikkavektori T Transformaatiomatriisi x x-koordinaatti y y-koordinaatti z z-koordinaatti Kreikkalaiset aakkoset α Denavit- Hartenberg varsiparametri β Työkalupisteen paikkavektorin ja globaalin x-akselin välinen kulma. γ Rotaatio x-akselin suhteen θ Rotaatio z-akselin suhteen, Denavit-Hartenberg varsiparametri φ Rotaatio y-akselin suhteen ψ Apukulma Ala- ja yläindeksoinnit A Kappale A B Kappale B i Varren numero i-1 Edellinen varsi x Koordinaattiakseli y Koordinaattiakseli z Koordinaattiakseli Lyhenteet C, C++ Ohjelmointikieli(ä) BCD Binaarikoodattu desimaaliluku (Binary Coded Decimal) FBD Toimintolohkokaavio (Function Block Diagram) LAD Tikapuulogiikka (Ladder Logic) LED LED (Light Emitting Diode) LUT Lappeenranta University of Technology PC Tietokone (Personal Computer) PLC Ohjelmoitava logiikka ohjain (Programmable Logic Controller) PWM Pulssinleveysmodulaatio (Pulse Width Modulation) STL Komentolista (Statement List) S7, STEP7 Siemensin ohjelmoitava logiikka USB Sarjaportti (Universal Serial Bus) 1 1. Johdanto Tässä kandidaatintyössä suunnitellaan ja toteutetaan Lappeenrannan teknillisen yliopiston LUT Metallin Älykkäiden koneiden laboratorion Mekatroniikka- opintojaksolle vuorovuosin järjestettävät harjoitustyöt. Harjoitustöissä hyödynnetään vuoden 2010 Mekatroniikan työkurssilla valmistettua kolmen vapausasteen manipulaattoria. Manipulaattorin ensimmäinen versio on esitetty kuvassa 1.1. Ennen tämän työn aloittamista manipulaattorin rakennetta on kuitenkin jonkin verran muutettu. Manipulaattorin nivelvarsia on lyhennetty, ja servomoottorien kiinnitystä muutettu. Manipulaattorin muunneltu versio on esitetty kuvassa 1.2. Kuva 1.1. Manipulaattori. /1/ Työn alussa käydään läpi robottikinematiikkaa ja tähän liittyvää termistöä. Lisäksi käydään läpi ohjelmoitavan logiikan perusteita sekä anturityyppejä, joita hyödynnetään harjoitustöissä. Manipulaattorin toimintakunto arvioidaan ja siihen tehdään tarvittavat korjaustoimenpiteet. Myös manipulaattorin soveltuvuus erilaisiin tehtäviin selvitetään esimerkiksi työalueen määrittämisen avulla. Tietojen, vaatimusten, toiveiden ja käytettävissä olevien resurssien pohjalta aloitetaan harjoitustöiden sekä mahdollisten oheislaitteiden ideointi ja suunnittelu. Harjoitustöiden ja oheislaitteiden suunnittelussa sovelletaan mekatronisten 2 laitteiden suunnitteluprosessia. Harjoitustöiden kehittelyn jälkeen ne testautetaan Mekatroniikan peruskurssi -opintojakson assistentilla, ja pyydetään häneltä palautetta. Saadun palautteen ja muiden havaintojen perusteella harjoitustyöt analysoidaan, ja listataan jatkokehityskohteita niin manipulaattorille kuin harjoitustöillekin. 1.1. Työn taustaa Kevään 2010 Mekatroniikan työkurssilla parityönä valmistettu manipulaattori on tämän kandidaatintyön lähtökohtana. Aloitettaessa tätä kandidaatintyötä manipulaattorin toimintakunto arvioidaan ennen mahdollisten muutosten tekoa. Kuvassa 1.2 on esitetty manipulaattori ennen tämän työn alkua. Kuva 1.2 Manipulaattori ennen työn aloitusta. Mekatroniikka -opintojaksolla järjestetään 1-2 pakollista laboratorioharjoitusta, jotka liittyvät yleisesti opintojaksolla käytäviin teemoihin. Harjoitustöiden suunnittelulla haetaan mielekkyyttä laboratorioharjoituksiin, jotta opiskelijat kiinnostuisivat Älykkäiden koneiden laboratorion tarjoamista opintojaksoista. 2 4 5 3 7 6 1 1. Runko 2. Nivelvarsi 1 3. Nivelvarsi 2 4. Servo 1 5. Servo 2 6. Pneumaattinen sylinteri 7. Magneettitarttuja 3 1.2. Työn tavoitteet Kandidaatintyön tavoitteena on suunnitella ja toteuttaa mahdollisimman opettavaiset ja mielekkäät harjoitustyöt, joissa Mekatroniikka -opintojakson opiskelijat pääsisivät hyödyntämään opintojaksolla opittuja keskeisimpiä teemoja. Eräs tavoitteista on ideoida ja suunnitella manipulaattorin ympärille konkreettisia oheistoimintoja, jotka kuvaisivat yhdessä manipulaattorin kanssa teollisuudessa näkyviä toimintoja, tosin pienemmässä mittakaavassa. 1.3. Työn rajaus Tässä työssä selvitetään manipulaattorin hyödyntämismahdollisuuksia Mekatroniikka -opintojakson harjoitustöissä. Manipulaattorin rakenteeseen ei tehdä muutoksia, mutta sähkö- ja pneumatiikkakytkentöjä jouduttaneen muuttamaan harjoitustyökäyttöön paremmin soveltuviksi. Manipulaattorin rinnalle voidaan suunnitella ja rakentaa oheislaitteita, joiden avulla harjoitustyöstä saadaan laajempi ja mielekkäämpi. 4 2. Teoria Yleisesti robotit ja manipulaattorit koostuvat mekaanisista rakenteista, rakenteita liikuttavista toimilaitteista ja mikrokontrollerista tai PC:stä, joka ohjaa mekanismin liikkeitä. Jotta mekanismi toimisi halutulla tavalla, mikrokontrolleriin ohjelmoidaan tarvittava logiikka. Tässä tapauksessa mikrokontrolleri ohjaa toimilaitteita, jolloin työkalupiste mekaanisen rakenteen päässä noudattaa haluttua liikerataa. Toimilaitteet tarvitsevat tietoa konstruktion muista laitteista. Kyseistä tietoa välitetään antureiden avulla, jota myös logiikassa hyödynnetään. Seuraavissa kappaleissa käydään läpi tähän kandidaatintyöhön liittyvää teoria, jonka rooli on merkittävä mekatronisien laitteiden suunnittelussa ja kehitystyössä. Kyseiset teemat ovat keskeisiä myös harjoitustöiden kannalta. 2.1. Logiikka Pneumatiikkapiirejä voidaan ohjata joko mekaanisesti, sähköisesti tai pneumaattisesti. Tässä tapauksessa hydraulipiirin ohjaus toteutetaan sähköohjauksella. Ohjauksessa käytetään hyväksi loogisia perusfunktioita JA, TAI sekä EI (ks. kuva 2.1). Myös näiden funktioiden kombinaatioita käytetään. Näiden perusfunktioiden avulla laaditaan järjestelmälle kytkentäfunktio, joka voidaan esittää esimerkiksi Boolen algebralla ja totuustauluilla. Kuva 2.1. Loogisia funktioita eri tavoin esiteltynä. /2/ 5 2.1.1. Ohjelmoitava logiikka Ohjelmoitavalla logiikalla ohjataan, ja joskus myös säädetään, laitteiden sekä erilaisten prosessien toimintaa ja nimensä mukaisesti se ohjelmoidaan kuhunkin käyttökohteeseen sopivaksi. Ohjelmoitava logiikka koostuu tuloista, lähdöistä, muistista, keskusyksiköstä sekä mahdollisista lisäyksiköistä. Tavallisesti tulot ja lähdöt ovat digitaalisia, eli niiden arvot ovat joko 0 tai 1, mutta lisäyksiköiden avulla PLC pystyy käsittelemään myös analogisia signaaleja, mikä on välttämätöntä mikäli järjestelmää halutaan säätää ohjelmoitavalla logiikalla. Tuloihin kytketään järjestelmän laitteiden tilaa ilmaisevia komponentteja, kuten esimerkiksi kytkimiä ja antureita. Keskusyksikkö suorittaa muistiin tallennetun ohjelman ja antaa tulojen perusteella ohjelmoidun logiikan mukaisesti ohjaussignaaleja lähtöihin. Lähtöihin kytketään järjestelmän laitteita ohjaavia toimilaitteita, kuten esimerkiksi releitä, venttiileitä ja moottoreita. Muistiin voidaan tallentaa suoritettavan ohjelman lisäksi myös tulojen ja lähtöjen tiloja. /3/ 2.1.1.1. Siemens STEP7 Yleisimpiä teollisuuden käytössä olevista ohjelmoitavista logiikoista ovat Siemensin Simatic STEP7 –modulaariset ohjaimet. Simatic STEP7:stä käytetään yleisesti lyhennettä S7. Älykkäiden koneiden laboratorion Feston pneumatiikkaharjoituspöytään on integroitu Simatic S7-300 sarjan ohjelmoitava logiikka. S7-300 –ohjain sisältää 8 tuloporttia ja 6 lähtöporttia. Sekä tulot että lähdöt on tarkoitettu 24 V jännitteelle, joten manipulaattori voidaan helposti liittää Feston logiikkapöydän PLC:hen. S7:n logiikka voidaan ohjelmoida ohjaimelle kolmella eri standardisoidulla logiikkakielellä. Käytettävissä ovat LAD (Ladder Logic), STL (Statement List) ja FBD (Function Block Diagram). Logiikka ohjelmoidaan tietokoneella ja ladataan ohjaimen muistiin USB-väylän kautta. /4/ 2.1.1.2. Arduino Arduino on mikrokontrolleri, jonka toiminta voidaan ohjelmoitavan logiikan tapaan koodata käyttötarkoitukseen soveltuvaksi. Arduino perustuu avoimeen 6 lähdekoodiin, ja sen ohjelmointikieli on C/C++ -kieliin pohjautuva. Arduinossa on mallista riippuen digitaalisia tuloja/lähtöjä 14-54 ja analogisia tuloja 6-16. Osassa digitaalisista tuloista/lähdöistä on myös PWM (Pulse Width Modulation). Arduinon liitäntöjä voidaan laajentaa ja muuttaa johonkin tiettyyn tarkoitukseen sopiviksi erillisten lisäpiirilevyjen avulla. Arduinon käyttöjännite on 5 V. Manipulaattorin ohjaukseen käytetään Arduino Mega –ohjainta (kuva 2.2). /5/ Kuva 2.2. Arduino Mega –mikrokontrolleri. /5/ 2.1.2. Anturointi Antureiden tarkoitus konstruktioissa on antaa ja kerätä tietoa järjestelmän tilasta niin käyttäjälle kuin konstruktion muille toimielimille. Anturi koostuu tuntoelimestä, mittamuuntimesta ja mittalähettimestä. Tuntoelin mittaa haluttua ilmiötä, minkä jälkeen mittamuunnin muuntaa saadut arvot mittaviestiksi, joka on yleensä jännite- tai virta-arvo. Tämän jälkeen mittalähetin muuntaa viestin standardoiduksi lähtöviestiksi, jonka jälkeen mittausarvot ovat luettavissa koneen ohjausjärjestelmän purettua lähtöviesti. Mittaustuloksien avulla voidaan säätää konstruktiota tai tuloksia voidaan käyttää raportoinnissa. Mittarin näyttämää arvoa voidaan myös käyttää mittatuloksena. Anturin valinnassa täytyy ottaa huomioon 7 nimellinen mittausalue eli mikä on suurin mitattava suure konstruktiossa ja mahtuuko tämä anturin mittausalueelle. /3/ 2.1.2.1. Aseman mittaus Aseman mittauksessa käytetään yleensä lähestymiskytkimiä, joita nimitetään myös kaksitilaisiksi antureiksi. Kappaleen tai osan saapuessa anturin määrittämälle alueelle anturi lähettää signaalin, jonka ohjausjärjestelmä tulkitsee loogiseksi ykköseksi tai nollaksi. /3/ Mekaaniset rajakytkimet kuuluvat lähestymiskytkimiin, jotka vaativat toimiakseen fyysisen kontaktin. Rajakytkimet soveltuvat kiinteiden kappaleiden tunnistukseen. Yleisimpiä käyttökohteita ovat kuljettimet, pakkauskoneet ja työstökoneet. Turvarajat erilaisissa koneissa on hyvin yleisesti toteutettu mekaanisilla rajakytkimillä johtuen hyvästä perusluotettavuudesta. Mekaanisen rajakytkimen käyttö nopeissa sovellutuksissa on hyvin rajoittunutta, sillä kytkin voi toteuttaa 1-3 kytkentää sekunnissa sekä tilanvaihtoon kuluva aika on pitkä, noin 2-10 ms. Mekaanisia rajakytkimiä on saatavilla niin vaihtosähkölle kuin tasasähkölle. Seuraavan sivun kuvassa 2.3 on esitetty Feston rajakytkin. /3/ Kuva 2.3. Feston rajakytkin. 8 Induktiivinen anturi ei tarvitse kosketusta toimiakseen. Anturin tekniikka perustuu magnetismiin, joten tämä tunnistaa sähköä johtavia kappaleita luotettavasti. Induktiivinen anturi koostuu värähtelypiiristä, jossa tuntoelimenä toimii kela. Syötettäessä vaihtojännitettä kelan käämille kelan ympärille syntyy magneettikenttä. Kappaleen saapuessa anturin tunnistusalueelle anturiin syntyy pyörrevirtoja, jotka vaimentavat värähtelypiirin värähtelyä. Lähtöpiiri välittää viestin eteenpäin. Sovellutuksia löytyy paljon mm. kappaleiden laskennassa ja paikannuksessa. Kuvassa 2.4 on esitetty Feston induktiivinen anturi. Antureiden kappaleen tunnistusetäisyys vaihtelee muutamasta millimetristä aina 70 millimetriin. Tavallinen kytkentäetäisyys on 2-20 mm. /3/ Kuva 2.4. Feston induktiivinen anturi. Induktiivisen anturin tavoin kapasitiivinen perustuu myös värähtelypiiriin. Tunnistettava kappale vaikuttaa värähtelypiirin kapasitanssiin, sillä materiaaleilla on tietty dielektrisyysvakio. Vakion suuruus on suoraan verrannollinen anturin kytkentäetäisyyteen. Tämä ominaisuus mahdollistaa kappaleen tunnistamisen toisen aineen läpi. Esimerkiksi nestepinnan korkeuden tunnistaminen lasi- tai muoviseinän läpi on mahdollista kun otetaan huomioon, että nesteen dielektrisyysvakio on suurempi kuin välissä olevan materiaalin. Kapasitiivisen anturin kytkentäetäisyys vaihtelee 10-40 mm välillä. Anturi tunnistaa laajan materiaalikirjon ja sisältää säädettävän herkkyyden. Kuvassa 2.5 on esitetty IFM:n valmistama kapasitiivinen anturi. /3/ 9 Kuva 2.5. IFM:n kapasitiivinen anturi. /6/ Valosähköinen kytkin eli optisen anturin perusrakenne koostuu valoa lähettävästä diodista ja valoa vastaanottavasta transistorista. Teollisuusympäristön tuottama hajavalo aiheuttaa häiriöitä anturiin, mutta anturin häiriönsietoisuutta voidaan parantaa moduloimalla anturin valoa. Optisen anturin etuna on ylivoimainen tunnistusetäisyys, joka saattaa olla jopa 6-8 m. Optiset anturit voidaan jakaa rakenteensa perusteella eri ryhmiin. Kun kappale toimii itse lähettimenä, eli lähettää esimerkiksi lämpimänä infrapunavaloa, puhutaan vastaanotinperiaatteella toimivista antureista. Toiseen ryhmään kuuluvat lähetin-vastaanotinperiaatteella toimivat anturit. Nämä toimivat, kun kappale katkaisee valonsäteen. Kyseiseen kategoriaan kuuluva anturi on esitetty seuraavalla sivulla kuvassa 2.6. Kolmannessa ryhmässä puhutaan suoraan heijastavalla periaatteella toimivista antureista, joissa lähettimen valo palautuu heijastumalla takaisin. Tällöin lähetin ja vastaanotin ovat samassa konstruktiossa. Tunnistettava kappale katkaisee valonsäteen myös tämän ryhmän antureissa. Viimeisenä ryhmänä on V- heijastavalla periaatteella toimivat anturit. Vastaanotin ja lähetin ovat samassa yksikössä, edellisen periaatteen tavoin, mutta kappale toimii heijastimena mikäli tunnistusetäisyys on lyhyt. Likainen ympäristö ja runsas hajavalo aiheuttavat yleisimmin toimintahäiriöitä optisten anturien käyttökohteissa. /3/ 10 Kuva 2.6. Feston optinen anturi (lähetin-vastaanotin -periaate). 2.1.2.2. Kiertymän mittaus Kiertymää mitattaessa voidaan konstruktiossa käyttää analogia- ja digitaaliantureita. Tyypillisesti asema-antureita voidaan käyttää jomman kumman liikkeen mittaamiseen suoraviivainen liike tai kiertymä. Erikoissovellutuksissa voidaan anturi myös sovittaa toisen liiketyypin mittaukseen. /3/ Potentiometri on tyypillisin ja käytetyin kiertymää mittaava analoginen absoluuttianturi. Potentiometrin kiertymä on tyypillisesti suoraan verrannollinen liu’un ja runko-osan resistanssiin. Rakenteeltaan potentiometri on siis säätövastus. Anturin liukuosa on tärkeässä osassa, sillä siitä mitataan välijännite, josta kiertymä lasketaan. Yksinkertaisen potentiometrin mitta-alue on alle 300-350 astetta. Sovellutuksissa, joissa tapahtuu useampia kierroksia voidaan käyttää monikerrospotentiometrejä. Näiden tyypillinen mitta-alue on 5-40 kierrosta. Halkaisijaltaan potentiometri on 15–65 mm, liikenopeus on tyypillisesti 2000– 4000 astetta sekunnissa ja lisäksi hyvällä potentiometrillä erotustarkkuus on erinomainen eli käytännössä virhe on alle 0.5 astetta. Kuvassa 2.7 on esitetty yksinkertainen potentiometri. /3/ 11 Kuva 2.7. Potentiometri. Digitaalisista antureista suosituimpia ovat valosähköiset pulssianturit, jotka ovat hinnaltaan kohtuullisia, tarkkoja, monipuolisia ja helppoja kytkettäviä. Näitä on saatavissa absoluutti- ja inkrementtiantureina. /3/ Inkrementtianturi koostuu tyypillisesti valonlähteestä, linssistä, akselin mukana pyörivästä pulssikiekosta, kiinteästä lukulevystä ja valoanturista. Pulssikiekossa on tarkkaan kuvioitu vyöhyke ja siinä vaihtelevat yhtä suuret valoa läpäisevät ja läpäisemättömät sektorit. Tavallisessa pulssikiekossa on 100-2500 sektoriparia, kun taas tarkkuusantureissa voi olla 80000 paria. Lukulevy sisältää kaksi pulssikiekon kanssa täsmälleen samanlaista kuviojaksoa, joiden välillä on 90 asteen vaihesiirto. Lukulevyn ja pulssikiekon samanlaisten sektorien kohdatessa valo pääsee läpi ja valoanturi tunnistaa ja lähettää signaalin, ts. jännitepulssin, omalla kanavallaan. Anturi sisältää ainakin 2 kanavaa, jotka tuottavat pulssijonoa sektoreilta. Mahdollinen kolmas kanava lähettää vertailupulssin joka kierroksella. Pulssijonoista voidaan päätellä pyörimissuunta. Ohjausjärjestelmään kytkettynä, tai mahdollisesti laskukortin avulla, saadaan laskettua pulssien nousevat reunat, joista saadaan jatkuva suunta- ja asematieto. Erotustarkkuus inkrementtianturille saadaan, kun 360 astetta jaetaan pulssikiekon sektoriparien lukumäärällä. Mittaepätarkkuus inkrementtiantureilla on tyypillisesti 0,2-0,5 astetta. Mikäli tarkkuutta halutaan lisätä, täytyy muistaa, että anturin koko kasvaa myös. Tyypillisimmät anturi koot vaihtelee 30-60 mm välillä (halk.), kun taas tarkkuusantureissa halkaisija voi olla jopa 150 mm. Pulssitaajuus vaihtelee 12 tyypillisesti 10-100 kHz välillä, mikä on rajoittava tekijä määritettäessä sallittua liikenopeutta. Liikenopeus on kääntäen verrannollinen tarkkuuteen. Inkrementtianturia voidaan käyttää myös nopeusanturina, jolloin pulssitaajuudesta voidaan laskea pyörimisnopeus. Kuvassa 2.8 on esitetty inkrementtianturi. /3/ Kuva 2.8. Inkrementtianturi. /7/ Absoluuttianturi on rakenteeltaan hyvin samanlainen kuten inkrementtianturi. Absoluuttianturin pulssikiekko sisältää useita vyöhykkeitä, joita voi olla jopa 20. Kiertymää kuvaa binääriluku, joka koostuu sektorien muodostamasta lukujonosta, joka luetaan kiekolta sädettään pitkin ulkokehältä alkaen. Absoluuttianturissa valonlähteenä toimii LED, jonka tuottama valo ohjataan linssijärjestelmään, mikä mahdollistaa pulssikiekon tarkan lukemisen. Näin ollen ei tarvita lainkaan lukulevyä. Pulssikiekot ovat koodattu joko luonnollisella binäärikoodilla, BCD- koodilla tai Gray-koodilla. Absoluuttianturin koko vaihtelee tarkkuuden mukaan n. 60-150 mm. Koko vaihtelee pulssikiekon takia. Mittaepätarkkuus on samaa luokkaa kuin inkrementtianturilla. Pulssiryhmien, binääriluvun, käsittelyn takia joudutaan käyttämään pienempää pulssitaajuutta kuin inkrementtiantureilla. Kuvassa 2.9 sivulla 13 on esitetty absoluuttianturi. /3/ 13 Kuva 2.9. Absoluuttianturi. /6/ 2.2. Robottikinematiikka Robottikinematiikassa tarkastellaan mekanismin nivelpisteiden asemia, nopeuksia ja kiihtyvyyksiä. Useimmiten tärkeimpänä tarkastelun kohteena on manipulaattorin tarttujan tai työkalupisteen, eli kinemaattisen ketjun päätepisteen asema. Suorassa kinematiikassa tiedetään manipulaattorin nivelten orientaatiot ja halutaan selvittää päätepisteen asema, kun taas käänteisessä kinematiikassa tiedetään haluttu päätepisteen asema ja halutaan selvittää mitkä nivelten orientaatiokombinaatiot toteuttavat halutun aseman. /8/ Kappaleen asema ja orientaatio avaruudessa globaalin koordinaatiston suhteen kuvataan matemaattisesti transformaatiomatriisilla. Globaali koordinaatisto asetetaan yleensä kinemaattisen ketjun ensimmäisen liikkuvan osan ja kiinteän rungon väliseen niveleen. Transformaatiomatriisi [1] koostuu kiertomatriisista , joka kuvaa kappaleen B orientaatiota kappaleen A suhteen, sekä paikkavektorista , joka kuvaa B:n lokaalin koordinaatiston paikkaa A:n koordinaatiston suhteen. Kiertomatriisin koko on 3x3 ja sen termien järjestys riippuu siitä, että minkä akselin ympäri kappaletta kierretään ja että kierretäänkö kappaletta myötä- vai vastapäivään. Kun positiivinen 14 kiertosuunta on valittu vastapäivään, kiertomatriisit x-, y- ja z-akselien ympäri on esitetty yhtälöissä [2]-[4]: , [2] , [3] . [4] Kun taas positiivinen kiertosuunta on valittu vastapäivään, kiertomatriisit ovat muuten samanlaiset, mutta sini ja –sini –termit vaihtavat paikkaa keskenään. Kiertomatriiseissa esiintyvät symbolit , ja kuvaavat kappaleen B orientaatiota kappaleen A koordinaatiston suhteen eri koordinaattiakselien ympäri. Paikkavektori on muotoa [5] ja se kuvaa kappaleen koordinaatiston asemaa globaalissa koordinaatistossa. /8/ Mikäli mekanismi koostuu useammista nivelvarsista, määritetään jokaiselle varrelle oma transformaatiomatriisi edellisen varren koordinaatiston suhteen. Tällöin kokonaistransformaatiomatriisi saadaan matriisitulolla . [6] Tällöin on huomioitava matriisitulojen järjestys, sillä järjestyksellä on merkitystä matriisitulon arvoon [7]. /8/ . [7] 15 2.3. Käänteiskinematiikka Käänteiskinematiikassa tiedetään manipulaattorin työkalupisteen asema, tai haluttu asema, ja pyritään ratkaisemaan aseman toteuttavat nivelkulmat. Nivelkulmat voidaan ratkaista trigonometrian avulla, mutta usein on edullisempaa käyttää ratkaisussa apuna 4x4-transformaatiomatriisia. /8/ 2.3.1. Denavit- Hartenberg transformaatiomatriisi Yleisimmin käytetty 4x4-transformaatiomatriisi on nimeltään Denavit- Hartenberg. Denavit-Hartenberg –transformaatiomatriisia muodostettaessa määritetään jokaiselle nivelvarrelle neljä varsiparametria, ja , joiden avulla varrelle voidaan määrittää transformaatiomatriisi yhtälöstä [8]. /8/ [8] Yhtälöllä [8] kuvataan siis kinemaattisen ketjun varren transformaatio varren suhteen. Yllä mainittujen varsiparametrit selvitetään alla olevassa taulukossa 2.1. Parametrien merkitykset esitetään myös kuvassa 2.10. Taulukko 2.1. Denavit-Hartenberg –transformaation varsiparametrit. /8/ Parametri Selitys z-akselien välinen etäisyys edellisen koordinaatiston x-akselin suhteen. z-akselien välinen kulma edellisen koordinaatiston x-akselin suhteen. x-akselien välinen etäisyys uuden koordinaatiston z-akselin suhteen. z-akselien välinen kulma uuden koordinaatiston z-akselin suhteen. 16 Kuva 2.10. Denavit-Hartenberg –parametrit. /8/ Yhtälö 8 voidaan myös esittää yhtälön [9] mukaisesti. Tässä yhtälössä kerrottavat neljä matriisia kuvaavat kunkin varsiparametrin vaikutusta nivelpisteiden väliseen transformaatioon. Yhtälössä [9] esiintyvät matriisit ovat yhtälöiden [10]-[13] mukaiset. /8/ , [9] 17 , [10] , [11] , [12] . [13] Tasotapauksessa transformaatiomatriisi yksinkertaistuu, kun kaksi neljästä varsiparametristä ( ja ) ovat aina 0. Tällöin matriisit [10] ja [13] ovat yksikkömatriiseja. Kuvassa 2.11 on esimerkkitapaus kahden vapausasteen tasomekanismista. Taulukossa 2.2 on esitetty kyseisen mekanismin Denavit- Hartenberg –parametrit. /8/ Kuva 2.11. Esimerkki kahden vapausasteen tasomekanismista. d1 d2 1 2 1 18 Taulukko 2.2. Denavit-Hartenberg –parametrit kahden vapausasteen tasomekanismille. Varsi Parametri 1 2 Kun esimerkkitapauksen Denavit-Hartenberg –parametrit sijoitetaan yhtälöön [8], transformaatiomatriisit varsille 1 ja 2 ovat yhtälöiden [14] ja [15] mukaiset: , [14] . [15] Nyt esimerkkitapauksen kokonaistransformaatiomatriisi voidaan kirjoittaa yhtälön [16] muotoon: . [16] 19 2.3.2. Geometrinen ratkaisutapa Geometrisessa ratkaisutavassa manipulaattorin käänteiskinematiikka voidaan jakaa useampaan geometriseen ongelmaan. Manipulaattori on tässä tapauksessa tasomekanismi. Nivelvarsien kulmat ratkaistaan käänteisessä järjestyksessä kinemaattisen ketjun viimeisestä kulmasta alkaen. Kulmia ratkaistaessa tulee huomioida, että mekanismilla on kaksi eri nivelkombinaatiota, eli asentoa, joiden avulla haluttu piste saavutetaan. Mitä enemmän mekanismilla on niveliä, sitä enemmän sillä on asentoja, joilla halutut koordinaatit saavutetaan. Kuvassa 2.12 on havainnollistettu ratkaistava ongelma. /8/ Kuva 2.12. Geometrisessa ratkaisussa tarvittavat tiedot. θ2 θ2 θ1 ψ β 20 Kulman θ2 ratkaisussa hyödynnetään kosinilausetta [17], josta kulma ratkeaa helposti. [17] Kuvan 2.12 perusteella yhtälö näyttää seuraavalta: . [18] Yhtälöstä [18] voidaan ratkaista kulma θ2. Täytyy kuitenkin muistaa, että mekanismilla on kaksi eri nivelkombinaatiota. Tämä antaa kulmalla θ2 kaksi eri arvoa: positiivinen ja negatiivinen. Kulman etumerkillä on merkitys kumpaan suuntaan varsi lähtee kiertymään tavoittaakseen koordinaattipisteen. Siis kulman θ2 arvo on riippuvainen kulmasta θ1. Ratkaistessa kulmaa θ1 tulee tietää kulma β sekä apukulma ψ. Kuvasta 2.12 nähdään mistä nämä kulmat muodostuvat. /8/ [19] Kulma β [19] on laskettu käyttäen kahden argumentin argustangenttia. Apukulma ψ voidaan laskea joko kosinilauseen avulla, kuten θ2, tai käyttämällä sinilausetta [20]. [20] Yhtälön [20] ja kuvan 2.12 perusteella apukulmaksi ψ saadaan: [21] Kuvasta 2.12 huomataan lisäksi, että ψ voi olla joko positiivinen tai negatiivinen, riippuen kumpaa kulmakombinaatiota lasketaan. Näin ollen kulma θ1 saa arvot, . [22] 21 Kulman ψ merkki on riippuvainen kulman θ2 arvosta. Mikäli θ2<0, käytetään kulman ψ edessä positiivista merkkiä, kun taas θ2>0 kulman merkki on negatiivinen. /8/ 2.3.3. Algebrallinen ratkaisutapa Käänteiskinematiikka voidaan ratkaista myös algebrallisesti. Algebrallisen ratkaisun lähtökohtana on mekanismin transformaatiomatriisi, jolla kuvataan mekanismin työkalupisteen asema ja orientaatio. Ratkaisussa käytetyt merkinnät on esitetty kuvassa 2.13. /8/ Kuva 2.13. Tasomekanismin merkinnät. Ratkaistaan kuvan 2.13 tasomekanismin käänteiskinematiikka Craigin esittämällä tavalla /8/. Transformaatiomatriisi voidaan lausua muodossa: . [23] Kun yhtälöt [16] ja [23] merkitään yhtäsuuriksi, saadaan kaksi yhtälöä: , [24] . [25] Korotetaan yhtälöt toiseen potenssiin ja summataan puolittain: L1 L2 22 . [26] Ratkaistaan edellisestä yhtälöstä : [27] Muunnoskaavan ja yhtälön [27] avulla voidaan ratkaista : [28] Nyt kulma voidaan ratkaista kaksiargumenttisella argustangenttifunktiolla [29] Kaksiargumenttinen argustangentti voidaan ilmaista myös lyhyemmässä muodossa [30], joka on yleisesti käytössä myös matemaattisten ohjelmien syntaksissa./9/ [30] Ensimmäisen kulman ratkaisua varten otetaan käyttöön apumuuttujat [31] ja [32]. , [31] . [32] Näiden apumuuttujien geometriset määritelmät on esitetty kuvassa 2.14. 23 Kuva 2.14. Käytettävien apumuuttujien geometriset määritelmät. Apumuuttujien avulla yhtälöt [24] ja [25] voidaan kirjoittaa muotoon: , [33] . [34] Nyt työkalupisteen vektori ja vektorin kulma voidaan lausua muodossa: , [35] . [36] Edelleen apumuuttujat ja voidaan kirjoittaa työkalupisteen vektorin ja kulman avulla muotoon: , [37] . [38] Kun sijoitetaan apumuuttujat yhtälöihin [33] ja [34], saadaan yhtälöt [39] ja [40], [39] r k2 k1 L1 L2 24 [40] jotka voidaan kirjoittaa muotoon: [41] [42] Käyttämällä jälleen kaksiargumenttista argustangenttia, edellisistä yhtälöistä voidaan muodostaa yhtälö [43]: [43] Kun vielä sijoitetaan yhtälöstä [36] edelliseen yhtälöön, voidaan ratkaista yhtälön [44] mukaisesti. [44] Vertailtaessa geometrista ja algebrallista ratkaisutapaa keskenään huomataan, että algebrallinen ratkaisutavan lähtökohtana on Denavit-Hartenberg:n transformaatiomatriisista muodostettavat yhtälöt. Kulman ratkaisuun käytetään molemmissa ratkaisutavoissa samankaltaisia yhtälöitä. Kulman ratkaisemiseksi tarvitaan apumuuttujia. Geometrisessa ratkaisutavassa ratkaistaan käyttämällä apuna sinilauseella ratkaistavaa apukulmaa, sekä työkalupisteen paikkavektorin ja globaalin x-akselin välistä kulmaa. Algebrallisessa ratkaisutavassa hyödynnetään kulman ratkaisuun kaksiargumenttista argustangenttifunktiota. 25 3. Suunnittelun vaiheet Tässä kandidaatintyössä suunnittelu ja sen vaiheet noudattavat soveltaen mekatronista lähestymistapaa koneenrakennuksessa. Mekatronisen koneen osajärjestelmät ja niiden jako eri tieteenaloille on esitetty kuvassa 3.1. Kuva 3.1. Mekatronisen koneen osajärjestelmät ja niiden jako. /10/ 26 Kuten kuvasta 3.1 huomataan, että jo suunnittelun aikaisessa vaiheessa täytyy huomioida muiden tieteenalojen vuorovaikutukset ja liittymiset toisiinsa, jotta päästäisiin käsittelemään konstruktion toiminallisuutta suunnittelun alkuvaiheessa. Kuvasta 3.1 voidaan myös todeta, että mitä enemmän kone sisältää tietotekniikkaa, sitä suurempi merkitys on eri osa-alueiden samanaikaisella ja integroidulla suunnittelulla mekatronisten koneiden suunnittelutyössä. /3,10/ 3.1. Manipulaattorin toimintakunnon ja soveltuvuuden arviointi Ennen suunnittelua manipulaattorin toimintakunto arvioidaan testaamalla kyseisen konstruktion toimintoja. Toimintakunnon arvioinnissa käytetään alla olevaa taulukkoa 3.1. Taulukossa 3.1 esitettyjen toimintojen korjaaminen on edellytys, jotta kyseisen manipulaattorin ympärille voidaan suunnitella oheistoimintoja. Taulukko 3.1. Toimintakunnon arviointi. Toiminto Kunnossa Puutteita Huomioita Ohjauskoodit -suoraohjaus x -koordinaattiohjaus x Vajaavainen -liikerajoitteet x Ei ole koodattu Kytkennät Kotelossa ylimääräinen virtalähde -sisään- ja ulostulot x -transistoripiirit x Epäkunnossa Magneetti x Magneetin ohjaus ei toimi Mekaniikka x Nivelöinnissä puutteita Pneumatiikka x Sylinteriä ei ole kytketty 27 Taulukosta 3.1 nähdään, että manipulaattorin sisältämät ohjauskoodit eivät ole täydellisiä. Työkurssilla tehtyyn manipulaattoriin oli tarkoitus tehdä koordinaattiohjaus, mutta kyseinen ohjaus on jäänyt tekemättä manipulaattorin tekijöiltä ajanpuutteen takia. Lisäksi muissa ohjauskoodeissa huomattiin virheitä, jotka korjataan ennen manipulaattorin hyödyntämistä harjoitustöissä. Manipulaattorin sähköiset kytkennät vaativat yksinkertaistusta ja korjausta. Manipulaattoria tutkittaessa huomattiin, että transistoripiiri ei toiminut. Transistoripiirin tarkoituksena oli mahdollistaa 24 V jännitteen ohjaus Arduinolla. Mekaanisesti manipulaattori on kunnossa, mutta nivelvarret on tuettu servomoottorien akseleihin. Tämä aiheuttaa servomoottoreihin turhaa rasitusta. Kuvasta 3.2 nähdään manipulaattorin nivelöinnin ongelmakohdat. Kuva 3.2. Nivelöinnin ongelmakohdat. Manipulaattorissa olevaa pneumaattista sylinteriä ei ole testattu lainkaan, johtuen työkurssintekijöiden ajanpuutteesta. Sylinteriin ei myöskään ole kytketty pneumatiikkaletkuja. 28 Ennen harjoitustöiden ideointia manipulaattorin toimintomahdollisuudet selvitetään. Merkittävimmäksi tekijäksi osoittautui manipulaattorin liikerata ja toiminta-alue. Tämä vaikuttaa ratkaisevasti siihen, mitä ideoita kehitettäisiin. Manipulaattorin toiminta-alue, teoreettinen ja koodilla rajoitettu, piirretään käyttämällä Matlab – ohjelmistoa apuna. Toiminta-alue on esitetty kuvassa 3.3. Kuva 3.3. Manipulaattorin toiminta-alue. Kuvasta 3.3 huomataan, että manipulaattori ei sovellu hyvin ainakaan piirtomanipulaattoriksi johtuen pienestä ja kapeasta piirtoalueesta. Toiminta- aluetta on rajoitettu, jotta nivelvarret eivät ottaisi kontaktia rungon kanssa nopeusohjauksella ohjattaessa. 3.2. Korjaustoimenpiteet Ensimmäisiä korjaustoimenpiteitä ovat ohjauskoodien puutteiden korjaaminen. Tässä tapauksessa se tarkoittaa koordinaattiohjauksen luomista alusta pitäen. Koordinaattiohjauksen tarkoitus on ohjata manipulaattorin kärkeä haluttuun [mm] [mm] 29 pisteeseen tämän globaalissa koordinaatistossa. Manipulaattorin servoille asetetaan rajat, jotta servot pysyisivät ehjinä työn valmistuttua. Manipulaattorin mekaanista rakennetta on muutettu heti työkurssin päätyttyä. Muutosten syynä oli ollut servomoottoreiden heikko kiinnitys. Kuvassa 3.2 on esitetty manipulaattorin viimeisin versio korjaustoimenpiteiden jälkeen. Kun kuvaa verrataan kuvaan 1.1, huomataan, että tehtyjen muutosten jälkeen nivelvarsien aiheuttama rasitus kohdistuu suoraan servojen akseleihin. Tämä vaikuttaa merkittävästi manipulaattorin servojen käyttöikään. Tästä syystä nivelvarsia on lyhennetty huomattavasti manipulaattorin ensimmäisestä versiosta, kuten kuvista nähdään. Sähköisiä kytkentöjä jouduttiin yksinkertaistamaan. Kytkentäkotelo sisälsi ylimääräisen virtalähteen, joka poistetaan kotelosta. Virtalähde on ylimääräinen, sillä manipulaattorin tekijät aikoivat ensin käyttää sitä 24 V virtalähteenä, mutta he huomasivat mittauksissa, että virtalähteen todellinen lähtöjännite oli 33 V. Arduinolla 24 V jännitteenohjaukseen tarkoitettu transistoripiiri, joka on vioittunut, korvataan kolmella Solid state -releellä. Tämä mahdollistaa 24 V magneetin ja venttiilin ohjauksen Arduinon 5 V ohjausjännitteellä. Solid state - releiden kytkennät on esitetty kuvassa 3.4. Kuva 3.4. Releiden kytkentäkaavio. 30 Kuvassa 3.5 on esitetty kytkentäkotelon sisältö Solid state -releiden kytkennän jälkeen sekä ylimääräisen virtalähteen poiston ja johdotuksien yksinkertaistusten jälkeen. Kuva 3.5. Kytkentäkotelon sisältö korjaustoimenpiteiden jälkeen. 3.3. Harjoitustöiden vaatimukset Opintojaksolle luotavien harjoitustöiden vaatimukset pohjautuvat pitkälti Lappeenrannan teknillisen yliopiston vuoden 2010–2011 opinto-oppaan kuvaukseen Mekatroniikka -opintojaksosta. Kyseisen opintojakson kuvaus on esitetty kuvassa 3.6. 1 2 3 4 1. Solid state –releet 2. 5 V –jännitelähde 3. Arduino-mikrokontrolleri 4. Sisään- ja ulostulot 5. Joystick 5 31 Kuva 3.6. Mekatroniikka-opintojakson kuvaus. /11/ Aiemmin harjoituksia Mekatroniikka -opintojakson harjoituksia pitänyt nuorempi tutkija Lauri Luostarinen ehdotti erääksi harjoituksen osaksi manipulaattorin ohjausta Matlab -ohjelmistolla. Taulukossa 3.2. on esitetty vaatimuslista kurssikuvauksen ja nuoremman tutkijan kommenttien pohjalta. 32 Taulukko 3.2. Vaatimuslista V/T Sisältö V Käänteiskinematiikan ratkaisu V Anturointi ja niiden valinta V Robotin ohjaus Matlab-ohjelmistolla V/T Ohjelmoitavan logiikan ymmärtäminen (PLC) V Logiikkakaavion laatiminen T Mielenkiintoiset harjoitukset V Harjoitustyön laajuus (~7h) V - 4-5h esivalmistelu V - 1-2h laboratoriotyöskentely V Seikkaperäinen ohjeistus harjoitustyöhön V Ohjeiden ja suunnitelmien toimivuuden testaus T Testaaja V/T Ymmärtää robotin toiminnan - Mekanismit & servot T Ymmärtää Arduino-ohjaimen ideologiaa V/T Erilaiset harjoitukset T/V Oheislaitteiston/-toimintojen rakentaminen/suunnittelu 3.4. Käytettävissä olevat resurssit Tähän kandidaatintyöhön on käytettävissä LUT Metallin Älykkäiden koneiden laboratorio ja sieltä löytyvät laitteistot sekä työkalut. Laboratoriosta löytyy muun muassa Feston kytkentä- ja logiikkapöytä, jota olisi tarkoitus hyödyntää suunnitellessa ja toteuttaessa harjoitustöitä. Kuvassa 3.7 on esitetty laboratorion kytkentä- ja logiikkapöytä. 33 Kuva 3.7. Feston kytkentä- ja logiikkapöytä. Oheistoimintojen suunnittelussa hyödynnetään mikroluokista löytyviä SolidWorks 3D-CAD -suunnitteluohjelmistoa, joilla luodaan alustavat luonnokset konstruktion oheistoiminnoista. Lisäksi käytetään MATLAB -ohjelmistoa, jolla ratkaistaan manipulaattorin käänteiskinematiikka algebrallisella ja geometrisella ratkaisutavalla. 34 3.5. Oheistoimintojen ja manipulaattorin toimintojen ideointi Taulukossa 3.3 on esitetty ideamatriisi oheistoiminnoista, jotka kytkeytyvät manipulaattorin ympärille. Ideoinnissa on huomioitu vaatimuslistassa esitetyt vaatimukset ja toiveet sekä manipulaattorin soveltuvuus, joka on määräävin tekijä. Taulukko 3.3. Ideamatriisi oheistoiminnoista. Toiminta Vaihtoehto 1 Vaihtoehto 2 Vaihtoehto 3 Piirto Kuvio Rata Joystick Lajittelu Sylinteri Manipulaattori Tavaran siirto Moottorikäyttöinen kuljetin Sylinteri(t) Manipulaattori ”Peli” Shakki Tammi ”Jätkänshakki” ”Soittaja/Osoittaja” Manipulaattori + sylinteri Ideoinnissa otetaan huomioon harjoitustöiden mielekkyys. Lisäksi ideoinnissa on huomioitu korjaustoimenpiteiden suorittamisen jälkeen erilaiset toimintomahdollisuudet manipulaattorille. Ideoita oheistoiminnoille haetaan teollisuudessa laajalti käytössä olevista konstruktioista. Oheistoiminnot tulevat eroamaan todellisista laitteistoista mittakaavassa ja tästä johtuvista yksinkertaistuksista konstruktioissa. 3.6. Oheistoimintojen jatkokehittely Oheistoimintoja valittaessa jatkokehittelyyn ideamatriisin pohjalta pitää huomioida manipulaattorin soveltuvuus, sillä manipulaattori on rajoittava tekijä kokonaisratkaisuja ajatellen. Manipulaattorin soveltuvuutta analysoidessa voidaan todeta, että piirron toteuttaminen kyseisellä manipulaattorilla on hankalaa johtuen kapeasta toimintoalueesta, mikä on esitetty kuvassa 3.3. Jatkokehiteltäviksi oheistoiminnoiksi valitaan tavaran siirtoon ja lajitteluun pohjautuvat ideat. Nämä ideat pohjautuvat teollisuudessakin käytettyihin 35 menetelmiin. Kyseisten oheistoimintojen ympärille pystytään lisäämään jälkeenpäinkin muita toimintoja sekä varioimaan konstruktiota. Ensimmäisen oheistoiminnon ideana on kappaleen siirto käyttämällä moottorikäyttöisiä kuljettimia. Oheistoimintoon lisätään lajittelu, joka tunnistaa kuljettimella liikkuvan kappaleen materiaalin ja poistaa ei halutun materiaalin kuljettimelta. Manipulaattori siirtää lopuksi kappaleen pois hihnalta. Toinen jatkokehitelty oheistoiminto hyödyntää edellä mainittuja kuljettimia, mutta lisänä on kappaleen siirto erillisellä siirtäjällä, joka on kuljettimien välissä. Kokonaisratkaisun tarkoituksena on saada aikaan silmukka, jossa kappale liikkuu kuljettimelta toiselle. Kuvassa 3.8 on esitetty jatkokehitetyt oheistoiminnot. Kuvan oheislaitteisiin ei ole vielä asennettu käytettäviä pneumatiikkasylintereitä. Kuva 3.8. Jatkokehitetyt oheislaitteet. 36 4. Harjoitustöiden kehittäminen ja analysointi Opintojakson vaatimusten, käytössä olevien resurssien ja oheistoimintojen ideoinnin perusteella luodaan harjoitustyöt Mekatroniikka -opintojaksolle, jotka järjestetään vuorovuosin. Seuraavissa kappaleissa on esitetty lyhyet kuvaukset kehitetyistä harjoitustöistä. 4.1. Harjoitustyö 1 – Mekatroniikka Harjoitustyössä suunnitellaan lajittelulinjaston pneumatiikan sekä liukuhihnojen ja manipulaattorin ohjaus. Linjasto lajittelee metallikappaleet muovikappaleista ja metalliosat siirretään manipulaattorin magneetin avulla pois linjastolta. Ohjaus tapahtuu Siemensin Simatic S7-300 ohjelmoitavalla logiikkaohjaimella. Pääpaino harjoituksessa on linjaston logiikan suunnittelu ja ohjelmointi PLC:lle, mutta tarkoituksena on myös ratkaista manipulaattorin käänteiskinematiikka sekä tutustutaan Arduinon toimintaan. Käänteiskinematiikan ratkaisu palautetaan MATLAB-koodina. Harjoitukseen sisältyy myös esikysymyksiä, joista laaditaan kirjallinen raportti. Harjoitustyön tehtävänanto ja ratkaisut löytyvät liitteistä 1 ja 3. 4.2. Harjoitustyö 2 – Mekatroniikka Harjoitustyössä suunnitellaan kappaletavaralinjaston pneumaattinen toimilaitteisto ja tämän sähköinen ohjaus käyttäen S7-300 logiikkaa. Harjoitustyö suoritetaan 4-5 hengen ryhmissä. Ideana harjoitustyössä on liikuttaa metallikappaleita linjalta toiselle käyttäen manipulaattoria ja siirtäjä. Harjoitustyössä tulevat tutuksi ohjel- moitava logiikka, anturointi, käänteiskinematiikka ja ARDUINO -mikrokontrol- leri. Tarkempi harjoitustyön kuvaus löytyy liitteestä 2 ja harjoitustyön ratkaisut liitteestä 4. Harjoituksen pääpaino on logiikan suunnittelun lisäksi manipulaattorin käänteis- kinematiikan ratkaisussa. Käänteiskinematiikka ratkaistaan sekä käsin, että hyö- dyntämällä MATLAB -ohjelmistoa. Manipulaattorin käänteiskinematiikasta on tarkoitus luoda MATLAB -koodi, jolla voidaan ohjata manipulaattorin 37 työkalupiste haluttuun pisteeseen tämän toiminta-alueella. Lisäksi harjoitustyöhön kuuluu esikysymyksiä, joihin tulee opintojakson opiskelijoiden etsiä vastaukset. Edellä mainituista tehtävistä laaditaan raportti, joka palautetaan laboratorioharjoituksien yhteydessä. Laboratorioharjoituksissa kootaan linjasto ja tutustutaan PLC:hen ja luodaan logiikka opiskelijoiden suunnitelmien pohjalta. 4.3. Harjoitustöiden analysointi Opintojaksolle luotuja harjoitustöitä analysoidaan vertaamalla suunniteltuja harjoitustöitä lähtökohtina olleisiin vaatimuksiin ja toivomuksiin. Yksi suunnitelluista harjoitustöistä testautetaan Tuomo Tiimosella, joka on nykyinen Mekatroniikan peruskurssi -opintojakson assistentti. Seuraavissa kappaleissa analysoidaan harjoitustyöt ja esitetään kommentit testaajalta. 4.3.1. Harjoitustyön 1 analysointi Harjoitustyössä täyttyy kaikki tärkeimmät vaatimukset, joina voidaan pitää logiikan suunnittelua ja käänteiskinematiikan ratkaisua. Harjoitustyön esitehtävien avulla täyttyvät myös suurin osa muista vaatimuksista. Esimerkkinä mainittakoon tutustuminen Arduinon, ja sitä kautta manipulaattorin toimintaan. Harjoitustyö 1 koostuu neljästä (4) tehtävästä, joista kolmesta ensimmäisestä laaditaan kirjallinen raportti, joka palautetaan laboratorioharjoituksiin. Työn tärkeimpien esitehtävien, eli logiikkakaavion suunnittelun ja käänteiskinematiikanratkaisun lisäksi työhön kuuluu kaksi esiselvitystehtävää, joissa perehdytään PLC:n ja Arduinon toimintaan. Harjoitustyöohjeen alussa on kattava kuvaus harjoituksen linjastosta sekä sen työkierrosta, ja ohjeen sekä luennoilla opitun perusteella harjoitustyön pitäisi olla suhteellisen helposti ratkaistavissa. Harjoitustyöohje on esitetty liitteessä 1. 4.3.2. Harjoitustyön 2 analysointi Opintojakson aihepiirit on sisällytetty harjoitustyöhön mahdollisimman monipuolisesti, mikä oli yksi vaatimuksista. Harjoitustyön teoriaosuus sisältää 38 logiikan suunnittelua, käänteiskinematiikan laskemista ja kysymyksiä liittyen opintojaksolla käsiteltäviin teemoihin. Harjoitustyön logiikka saattaa olla haastava suunnitella, mutta harjoitustyön kuvauksessa, liite 2, on annettu siihen riittävästi ohjeistusta muun muassa työkierron kuvauksella ja pienillä vihjeillä. Itse luodun, ja toimivan, koodin testaaminen oikealla laitteistolla antaa lisää mielekkyyttä harjoituksiin. Konstruktion lopullista muotoa ja funktioita jouduttiin loppuvaiheessa muuttamaan johtuen manipulaattorin pneumatiikkasylinterin aiheuttamasta iskusta ja tämän vaikutuksesta kuljettimien sijoittamiseen korkeussuunnassa. Tämä vaikutti siihen, että haluttua kappaletavarasilmukkaa ei saatu aikaan. Lopullisessa työkierrossa manipulaattori siirtää kappaleen pois linjalta, mutta tämäkin on toimiva ratkaisu. Harjoitustyö sisältää teorian ja käytännön osuuksien kannalta kaikki ennalta annetut vaatimukset. Lisäksi kyseisen konstruktion ympärille voidaan luoda lisää mahdollisia harjoitustöitä tai varioida jo luotuja. 4.3.3. Testaajan palaute Nykyinen Mekatroniikan peruskurssin assistentti Tuomo Tiimonen testasi harjoitustyö 1:n ja alla on esitetty hänen kommenttinsa kyseisestä työstä. Toista harjoitustyötä hän ei kerennyt testaamaan ajanpuutteen takia. Vaikka työ onkin haastava, on se mielestäni mielenkiintoinen ja sopiva kurssin harjoitustyöksi. Työllä saadaan varmasti syntymään eroja ryhmien välille. Työstä tekee hyvän mm. se että työhön ei ole yhtä ainutta oikeaa ratkaisua. Itsekin toteutin toimivan kytkennän hieman eri lailla, kuin työn suunnittelijat olivat alunperin ajatelleet. Tein kytkennät ja ohjelman PLC:lle reilusti alle harjoituskertaan varattuun aikaan, joten hyvällä valmistautumisella kytkennät pitäisi olla suoritettavissa yhden harjoituskerran aikana. Toisaalta henkilö, joka ei ole ennen käyttänyt PLC:tä, voi olla hieman pulassa kytkennän kanssa. Olisi 39 varmaan hyvä pitää yksi harjoituskerta, jolloin tutustutaan PLC:n toimintaan, ennen varsinaisen kytkennän suorittamista. Mieleeni tuli myös muutama parannusehdotus: -Työtä varten tarvittaisiin uusia johtoja tai mahdollisesti johtosarja. Nykyisissä ei riitä pituus ja johtoja joudutaan jatkamaan. Myös johtojen värikoodaukseen (musta, punainen ja sininen) voisi kiinnittää huomiota, jolloin kytkentä selkeytyisi. -Liukuhihnojen kiristyksen voisi toteuttaa kierretankotyyppisesti. Nykyisellä systeemillä hihnat tahtovat puoltaa ja pyrkiä pois rullien päältä. -Ohjattaessa robottia käsin voisi ohjaimen napilla/keinulla käyttää magneettista tarttujaa. -Laitteisto ei ollut vielä kytketty pohjalevylle, joten en tiedä tarkalleen pystyykö työtä jatkossa muokkaamaan esimerkiksi lisäämällä toimintoja ja laitteita. Olisi hienoa jos näin voisi tehdä. Kaikenkaikkiaan erittäin onnistunut tehtävä kurssin harjoitustyöksi. Tuomo Tiimonen, 11.4.2011, Lappeenranta 4.3.4. Manipulaattorin jatkokehityskohteet Manipulaattorin kohdalla eniten jatkokehittelyä vaatii varsien nivelöinti. Kuten aiemmin kappaleessa 3.1 todettiin, manipulaattorin nivelöinti on toteutettu siten, että nivelvarret aiheuttavat turhaa kuormitusta servomoottorien akseleille. Tämä vaatisi manipulaattorin uudelleen suunnittelun nivelöinnin ja nivelvarsien osalta. Ensimmäisen nivelvarren servomoottori tulisi vaihtaa, sillä on syytä epäillä, että kyseinen rasitus on jo vaurioittanut servomoottorin laakerointia. Tämä huomataan jo pelkästään vertailemalla servojen liikkeistä syntyviä ääniä. Lisäksi manipulaattorin päässä oleva pneumatiikkasylinteri voitaisiin korvata pitempi iskuisella sylinterillä. Nykyisen sylinterin isku on 30 mm, mikä määrää 40 muiden oheislaitteiden sijoittamisen manipulaattoriin nähden. Myös manipulaattorin ohjauskoodit vaatisivat vielä selkeyttämistä ja parantelua. Tämän työn aikana koodeja jo paikkailtiin, mutta työ jäi vielä hieman kesken ajanpuutteen takia. 41 5. Johtopäätökset Tämän kandidaatintyön tarkoituksena oli suunnitella ja toteuttaa vuorovuosin järjestettävät harjoitustyöt LUT Metallin Älykkäiden koneiden laboratorion Mekatroniikka-opintojaksolle. Harjoitustyöt suunniteltiin siten, että harjoitustöissä hyödynnettäisiin keväällä 2010 Mekatroniikan työkurssilla tehtyä kolmen vapausasteen manipulaattoria. Robottikinemattiikka, ohjelmoitava logiikka ja anturointi ovat keskeisessä osassa tässä kandidaatintyössä sekä harjoitustöiden sisällössä. Työn tuloksena saatiin kaksi uutta ja mielestämme mielekästä harjoitustyötä Mekatroniikka-opintojaksolle. Harjoitustöiden soveltaviin tehtäviin ei ole vain yhtä oikeaa ratkaisua, mikä antaa opiskelijoille mahdollisuuden ratkaista ongelma haluamallaan tavalla. Tämä lisää myös harjoitustöiden mielekkyyttä sekä helpottaa arvostelua, kun opiskelijaryhmien ratkaisujen välille saadaan enemmän eroa. Harjoitustyöt vastaavat hyvin opintojakson sisältöä ja harjoitustöille asetettuja vaatimuksia. Testaajan antaman palautteen perusteella voidaan todeta, että suunnitellut harjoitustyöt ovat toteutuskelpoisia, ja niissä on riittävästi haastetta. Kommenttien ja omien havaintojen perusteella niin manipulaattorissa, kuin oheislaitteissakin on kuitenkin vielä jatkokehiteltävää. Lisäksi nykyisten laitteiden rinnalle on mahdollista kehittää lisää uusia oheistoimintoja, joiden avulla harjoitustöitä voidaan edelleen varioida. 42 LÄHTEET /1/ Veiste, T.;& Laukkanen, S. (2010). Harjoitustyö: Piirtorobotin/manipulaattorin suunnittelu ja valmistus. /2/ PLC Manual. (10. Huhtikuu 2011). Noudettu osoitteesta http://www.plcmanual.com/images/function_block_diagram2.jpg/ /3/ Airila, M. (1994). Mekatroniikka. Tekijä ja Otatieto Oy. /4/ Siemens. (10. Huhtikuu 2011). Siemens STEP7. Noudettu osoitteesta http://www.siemens.fi/pool/products/industry/iadt_is/tuotteet/automaatiotek niikka/ohjelmoitavat_logiikat/brochure_simatic-controller_en.pdf /5/ Arduino. (10. Huhtikuu 2011). Noudettu osoitteesta www.arduino.cc /6/ IFM. (17. Huhtikuu 2011). Noudettu osoitteesta http://www.ifm.com/ifmfin/web/dsfs!KG5067.html /7/ Wachendorff Automation. (17. Huhtikuu 2011). Noudettu osoitteesta http://www.wachendorff-automation.com/shaft-encoder-incremental- quadrature-optical-clamping-flange-wdg58t.html /8/ Craig, J. J. (1986). Introduction to robotics: mechanics and control. Addison-Wesley Publishing Company. /9/ Mathworks. (10. Huhtikuu 2011). Noudettu osoitteesta http://www.mathworks.com/help/techdoc/ref/atan2.html /10/ Handroos, H. (2009). Mekatroniikan luentomateriaali. LUT. /11/ Lappeenrannan teknillisen yliopiston opinto-opas 2010-2011. LIITE I (1/4) HARJOITUSTYÖOHJE 1 Lajittelulinjaston logiikan ja pneumatiikan suunnittelu Harjoitustyö tehdään 4-5 hengen ryhmissä, ja se koostuu neljästä esitehtävästä sekä älykkäiden koneiden laboratoriossa tapahtuvasta linjaston kokoamisesta ja testauksesta. Lisäksi laboratoriossa tutustutaan Arduino-mikrokontrolleriin ja sen toimintaan. Kolmesta ensimmäisestä esitehtävästä laaditaan kirjallinen raportti, joka palautetaan laboratorioharjoitusten alussa. Esitehtäviin tulee osata vastata myös suullisesti laboratorioharjoituksissa. Esitehtävien tekemisen avuksi löytyy materiaalia esimerkiksi kurssin Noppa-sivustolta. Kuva 1. Lajittelulinjasto Linjaston kuvaus Lajittelulinjaston kokoonpano on esitetty kuvassa 1. Linjasto koostuu kahdesta erillisestä liukuhihnasta (1 & 2) sekä kappaleensiirtorobotista (3). Linjastoa pitkin kulkee samankokoisia muovi- ja teräskappaleita, jotka lajitellaan liukuhihnojen 1 ja 2 välissä induktiivisen anturin ja pneumaattisen sylinterin avulla. Muoviset 1 2 3 LIITE I (2/4) kappaleet poistetaan linjastolta ja teräskappaleet siirtyvät liukuhihnalle 2. Liukuhihnan 2 lopussa oleva optinen anturi tunnistaa liukuhihnan päähän tulleen kappaleen, minkä jälkeen siirtorobotti siirtää teräskappaleen linjastolta pois. Linjastoa ohjataan pääosin Siemensin PLC:llä (S7-300 –logiikka), mutta siirtorobotilla on oma mikrokontrolleri, Arduino. PLC:n ja Arduinon rajapinta on toteutettu yhdellä inputilla ja yhdellä outputilla. Kun robotti on valmiustilassa, Arduino antaa PLC:lle signaalin, jonka arvo on 1. Vastaavasti kun robotti on liikkeessä, Arduino antaa PLC:lle signaalin, jonka arvo on 0. Linjaston työkierto - Käynnistys painonappia painamalla - Kuljettimet lähtevät liikkeelle - Induktiivinen anturi havaitsee teräskappaleen - Kuljettimet pysähtyvät sopivalla viiveellä - Pneumatiikkasylinteri siirtää kappaleen toiselle kuljettimelle - Kuljettimet lähtevät liikkeelle - Optinen anturi havaitsee kappaleen - Kuljettimet pysähtyvät sopivalla viiveellä - Siirtorobotille annetaan käsky siirtää kappale - Odotetaan siirtorobotilta tietoa siitä, että kappale on siirretty - Kierto alkaa alusta LIITE I (3/4) Tehtävä 1: Logiikkakaavio Suunnittele lajittelulinjaston ohjaus, käyttäen S7-300 logiikkaa. Ohjauksen tulee toteuttaa työkierto. Työkierto alkaa painonappia painamalla, mutta vain jos robotti ei ole liikkeessä. Lisäksi linjasto pysähtyy mikäli painonappia painetaan uudelleen, tai jos robotilta saatava signaali muuttuu 0:ksi. Robotin ohjausta ei tarvitse huomioida muuten kuin antamalla PLC:llä käsky (1-signaali) Arduinolle. Laadi ohjauksesta kosketinkaavio, joka kirjoitetaan laboratoriossa PLC:hen. Käytä apunasi liitteinä olevia taulukoita. Käytettävät komponentit on listattu taulukkoon x. Vihje: Networkit ja SR-kiikut helpottavat elämää. Tehtävä 2: Siirtorobotin käänteiskinematiikan ratkaisu Siirtorobotin geometria on esitetty kuvassa 2. Ratkaise robotin käänteiskinematiikka parhaaksi näkemälläsi ratkaisutavalla (geometrinen- tai algebrallinen ratkaisutapa, Denavit-Hartenberg). Tarkoituksena on siis laskea robotin varsien kulmat kun robotin kärjen asema tiedetään. Tee ratkaisusta ensin paperiversio kuvan kera. Tämän jälkeen kirjoita paperiversion avulla vastaava MATLAB-koodi. Lisää MATLAB-koodiin skaalaus, joka muuttaa ratkaistut nivelkulmat servojen ohjausarvoja vastaaviksi. Tällöin koodia voidaan käyttää suoraan robotin ohjaukseen sarjakaapelin välityksellä. Servot saavat arvoja välillä 0...255. Huom! Käänteiskinematiikalle löytyy kyseisessä tapauksessa aina kaksi ratkaisua. Valitaan tässä tapauksessa aina ratkaisu, jossa ”kyynärpää” osoittaa ylöspäin. Toisin sanoen: oikeassa puolitasossa ”kyynärpää” osoittaa vasemmalle, ja vasemmassa puolitasossa oikealle. LIITE I (4/4) Kuva 2. Siirtorobotin nivelvarsien geometria. Tehtävä 3: Esikysymykset Vastaa kirjallisesti alla oleviin kysymyksiin. Kysymyksiin tulee osata vastata myös suullisesti laboratorioharjoitusten alussa. A) Mikä on PLC ja mitä sillä tehdään? Yleisimmät käyttökohteet? B) Mistä eri yksiköistä PLC koostuu? C) Mitä eri takaisinkytkentöjä servoissa yleensä käytetään? D) Mitä tarkoittaa PWM, ja missä yhteydessä sitä käytetään? E) Mikä on induktiivisen anturin toimintaperiaate? Tehtävä 4: Arduino-mikrokontrolleriin tutustuminen Tutustu Arduino-mikrokontrolleriin ja sen toimintaan esimerkiksi seuraavissa osoitteissa: http://arduino.cc/ & http://en.wikipedia.org/wiki/Arduino Arduinoon tutustutaan tarkemmin käytännössä laboratorioharjoituksissa, mutta selvitä etukäteen ainakin seuraavat asiat: - Mihin tarkoitukseen Arduinoa voidaan käyttää? - Mitkä ovat Arduinon edut? - Mikä on Arduinon ohjelmointikieli? L1 L2 LIITE II (1/5) HARJOITUSTYÖOHJE 2 Kappaletavaralinjaston logiikan ja pneumatiikan suunnittelu Harjoitustyön tarkoituksena on suunnitella kappaletavarasiirtojärjestelmän pneumaattinen toimilaitteisto ja tämän sähköinen ohjaus hyödyntäen S7-300 logiikkaa. Kyseinen konstruktio on esitetty kuvassa 1. Harjoitustyöhön liittyvää materiaalia löytyy Nopasta/BlackBoadista ja kurssin luentomateriaaleista. Harjoitustyö koostuu 4 esitehtävästä ja laboratoriossa tapahtuvasta linjaston kokoamisesta ja testauksesta. Harjoitus tehdään 4-5 opiskelijan ryhmissä ja esikysymyksistä (1-3) laaditaan kirjallinen raportti. Kuva 1. Konstruktio Kokoonpanon kuvaus Konstruktio koostuu manipulaattorista (1), kahdesta liukuhihnasta (2) ja siirtäjästä (3), mitkä on esitetty kuvassa 1. Tarkoituksena on liikuttaa metallikappaleita 1 2 3 LIITE II (2/5) liukuhihnoilla, joita liikutetaan hihnalta toiselle manipulaattorin ja siirtäjän avulla. Liukuhihnat toimivat kahdella DC-moottorilla. Siirtäjä toimii kahdella sylinterillä. Konstruktiossa on kaksi optista anturia kappaleiden tunnistusta varten. Manipulaattoria ohjaa ARDUINO -mikrokontrolleri. ARDUINO ohjaa manipulaattorin päässä olevaa magneettia ja sylinteriä. Työkierron kuvaus Metallikappale liikkuu liukuhihnalla ja anturin tunnistettua kappaleen, joka on ensimmäisen liukuhihnan päässä, liukuhihnat pysähtyvät ja siirtäjän ensimmäinen pneumaattinen sylinteri (liukuhihnojen välinen matka) työntyy ulos. Toinen sylinteri toimii vasta kun ensimmäinen on kokonaan työntynyt ulos. Kun sylinterit ovat vetäytyneet takaisin niin tällöin liukuhihnat toimivat taas. Kappaleen tultua toiselle anturille (manipulaattorin puoleinen), liukuhihnat pysähtyvät ja manipulaattori siirtää kappaleen pois linjastolta ja palaa takaisin referenssipisteeseensä. Ohjaus tapahtuu PLC:n (S7-300-logiikka) kautta ja manipulaattorin sisältämällä mikrokontrollerilla. Näiden kahden välillä oleva rajapinta on toteutettu yhdellä inputilla ja yhdellä outputilla. Kun manipulaattori on valmiustilassa, kontrolleri antaa PLC:lle arvon 1 ja 0 kun suorittaminen on kesken. Työkierron kuvaus - Käynnistys painonapilla - Liukuhihnat liikkeelle - Anturi havaitsee kappaleen - Liukuhihnat pysähtyvät viiveellä - Siirtäjä liikuttaa kappaleen toiselle liukuhihnalle - Siirtäjä palaa alkuasentoon - Liukuhihnat liikkeelle - Anturi havaitsee kappaleen - Liukuhihnat pysähtyvät (viiveellä) - Manipulaattori saa käskyn siirtää kappaleen - Siirto tapahtuu ja ilmoittaa kun valmis - Uusi työkierto LIITE II (3/5) Raportointi Kohdista 1-3 laaditaan kirjallinen raportti (max 5 sivua), joka palautetaan ennen laboratorioharjoitusta. Kysymyksiin on myös osattava vastata suullisesti laboratorioharjoituksen alussa. Esikysymyksien kirjallisiin vastauksiin lähdeviittaukset. Tehtävä 1 - Logiikan suunnittelu Suunnittele kappaletavarasiirtojärjestelmän ohjaus, kun ohjauksen tarkoituksena on suorittaa työkierto. Työkierto kuvattu aiemmin tekstissä. Manipulaattorin ohjaus huomioidaan antamalla PLC:lle käsky (1-signaali) Arduinolle. Luo ohjauksen kosketinkaavio standardipiirrosmerkein. Tämä siirretään laboratorioharjoituksessa PLC:hen. Hyödynnä Nopasta/BlackBoard:sta löytyviä dokumentteja. Käytössä on Feston logiikka -ja kytkentäpöydästä löytyvät komponentit. Vihje: Networkit ja SR-kiikut tekevät elämän helpommaksi. LIITE II (4/5) Tehtävä 2 - Käänteiskinematiikan ratkaisu Ratkaise manipulaattorin käänteiskinematiikka hyödyntäen geometrista, algebrallista tai Denavit-Hartenberg – ratkaisutapaa. Käsitellään manipulaattoria tasotapauksena. Kuvassa 2 on esitetty yksinkertaistettu kuva manipulaattorista. Kuva 2. Yksinkertaistettu esitys manipulaattorista. Käänteiskinematiikassa tiedetään varsien pituudet ja työkalun koordinaatit ja tarkoituksena on ratkaista varsien kulmat. Ratkaise käänteiskinematiikka paperilla kuvan kanssa. Tämän jälkeen luo Matlab-koodi, joka vastaa paperiversioita. Matlab-koodiin tulee lisätä skaalaus, jotta nivelkulmat vastaisivat servojen ohjausarvoja. Skaalauksen jälkeen voidaan luodulla koodilla ohjata manipulaattoria sarjaportin kautta. Servot saavat arvoja välillä 0...255. LIITE II (5/5) Huomatus: Käänteiskinematiikassa varsien lukumäärä vastaa ratkaisujen määrää eli kulmakombinaatioita. Valitse se kombinaatio, jossa ensimmäisen varren pää on toiminta-alueella (0-180 astetta). Tehtävä 3 – Esikysymykset A) Mikä on potentiometri ja mitkä ovat sen käyttökohteet? B) Mikä on PLC ja missä sitä hyödynnetään? C) Millaisia takasinkytkentöjä servoissa on? Mitä takaisinkytkennällä tarkoitetaan? D) Anturityypit ja niiden toimintaperiaatteet (asema-anturit). Tehtävä 4 – ARDUINO Tutustukaa ARDUINO -mikrokontrollerin ideologiaan. Osoitteesta http://www.arduino.cc/ löytyy tietoa kyseisestä komponentista. ARDUINO:sta kuulustellaan suullisesti harjoituksessa. LIITE III (1/4) LIITE III (2/4) LIITE III (3/4) LIITE III (4/4)