Sulautettujen järjestelmien kilpailutehtävä



Samankaltaiset tiedostot
Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

Sulautettujenjärjestelmien kilpailutehtävä Hissin ohjaus mikro-ohjaimella (DC-moottorin ohjaus)

Yleistä. Kilpailutehtävät: Tehtävä 1. Nokian Label Jigin kasaus (29.01 klo ) Ohjeen laatija Olavi Lähteinen

Taitaja2007/Elektroniikka

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin

811120P Diskreetit rakenteet

Pynnönen Opiskelija: Tarkastaja: Arvio:

Pynnönen Opiskelija: Tarkastaja: Arvio:

811120P Diskreetit rakenteet

5.6. C-kielen perusteet, osa 6/8, Taulukko , pva, kuvat jma

OUM6410C pisteohjattu venttiilimoottori 24 VAC

Taitaja2008, Elektroniikkalajin semifinaali

SMG-1100: PIIRIANALYYSI I

SMG-4500 Tuulivoima. Viidennen luennon aihepiirit YLEISTÄ ASIAA GENERAATTOREISTA

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet pva

SMG-2100: SÄHKÖTEKNIIKKA. Kirchhoffin lait Aktiiviset piirikomponentit Resistiiviset tasasähköpiirit

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja.

Merkkikohtainen asennusohje AP-550 GoldCruiselle joka on suunniteltu: Nissan Almera Tino 2003 > (vaijerikäyttöinen) Osa B

DEE-11110: SÄHKÖTEKNIIKAN PERUSTEET. Kirchhoffin lait Aktiiviset piirikomponentit Resistiiviset tasasähköpiirit

AS Automaatio- ja systeemitekniikan projektityöt

SMG-4500 Tuulivoima. Viidennen luennon aihepiirit YLEISTÄ ASIAA GENERAATTOREISTA

Sähköpistokkeet Kontaktisillat Kontaktisillat ja kaapelit. Luetteloesite

AC-Radiaalituuletin. taakse taipuva

Tehtävä 2: Manipulaattoriaseman asennus, ohjelmointi ja käyttöönotto

Yleistä ebmpapst-puhaltimista - Kuvaus teknisistä tiedoista AC

Ohjelmoinnin peruskurssi Y1

STEP-404 askelmoottoriohjain PROBYTE/Pekka Ritamäki

KYTKENTÄOHJEET ROTAATIOLÄMMÖNVAIHTIMEN OHJAUSYKSIKKÖ

Magneettikenttä ja sähkökenttä

AC-Radiaalituuletin - RadiCal

Omistajan käsikirja. Endura C2 Endura Max

Sähkö ja magnetismi 2

Turvaohjeet. Johdollinen ohjainsarja Pro Force -lehtipuhallin. Turva- ja ohjetarrat VAARA. Irralliset osat. Asennusohjeet

MIKROAALTOMITTAUKSET 1

Sähkömagneettinen induktio

AC-Aksiaalituuletin - HyBlade

a) Kuinka pitkän matkan punnus putoaa, ennen kuin sen liikkeen suunta kääntyy ylöspäin?

Käyttöohje SOLO - Henkilönostin 150 / 200kg

Sähkövirran määrittelylausekkeesta

EC-Radiaalituuletin. eteenpäin taipuva, yhdeltä puolelta imevä kotelolla (laippa)

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

JYRSIN SISÄLLYSLUETTELO:

Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00

Harjoitustyö - Mikroprosessorit Liikennevalot

8a. Kestomagneetti, magneettikenttä

Harjoitustehtäviä kokeeseen: Sähköoppi ja magnetismi

KÄYTTÖOHJE - INVERTTERI 12V tai 24V -> 230V 55Hz

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

KYTKENTÄOHJEET ROTAATIOLÄMMÖNVAIHTIMEN OHJAUSYKSIKKÖ

IBC control Made in Sweden VIANETSINTÄ MICROMAX- JA VVX-MOOTTORIT

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Kenguru 2017 Mini-Ecolier: Ratkaisut (2. ja 3. luokka)

Muuttujien roolit Kiintoarvo cin >> r;

AC-Aksiaalituuletin. taivutetut siivet (S-rivi) Pyöreällä imukartiolla

Lajit, ohjeet, pisteytys ja standardit.

DINO 80R Pikaopas. Nostimen rekisteriote ja käyttöohjeet sijaitsevat putkessa puomin tyvessä.

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

y 2 h 2), (a) Näytä, että virtauksessa olevan fluidialkion tilavuus ei muutu.

Ohjelmoinnin perusteet Y Python

Asennus. CE-valosarja Groundsmaster 4000-D/4100-D -sarjan ajoyksikkö Mallinro: Irralliset osat. Ohjeet, oppaat ja muut osat.

