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



Samankaltaiset tiedostot
Sulautettujen järjestelmien kilpailutehtävä

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

Taitaja2007/Elektroniikka

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

Taitaja2008, Elektroniikkalajin semifinaali

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa

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

DC-moottorin pyörimisnopeuden mittaaminen back-emf-menetelmällä

lomake 6 Taitaja 2007 Lajinumero: 06 Kilpailijanumero: 41 Kilpailijan nimi Anonyymi Kilpailija41 Allekirjoitukset

ELEKTRONIIKAN PERUSTEET T700504

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

Sähköpaja. Kimmo Silvonen (X)

Elektroniikka. Mitä sähkö on. Käsitteistöä

Sähkövirran määrittelylausekkeesta

TAITAJA 2006 ELEKTRONIIKKAFINAALI

EMC Mittajohtimien maadoitus

Multivibraattorit. Bistabiili multivibraattori:

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon

Tehtävä 6. MIAC-pohjainen valo/moottoriohjaus

SÄHKÖ KÄSITTEENÄ. Yleisnimitys suurelle joukolle ilmiöitä ja käsitteitä:

Transistoreiden merkinnät

Elektroniikan perusteet, Radioamatööritutkintokoulutus

KÄYTTÖOHJE. M2M Point - to - Point

ELEC-C6001 Sähköenergiatekniikka, laskuharjoitukset oppikirjan lukuun 10 liittyen.

ABT VAIJERIVINTTURI NOSTOON VAVIN300EL, VAVIN500EL, VAVIN1000EL JA VAVIN3500EL

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

Elektroniikan perusteet, Radioamatööritutkintokoulutus

6.2. AVR_rauta. Analogia-komparaattori-ohjelmointia , pva

CISCO AIRONET 1131AG -TUKIASEMA

Pynnönen Opiskelija: Tarkastaja: Arvio:

Käyttöohje Dynamic yksilölliset kuulokojeet

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

Sähköpajan elektroniikkaa

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

2. Vastuksen läpi kulkee 50A:n virta, kun siihen vaikuttaa 170V:n jännite. Kuinka suuri resistanssi vastuksessa on?

Pynnönen Opiskelija: Tarkastaja: Arvio:

Sähköautoprojekti Pienoissähköauto Elektroniikan kokoonpano Moottoriohjain.

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla

Pamemetrilista ADAP-KOOL. EKC 201 ja EKC 301

Vaaka Emp-231C. Liittimet 7, 8 ja 9 ovat transistorilähdöt. 7=yhteinen miinus, 8=alas-pulssit, 9=ylöspulssit.

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

EVTEK/ Antti Piironen & Pekka Valtonen 1/6 TM01S/ Elektroniikan komponentit ja järjestelmät Laboraatiot, Syksy 2003

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

SÄHKÖENERGIATEKNIIIKKA. Harjoitus - luento 7. Tehtävä 1

602 Elektroniikka. Kilpailutehtävä 1. Asiakirjan nimi 1(2) LEDeillä toteutetun nuolimoduulin kokoaminen ja testaus (10p)

DIODIN OMINAISKÄYRÄ TRANSISTORIN OMINAISKÄYRÄSTÖ

Tehokas ledivalaisin 30 valkoisella ledillä. Käyttöjännite 12 20V. Nimellisvirta on noin 0.10A A Suunnittelija Mikko Esala.

Käyttöohjeet. Radio-ohjattava vene RC FT008

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

2 Jannitelähde 24 V 28 V 7,5 A

OUM6410C pisteohjattu venttiilimoottori 24 VAC

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti

7.3. Oheisrautaa. DS

Adafruit Circuit Playground Express

Rihtausohje. J.Puhakka

Tasohyppelypeli. Piirrä grafiikat. Toteuta pelihahmon putoaminen ja alustalle jääminen:

Energian hallinta Energiamittari Tyyppi EM110

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Mikkelin ammattikorkeakoulu Tarkk` ampujankuja 1 PL 181, MIKKELI KÄYTTÖOHJEET: FLUKE Networks IntelliTone 200 Toner ja Probe

Elektroniikka ja sähkötekniikka

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla.

Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".

C 2. + U in C 1. (3 pistettä) ja jännite U C (t), kun kytkin suljetaan ajanhetkellä t = 0 (4 pistettä). Komponenttiarvot ovat

3D-kuva A B C D E Kuvanto edestä Kuvanto sivulta Kuvanto päältä. Nimi Sotun loppuosa - Monimuotokoulutuksen soveltavat tehtävät 20 p. Tehtävä 1 3p.

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

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS

Osakäämikoneiden mittausohje

PERUSRAKENTEET Forward converter, Myötävaihemuunnin ( BUCK regulaattori )

Ohjeita kuvun ongelmatilanteisiin

1. Tasavirta. Virtapiirin komponenttien piirrosmerkit. Virtapiiriä havainnollistetaan kytkentäkaaviolla

Aineopintojen laboratoriotyöt I. Ominaiskäyrät

Tehtävä 5. ECIO dataloggeri lämpötila-anturilla

OPERAATIOVAHVISTIN. Oulun seudun ammattikorkeakoulu Tekniikan yksikkö. Elektroniikan laboratoriotyö. Työryhmä Selostuksen kirjoitti

KAAPELITESTERI / PAIKANNIN TRIFITEK TR-383 PIKAKÄYTTÖOHJE V1.0

kipinäpurkauksena, josta salama on esimerkki.

PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite

Käyttöohjeet. Huippunopea radio-ohjattava pikavene RC FT009

LANKAKERÄ NEULOMINEN

Autotallin ovi - Tehtävänanto

SMG-1100: PIIRIANALYYSI I

PIKAKÄYTTÖOHJE V S&A Matintupa

SATE1050 PIIRIANALYYSI II / MAARIT VESAPUISTO: APLAC, MATLAB JA SIMULINK -HARJOITUSTYÖ / SYKSY 2015

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

Varauspumppu-PLL. Taulukko 1: ulostulot sisääntulojen funktiona

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen

LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje

S Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

SMG-2100: SÄHKÖTEKNIIKKA

LOPPURAPORTTI Lämpötilahälytin Hans Baumgartner xxxxxxx nimi nimi

Vapaa-asennon automaattikytkennän aktivointi. Yleistä

Omnia AMMATTIOPISTO Pynnönen

Joka päivän alussa, asentaja saa ohjeistuksen päivän töille.

KYTKENTÄOHJEET ROTAATIOLÄMMÖNVAIHTIMEN OHJAUSYKSIKKÖ

ASENNUSOHJE. Vikavirtasuojattu termostaatti RCD-2030

TAITAJA 2006, Elektroniikka ( /OL) Hakkurivirtalähteen kokoaminen ja testaaminen, Nokia

TURVAVALAISTUSKESKUKSET TK31 JA TK41 ASENNUS- JA TESTAUSOHJE

C493 Liitin lisätoimintoja varten. Johdanto liittimeen C493

Transkriptio:

Sulautettujenjärjestelmien kilpailutehtävä Hissin ohjaus mikro-ohjaimella (DC-moottorin ohjaus) Laatinut: Jari Koskinen Tietomyrsky Oy 2005 jari.koskinen@tietomyrsky.com 1

Tehtävän kuvaus ja tavoitteet Kilpailutehtävänä on hissinohjaus mikro-ohjainkortilla. Hissiä tehtävässä simuloi DC-moottori, jonka pyörimissuunta vastaa hissin liikkumista ylös ja alas. Hissi on kaksikerroksinen. Hissin toiminta on kuvailtu kilpailutehtävän ohjelmointitehtävä kohdassa. Kilpailutehtävä edellyttää, että kilpailija osaa muodostaa koekytkentäalustalle DC-moottorin tarvitseman liitäntäelektroniikan kilpailutehtävässä annetun lyhyen oppimateriaalin perusteella. Käytännössä hänen tulee tietää kumpaa napaisuutta (NPN, PNP) kytkentään tarvittavat transistorit ovat miten päin transistorit kytketään mitä muita peruskomponentteja em. transistorikytkennät tarvitsevat toimiakseen mitä muita osia kytkentään tarvitaan suojaamaan transistoreja DC-moottorin induktanssin aiheuttamilta jännitepiikeiltä millä komponentilla kompensoidaan käyttöjännitteen heilahdukset. Kilpailijan tulee osata laatia yksinkertainen hissinohjausohjelma C-kielellä annetun toimintakuvauksen pohjalta. Ohjelman pystyy toteuttamaan C-kielen peruskäskyillä. Tehtävässä ei tarvitse osata mitään mikro-ohjaimen erityisominaisuuksia, kuten keskeytyksiä tai ajastimien käyttöä. Kilpailijan tulee laatia ohjelma hyvää ohjelmointitapaa noudattaen, joka vähintään tarkoittaa, että ohjelma on hyvin kommentoitu ohjelma on muotoiltu (sisennykset ja tyhjät rivit) ohjelmassa käytetään kuvaavasti nimettyjä vakioita ohjelma on jaettu sopivasti aliohjelmiin (funktioihin) ohjelmassa peräkkäin toistuvat samat toimenpiteet kootaan sopivaan toistorakenteeseen. Kilpailijan tulee lisäksi osata käyttää ohjelman kehitykseen tarvittavaa ohjelmaa, PC-mikroa ja siinä olevaa käyttöjärjestelmää. Kilpailijat työskentelevät itsenäisesti ilman muita oppimateriaaleja kuin, mitä tässä tehtäväpaperissa annetaan. Mikäli kilpailijalla on jotakin epäselvää tai kysyttävää, hän voi pyytää tuomarin luokseen ja esittää kysymyksensä tuomarille. Tuomari päättää, voiko hän antaa vastauksen kysymykseen, aiheuttaako vastauksen saaminen pisteiden vähentämistä kilpailijalta tai onko kysymys sellainen, että tuomarin on tiedotettava siitä myös muille kilpailijoille. Jossakin tapauksessa on edullisempaa kysyä neuvoa tuomarilta, jotta pääsee tehtävässä eteenpäin kuin, että lopputehtävä jää tekemättä kokonaan jonkin yksityiskohdan takia. 2

DC-moottorin ohjaus DC-moottori toimii nimensä mukaisesti tasajännitteellä. Kun moottoriin kytketään jännite, se pyörii tiettyyn suuntaan. Jos moottorin käyttöjännitteen napaisuus vaihdetaan, se pyörii päinvastaiseen suuntaan (mikäli moottoriin mahdollisesti kytketty vaihteisto tai mekaniikka ei estä moottoria pyörimästä molempiin suuntiin). DC-moottorin ohjauskytkentä toteutetaan tavallisesti kuvan 1 esittämällä H-sillalla (H-bridge). +Vcc +Vcc S1 S2 + M - DC-moottori S3 S4 Kuva 1. H-sillan periaatekytkentä kytkimillä. Kuvassa 2 esitetään, kuinka moottori saadaan pyörimään yhteen suuntaan. Kun kytkimet S1 ja S4 suljetaan, kulkee virta I m moottorin läpi vasemmalta oikealle. Tällöin moottori pyörii esimerkiksi myötäpäivään. +Vcc +Vcc IM S1 IM + M - IM S3 S2 DC-moottori S4 IM Kuva 2. Moottorin virta kulkee vasemmalta oikealle ja moottori pyörii myötäpäivään. 3

Kuvassa 3 esitetään, kuinka moottorin läpi kulkeva virta saadaan kulkemaan vastaavasti oikealta vasemmalle sulkemalla kytkimet S2 ja S3. +Vcc +Vcc IM S1 IM + M - IM S3 S2 DC-moottori S4 IM Kuva 3. Moottorin virta kulkee oikealta vasemmalle ja moottori pyörii vastapäivään. Kun kaikki kytkimet S1 S4 ovat auki, moottori ei pyöri (kuva 1). Tällöin moottori ei myöskään vastusta, mikäli sitä pyöritetään mekaanisesti. Moottori saadaan jarruttamaan sekä sähköisesti lukittua paikalleen, jos sen navat kytketään oikosulkuun. Tämä voidaan tehdä sulkemalla kytkimet S2 ja S4 (tai vastaavasti kytkimet S1 ja S3). Kytkimet S1 ja S2 eivät saa olla suljettuna yhtä aikaa eikä myöskään vastaavasti kytkimet S3 ja S4. Tällöin virta kulkee suoraan käyttöjännitteestä V cc maahan muodostaen oikosulun. Käytännössä edellä esitetyissä kytkennöissä kytkimet S1 S4 korvataan transistoreilla tai eristehila- FETeillä (MOSFET). Kuvassa 4 esitetään H-sillan periaatekytkentä transistoreilla. +Vcc +Vcc + M - DC-moottori Kuva 4. H-sillan periaatekytkentä transistoreilla. 4

Kilpailutehtävä Kytkentä Täydennä liitteenä olevalle kytkentäkaaviopaperille EXB2313-kortin koekytkentäalustalle tehtävä kytkentä. Merkitse komponenttien tunnukset (Reference Descrinators) komponenttien viereen. Laadi tarvittavien komponenttien osaluettelo erilliselle osaluettelopaperille. Laske/arvioi passiivisten osien arvot (mikäli niitä tarvitaan). Puolijohdekomponenttien tyyppejä ei tarvitse muistaa ulkoa. Ilmoita vain tarvittavien osien tyyppi esim. NPN- tai PNP-transistori. Kytkentä täydennetään seuraavasti Merkitse transistorien T1 T4 emitterinuolet näkyviin. (H-silta toteutetaan transistoreilla) Piirrä kuvaan, mitä muita komponentteja transistorien lisäksi tarvitaan, jotta niitä voidaan ohjata AVR-mikroohjaimen PD0 PD3-lähtöliitännöillä. PB0 ohjaa T1-transistoria, PB1 ohjaa T2-transistoria, PB2 ohjaa T3- transistoria ja PB3 ohjaa T4-transistoria. Lähdöt ovat tavallisia toteemipaalulähtöjä, jotka pystyvät syöttämään ja nielemään max. 20 ma virran. Lähtöjännite on 1-tilassa lähes 5 V ja alatilassa melkein 0 V. Moottorin ottama jatkuva virta on n. 100 ma. Kytkentään varattujen NPN- ja PNP-transistorien virtavahvistus on n. 100 400. Moottori on induktiivinen kuorma. Sen aiheuttama virtapiikki saattaa rikkoa transistorit sekä aiheuttaa muita toimintahäiriöitä kytkentään. Piirrä kytkentään, miten transistorit suojataan moottorin aiheuttamilta jännitepiikeiltä. Moottorin käynnistyessä se ottaa hetkellisesti jatkuvaa virtaa suuremman virtapiikin ja moottorin pysähtyessä se vastaavasti generoi vastakkaissuuntaisen virtapiikin, joka pyritään johtamaan takaisin moottoria syöttävään käyttöjännitteeseen edellä vaaditun transistorien suojakytkennän avulla. Lisää kytkentään komponentti, joka kompensoi näistä syistä aiheutuvaa käyttöjännitteen heilahtelua. Arvioi komponentin arvo(t). Esitä kytkentäkaaviosuunnitelma ja osaluettelo tuomarille, ennen kuin jatkat tehtävää eteenpäin. Laita nimesi ja kilpailijanumero molempiin papereihin. Kun olet saanut luvan jatkaa tehtävää ja kytkentään tarvittavat komponentit, voit tehdä suunnitelman mukaisen kytkennän EXB2313-kortin koekytkentäalustalle. Tee kytkentä huolellisesti ja siististi. Käytä erivärisiä kytkentälankoja seuraavasti käyttöjännite (+5 V) kytketään punaisella maa (GND) kytketään mustalla muut kytkennät sopivasti muilla väreillä. Tuomari tiedottaa, mihin aikaan mennessä kytkennät on oltava valmiina. Tämän jälkeen kilpailijalle annetaan oikea kytkentä ja osaluettelo. Kilpailijalta vähennetään pisteitä niiltä osin, mitä hän ei ole itse osannut siihen mennessä täydentää kytkentäkaavioonsa. 5

Ohjelmointitehtävä Liitännät Mikro-ohjaimen koekytkentälevylle langoitettavat liitännät. Lähdöt: PB3-ohjaa T4-transistoria PB2-ohjaa T3-transistoria PB1-ohjaa T2-transistoria PB0-ohjaa T1-transistoria Muista, että T1- ja T2-transistorit eivät saa missään tilanteessa johtaa yhtä aikaa. Samoin T3- ja T4-transistorit ei saa johtaa samanaikaisesti. Tulot: PB7 (DPSW4) on hissin yläkerran rajakytkin PB6 (DPSW3) on hissin yläkerran ovikytkin PB5 (DPSW2) on hissin alakerran ovikytkin PB4 (DPSW1) on hissin alakerran rajakytkin EXB2313-kortin kytkimien S1 S4 merkitykset S1 on alakerran painonappi S2 on yläkerran painonappi S3 on hissin sisällä oleva alas-nappi S4 on hissin sisällä oleva ylös-nappi EXB2313-kortilla olevaa PZ1-summeria voidaan käyttää vapaasti hälytyksiin tai ohjelman testikäyttöön. EXB2313-kortin LEDit voivat olla kytkettyinä. LEDeistä näkee helposti H-siltaa ohjaavien ja DIP_kytkimiltä tulevien signaalien tilat. EXB2313-korttiin liittyvä ongelma Koska DPSW2 4 kytkimet ovat rinnakkain EXB2313-kortin ohjelmointiliittimen kanssa, käännä kytkimet aina AUKI-asentoon ohjelmoinnin ajaksi. Kun testaat ohjelmaa, vastaavasti ohjelmointiliitin haittaa ohjelman toimintaa. Irroita ohjelmointiliitin EXB2313-kortilta ohjelman testauksen ajaksi. 6

Ohjelman toiminta Ohjelma 1. Tee ensin yksinkertainen testiohjelma, joka ajaa hissiä alas, kun S1-näppäintä painetaan ajaa hissiä ylös, kun S2-näppäintä painetaan Ennen kuin testaa ohjelmaa, varmista, että ohjelmasi ei aseta H-sillan saman puoliskon NPN- ja PNP-transistoreita johtamaan yhtä aikaa. Kun olet esittänyt ohjelman 1. toiminnan tuomarille, saat jatkaa ohjelman 2. toteuttamista. Ohjelma 2. Hissi on aluksi alhaalla. Hissin moottoria pyöritetään myötäpäivään, kun se nousee ylös. Vastaavasti moottoria pyöritetään vastapäivään, kun se menee alas. Kun hissi on menossa ylös, moottoria pyöritetään niin kauan, kunnes yläkerran rajakytkimen DPSW4 tila on 0 (hissi ylhäällä). Kun hissi on menossa alas, moottoria pyöritetään niin kauan, kunnes alakerran rajakytkimen DPSW1 tila on 0 (hissi alhaalla). Kun hissi on pysähtynyt jompaankumpaan kerrokseen, sen moottorin on oltava jarrutustilassa. Kun hissi on alhaalla, se lähtee nousemaan ylös, jos alakerran rajakytkin (DPSW1 = 0) osoittaa, että hissi on varmasti alhaalla JA hissin alakerran ovi on kiinni (DPSW2 = 1) JA hissin sisällä olevaa ylös-nappia (S4 = 0) painetaan TAI yläkerrassa olevaa tilausnappia (S2 = 0) painetaan. Kun hissi on ylhäällä, se lähtee laskeutumaan alas, jos yläkerran rajakytkin (DPSW4 = 0) osoittaa, että hissi on varmasti ylhäällä JA hissin yläkerran ovi (DPSW3 = 1) on kiinni JA hissin sisällä olevaa alas-nappia (S3 = 0) painetaan TAI alakerrassa olevaa tilausnappia (S1 = 0) painetaan. Kun hissi liikkuu ylös tai alas, ei hissin nappien painamista tai ovien kytkinten tilanmuutosta huomioida mitenkään. Hissin periaatteellinen kytkentä ja anturien sijoittelu esitetään kuvassa 5. 7

PORTB0...3 M DPSW4 Hissi ylhäällä DPSW3 Yläkerran ovikytkin S2 Hissin yläkerran nappi S4 S3 DPSW2 Alakerran ovikytkin S1 Hissin alakerran nappi DPSW1 Hissi alhaalla Kuva 5. Hissin periaatteellinen kytkentä 8

hissi1.c /********************************************************************* Project : HISSI1.C Date : 12.1.2005 Author : Jari Koskinen, jari.koskinen@tietomyrsky.com Company : Tietomyrsky Oy, Finland Chip type : AT90S2313 Clock frequency : 8,000000 MHz *********************************************************************/ #include <90s2313.h> #include <delay.h> // mikro-ohjaimen rekisterit // viivefunktioiden määrittelyt /* Painonappien ja rajakytkinten määrittelyt */ #define LIFT_UP!PINB.7 // hissi ylhäällä #define LIFT_UP_DOOR_OPEN!PINB.6 // hissin yläovi auki #define LIFT_DOWN_DOOR_OPEN!PINB.5 // hissin alaovi auki #define LIFT_DOWN!PINB.4 // hissi alhaalla #define O_DOWN #define O_UP #define I_DOWN #define I_UP!PIND.2 // alakerran nappi!pind.3 // yläkerran nappi!pind.4 // hissin alas-nappi!pind.5 // hissin ylös-nappi /* H-sillan transistorien lähtöliitännät */ /* NPN-transistorit johtaa, kun lähtöliitäntä on 1-tilassa */ /* PNP-transistorit johtaa, kun lähtöliitäntä on 0-tilassa */ /* Saman puolen NPN- ja PNP-transistorit EI SAA JOHTAA YHTÄAIKAA! */ #define A_NPN PORTB.0 // A-puolen alaemman transistorin ohjaus #define A_PNP PORTB.1 // A-puolen ylemmän transistorin ohjaus #define B_NPN PORTB.2 // B-puolen alaemman transistorin ohjaus #define B_PNP PORTB.3 // B-puolen ylemmän transistorin ohjaus /* Pysäytetään moottori */ void stop(void) { A_NPN = 1; // A- ja B-puolen NPN-transistorit johtaa } A_PNP = 1; B_NPN = 1; B_PNP = 1; // A- ja B-puolen PNP-Transistorit ei johda // Moottorin navat ovat tällöin oikosulussa // ja tällöin moottori jarruttaa /* Moottori pyörii myötäpäivää (nostetaan hissiä ylös) */ void up(void) { A_NPN = 1; // A-puolen NPN johtaa A_PNP = 1; // A-puolen PNP ei johda -> A = - B_NPN = 0; // B-puolen NPN ei johda B_PNP = 0; // B-puolen PNP johtaa -> B = + } /* Moottori pyörii vastapäivää (lasketaan hissiä alas) */ void down(void) { A_NPN = 0; // A-puolen NPN ei johda A_PNP = 0; // A-puolen PNP johtaa -> A = + B_NPN = 1; // B-puolen NPN johtaa Sivu 1

} hissi1.c B_PNP = 1; // B-puolen PNP ei johda -> B = - /* Pääohjelma */ void main(void) { PORTB = 0xFF; // B-portin alustukset, lähdöt varmasti 1->STOP DDRB = 0x0F; // PB0...PB3 = lähtöjä, PB4...PB7 = tuloja PORTD = 0x7C; DDRD = 0x40; stop(); // D-portin alustukset // PD.6 on lähtö, muut tuloja // Pysäytä moottori while (1) // Toistetaan ikuisesti { /********************************************************/ // jos hissi on ylhäällä JA hissin yläovi EI ole auki JA // [ hissin ylös-nappia TAI yläkerran nappia painetaan ] /********************************************************/ if (LIFT_DOWN &!LIFT_DOWN_DOOR_OPEN & (I_UP O_UP)) do { up(); // Nostetaan hissiä ylös }while(!lift_up); stop(); // Toistetaan kunnes hissi on ylähäällä // Pysäytä moottori /********************************************************/ // jos hissi on alhaalla JA hissin alaovi EI ole auki JA // [ hissin alas-nappia TAI alakerran nappia painetaan ] /********************************************************/ if (LIFT_UP &!LIFT_UP_DOOR_OPEN & (I_DOWN O_DOWN)) do { down(); // Lasketaan hissiä alas }while(!lift_down); // Toistetaan kunnes hissi on alhaalla } stop(); }; // Pysäytä moottori Sivu 2

Kytkentäkaavio 1istettä Kaikista kytkentään tarvittavista osista saa pisteitä seuraavasti: Komponentti Pisteet Huomioitavaa Transistorit 3 NPN-/PNP-tyypit oikein, emitterinuolet oikein päin Vastukset 2 Pitää olla kantavastukset Diodit 2 Oikein päin ja oikealla paikalla Elko 2 Tavallisesta kondensaattorista 1 piste Vastusten arvo 2 Hyväksyttävä arvo 470Ω 2,2kΩ, Ib = 10 ma 2,5 ma (hfe = min. 40), 1 p hieman suuremmasta heitosta Elkon arvo 1 Melkein mitä hyvänsä hyväksytään 10 uf:sta ylöspäin Kannalta maihin saa olla myös vastukset, jos kytkennässä on kantavastukset oikein. Jos jokin komponentti on kytketty väärin tai polaarisissa komponenteissa napaisuus on väärin, menetetään pisteet sen komponentin kohdalta. Jos kytkentä on muuten oikein, mutta siinä on ylimääräisiä toimintaa haittaavia osia, niistä vähennetään pisteitä. Koekytkentä alustalle toteutettu kytkentä 3 pistettä Koekytkentä alustalle toteutettu kytkentä arvostellaan kytkennän selkeyden ja toimivuuden perusteella. Selkeys ja siisteys Kiitettävä 3 p Hyvä Tyydyttävä 1 p Hylätty 0 p Em. pisteistä vähennetään 1 3 p, jos kytkennässä on vikaa.

Ohjelma 15 pistettä Ohjelmassa on kaksi osaa. Osa 2 tehdään, kun osan 1 toiminta on esitetty tuomarille. Muotoilu Kommentit Vakiot Rakenne Varapiste 1 p jostakin nerokkaasta yksityiskohdasta tai muusta tarpeesta, joka havaitaan kilpailutilanteessa. Osan 1 toiminta (arvioidaan vain, jos ei saada osaa 2 toimimaan) Osan 2 toiminta 6 p Muotoilu sisennykset lähes täydelliset ja sopivasti välejä muotoilu satunnaista 1 p sisennyksiä tai välejä niukasti tai ei ollenkaan 0 p Kommentit ohjelma on kommentoitu hyvin ja kommentit auttavat ohjelman ymmärtämistä kommentoinnissa toivomien varaa 1 p kommentointi on hyvin puutteellista 0 p Vakiot ohjelmassa on määritelty hyvin vakiota ja ne auttavat ohjelman ymmärtämistä vakioiden määrittelyssä toivomisen varaa 1 p vakioita ei ole määritelty lähes ollenkaan 0 p Rakenne ohjelmassa on käytetty hyvin C-kielen toistorakenteita, taulukoita ym. ohjelmassa löytyy kohtia, jotka voidaan tehdä paremmin sopivilla lauserakenteilla 1 p ohjelmassa on tehty paljon toimintoja, jotka voidaan korvata sopivalla toistorakenteella tai ohjelma pitäisi jakaa funktioiksi 0 p Osan 1 toiminta ohjelma toimii määrittelyn mukaisesti ohjelma toimii, mutta siihen jäi jokin pieni vika 1 p ohjelma ei toimi 0 p Ehdotus: jos ohjelma ei toimi, edellä olevat pisteet puolitetaan, koska täysin toimimattomasta ohjelmasta ei voi antaa paljon tyylipisteitä, vaikka se olisi tehty miten hienosti ohjelman tekemättä mitään! Eli toimimattoman ohjelman max. pisteet ovat 4 p.

Osasta yksi ei anneta enää pisteitä, jos kilpailija jättää osan 2 tehtävän arvosteltavaksi. Osan 2 toiminta ohjelma toimii määrittelyn mukaisesti 6 p ohjelmassa on jotain puutteita 5 4 p ohjelmassa on useampi puute, mutta se saataisiin toimimaan 3 ohjelma ei toimi 0 p Ehdotus: jos ohjelma ei toimi ja sitä ei saisi pienin muutoksin toimivaksi (eli ohjelman toiminnasta saatavat pisteet jäisivät alle isteen), kilpailijalle annetaan pisteet osan 1 perusteella (max. 10 p).

Arvostelu taulukko Kilpailija Transist. 3 p Vastuk. Diodit Kond. R C 1 p Kytkent. 3 p Muotoil. Komm. Vakiot Rakenne Vara 1 p Toim. 1 Toim. 2 6 p Yhteensä 1 2 3 4 5 6 7 8