SMG-2100: SÄHKÖTEKNIIKKA

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Finnish. Osien nimet. Tarkistuslaiteyksikkö. Sähkökaapelin tarkistuslaite. Vaihtokytkimen tarkistuslaite SM-EC79 HAKEMISTO

AC-Radiaalituuletin. kommandiittiyhtiö toimipaikka Mulfingen Käräjäoikeus Stuttgart HRA

Algoritmit 2. Luento 7 Ti Timo Männikkö

ESMART202 Teholähde ja akkulaturi

SMG-1100: PIIRIANALYYSI I

Elco elektroninen termostaatti ELTH

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Algoritmit 1. Demot Timo Männikkö

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

TiiMi Talotekniikka. LATTIALÄMMITYS- TERMOSTAATTI TiiMi 7250TL. v. 1.0

RULMECA yhtiöt. Rumpumoottori 250kW massatavaran käsittelyyn ESITTELY FI 10/10

DEE Tuulivoiman perusteet

SPST-tyyppisen virtakytkimen kytkentäkaavio (lisävaruste)

Repijäuppopumppu. Paineviemärijärjestelmän sydän

AC-Aksiaalituuletin - HyBlade

Asennusohje Viritettävä terrestiaalipäävahvistin HMB 6. SSTL n:o ULA-VHF I, VHF III, 6 x UHF ja AUX

ICE IN-CAR ENTERTAINMENT SYSTEM. Vianmääritysopas. Manual Ref. no. ATM fin

75059 Suuri lajittelusarja

Tietotyypit ja operaattorit

Käyttöohjeet LA-VA V300 / Premium Line VAKUUMIPAKKAUSLAITE

Monisilmukkainen vaihtovirtapiiri

AC-Aksiaalituuletin - HyBlade

1. Perusturvallisuusohjeet

KARAMOOTTORIT IP N 3000N - 210mm 310mm - IP 55 - säädettävissä molemmilta rajoilta - rajaulosotot merkkilampuille vakiona 02.

PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5

Installation instructions, accessories. Handsfree, bluetooth. Volvo Car Corporation Gothenburg, Sweden , ,

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

Etupaneeli. ON LINE valo on sammunut jos virhetila tai painettu PAUSE. Näytöllä lukee ON LINE => tulostin on valmis

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa

Johdanto Tavoitteet Työturvallisuus Polttokennoauton rakentaminen AURINKOPANEELITUTKIMUS - energiaa aurinkopaneelilla...

Moottorisarja GreensPro viheriöjyrä

Paikantavan turvapuhelimen käyttöohje

Transkriptio:

Sulautettujen järjestelmien kilpailutehtävä Tehtävän laatija: Jari Koskinen, Tietomyrsky Oy Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Askelmoottorit Askelmoottori ei ole samanlainen moottori kuin tavallinen DC-moottori. DC-moottorissa on yksi käämi ja moottori pyörii, kun siihen kytketään käyttöjännite. Askelmoottorissa on sen sijaan useita käämejä, joihin kytketään jännite tietyssä järjestyksessä. Jokaisella jännitteen kytkentähetkellä moottorin akseli kääntyy yhden askeleen verran. Kahden peräkkäisen askeleen välillä pitää olla riittävä taukoaika, jotta moottorin roottori ehtii asettua askelta vastaavan asentoon. Moottorin askelpituus riippuu moottorin rakenteesta. Kuvan 1 moottorin askelpituus on 7,5 O, jolloin moottorin akseli pyörähtää täyden ympyrän (360 O ) 48 askeleella. Unipolaarinen askelmoottori Unipolaarisella askelmoottorilla on yleensä (5 tai) 6 liitäntäjohtoa, jotka on kytketty kuvan 1 mukaisesti kahteen keskiulosotolla varustettuun käämiin. Joissain malleissa molempien käämien keskiulosotot voi olla yhdistettynä toisiinsa. Kuva 1. Tehtävässä käytettävän askelmoottorin data-tiedot. Käytännössä molempien käämien keskiulosotot (Red, kuvassa 1) kytketään positiiviseen syöttöjännitteeseen ja molempien käämien päät (Black, Brown, Orange ja Yellow) kytketään vuorotellen syöttöjännitteen maahan (negatiiviseen napaan). Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Kuvassa 2 esitetään unipolaarisen askelmoottorin periaatteellinen rakenne. Moottorin roottorissa on kiinteä magneetti, jossa on 3 pohjoisnapaa (N) ja 3 etelänapaa (S). Moottorin käämi 1 on sijoitettu staattorin napojen ylä- ja alapuolelle. Käämi 2 on sijoitettu vastaavasti vasemmalle ja oikealle puolelle. Kuva 2. Unipolaarisen askelmoottorin periaatteellinen rakenne. Kuvassa 2 on esitetty, miten moottorin staattori pyörähtää neljä askelta. Tänä aikana esimerkkimoottorin akseli kääntyy 4 * 7,5 O = 30 O. Kun moottoria pyöritetään myötäpäivään, kuvan 2 käämeihin pitää kytkeä jännite seuraavassa järjestyksessä: 1a, 2b, 1b, 2a, 1a, 2b, 1b, 2a, 1a, Kuvan 1 moottorin liitäntäjohtojen värien mukaan jännite kytketään seuraavassa järjestyksessä: Musta, oranssi, ruskea, keltainen, musta, oranssi, ruskea, keltainen, musta, Normaalisti, kun askel on suoritettu, aktiivinen käämi jätetään jännitteelliseksi. Tällöin moottori pitää asentonsa. Jos käämiä ei jätetä jännitteelliseksi, moottorin akseli pyörii vapaasti, jos sitä esimerkiksi pyöritetään. Askelmoottori siis kuluttaa virtaa, vaikka se on pysähtyneenä. Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Kilpailutehtävä 1. Piirrä askelmoottorin tarvitseman liitäntäelektroniikan kytkentä liitteenä olevalle kytkentä-kaavion pohjalle. Askelmoottoria ohjataan EXB2313-kortin PB0 PB3 lähtöliitännöillä. Valitse tarvittavat komponentit jaettujen komponenttien joukosta. Huomaa, että kaikkia jaettuja komponentteja ei tarvitse käyttää. Kun olet valmis, irrota kytkentäkaaviosivu nipusta ja laita paperiin omat tietosi (nimi ja numero). Esitä kytkentäkaavio tuomarille ja pyydä lupaa jatkaa tehtävää eteenpäin. max 10 p 2. Kytke tarvittavat komponentit ja askelmoottori EXB2313-kortin koekytkentäalustalle. Esitä kytkentä tuomarille ja pyydä lupaa jatkaa tehtävää eteenpäin. max 3 p 3a. Tee askelmoottorin pyörittämiseen tarvittava ohjelma siten, että Kun S1-näppäintä pidetään alhaalla moottori pyörii vastapäivään Kun S2-näppäintä pidetään alhaalla moottori pyörii myötäpäivään Esitä ohjelman toimivuus tuomarille ja pyydä lupaa jatkaa ohjelman B-osaan. max 8 p 3b. Lisää edelliseen ohjelmakoodiin seuraavat toiminnot Kun S3-näppäintä painetaan kerran, moottori pyörii vastapäivään yhden koko kierroksen Kun S4-näppäintä painetaan kerran, moottori pyörii myötäpäivään yhden koko kierroksen Esitä ohjelman B-osan toimivuus tuomarille. max 4p Laadi ohjelma siten, että se on kommentoitu ja muotoiltu oikein. Käytä hyvän ohjelmointitavan mukaisia vakiomäärittelyjä, mikäli ohjelmassa esiintyy vakioita. Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Komponenttien data-tiedot Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Taitaja 2003/Jyväskylänkoulutuskuntayhtymä Taitajat esiin! Käyntiosoite: Sepänkatu 3, Jyväskylä Puh (014) 444 5130, fax (014) 444 5500

Taitaja 2003 tehtävän mallivastaus pelkkään A-osaan /********************************************************************** Project : Askelmoottorin ohjaus Version : 1.0 Date : 21.1.2001 Author : Jari Koskinen Company : Tietomyrsky Oy Finland **********************************************************************/ #include <90s2313.h> #include "exb2313.h" #include <delay.h> #define STEP_DELAY 100 // askelten välissä oleva viive unsigned char step[] = 1, 4, 2, 8; // askelkuvio talletettu taulukkoon void main(void) char i; // indeksimuuttuja taulukkoon (0...3) PORTB=0xFF; DDRB=0xFF; PORTD=0x7C; DDRD=0x40; // B-portin liitännät lähdöiksi // D-portin liitännät i = 0; while (1) if (S1) // asetetaan indeksimuuttuja osoittamaan // taulukon ensimmäistä alkiota // jos S1-näppäintä on painettu... // pyöritetään myötäpäivään i--; // taulukon edellinen alkio if (i<0) // varmistetaan, että indeksi ei mene i = 3; // nollaa pienemmäksi if (S4) // jos S4-näppäintä on painettu... // pyöritään vastapäivään i++; // taulukon seuraava alkio if (i>3) // varmistetaan, että indeksi ei mene i = 0; // yli kolmosen PORTB = step[i]; delay_ms(step_delay); // asetetaan seuraavan askeleen vaatima tieto // pidetään tauko jokaisen askeleen välissä ;

Taitaja 2003 tehtävän mallivastaus A-osa ja B-osa yhdessä /********************************************************************** Project : Askelmoottorin ohjaus Version : 1.0 Kilpailijan tiedot pitäisi näkyä Date : 21.1.2001 ohjelmalistauksessa. Kannattaa vielä Author : Jari Koskinen muistuttaa kilpailijoita Company : Tietomyrsky Oy Finland **********************************************************************/ #include <90s2313.h> #include "exb2313.h" #include <delay.h> Vakiot pitäisi olla määritelty. #define STEP_DELAY 100 // askelten välissä oleva viive /**************************************************************************/ /* B-osaan tarvittavat lisämäärittelyt */ /**************************************************************************/ #define CLOCKWISE 1 // pyöritään myötäpäivään #define ANTICLOCKWISE 2 // pyöritään vastapäivään #define ONE_ROUND 48 // yksi kierros on 48 askelta kerrallaan /**************************************************************************/ unsigned char step[] = 1, 4, 2, 8; // askelkuvio talletettu taulukkoon /**************************************************************************/ /* B-osaan tarvittavat lisämuuttujat */ /**************************************************************************/ unsigned char steps; // askelten määrä unsigned char dir; // pyörimissuunta /**************************************************************************/ void main(void) char i; // indeksimuuttuja taulukkoon (0...3) PORTB=0xFF; DDRB=0xFF; PORTD=0x7C; DDRD=0x40; i = 0; while (1) if (S1) // B-portin liitännät lähdöiksi // D-portin liitännät // asetetaan indeksimuuttuja osoittamaan // taulukon ensimmäistä alkiota // jos S1-näppäintä on painettu... // pyöritetään myötäpäivään i--; // taulukon edellinen alkio if (i<0) // varmistetaan, että indeksi ei mene i = 3; // nollaa pienemmäksi if (S2) // jos S2-näppäintä on painettu... // pyöritään vastapäivään i++; // taulukon seuraava alkio if (i>3) // varmistetaan, että indeksi ei mene i = 0; // yli kolmosen Rakenteet pitää olla selkeästi ja johdonmukaisesti sisennettyjä. Askelkuviot taulukossa on parempi kuin, että ne olisivat aseteltu bitti Ohjelma pitää olla kommentoitu. Kommenttien sisältöä voisi arvioida myös, jos menee hiusten halkomiseksi. Hyvä kommentti selittää ohjelman toimintaa, eikä esim. laitetaan luku 3 muuttujaan. Senhän näkee C- lauseestakin.

/************************************************************************/ /* B-osan ohjelmakoodi */ /************************************************************************/ if (S3) // jos S3-näppäintä on painettu... dir = ANTICLOCKWISE; // pyöritään vastapäivään... steps = ONE_ROUND; // aseta yhteen kierrokseen tarvittava // askelmäärä if (S4) // jos S4-näppäintä on painettu... dir = CLOCKWISE; // pyöritään myötäpäivään... steps = ONE_ROUND; // aseta yhteen kierrokseen tarvittava // askelmäärä if (steps) // jos on vielä askeleita jäljellä... if (dir == ANTICLOCKWISE) // onko suunta vastapäivään? i--; // taulukon edellinen alkio if (i<0) // varmistetaan, että indeksi ei mene i = 3; // nollaa pienemmäksi else // jos ei, niin se on myötäpäivään? i++; // taulukon seuraava alkio if (i>3) // varmistetaan, että indeksi ei mene i = 0; // yli kolmosen steps--; // vähennä yksi askel /************************************************************************/ ; PORTB = step[i]; delay_ms(step_delay); Helppo muuttaa nopeutta (vakiot!) // asetetaan seuraavan askeleen vaatima tieto // pidetään tauko jokaisen askeleen välissä Onko käytetty vastaavissa tilanteissa elselausetta. Vai vertaillaanko uudelleen if-lauseella (jos kaksi vaihtoehtoa). Onko ohjelma skaalattavissa? Jos se halutaan saada pyörittämään n-kierrosta. Selviääkö tarvittava muutos kommenteista? Tähän päästään yleensä vakioiden käytöllä ja riittävällä kommentoinnilla. Tässä voisi vielä huippuominaisuutena olla tehtävä ratkaistuna siten, että PORTB:ssä (8-bit) voisi olla kaksi toisistaan riippumatonta askelmoottoria tai muita ohjauksia (LEDejä). Eli, kun PORTB:n neljään alimpaan bittiin asetetaan tieto, neljä ylintä bittiä ei muutu mitenkään (AND- ja ORoperaatioilla).