Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

Koko: px
Aloita esitys sivulta:

Download "Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ"

Transkriptio

1 Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Kesäkuu 2008

2 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Ylivieska, tekniikka Aika Tekijä/tekijät Joni Heikkilä Koulutusohjelma Tietotekniikka Työn nimi Pyrolyysigeneraattorin automaatio-ohjaus ohjelmoitavalla logiikkapiirillä Työn ohjaaja Joni Jämsä FM Sivumäärä liitettä Työelämäohjaaja Yrjö Muilu DI Tämän opinnäytetyön tarkoituksena oli toteuttaa automaatio-ohjaus pyrolyysigeneraattoriin ohjelmoitavalla logiikkapiirillä. Ohjelmointi suoritettiin Alteran Quartus II-suunnittelutyökalulla. Logiikkapiirin konfigurointi tehtiin Quartus II:n ja Alteran kehitysalustan avulla ja myös testaus suoritettiin kehitysalustalla. Ohjelmoinnin lisäksi työhön täytyi suunnitella ohjelmaan tarvittavat ajastukset. Työssä päädyttiin käyttämään ulkoista signaalia, sekä aikareleitä. Järjestelmä on rajattu käsittämään antureiden tilojen tarkkailua ja releiden ohjauksia. Asiasanat Ohjelmoitavat logiikkapiirit, CPLD, VHDL

3 ABSTRACT CENTRAL OSTROBOTHNIA UNIVERSITY OF APPLIED SCIENCES Ylivieska, Technology Degree programme Information Technology programme Name of thesis Date Author Joni Heikkilä Pyrolysisgenerator Automation Control with Programmable Logic Device Instructor Pages Joni Jämsä M.Sc Supervisor attachments Yrjö Muilu M.Sc The purpose of this work was to create automation control to pyrolysisgenerator with programmable logic device. Programming was performed with Quartus II designing tool. Configuration of the device was made with Quartus II and Altera s educational platform and the software testing also used this educational platform. In addition to programming, in this work timings were planned. External signal and timing relay were used for timings in this work. This system contains the control functions for relays and sensors. Key words Programmable logic devices, CPLD, VHDL

4 SISÄLLYS TIIVISTELMÄ ABSTRACT SISÄLLYSLUETTELO LYHENTEET 1 JOHDANTO YLEISTÄ PLD -piirit FPGA -piirit Järjestelmäpiirit Laitteiston kuvauskieli VHDL VHDL -kuvauksen rakenne VAATIMUSMÄÄRITTELY Normaalikäyttö Vikatilat TYÖSSÄ KÄYTETTÄVÄT LAITTEET JA OHJELMAT Altera MAX 7000S UP1-kehitysalusta Quartus II Viiveet Kellopulssi Input / Output OHJELMOINTI Pääohjelma Aliohjelmat Analyysi & synteesi Kääntäminen Simulointi Piirin ohjelmointi TESTAUS YHTEENVETO...23 LÄHTEET...24 LIITELUETTELO...25 LIITTEET

5 LYHENTEET ASM CPLD DSP FPGA HDL JTAG MAX PAL PLCC PLD SPLD SRAM VHDL VHSIC Algorithmic State Machine Complex Programmable Logic Device Digital Signal Processing Field Programmable Gate Array Hardware Description Language Joint Test Action Group Multiple Array Matrix Programmable Array Logic Plastic Leader Chip Carrier Programmable Logic Device Simple Programmable Logic Device Static Random Access Memory Very High Speed Integrated Circuit Hardware Description Language Very High Speed Integrated Circuit

6 1 1 JOHDANTO Tämän opinnäytetyön tarkoituksena oli tehdä toimiva automaatio-ohjaus puukaasuvoimalaitokseen, eli pyrolyysigeneraattoriin, joka sisältää pyrolyysikaasuttimen, kaasunpuhdistusjärjestelmän, sekä generaattorin, jota pyörittää puukaasulla toimiva moottori. Pyrolyysigeneraattoria on kehitetty Ylivieskassa Centrian laboratoriossa. Työn haasteena oli etsiä sopiva ohjelmoitava logiikkapiiri automaatio-ohjaukseen, sekä tarvittavien ajastuksien suunnittelu ja vaikeimpana itse koodin suunnittelu ja toteutus. Automaatio-ohjaus sisältää anturien, termostaattien ja säätimien tilojen tarkkailua, sekä puhaltimien, venttiilien ja releiden ohjausta. Opinnäytetyön kirjallinen osuus alkaa teoriatiedolla, jossa kerrotaan yleisesti logiikkapiireistä ja niiden kuvauskielistä, eli ohjelmointikielistä, sekä Quartus IIsuunnittelutyökalusta, jota käytetään ohjelmoitavien logiikkaverkkojen suunnitteluun ja kehitykseen. Näiden jälkeen kerrotaan vaatimusmäärittely, sekä työssä käytettävistä laitteista ja ohjelmista. Loppuosassa keskitytään pääasiassa itse koodiin, sekä piirin ohjelmointiin ja testaukseen. Lopuksi kerrotaan vielä yhteenveto opinnäytetyöstä.

7 2 2 YLEISTÄ Ohjelmoitava logiikkaverkko(programmable logic) tarkoittaa ohjelmoitavaa digitaalipiiriä, tai yleisimmin sanottuna ohjelmoitavaa logiikkapiiriä, jonka laitevalmistaja ostaa piirin valmistajalta tyhjänä eli ohjelmoimattomana. Piiri sisältää paljon piirielementtejä, sekä johtimia, joita laitevalmistaja yhdistelee ohjelmoimalla piirielementit toisiinsa. Myös piirielementtien toiminta on osittain ohjelmoitavissa. Ohjelmoitavilla logiikkapiireillä voidaan tehdä monimutkaisia loogisia toimintoja. Yleensä piirit ovat uudelleen ohjelmoitavissa, joten niitä on helppo päivittää, kun tarve vaatii. Nykyään ohjelmoitavia logiikkapiirejä käytetään useissa digitaalilaitteissa. Piirin hyviä puolia ovat juuri uudelleen ohjelmoitavuus, pieni koko ja luotettavuus, sekä tuotekehitysprosessin nopeus ja joustavuus. Huonona puolena voidaan pitää suhteellisen suurta tehonkulutusta, sekä joissakin tapauksissa kallista hintaa. Ohjelmoitavat logiikkaverkot voidaan jakaa kolmeen pääryhmään, jotka ovat PLD(Programmable Logic Device)-piirit, FPGA(Field Programmable Gate Arrays)-piirit ja järjestelmäpiirit. (Haltsonen, Levomäki & Rautanen 2004.) 2.1 PLD -piirit CPLD(Complex PLD)-piirit ja SPLD(Simple PLD)-piirit kuuluvat PLD-piireihin, joka on ensimmäinen ohjelmoitavien logiikkaverkkojen päätyyppi. Näissä on haihtumaton muisti, joten ohjelma säilyy vaikka jännite katkaistaan. PLD-piirejä on kertaohjelmoitavia, sekä uudelleen ohjelmoitavia. Pienet ja yksinkertaiset PLD-piirit ovat SPLD-piirejä ja suuret ja monimutkaisemmat ovat CPLD-piirejä. CPLD-piirien perusarkkitehtuuri on PAL(Programmable Array Logic)-tyyppinen, mikä tarkoittaa, että JA-porttien kytkentä TAI-portteihin on kiinteä. Tämä tapa on nykyisin yleisin. CPLD-piirit ovat rakenteeltaan melkein, kuin SPLD-piirit, mutta niissä on kytkentämatriisin lisäksi myös makrosolu- ja liitäntälohkoja. Kuvasta 1 näkee yleisen rakenteen CPLD-piiristä. (Rautanen, E Luentokalvoja.)

8 3 KUVA 1. CPLD-piirin yleinen rakenne. (Rautanen, E Luentokalvoja) 2.2 FPGA -piirit FPGA-piirit ovat PLD-piireihin verrattuna monipuolisempia ja joustavampia. Ne koostuvat ohjelmoitavista logiikkalohkoista, liitäntälohkoista ja kytkentämatriisista. FPGA-piirejä on kertaohjelmoitavia, kun piiri on kerran ohjelmoitu, niin sitä ei voi enää muuttaa ja sitten on uudelleen ohjelmoitavia piirejä, kuten FLASH-perusteisia, jotka ovat järjestelmäohjelmoitavia, nämä laitetaan piirilevylle tyhjänä ja ohjelmoidaan myöhemmin JTAG(Joint Test Action Group)-ohjelmointiliitännän kautta. SRAM(Static Random Access Memory)-perusteiset piirit ohjelmoidaan aina, kun laitteeseen kytketään sähkö, jolloin ohjelma on erillisessä muistissa, josta piiri osaa itse hakea ohjelman aina kun piiriin on kytketty sähkö. (Haltsonen ym.2004.) Kuvasta 2 näkee FPGA-piirin yleisen rakenteen.

9 4 KUVA 2. FPGA-piirin yleinen rakenne. ( Rautanen, E Luentokalvoja.) 2.3 Järjestelmäpiirit Ohjelmoitavat järjestelmäpiirit perustuvat yleensä FPGA-teknologiaan. Yhdellä järjestelmäpiirillä voidaan toteuttaa laitteen koko digitaaliosa. Piiri sisältää suuren FPGApiirin, sekä oman prosessorin ja erillistä SRAM-muistia. Piiristä riippuen voi olla myös erityislohkoja, kuten kertojapiirejä, DSP(Digital Signal Processing)-lohkoja tai vaihelukittuja silmukoita. Järjestelmäpiireihin on tarjolla paljon valmiita ohjelmia, joilla voi toteuttaa laitteen suuritöisiä osia, jotka muuten veisivät paljon aikaa. (Haltsonen ym.2004.) 2.4 Laitteiston kuvauskieli Laitteiston kuvauskieli HDL (Hardware Description Language) on nykyään yleinen tapa suunnitella asiakaskohtaisia digitaalipiirejä, sekä ohjelmoitavia logiikkaverkkoja. Se on tekstimuotoinen tapa kuvata digitaalipiiri tai -laite. Kuvauskieli muistuttaa ohjelmointikieltä, mutta suurimpana erona ohjelmointikieleen on, että kuvauskielessä kuvataan samanaikaisesti laitteen rinnakkaista, että peräkkäistä toimintaa Kuvauksia

10 5 voidaan käyttää simulointiin, piirisynteesiin ja testaukseen. Laitteiston kuvauskieliä on tehty paljon, etenkin logiikkapiirien valmistajat ovat tehneet omia kuvauskieliä, joita voidaan käyttää vain kyseisen valmistajan piireihin. Tällaisia ovat esimerkiksi ABEL, PALASM, CUPL ja AHDL. Standardoituja kuvauskieliä ovat VHDL(Very High Speed Integrated Circuit Hardware Description Language) ja Verilog, näistä Suomessa käytetään yleisimmin VHDL-kieltä. (Haltsonen ym.2004, 356.) 2.5 VHDL VHDL on alun perin Yhdysvaltain puolustusministeriön VHSIC(Very High Speed Integrated Circuit) -hankkeen perustalta syntynyt kuvauskieli, joka on standardoitu vuonna VHDL on riippumaton piirin valmistajasta ja koska se on tekstimuotoinen, niin sen voi tehdä millä tahansa tekstiä tuottavalla työkalulla ja siirrellä sellaisenaan työkalusta toiseen. Tähän kuvauskieleen on saatavilla paljon valmislohkoja, joiden avulla voidaan säästää paljon suunnittelutyötä. VHDL on todella monipuolinen kieli, jonka sujuva käyttö vaatii paljon opiskelua, että käytännön kokemusta.(haltsonen ym.2004, 357.) 2.6 VHDL -kuvauksen rakenne Jokaisessa VHDL-kuvauksessa täytyy olla ainakin kirjastojen ja pakettien esittely, sekä suunnitteluyksikön esittely (entity declaration) ja VHDL-arkkitehtuuri(architecture). VHDL-kuvauksen perusrakenteen esittelen kaksituloisen JA-portin avulla. LIBRARY IEEE; -- kirjastot käyttöön USE IEEE.STD_LOGIC_1164.all; ENTITY and_2 IS -- Suunnitteluyksikön esittely: PORT ( -- nimi and_2 a, b: IN BIT; -- tulot ja lähdöt (a,b ja f) ja niiden tyyppinä (BIT) f : OUT BIT); END and_2; ARCHITECTURE toiminta OF and_2 IS -- Arkkitehtuuri: nimi(toiminta) BEGIN -- toiminnan kuvaus: f arvoksi sijoitetaan f <= a AND b; -- ( a JA b) END toiminta;

11 6 Suunnitteluyksikön esittelyosassa kuvataan suunnitteluyksikön nimi sekä tulo- ja lähtösignaalit ja niiden tyyppi, joka esimerkissä on BIT. VHDL-arkkitehtuurissa kuvataan mitä tapahtuu suunnitteluyksikön sisällä. Arkkitehtuuri jakautuu kahteen osaan määrittelyosaan ja koodiosaan. Määrittelyosa koostuu komponenttien, signaalien, vakioiden, funktioiden, proseduurien ja tietotyyppien määrittelystä. Koodiosa sisältää itse toiminnallisen osan. Esimerkissä kuvaus muodostuu sijoituslauseesta, jossa f saa arvon tulosignaalien a ja b JA -funktiosta. Jokaisella arkkitehtuurilla on oma nimi, tässä tapauksessa toiminta. Kommentti merkitään kahdella tavuviivalla. On erittäin tärkeää kommentoida koodia mahdollisimman paljon, jotta myöhemmässä vaiheessa joku muu, tai itse ymmärtää helpommin mitä koodilla kuvataan. On mahdollista, että koodia joutuu muuttamaan myöhemmässä vaiheessa esimerkiksi vian korjaamisen, tai ominaisuuksien lisäämisen takia.

12 7 3 VAATIMUSMÄÄRITTELY Työn suunnittelu aloitettiin tekemällä kirjallinen vaatimusmäärittely, josta selviää anturien, ajastuksien, releiden ja moottorien toiminnot, sekä koko järjestelmän toiminta. Kirjallisen vaatimusmäärittelyn perusteella piirsin sitten päätöspuun, josta ymmärtää prosessin toiminnan kaikkein parhaiten. Kaavio löytyy liitteenä. 3.1 Normaalikäyttö Käyttö alkaa siitä, kun käynnistyskytkintä painetaan, menee huuhtelu-tila päälle ja myös kolmen minuutin ajastus lähtee päälle. Kun kolme minuuttia on kulunut, menee poltin huuhtelun lisäksi päälle, joka on, niin kauan päällä, kunnes imuputken lämpötila-anturi saavuttaa 100 celsiusastetta. Sitten kun poltin on sammunut, on jälleen pelkkä huuhtelu päällä viisi minuuttia, jonka aikana kaasun tulisi saavuttaa oikea koostumus. Tämän jälkeen on huuhtelu ja ilmaventtiili auki 10 sekuntia. 10 sekunnin jälkeen huuhtelu sammuu, ilmaventtiili pysyy auki ja moottoria startataan viiden sekunnin ajan, jonka jälkeen tutkitaan vakionopeudensäätimestä käynnistyikö moottori. Jos moottori käynnistyi, pysyy ilmaventtiili auki, jos moottori ei käynnistynyt, niin ilmaventtiili menee kiinni ja odotetaan 30 sekuntia ja startataan uudelleen. Jos moottori ei käynnisty kolmen käynnistyskerran jälkeen, palataan huuhtelu poltin vaiheeseen. Ja jos moottori ei käynnisty kahden käynnistysprosessin kierron jälkeen, ajetaan järjestelmä alas. 3.2 Vikatilat Järjestelmä joudutaan ajamaan alas, jos joku näistä kuudesta ehdosta toteutuu ja ne ovat: Käynnistysprosessin kierto on tapahtunut kaksi kertaa, painetaan sammutuskytkintä, kaasunpuhdistussäiliön pesurin paine laskee ilmakehän paineeseen, kaasunpuhdistussäiliön lämpötila nousee yli 150 celsiusastetta, polttimen lämpötila nousee yli 100 celsiusastetta, joka ilmoittaa polttoaineen loppuvan ja jos moottorin voiteluöljyn paine laskee alle kahden ja puolen bar: in. Kaasunpuhdistussäiliön vedenpinnan tasoa valvoo kaksi anturia, yläraja-anturi ja alarajaanturi. Kun vedenpinta saavuttaa ylärajan, aukeaa venttiili ja on auki niin kauan, kunnes vedenpinta on alle alarajan.

13 8 4 TYÖSSÄ KÄYTETTÄVÄT LAITTEET JA OHJELMAT Tässä kappaleessa kerron mitä suunnittelutyökalua käytän ja minkä logiikkapiirin valitsen. Käydään myös sisään- ja ulostulot läpi, sekä suunnitellaan ajastuksien toteutusta. 4.1 Altera MAX 7000S Tähän työhön valitsin Alteran MAX 7000S sarjan EPM7128SLC84-7 CPLD-piirin. Piirillä on 84-pinninen PLCC(Plastic Leader Chip Carrier)-kotelointi ja se sisältää 128 makrosolua. Piirin valintaan vaikutti sen sisältämä EEPROM-muisti, jonka vuoksi piirin konfigurointi säilyy, vaikka piiristä katkaistaan virta, lisäksi piirin voi konfiguroida uudestaan. Lisäksi piirin valintaan vaikutti Timo Törmälehdon kotiautomaation toteutus ohjelmoitavalla logiikkapiirillä opinnäytetyön onnistuneet tulokset kyseisellä piirillä. KUVA 4. EPM7128S-piirin 84-pinninen PLCC-kotelointi(Altera Corporation 2005,61)

14 9 4.2 UP1-kehitysalusta UP1 on Alteran valmistama ohjelmoitavien logiikkapiirien kehitys- ja testausalusta. Kehitysalustaan sopii MAX 7000-sarjan CPLD-piiri sekä FLEX 10K-sarjan FPGA-piiri. Kehitysalusta on tehty nimenomaan opetuskäyttöön ja laboratoriopohjaisiin suunnitteluympäristöihin.(altera Corporation 1997, 1-2.) Kehitysalustalla on EPM7128-piiriä varten kaksi painonappia, sekä 16 kytkintä, jotka saadaan kytkettyä piirin tuloihin. Ulostuloihin on mahdollisuus kytkeä kaksi 7- segmenttinäyttöä, jotka on valmiiksi kytketty piirin jalkoihin. Lähtöihin on mahdollisuus kytkeä vielä 16 lediä, mutta ne täytyy kytkeä samoin kuin kytkimetkin, hyppylangoilla oikeisiin pinneihin. KUVA 5. Alteran UP1-kehitysalusta.(Altera Corporation 1997, 3) 4.3 Quartus II Suunnittelutyökalun valinta ei teettänyt ongelmia, ohjelmaksi valitsin Alteran Quartus II, jota käytetään myös Ohjelmoitavat Logiikkapiirit -kurssilla. Alteran kotisivuilta saa rekisteröitymällä ladattua ilmaisen ohjelman ja siihen puolen vuoden käyttöoikeuslisenssin. Käyttämäni versio on 7.2 Web Edition.

15 10 Quartus II on piirivalmistaja Alteran kehittämä monipuolinen suunnittelutyökalu ohjelmoitavien logiikkaverkkojen suunnitteluun ja kehitykseen. Tällä ohjelmalla voidaan käyttää useita eri kuvauskieliä ja sillä voi myös piirtää piirikaavio muodossa, jolla on helppo ja nopea tehdä yksinkertaisimmat koodit. Quartus II-ohjelmalla voidaan tehdä kaikki suunnittelussa tarvittavat eri vaiheet kuten esimerkiksi piirin valinta, analyysi ja synteesi, pinnien yhdistäminen, kääntäminen, simulointi ja myös itse piirin ohjelmointi. KUVA 3. Quartus II-suunnitteluohjelma.

16 Viiveet Tässä työssä tarvitaan viisi eripituista viivettä, kaksi hieman pidempää ja kolme lyhyttä viivettä. 10 ja 30 sekunnin viiveet päätin tehdä ohjelmallisesti 100Hz kellopulssia apuna käyttäen, koska se tuodaan piirille joka tapauksessa kytkinvärähtelyn eston takia. Kolmen ja viiden minuutin, sekä lyhyen viiden sekunnin viiveet päätin tehdä aikareleillä. Pidemmät viiveet aikareleillä sen takia, koska ne veisivät ohjelmallisesti suuren määrän piirin kapasiteettia ja toiseksi nämä ajat saadaan helposti säädettyä optimaalisiksi, kuten myös starttausaika pitää testaamalla hakea sopivaksi. 4.5 Kellopulssi 100Hz:n ulkoista kellopulssia tarvitaan kytkinvärähtelyn estoon, sekä kahteen ohjelmallisesti tehtävään viiveeseen. Kellopulssin tuottamiseen käytetään NE555- ajastinpiirin, sekä kahden kondensaattorin ja vastuksen oskillaattorikytkentää. Koska Timo Törmälehto oli havainnut Kotiautomaation toteutus ohjelmoitavalla logiikkapiirilläopinnäytetyössään, että CPLD-piiriin syötetty 100Hz:n kellopulssi oli kaksinkertaistunut 200Hz:ksi, joten tähän työhön syötetään 50Hz:n kellopulssi(törmälehto, T. 2007, 48.) Kuvasta 5 näkee oskillaattorikytkennän. KUVA 6. NE555-oskillaattorikytkentä. (Huhtama, Kari.2007)

17 12 Kondensaattori C1 arvoksi valitaan sama arvo 0,1uF:a kuin toisessakin kondensaattorissa. Vastus R2 saadaan laskettua seuraavasta kaavasta: R2 = 0.7 / ( f * C1), missä R2 = Vastuksen R2 resistanssi(ω) C1 = Kondensaattorin C1 kapasitanssi (F) f = tarvittava taajuus (Hz) Sijoitetaan arvot: R2 = 0.7 / (50Hz * F) = 140kΩ R1:n tulee olla noin kymmenesosa R2:sta, joten R1:n arvoksi tulee 14kΩ. KUVA 7. Kun komponenttien arvot ovat selvillä, voidaan laskea taajuus ja jaksonajat.( Huhtama, Kari.2007) 4.6 Input / Output Tässä automaatio-ohjauksessa tarvitaan 14 sisääntuloa ja kuusi relelähtöä, sekä mahdollisesti lähtöjä merkkivaloille. Sisääntuloja ovat: 100Hz:n kellopulssi, käynnistyskytkin, sammutuskytkin, imuputkenlämpötila-anturi, vakionopeudensäätimeltä tieto että käykö moottori, pesurin paineanturi, kaasunpuhdistussäiliön lämpötila-anturi, polttoaineen lämpötila-anturi,

18 13 voiteluöljyn paineanturi, puhdistusveden yläraja-anturi, puhdistusveden alaraja-anturi, kolmen minuutin aikarele, viiden minuutin aikarele ja viiden sekunnin aikarele. Relelähdöt ovat: huuhtelu, poltin, ilmaventtiili, startti, ylivuotoventtiili ja aikarele_5min_ulos. KUVA 8. Päälohkokaavio

19 14 5 OHJELMOINTI Alun perin oli tarkoitus tehdä ohjelma piirikaaviomuotoisena, koska Quartus IIsuunnitteluohjelmalla se on mahdollista, mutta koska tässä työssä on suurin osa toiminnoista peräkkäisiä, niin se olisi ollut liian vaikeaa. Tästä syystä päätettiin ohjelma tehdä VHDL-kuvauskielellä. Helpoin tapa tehdä peräkkäisiä toimintoja VHDLkuvauskielellä on tilakone(state Machine). Työ alkoi sillä, että vaatimusmäärittelyn perusteella täytyi piirtää päälohkokaavio, sekä päätöspuukaavio, jotka löytyvät liitteenä. 5.1 Pääohjelma Pääohjelma eli tässä tapauksessa tilakone tehtiin Actelin internet-sivuilta löytyvän valmiin VHDL -tilakoneen pohjalta. Ohjelma alkaa kirjastojen käyttöönotolla ja suunnitteluyksikön esittelyllä, josta selviää ulkoiset rajapinnat ja ohjelman nimi, tilakone. --Kirjastot käyttöön Library IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; --Entiteetin määritys ENTITY tilakone IS --Ulkoiset tulot ja lähdöt PORT määrittelyssä PORT (clk100hz,kaynnistys,sammutus,imuputken_lampotilaanturi,kayko_moottori,pesurin_pain eanturi,kaasunpuhdistussailion_lampotilaanturi,polttoaineen_lampotilaanturi,voiteluoljyn_ paineanturi,aikarele_5min,aikarele_3min,puhdistusveden_yla,puhdistusveden_ala,aikarele _5s : IN STD_LOGIC; --14 sisääntuloa huuhtelu,poltin,ilmaventtiili,startti, aikarele_5min_ulos,ylivuotoventtiili:out STD_LOGIC); -- 6 ulostuloa END tilakone; Seuraavana alkaa arkkitehtuurin määrittelyosa, joka koostuu komponenttien, signaalien, vakioiden, funktioiden, proseduurien ja tietotyyppien määrittelystä. Ensimmäisenä on tilojen esittely, jotka nimesin selkeyden vuoksi niin, että tilan nimi määräytyy sen mukaan

20 15 mitkä lähdöt ovat päällä kyseisessä tilassa, sekä sisäiset signaalit, jotka sisältävät tiedon hetkellisestä tilasta. --Käyttäytymiskuvaus ARCHITECTURE toiminta OF tilakone IS --Tilojen esittely TYPE tilatyyppi IS (alkutila,pelkka_huuhtelu,huuhtelu_poltin,pelkka_huuhtelu2,huuhtelu_venttiili, venttiili_start,venttiili,start_epaonnistui,yritys_epaonnistui); --Sisäinen signaali tila sisältää hetkellisen tilan tiedon SIGNAL nykytila,seuraava_tila: tilatyyppi; Seuraavana määritellään pääohjelman sisäiset signaalit, jotka ovat tavallaan muistielementtejä. STD_LOGIC tyyppiset signaalit ovat tässä tapauksessa joko ykkösiä, tai nollia. Viive_10s ja viive30s ovat INTEGER tyyppisiä signaaleja, jotka ovat kokonaislukuja. Viive_10s kasvaa nollasta tuhanteen, kun tuhat on täynnä ja sitä kasvatetaan jälleen, niin se pyörähtää ympäri ja alkaa taas nollasta. Ja samaan malliin myös signaali viive30s. Kaynnistyslaskuri ja yrityslaskuri ovat kaksibittisiä vektorityyppisiä signaaleja, joissa on neljä eri arvoa 00, 01, 10 ja 11. SIGNAL kaynnistys_deb, sammutus_deb,q,herate10,herate30: STD_LOGIC; SIGNAL viive_10s : INTEGER RANGE 0 TO 1000; SIGNAL viive30s : INTEGER RANGE 0 TO 3000; SIGNAL kaynnistyslaskuri: STD_LOGIC_VECTOR(1 DOWNTO 0 ); SIGNAL yrityslaskuri: STD_LOGIC_VECTOR(1 DOWNTO 0 ); Tämän jälkeen esitellään komponentit eli aliohjelmat, sekä niiden sisään- ja ulostulot. COMPONENT sanan jälkeen tulee aliohjelman nimi ja PORT käskyllä määritetään sisään- ja ulostulot. -- Värähtelyn esto COMPONENT debounce PORT(kytkin,clk100Hz : IN STD_LOGIC; kytkin_debounced : OUT STD_LOGIC); END COMPONENT; -- ylivuotoventtiiliohjaus COMPONENT ylivuotoventtiiliohjaus PORT(paalle,ylaraja,alaraja,clk100Hz : IN STD_LOGIC; q : OUT STD_LOGIC); END COMPONENT;

21 16 --Viive10s COMPONENT viive10sek PORT(clk100Hz,herate10,sammutus_deb : IN STD_LOGIC; viive10s : OUT INTEGER RANGE 0 TO 1000); END COMPONENT; --Viive30s COMPONENT viive30sek PORT(clk100Hz,sammutus_deb,herate30 : IN STD_LOGIC; viive30s : OUT INTEGER RANGE 0 TO 3000); END COMPONENT; Sitten pitää vielä yhdistää komponenttien signaalit pääohjelman välittäviin signaaleihin PORT MAP -käskyn avulla seuraavassa järjestyksessä: aliohjelman signaali => pääohjelman signaali. kaynnistys_debounce : debounce PORT MAP(kytkin=>kaynnistys,clk100Hz=>clk100Hz,kytkin_debounced=>kaynnistys_deb); sammutus_debounce : debounce PORT MAP(kytkin=>sammutus,clk100Hz=>clk100Hz,kytkin_debounced=>sammutus_deb); venttiiliohjaus : ylivuotoventtiiliohjaus PORT MAP(clk100Hz=>clk100Hz,ylaraja => puhdistusveden_yla,paalle=>kaynnistys_deb,alaraja => puhdistusveden_ala,q=>q); viive10 : viive10sek PORT MAP(clk100Hz=>clk100Hz,herate10=>herate10,sammutus_deb=>sammutus_deb, viive10s=>viive_10s); viive30 : viive30sek PORT MAP(clk100Hz=>clk100Hz,sammutus_deb=>sammutus_deb, viive30s=>viive30s,herate30=>herate30); Tämän jälkeen päästään arkkitehtuurin toiminnalliseen osaan mistä selviää, mitä ohjelma itse asiassa tekee. Siinä on määritelty tilasiirtymät ja niiden ehdot, sekä lähtöjen ohjaukset. Seuraavassa näytän alkutilasta siirtymisen pelkka_huuhtelu-tilaan. Ohjelmakoodit löytyvät kokonaisuudessaan liitteenä. WHEN alkutila => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='0'; startti <='0';

22 17 aikarele_5min_ulos<='0'; IF kaynnistys ='1' THEN seuraava_tila <= pelkka_huuhtelu; ELSE seuraava_tila <= alkutila; WHEN pelkka_huuhtelu => huuhtelu <= '1'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos<='0'; IF aikarele_3min = '0' THEN seuraava_tila <= pelkka_huuhtelu; ELSE seuraava_tila <= huuhtelu_poltin; Ohjelmassa lähdetään liikkeelle alkutila-tilasta. Kun ollaan alkutilassa, kaikki lähdöt ovat nollia. Jos kaynnistys (käynnistys kytkin) on yksi, silloin siirrytään tilaan pelkka_huuhtelu. Jos kaynnistys on nolla, pysytään alkutilassa. Kun ollaan tilassa pelkka_huuhtelu, niin kaikki muut lähdöt paitsi huuhtelu, ovat nollia. Jos aikarele_3min on yksi, eli huuhtelu on ollut kolme minuuttia päällä, siirrytään tilaan huuhtelu_poltin, muulloin pysytään tilassa pelkka_huuhtelu. Tilassa huuhtelu_poltin, lähdöt huuhtelu ja poltin ovat päällä ja muut lähdöt kiinni. Jos imuputken lämpötila-anturi on 100 celsiusastetta, siirrytään tilaan pelkka_huuhtelu2, muulloin pysytään tilassa huuhtelu_poltin. Tilassa pelkka_huuhtelu2, on taas lähdöistä aikarele_5min_ulos ja huuhtelu päällä. Kun aikarele_5min on yksi, eli huuhtelu on ollut viisi minuuttia päällä, siirrytään tilaan huuhtelu_venttiili. Muulloin pysytään samassa tilassa. Tilassa huuhtelu_venttiili, on nimensä mukaan lähdöistä päällä, huuhtelu ja ilmaventtiili. Jos viive_10s on saavuttanut arvon 1000, siirrytään tilaan venttiili_start, muulloin pysytään samassa tilassa ja odotetaan, että viive_10s on saavuttanut arvon Tilassa venttiili_start, on lähdöistä venttiili ja startti päällä. Jos kayko_moottori on nolla, eli moottori ei käy ja aikarele_5s on päällä, niin pysytään tilassa venttiili_start. Jos taas

23 18 moottori käy, siirrytään tilaan venttiili ja normaalikäyttö voi alkaa. Jos moottori ei käynnistynyt, siirrytään tilaan start_epaonnistui. Kun ollaan tilassa start_epaonnistui, niin kaikki lähdöt ovat nollia. Jos kaynnistyslaskuri on 11 eli käynnistystä on yritetty kolme kertaa, siirrytään tilaan yritys_epaonnistui. Jos taas kaynnistyslaskuri on pienempi kuin 11 ja viive30s on saavuttanut arvon 3000, siirrytään tilaan venttiili_start, muulloin pysytään samassa tilassa. Tilassa yritys_epaonnistui, kaikki lähdöt ovat nollia. Jos yrityslaskuri on 10 eli käynnistysprosessin kierto on tapahtunut kaksi kertaa, niin siirrytään tilaan alkutila. Jos taas yrityslaskuri on pienempi kuin 10, siirrytään tilaan huuhtelu_poltin. Kun ollaan tilassa venttiili, lähdöistä pelkästään ilmaventtiili on päällä. Tilassa venttiili ollaan silloin, kun moottori on käynnistynyt. Tästä tilasta ei ole tilasiirtymiä muualle. Ja viimeisenä arkkitehtuurissa prosessin ulkopuolella on ylivuotoventtiiliin ohjaus, sekä kasvatetaan sisäisten signaalien, eli muistielementtien arvoa. ylivuotoventtiili <= '1' WHEN q = '1' ELSE '0'; herate10 <= '1' WHEN seuraava_tila = huuhtelu_venttiili ELSE '0'; kaynnistyslaskuri <= kaynnistyslaskuri + '1' WHEN seuraava_tila = start_epaonnistui; yrityslaskuri <= yrityslaskuri + '1' WHEN seuraava_tila = yritys_epaonnistui; herate30 <= '1' WHEN seuraava_tila = start_epaonnistui AND kaynnistyslaskuri < "11" ELSE '0'; Ylivuotoventtiili menee päälle kun signaali q on yksi. Herate10 on herätesignaali aliohjelmalle viive_10s, tämä saa arvon yksi silloin, kun ollaan tilassa huuhtelu_venttiili, muulloin se on nolla. Kaynnistyslaskuria kasvatetaan yhdellä aina kun ollaan tilassa start_epaonnistui. Samaan tapaan yrityslaskuria kasvatetaan aina yhdellä, kun ollaan tilassa yritys_epaonnistui. Herate30 on herätesignaali aliohjelmalle viive30s. Tämä saa arvon yksi silloin, kun tilana on start_epaonnistui ja kaynnistyslaskuri on pienempi kuin 11.

24 Aliohjelmat Työssä tarvittiin neljä eri komponenttia, eli aliohjelmaa, jotka ovat debounce, viive10sek, viive30sek ja ylivuotoventtiiliohjaus. Kaikkien komponenttien koodit löytyvät kokonaisuudessaan liitteenä. Debounce on värähtelynestokomponentti, jolla suodatetaan kytkinvärähtelyt pois. Lähtöä ohjaa nelibittinen sisäinen signaali siirtorekisteri, joka kellon nousevalla reunalla siirtää bittejä yhden oikealle ja rekisterin vasemmanpuoleiseksi bitiksi tulee kytkimen senhetkinen tila. Jos jokin siirtorekisterin neljästä bitistä on 1, on myös lähtö ykköstilassa, jos kaikki bitit ovat nollia, on lähtö myös nollatilassa. -- kun kellopulssin tila muuttuu nollasta ykköseksi WAIT UNTIL (clk100hz'event) AND (clk100hz = '1'); -- siirto oikealle siirtorekisteri(2 DOWNTO 0) <= siirtorekisteri(3 DOWNTO 1); -- kytkimen tila tallennetaan rekisterin vasemmanpuoleiseksi bitiksi siirtorekisteri(3) <= kytkin; -- jos kaikki bitit nollia IF siirtorekisteri(3 DOWNTO 0)="0000" THEN -- lähtö on nollatilassa kytkin_debounced <= '0'; ELSE -- muulloin lähtö menee ykköstilaan kytkin_debounced <= '1'; Komponentilla viive10sek tuotetaan nimensä mukaan 10 sekunnin viive. Ohjelma sisältää kokonaislukutyyppisen sisäisen signaalin viive, jota kasvatetaan yhdellä aina kellopulssin nousevalla reunalla. Kun viive saavuttaa luvun tuhat, se pyörähtää automaattisesti ympäri ja alkaa laskea uudelleen, jos kaikki vaadittavat ehdot täyttyvät. Viive30sek-komponentti toimii täysin samalla periaatteella. SIGNAL viive : INTEGER RANGE 0 TO 1000; -- kun 1000 täynnä laskuri nollautuu itsestään BEGIN

25 20 PROCESS( clk100hz,herate10,sammutus_deb) IS BEGIN IF sammutus_deb = '1' THEN --sammutuskytkin nollaa laskurin viive <= 0; ELSIF (clk100hz'event AND clk100hz = '1') THEN IF viive < 999 AND herate10 = '1' THEN viive <= viive + 1; ELSE viive <= 0; END PROCESS; viive10s <= viive; END toiminta; Viimeisenä komponenttina on ylivuotoventtiiliohjaus, jolla valvotaan kaasunpuhdistussäiliön vedenpinnan tasoa. Tasoa valvoo kaksi anturia yläraja-anturi ja alaraja-anturi. Kun vedenpinta saavuttaa ylärajan aukeaa venttiili ja on auki niin kauan, kunnes vedenpinta on alle alarajan. Komponentti tehtiin tilakoneena, jossa on kolme eri tilaa, alkutila, paalla ja kiinni. Lähtöä q ohjataan valikoivalla signaalin sijoituksella. CASE nykytila IS WHEN alkutila => IF ylaraja = '1' THEN nykytila <= paalla; ELSE nykytila <= kiinni; WHEN paalla => IF alaraja = '0' THEN nykytila <= kiinni; WHEN kiinni => IF ylaraja = '1' THEN nykytila <= paalla; END CASE; WITH nykytila SELECT q <= '0' WHEN alkutila, '1' WHEN paalla, '0' WHEN kiinni; 5.3 Analyysi & synteesi Analyysissä Quartus II-ohjelma käy läpi kaikki suunnittelutiedostot ja tämän jälkeen ilmoittaa mahdollisista virheistä. Synteesivaiheessa ohjelma muodostaa

26 21 suunnittelutiedostoista yhteisen tietokannan. Ensimmäisen kerran kun suoritin analyysin ja synteesin tuli virheilmoituksia melkein 30 kappaletta. Joukossa oli helpohkoja virheitä, muun muassa puolipisteen puuttumisia ja väärinkirjoitettuja signaalien nimiä, mutta oli siellä vakavampiakin virheitä, joitten takia joutui ohjelmaan muuttamaan moneen kertaan eri muotoon. 5.4 Kääntäminen Käännöksessä on neljä eri vaihetta, ensimmäisenä jo äsken mainittu analyysi ja synteesi, toinen vaihe on fitting, jossa Quartus sovittaa koodin valitulle logiikkapiirille. Kolmas vaihe on assembly, joka laatii ohjelmointitiedostot piirin ohjelmointia varten. Viimeinen vaihe on timing analysis, joka selvittää piirin viiveet ja ilmoittaa mahdollisista viiveisiin liittyvistä virheistä. 5.5 Simulointi Simuloinnissa tutkitaan piirin signaalien arvoja, kun sen tulosignaaleille annetaan peräkkäin erilaisia herätesignaaleja. Simuloinnilla on tarkoitus tutkia toimiiko ohjelma halutulla tavalla, tai toimiiko ohjelma ylipäätään ollenkaan. Simulointi tiedosto tehdään aaltomuotoeditorilla(waveform editor) ja itse simulointi tehdään simulaattorilla. Tämän työn simuloinnit löytyvät liitteenä. 5.6 Piirin ohjelmointi Piirin konfigurointi tehtiin Alteran UP1 kehitysalustalla. Alustan JTAG-liitännästä kytketään Byteblaster -ohjelmointikaapeli tietokoneen rinnakkaisporttiin. Tämän jälkeen Quartus II-ohjelmasta otetaan programmer -valikko, josta valitaan ohjelma mikä siirretään ja jos asetukset on kunnossa, painetaan start-kuvaketta, jonka jälkeen ohjelma siirtyy piirille. Ohjelma siirtyi noin sekunnissa piirille, eli todella nopeasti.

27 22 6 TESTAUS Testaus suoritettiin Quartus II-suunnittelutyökalulla, jolla simuloitiin itse pääohjelma, sekä aliohjelmat. Testauksessa täytyi käydä kaikki mahdolliset tilat ja tilasiirtymät läpi, jotta voitiin varmistua toimiiko ohjelma halutulla tavalla. Alun perin testaus oli tarkoitus suorittaa kehitysalustan ja myöhemmin laitteen oman piirilevyn kanssa. Puuttuvien komponenttien, aikareleiden, sekä piirilevyn vuoksi, testaus jäi pelkästään simuloinnin varaan. Simuloinnissa ohjelma toimi kuten pitikin, mutta ohjelman toimivuudesta ei ole täyttä varmuutta, kun sitä ei päästy testaamaan omalla piirilevyllä. Alla olevasta taulukosta selviää simuloinnin testaussuunnitelma, sekä ohjelman toimivuus. TAULUKKO 1. Testaustaulukko

28 23 7 YHTEENVETO Tämän opinnäytetyön tekeminen oli todella mielenkiintoista ja haastavaa, koska en ollut aiemmin ohjelmoinut VHDL-kielellä. Olen tyytyväinen siihen mitä sain aikaiseksi, ottaen huomioon sen, etten osannut ohjelmoida VHDL-kielellä opinnäytetyötä aloittaessani. Vaikka ohjelma toimi simuloitaessa niin kuin pitikin, ei ohjelman toimivuudesta ole täyttä varmuutta, koska sitä ei päästy testaamaan itse piirilevyllä. Pelkästään simuloimalla testaamiseen ei voi täysin luottaa. Quartus II-ohjelma ilmoitti koodin vievän 128:sasta makrosolusta yhteensä 95 makrosolua, joka on 74 prosenttia piirin kapasiteetista. Piirin 68:sta I/O-pinnistä on käytössä 24 pinniä. Kehitettävää koodiin jäi varmasti paljon, koska tämä oli ensimmäinen ohjelma, jonka tein VHDL-kielellä. Lisäksi hyvä kehitysidea olisi, jos laitteeseen tulee vikatilanne, niin siitä lähtisi matkapuhelimeen tieto, että järjestelmä on ajettu alas ja mistä syystä. Olisi myös hyvä, jos matkapuhelimella pystyisi seuraamaan, että missä tilassa järjestelmä on.

29 24 LÄHTEET Julkaisemattomat Törmälehto, T Kotiautomaation toteutus ohjelmoitavalla logiikkapiirillä. Opinnäytetyö. Keski-Pohjanmaan ammattikorkeakoulu. Tekniikan toimipiste. Ylivieska. Valli, P Kotiautomaation ohjaus FPGA- toteutuksena. Erikoistyö. Keski- Pohjanmaan ammattikorkeakoulu. Tekniikan toimipiste. Ylivieska. Jämsä, J Ohjelmoitavat logiikkapiirit. Luentomuistiinpanot. Keski-Pohjanmaan ammattikorkeakoulu. Tekniikan toimipiste. Ylivieska. Painetut Lipsett, R., Schaefer, C. & Ussery, C VHDL: Hardware Description and Design. Boston, Massachusetts, USA: Kluwer Academic Publishers. Haltsonen, S., Levomäki, J. & Rautanen, E Digitaalitekniikka. Helsinki: Edita Prima Oy. Sähköiset julkaisut Actel Designing State Machines For Fpga s. PDF dokumentti. Saatavissa : Luettu Altera Corporation University Program Design Laboratory Package, User Guide. PDF dokumentti. Saatavissa : Luettu Altera Corporation MAX 7000 Programmable Logic Device Family, Data Sheet. PDF dokumentti. Saatavissa : Luettu Designing safe VHDL state machines with Synplify. PDF dokumentti. Saatavissa : Luettu Huhtama, Kari NE555 ajastinpiiri. WWW dokumentti. Saatavissa: Luettu Rautanen, E Luentokalvoja. PDF dokumentti. Saatavissa: Luettu State Machines in VHDL. PDF dokumentti. Saatavissa : df. Luettu

30 25 LIITELUETTELO Kuvaajat LIITE 1. Päätöspuu LIITE 2. Käytössä olevat I/O -pinnit VHDL koodit LIITE 3. Pääohjelma, tilakone LIITE 4. Debounce, kytkinvärähtelynesto LIITE sekunnin viive LIITE sekunnin viive LIITE 7. Kaasunpuhdistussäiliön vedenpinnan tason ohjaus Quartus II simulointikuvat LIITE 8. Pääohjelma, tilakone LIITE 9. Debounce, kytkinvärähtelynesto LIITE sekunnin viive LIITE sekunnin viive LIITE 12. Kaasunpuhdistussäiliön vedenpinnan tason ohjaus

31 LIITE 1

32 LIITE 2

33 LIITE 3/1 --Pyrolyysigeneraattorin automaatio-ohjaus ohjelmoitavalla logiikkapiirillä --Opinnäytetyö --Joni Heikkilä --kevät Kirjastot käyttöön Library IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; --Entiteetin määritys ENTITY tilakone IS --Ulkoiset tulot ja lähdöt PORT määrittelyssä PORT (clk100hz,kaynnistys,sammutus,imuputken_lampotilaanturi,kayko_moottori,pesurin_pain eanturi,kaasunpuhdistussailion_lampotilaanturi,polttoaineen_lampotilaanturi,voiteluoljyn_ paineanturi,aikarele_5min,aikarele_3min,puhdistusveden_yla,puhdistusveden_ala,aikarele _5s :IN STD_LOGIC; --14 sisääntuloa huuhtelu,poltin,ilmaventtiili,startti,aikarele_5min_ulos,ylivuotoventtiili STD_LOGIC);-- 6 ulostuloa :OUT END tilakone; --Käyttäytymiskuvaus ARCHITECTURE toiminta OF tilakone IS --Tilojen esittely TYPE tilatyyppi IS (alkutila,pelkka_huuhtelu,huuhtelu_poltin,pelkka_huuhtelu2,huuhtelu_venttiili, venttiili_start,venttiili,start_epaonnistui,yritys_epaonnistui); --Sisäinen signaali tila sisältää hetkellisen tilan tiedon SIGNAL nykytila,seuraava_tila: tilatyyppi; --Määritetään aliohjelmien liitynnät --ja sisäiset signaalit SIGNAL kaynnistys_deb, sammutus_deb,q,herate10,herate30: STD_LOGIC; SIGNAL viive_10s : INTEGER RANGE 0 TO 1000; SIGNAL viive30s : INTEGER RANGE 0 TO 3000; SIGNAL kaynnistyslaskuri: STD_LOGIC_VECTOR(1 DOWNTO 0 ); SIGNAL yrityslaskuri: STD_LOGIC_VECTOR(1 DOWNTO 0 ); -- Värähtelyn esto COMPONENT debounce PORT(kytkin,clk100Hz : IN STD_LOGIC; kytkin_debounced : OUT STD_LOGIC); END COMPONENT; -- ylivuotoventtiiliohjaus COMPONENT ylivuotoventtiiliohjaus

34 LIITE 3/2 PORT(paalle,ylaraja,alaraja,clk100Hz : IN STD_LOGIC; q : OUT STD_LOGIC); END COMPONENT; --Viive10s COMPONENT viive10sek PORT(clk100Hz,herate10,sammutus_deb : IN STD_LOGIC; viive10s : OUT INTEGER RANGE 0 TO 1000); END COMPONENT; --Viive30s COMPONENT viive30sek PORT(clk100Hz,sammutus_deb,herate30 : IN STD_LOGIC; viive30s : OUT INTEGER RANGE 0 TO 3000); END COMPONENT; BEGIN --Yhdistetään PORT MAP:lla komponentin signaalit välittäviin signaaleihin kaynnistys_debounce : debounce PORT MAP(kytkin=>kaynnistys,clk100Hz=>clk100Hz,kytkin_debounced=>kaynnistys_deb); sammutus_debounce : debounce PORT MAP(kytkin=>sammutus,clk100Hz=>clk100Hz,kytkin_debounced=>sammutus_deb); venttiiliohjaus : ylivuotoventtiiliohjaus PORT MAP(clk100Hz=>clk100Hz,ylaraja => puhdistusveden_yla,paalle=>kaynnistys_deb,alaraja => puhdistusveden_ala,q=>q); viive10 : viive10sek PORT MAP(clk100Hz=>clk100Hz,herate10=>herate10,sammutus_deb=>sammutus_deb, viive10s=>viive_10s); viive30 : viive30sek PORT MAP(clk100Hz=>clk100Hz,sammutus_deb=>sammutus_deb, viive30s=>viive30s,herate30=>herate30); --Prosessin herätteet PROCESS (clk100hz,sammutus_deb,pesurin_paineanturi,kaasunpuhdistussailion_lampotilaanturi, polttoaineen_lampotilaanturi,voiteluoljyn_paineanturi) BEGIN IF (sammutus_deb = '1' OR pesurin_paineanturi = '1' OR kaasunpuhdistussailion_lampotilaanturi = '1' OR polttoaineen_lampotilaanturi = '1' OR voiteluoljyn_paineanturi = '1') THEN nykytila <= alkutila; ELSIF (clk100hz'event AND clk100hz ='1') THEN nykytila <= seuraava_tila; END PROCESS;

35 LIITE 3/3 PROCESS (nykytila,seuraava_tila,aikarele_3min,imuputken_lampotilaanturi,aikarele_5min,viive_10s, kayko_moottori,aikarele_5s,kaynnistyslaskuri,viive30s,yrityslaskuri,kaynnistys_deb) BEGIN --Tilasiirtymäehdot kaikille tiloille CASE nykytila IS WHEN alkutila => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='0'; IF kaynnistys_deb ='1' THEN seuraava_tila <= pelkka_huuhtelu; ELSE seuraava_tila <= alkutila; WHEN pelkka_huuhtelu => huuhtelu <= '1'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='0'; IF aikarele_3min = '0' THEN seuraava_tila <= pelkka_huuhtelu; ELSE seuraava_tila <= huuhtelu_poltin; WHEN huuhtelu_poltin => huuhtelu <= '1'; poltin <='1'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='0'; IF imuputken_lampotilaanturi = '0' THEN seuraava_tila <= huuhtelu_poltin; ELSE seuraava_tila <= pelkka_huuhtelu2; WHEN pelkka_huuhtelu2 => huuhtelu <= '1'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='1';

36 LIITE 3/4 IF aikarele_5min = '0' THEN seuraava_tila <= pelkka_huuhtelu2; ELSE seuraava_tila <= huuhtelu_venttiili; WHEN huuhtelu_venttiili => huuhtelu <= '1'; poltin <='0'; ilmaventtiili <='1'; startti <='0'; aikarele_5min_ulos <='0'; IF viive_10s = 1000 THEN seuraava_tila <= venttiili_start; ELSE seuraava_tila <= huuhtelu_venttiili; WHEN venttiili_start => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='1'; startti <='1'; aikarele_5min_ulos <='0'; IF (kayko_moottori = '0' AND aikarele_5s = '1') THEN seuraava_tila <= venttiili_start; ELSIF (kayko_moottori = '1'AND aikarele_5s = '0') THEN seuraava_tila <= venttiili; --normaali käyttö alkaa ELSIF (kayko_moottori = '1'AND aikarele_5s = '1') THEN seuraava_tila <= venttiili; --normaali käyttö alkaa ELSE seuraava_tila <= start_epaonnistui; WHEN start_epaonnistui => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='0'; IF kaynnistyslaskuri = "11" THEN seuraava_tila <= yritys_epaonnistui; ELSIF viive30s = 3000 AND kaynnistyslaskuri < "11" THEN seuraava_tila <= venttiili_start; ELSE seuraava_tila <= start_epaonnistui; WHEN yritys_epaonnistui => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='0'; startti <='0'; aikarele_5min_ulos <='0'; IF yrityslaskuri = "10" THEN seuraava_tila <= alkutila;

37 LIITE 3/5 ELSE seuraava_tila <= huuhtelu_poltin; WHEN venttiili => huuhtelu <= '0'; poltin <='0'; ilmaventtiili <='1'; startti <='0'; aikarele_5min_ulos <='0'; seuraava_tila <= venttiili; END CASE; END PROCESS; ylivuotoventtiili <= '1' WHEN q = '1' ELSE '0'; herate10 <= '1' WHEN seuraava_tila = huuhtelu_venttiili ELSE '0'; kaynnistyslaskuri <= kaynnistyslaskuri + '1' WHEN seuraava_tila = start_epaonnistui; yrityslaskuri <= yrityslaskuri + '1' WHEN seuraava_tila = yritys_epaonnistui; herate30 <= '1' WHEN seuraava_tila = start_epaonnistui AND kaynnistyslaskuri < "11" ELSE '0'; END toiminta;

38 LIITE 4 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; -- suodattaa värähtelyn pois -- suunnitteluyksikön esittely ENTITY debounce IS PORT(kytkin, clk100hz : IN STD_LOGIC; --tulot kytkin_debounced : OUT STD_LOGIC); --lähtö END debounce; -- rakennekuvaus ARCHITECTURE toiminta OF debounce IS -- nelibittinen sisäinen signaali SIGNAL siirtorekisteri : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS BEGIN -- kun kellopulssin tila muuttuu nollasta ykköseksi WAIT UNTIL (clk100hz'event) AND (clk100hz = '1'); -- siirto oikealle siirtorekisteri(2 DOWNTO 0) <= siirtorekisteri(3 DOWNTO 1); -- kytkimen tila tallennetaan rekisterin vasemmanpuoleiseksi bitiksi siirtorekisteri(3) <= kytkin; -- jos kaikki bitit nollia IF siirtorekisteri(3 DOWNTO 0)="0000" THEN -- lähtö on nollatilassa kytkin_debounced <= '0'; ELSE -- muulloin lähtö menee ykköstilaan kytkin_debounced <= '1'; END PROCESS; END toiminta;

39 LIITE 5 --viive 10s Hz sisään => 10ms * 1000 = 10s LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; ENTITY viive10sek IS PORT( clk100hz,herate10,sammutus_deb : IN BIT; viive10s : OUT INTEGER RANGE 0 TO 1000); END viive10sek; ARCHITECTURE toiminta OF viive10sek IS SIGNAL viive : INTEGER RANGE 0 TO 1000; -- kun 1000 täynnä laskuri nollautuu itsestään BEGIN PROCESS( clk100hz,herate10,sammutus_deb) IS BEGIN IF sammutus_deb = '1' THEN --sammutuskytkin nollaa laskurin viive <= 0; ELSIF (clk100hz'event AND clk100hz = '1') THEN IF viive < 999 AND herate10 = '1' THEN viive <= viive + 1; ELSE viive <= 0; END PROCESS; viive10s <= viive; END toiminta;

40 LIITE 6 --viive 30s --sisään 100Hz => 10ms * 3000 = 30s LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; USE IEEE.STD_LOGIC_ARITH.all; USE IEEE.STD_LOGIC_UNSIGNED.all; ENTITY viive30sek IS PORT( clk100hz,sammutus_deb,herate30 : IN BIT; viive30s : OUT INTEGER RANGE 0 TO 3000); END viive30sek; ARCHITECTURE toiminta OF viive30sek IS SIGNAL viive : INTEGER RANGE 0 TO 3000; --laskuri nollaantuu kun 3000 on täynnä BEGIN PROCESS( clk100hz,sammutus_deb,herate30) IS BEGIN IF sammutus_deb = '1' THEN --sammutuskytkin nollaa laskurin viive <= 0; ELSIF (clk100hz'event AND clk100hz = '1') THEN IF herate30 = '1' THEN viive <= viive + 1; END PROCESS; viive30s <= viive; END toiminta;

41 LIITE 7 --ylivuotoventtiiliohjaus LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.all; ENTITY ylivuotoventtiiliohjaus IS PORT( paalle,ylaraja, alaraja,clk100hz : IN STD_LOGIC; q : OUT STD_LOGIC); END ylivuotoventtiiliohjaus; ARCHITECTURE toiminta OF ylivuotoventtiiliohjaus IS TYPE tilatyyppi IS (paalla,kiinni,alkutila); SIGNAL nykytila : tilatyyppi; BEGIN PROCESS(paalle,clk100Hz) BEGIN IF paalle = '0' THEN nykytila <= alkutila; ELSIF (clk100hz'event AND clk100hz ='1') THEN CASE nykytila IS WHEN alkutila => IF ylaraja = '1' THEN nykytila <= paalla; ELSE nykytila <= kiinni; WHEN paalla => IF alaraja = '0' THEN nykytila <= kiinni; WHEN kiinni => IF ylaraja = '1' THEN nykytila <= paalla; END CASE; END PROCESS; WITH nykytila SELECT q <= '0' WHEN alkutila, '1' WHEN paalla, '0' WHEN kiinni; END toiminta;

42 LIITE 8

43 LIITE 9

44 LIITE 10

45 LIITE 11

46 LIITE 12

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit BL4A17x Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit Ohjelmoitavat logiikkapiirit (PLD, Programmable Logic Device) PLD (Programmable Logic Device) on yleinen nimitys integroidulle piirille,

Lisätiedot

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Vaasan yliopisto Sivu: 1/9 VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Tässä dokumentissa opastetaan, miten -kurssin VHDLtehtävissä tarvittavia ohjelmia käytetään.

Lisätiedot

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg Digitaalitekniikka (piirit) Metropolia / AKo Pikku nnitteluharjoitus: Suunnitellaan sekvenssipiiri, jolla saadaan numerot juoksemaan seitsensegmenttinäytöllä: VHDL-koodin generointi ASM-kaavioista Tässä

Lisätiedot

Ohjelmoitavat logiikkaverkot

Ohjelmoitavat logiikkaverkot Digitaalitekniikka (piirit) Luku 9 Sivu (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavat logiikkaverkot Ohjelmoitavat logiikkaverkot Programmable logic logic PLD-piirit Programmable logic logic

Lisätiedot

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Metropolia/AK. Mealyn koneessa on kolme tulosignaalia, joista yksi vaikuttaa pelkästään lähtösignaaleihin, yksi pelkästään koneen tilaan ja yksi

Lisätiedot

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja s2009 1. D-kiikku Toteuta DE2:lla synkroninen laskukone, jossa lasketaan kaksi nelibittistä lukua yhteen. Tulos esitetään ledeillä vasta,

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet

TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet Työ: VHDL ohjelmoinnin perusteet & Quartus II ohjelmiston käyttöönotto Tehnyt: Kari Huovinen Pvm: 26.4.2006 Lisäyksiä: Harri Honkanen 13.09.2007

Lisätiedot

2_1----~--~r--1.~--~--~--,.~~

2_1----~--~r--1.~--~--~--,.~~ K.Loberg FYSE420 DIGITAL ELECTRONICS 3.06.2011 1. Toteuta alia esitetyn sekvenssin tuottava asynkroninen pun. Anna heditefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja s2009 Tehtävien ratkaisussa käytän yhteistä top-level -suunnitteluyksikköä, jonka komponentilla toteutetaan erilaiset piirin topologiat.

Lisätiedot

VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)

VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33) Digitaalitekniikka (piirit) Luku 7 Sivu (33) Digitaalitekniikka (piirit) Luku 7 Sivu 2 (33) Johdanto Tässä luvussa esitellään laitteiston kuvauskielet ja niistä erityisesti VHDL esitetään VHDL-kuvauskielen

Lisätiedot

21~--~--~r--1~~--~--~~r--1~

21~--~--~r--1~~--~--~~r--1~ - K.Loberg FYSE420 DIGITAL ELECTRONICS 13.05.2011 1. Toteuta alla esitetyn sekvenssin tuottava asynkroninen pun. Anna heratefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

Lisätiedot

Esimerkkitentin ratkaisut ja arvostelu

Esimerkkitentin ratkaisut ja arvostelu Sivu (5) 2.2.2 Fe Seuraavassa on esitetty tenttitehtävien malliratkaisut ja tehtäväkohtainen arvostelu. Osassa tehtävistä on muitakin hyväksyttäviä ratkaisuja kuin malliratkaisu. 2 Tehtävät on esitetty

Lisätiedot

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä Pasi Vähämartti TEHTÄVÄT 1(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä entity JK_kiikku2 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic;

Lisätiedot

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit Digitaalitekniikan matematiikka Luku 3 Sivu (9) && Digitaalitekniikan matematiikka Luku 3 Sivu 2 (9) Johdanto Tässä luvussa esitetään digitaalilaitteen signaalit ja digitaalipiirien perustyypit esitellään

Lisätiedot

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

Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin Ohjelmointitehtävänä on laatia ohjelma jääkaapin ovihälyttimelle. Hälytin toimii 3 V litium paristolla ja se sijoitetaan jääkaapin sisälle. Hälyttimen

Lisätiedot

Digitaalilaitteen signaalit

Digitaalilaitteen signaalit Digitaalitekniikan matematiikka Luku 3 Sivu 3 (9) Digitaalilaitteen signaalit Digitaalilaitteeseen tai -piiriin tulee ja siitä lähtee digitaalisia signaaleita yksittäisen signaalin arvo on kunakin hetkenä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009

VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009 VHDL/Verilog/SystemC Jukka Jokelainen 20.10.2009 Sisältö Mitä ihmettä on hardwaren ohjelmointi? VHDL Verilog SystemC Analogiaelektroniikan yhdistäminen digitaaliseen maailmaan Yhteenveto ja pohdintaa Hardwaren

Lisätiedot

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

LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla Ohjelmointia Arduinolla Kyösti Blinnikka, Olarin koulu ja lukio LUMA-keskus Aalto Mikä on Arduino? Open Source Electronics Prototyping Platform Arduino on avoimeen laitteistoon ja ohjelmistoon perustuva

Lisätiedot

Pikaohje Aplisens APIS type 1X0 ja 2XO

Pikaohje Aplisens APIS type 1X0 ja 2XO Pikaohje Aplisens APIS type 1X0 ja 2XO Koivupuistontie 26, 01510, Vantaa www.saato.fi, sales@saato.fi, 09-759 7850 Sisällys 1. Yleistä...3 2. Parametritilan toiminnot...4 3. Käyttöönotto pikaohje...5 1.

Lisätiedot

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

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi. Lämpötilahälytin Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi. Laite koostuu Arduinokortista ja koekytkentälevystä. Hälyttimen toiminnat ohjelmoidaan Arduinolle.

Lisätiedot

PM10OUT2A-kortti. Ohje

PM10OUT2A-kortti. Ohje PM10OUT2A-kortti Ohje Dokumentin ID 6903 V3 13.4.2015 Sisällysluettelo Sisällysluettelo... 2 Esittely... 3 Kortti ja rekisterit... 3 Lähtöviestit... 4 Signaalien kytkeminen... 4 Käyttö... 4 Asetusten tekeminen...

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

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

Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja. Liikennevalot Laite koostuu Arduinokortista ja koekytkentälevystä. Liikennevalon toiminnat ohjelmoidaan Arduinolle. Ledit ja muut komponentit asetetaan koekytkentälevylle. Arduino toimii laitteen aivoina.

Lisätiedot

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

Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä 2) Kahdesta rinnankytketystä sähkölähteestä a) kuormittuu enemmän se, kummalla on

Lisätiedot

Harjoitustyö - Mikroprosessorit Liikennevalot

Harjoitustyö - Mikroprosessorit Liikennevalot Saku Chydenius tammikuu 2004 Asko Ikävalko Harjoitustyö - Mikroprosessorit Liikennevalot Työn valvoja: Kimmo Saurén RAPORTTI 1(8) 1. Alkuperäinen tehtävänanto 2. Määritelmä valojen vaihtumiselle Muodosta

Lisätiedot

Digitaalitekniikan matematiikka Luku 6 Sivu 1 (20) Kombinaatiopiirit & & A B A + B

Digitaalitekniikan matematiikka Luku 6 Sivu 1 (20) Kombinaatiopiirit & & A B A + B igitaalitekniikan matematiikka Luku 6 Sivu (20).9.20 e 0 0 0 0 0 + 0 0 0 0 0 0 0 igitaalitekniikan matematiikka Luku 6 Sivu 2 (20).9.20 e Johdanto Tässä luvussa esitellään porttipiirityypit J-EI ja TI-EI

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

ELEC-C3240 Elektroniikka 2

ELEC-C3240 Elektroniikka 2 ELEC-C324 Elektroniikka 2 Marko Kosunen Marko.kosunen@aalto.fi Digitaalielektroniikka Tilakoneet Materiaali perustuu kurssiins-88. Digitaalitekniikan perusteet, laatinut Antti Ojapelto Luennon oppimistavoite

Lisätiedot

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO

OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO OMNIA AMMATTIOPISTO OPINNÄYTETYÖ Diginoppa ICTP09SLG - 2012 OMNIAN AMMATTIOPISTO KOULUTUSALA Tieto- ja tietoliikennetekniikka OPISKELIJA Hannu Junno OHJAAJA Jari Laurila VUOSI 2012 2 TIIVISTELMÄ Opinnäytetyöni

Lisätiedot

1 Muutokset piirilevylle

1 Muutokset piirilevylle 1 Muutokset piirilevylle Seuraavat muutokset täytyvät olla piirilevylle tehtynä, jotta tätä käyttöohjetta voidaan käyttää. Jumppereiden JP5, JP6, JP7, sekä JP8 ja C201 väliltä puuttuvat signaalivedot on

Lisätiedot

Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA

Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA Turo Id MIKROPROSESSORIJÄRJESTELMÄN SUUNNITTELU FPGA:LLA Tekniikka 2018 VAASAN AMMATTIKORKEAKOULU Tietotekniikka TIIVISTELMÄ Tekijä Turo Id Opinnäytetyön nimi Mikroprosessorijärjestelmän suunnittelu FPGA:lla

Lisätiedot

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

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma) LE PDX DIN kiskokiinnitys Ominaisuudet ja edut - Ohjelmoitavissa haluttuihin arvoihin - Itsenäiset säädöt (esim. ramp up & ramp down) - Kirkas 4 numeroinen LED näyttö - Selkeä rakenne, yksinkertainen käyttää

Lisätiedot

Kauko-ohjauslaite GSM rele 2011 v 24.10.2010

Kauko-ohjauslaite GSM rele 2011 v 24.10.2010 Kauko-ohjauslaite GSM rele 2011 v 24.10.2010 Gsmreleen päätoiminnat Etälaiteiden kauko-ohjaus vanhan GSM-puhelimen avulla Laitteessa on neljä releettä ja kaksi lisäohjausta. Yhteensä kuusi ohjausta. Releiden

Lisätiedot

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet

CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet Pasi Vähämartti ITSEOPISKELU 1(10) CLPD ja FPGA piirien arkkitehtuuri ja ominaisuudet Tutki data-kirjasta XC9500-sarjan CPLD piirin: 1. Arkkitehtuuri 2. Suurimman ja pienimmän piirin portti-, pinni- ja

Lisätiedot

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

1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1 YLEISTÄ 1.1 PROJEKTIN TARKOITUS Tämä projekti on mikrokontrollerilla toteutettu lämpötilan seuranta kortti. Kortti kerää lämpöantureilta

Lisätiedot

Ohjelmistoradio. Mikä se on:

Ohjelmistoradio. Mikä se on: 1 Mikä se on: SDR = Software Defined Radio radio, jossa ohjelmisto määrittelee toiminnot ja ominaisuudet: otaajuusalue olähetelajit (modulaatio) olähetysteho etuna joustavuus, jota tarvitaan sovelluksissa,

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Julkaisun laji Opinnäytetyö. Sivumäärä 43

Julkaisun laji Opinnäytetyö. Sivumäärä 43 OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010

Lisätiedot

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R igitaalitekniikka (piirit) Luku 5 ivu (7).8.24 Fe/AKo C J C K C T C C J C K igitaalitekniikka (piirit) Luku 5 ivu 2 (7).8.24 Fe/AKo Johdanto Tässä luvussa esitetään salpapiirit, jotka ovat yksinkertaisimpia

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

Sekvenssipiirin tilat

Sekvenssipiirin tilat igitaalitekniikka (piirit) Luku Täsmätehtävä Tehtävä Sekvenssipiirin tilat Montako tilaa vähintään tarvitaan seuraavissa sekvenssipiireissä: Painikkeella ohjattava lampun sytytys ja sammutus. Näyttöä ohjaava

Lisätiedot

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

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma) LE PSX DIN kisko kiinnitys Ominaisuudet ja edut - Ohjelmoitavissa haluttuihin arvoihin - Itsenäiset säädöt (esim. ramp up & ramp down) - Kirkas 3 numeron LED näyttö - Selkeä rakenne, yksinkertainen käyttää

Lisätiedot

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

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

Harjoitustehtävien ratkaisut

Harjoitustehtävien ratkaisut Sivu (22) 29.8.2 Fe/Ko Luku Sekvenssipiirit. Tutki luentokalvo- ja opetusmonisteessa esitettyä esimerkkiä synkronisesta sekvenssipiiristä. a) Montako tilaa piirissä on? Koska piirissä on kaksi tilasignaalia,

Lisätiedot

GSRELE ohjeet. Yleistä

GSRELE ohjeet. Yleistä GSRELE ohjeet Yleistä GSM rele ohjaa Nokia 3310 puhelimen avulla releitä, mittaa lämpötilaa, tekee etähälytyksiä GSM-verkon avulla. Kauko-ohjauspuhelin voi olla mikä malli tahansa tai tavallinen lankapuhelin.

Lisätiedot

PR 3100 -SARJA ASENNUS JA KYTKENTÄ

PR 3100 -SARJA ASENNUS JA KYTKENTÄ PR 3100 SARJA ASENNUS JA KYTKENTÄ 3100V105 3114V101 FIN Yksiköitä voi syöttää 24 VDC ± 30 % jännitteellä suoraan johdottamalla tai johdottamalla maks. 130 yksikköä rinnakkain toisiinsa. 3405tehonliitäntäyksikkö

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty

SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma M-koodit Omron servojen ohjauksessa Tekijän nimi Ryhmätunnus Syventävä työ Jouni Lamminen EE01POS 4. vuosikurssin syventävä Luovutettu Hyväksytty

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Digitaalitekniikan matematiikka Harjoitustehtäviä

Digitaalitekniikan matematiikka Harjoitustehtäviä arjoitustehtäviä Sivu 6 6.3.2 e arjoitustehtäviä uku 3 ytkentäfunktiot ja perusporttipiirit 3. äytäväkytkin on järjestelmä jossa käytävän kummassakin päässä on kytkin ja käytävän keskellä lamppu. amppu

Lisätiedot

Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8)

Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8) Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8) Digitaalitekniikka (piirit) Luku 0 Sivu 2 (8) Yleistä opintojaksosta Laajuus 3 op = 80 h, 1. periodilla

Lisätiedot

KÄYTTÖOHJE PEL 2500 / PEL 2500-M

KÄYTTÖOHJE PEL 2500 / PEL 2500-M V2.0.0 (24.10.2014) 1 (7) KÄYTTÖÖNOTTO Asennus - Lähetin tulisi asentaa mittauskohdan yläpuolelle kondensoitumisongelmien välttämiseksi. - Kanavan ylipaine mitataan siten, että kanavan mittayhde yhdistetään

Lisätiedot

Synkronisten sekvenssipiirien suunnittelu

Synkronisten sekvenssipiirien suunnittelu Digitaalitekniikka (piirit) Luku 6 Sivu (5) Synkronisten sekvenssipiirien suunnittelu.8.24 Fe/AKo Synkronisten sekvenssipiirien suunnittelu Digitaalitekniikka (piirit) Luku 6 Sivu 2 (5) Synkronisten sekvenssipiirien

Lisätiedot

OPERAATIOVAHVISTIMET 2. Operaatiovahvistimen ominaisuuksia

OPERAATIOVAHVISTIMET 2. Operaatiovahvistimen ominaisuuksia KAJAANIN AMMATTIKORKEAKOULU Tekniikan ja liikenteen ala TYÖ 11 ELEKTRONIIKAN LABORAATIOT H.Honkanen OPERAATIOVAHVISTIMET 2. Operaatiovahvistimen ominaisuuksia TYÖN TAVOITE Tutustua operaatiovahvistinkytkentään

Lisätiedot

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

PROBYTE CONTROL GSM. GSM/SMS-hälytys- ja ohjauslaite. GSM Control 7/11/01 sivu 1/5 PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite GSM Control 7/11/01 sivu 1/5 Yleistä l - PROBYTE CONTROL GSM on hälytys- ja kauko-ohjauslaite, joka käyttää GSM/SMStekniikkaa viestien välitykseen GSM

Lisätiedot

KÄYTTÖOHJE PEL / PEL-M

KÄYTTÖOHJE PEL / PEL-M V2.0.0 (05.09.2014) 1 (6) KÄYTTÖÖNOTTO Asennus - Lähetin tulisi asentaa mittauskohdan yläpuolelle kondensoitumisongelmien välttämiseksi. - Kanavan ylipaine mitataan siten, että kanavan mittayhde yhdistetään

Lisätiedot

Safety Integrated -turvatekniset perusratkaisut. Siemens Automation

Safety Integrated -turvatekniset perusratkaisut. Siemens Automation Safety Integrated -turvatekniset perusratkaisut Siemens Automation Itsenäisen koneen turvaratkaisu toteutetaan releellä, konetta ei ole kytketty väylään Select language Exit Sivu 2 Industry Sector Turvareleet

Lisätiedot

I2S-VÄYLÄLIITYNNÄN TOTEUTUS FPGA- PIIRILLE. Joel Junttila. Ohjaaja: Jukka Lahti

I2S-VÄYLÄLIITYNNÄN TOTEUTUS FPGA- PIIRILLE. Joel Junttila. Ohjaaja: Jukka Lahti I2S-VÄYLÄLIITYNNÄN TOTEUTUS FPGA- PIIRILLE Joel Junttila Ohjaaja: Jukka Lahti SÄHKÖTEKNIIKAN KOULUTUSOHJELMA 2016 Junttila J. (2016) I2S-väylän toteutus FPGA-piirille. Oulun yliopisto, sähkötekniikan koulutusohjelma.

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

KÄYTTÖOHJE PEL 1000 / PEL 1000-M

KÄYTTÖOHJE PEL 1000 / PEL 1000-M V1.0 (19.02.2015) 1 (8) KÄYTTÖÖNOTTO Asennus - Lähetin tulisi asentaa mittauskohdan yläpuolelle kondensoitumisongelmien välttämiseksi. - Kanavan ylipaine mitataan siten, että kanavan mittayhde yhdistetään

Lisätiedot

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

LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti LUMECOM Jyrsinsovellus 1. Asennusohje 2. Käyttöohje 3. Käyttöönottokortti 11.4.2018 Asennusohje - ProJyrsin 1. Avaa Google Play Store tabletiltasi - sovellus ei tue toistaiseksi Apple/IOS käyttöjärjestelmiä

Lisätiedot

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2 Luku igitaalitekniikka (piirit) Täsmätehtävät.8. Fe/AKo igitaalitekniikka (piirit) Täsmätehtävät.8. Fe/AK Opetuskerta Sivu 4 Luku Opetuskerta Sivu Sekvenssipiirin tilat Montako tilaa vähintään tarvitaan

Lisätiedot

KAUKO-OHJATTAVA OHJAUSKESKUS

KAUKO-OHJATTAVA OHJAUSKESKUS KAUKO-OHJATTAVA OHJAUSKESKUS 1101--119 PINTA-ASENNUS 1 SYLA 6 SYLA PU RAKENNE 1 1) Ryhmävarokkeet kiukaan kahdelle tehoryhmälle (molemmilla on oma kontaktori). ) Merkkivalo, keltainen. Palaa kiukaan ollessa

Lisätiedot

NP-2T DL ohje. Oy Nylund-Group Ab

NP-2T DL ohje. Oy Nylund-Group Ab NP-2T DL ohje Oy Nylund-Group Ab 5.10.2018 NP-2T DL Ominaisuudet: Ohjaa DALI-valaisimia broadcastkomennoin Ei vaadi ohjelmointia Sisäänrakennettu tehonsyöttö DALIväylälle Dynaaminen valaistuksenohjaus

Lisätiedot

Näppäimistö CT 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. CT1000v.5

Näppäimistö CT 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. CT1000v.5 Näppäimistö CT 1000 Käyttäjäopas CT1000v.5 Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi Sivu 2 CT 1000 Rajoitukset Kaikki oikeudet tähän ohjekirjaan ovat Global Safety & Security

Lisätiedot

START Pääohjelma - arvojen asettaminen - keskipisteet - kierrenousujen ohjaus. Tokan reiän hionta

START Pääohjelma - arvojen asettaminen - keskipisteet - kierrenousujen ohjaus. Tokan reiän hionta START Pääohjelma - arvojen asettaminen - keskipisteet - kierrenousujen ohjaus Tokan reiän hionta - ruvetaan hiomaa reikää - lisätään y-arvoa joka kierroksen jälkeen Kierrenousun alku - rekisterien nollaus

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

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

Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00 LUE KOKO OHJE HUOLELLA LÄPI ENNEN KUIN ALOITAT!!! Tehtävä 1a Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00 MITTAUSMODULIN KOKOAMINEN

Lisätiedot

Moottorin kaukokäynnistys. Toiminta. Käyttäytyminen. Moottorin kaukokäynnistyksen toiminnolla moottori käynnistetään ohjaamon ulkopuolelta.

Moottorin kaukokäynnistys. Toiminta. Käyttäytyminen. Moottorin kaukokäynnistyksen toiminnolla moottori käynnistetään ohjaamon ulkopuolelta. Toiminta Toiminta Moottorin kaukokäynnistyksen toiminnolla moottori käynnistetään ohjaamon ulkopuolelta. Käyttäytyminen Käynnistysyrityksen onnistuminen tai epäonnistuminen kuitataan suuntavilkuilla: Jos

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

OPTYMA Control Kylmäjärjestelmän ohjauskeskus

OPTYMA Control Kylmäjärjestelmän ohjauskeskus OPTYMA Control Kylmäjärjestelmän ohjauskeskus Käyttöopas Sisällysluettelo Tuotteet & Sovellukset... 3 Käyttöliittymä... 4 Näyttö... 5 Ohjelmointi... 6 Asetusarvon asettaminen... 6 Hälytykset... 6 Perusasetukset...

Lisätiedot

1. Yleistä. 2. Ominaisuudet. 3. Liitännät

1. Yleistä. 2. Ominaisuudet. 3. Liitännät 1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot

Lisätiedot

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa Nimi: Pisteet: Koulu: Lue liitteenä jaettu artikkeli Solar Lamp (Elector Electronics 9/2005) ja selvitä itsellesi laitteen toiminta. Tätä artikkelia

Lisätiedot

9.6 Kannettava testilaite

9.6 Kannettava testilaite 9.6 Kannettava testilaite Kannettavalla testilaitteella testataan ylivirtalaukaisimen, energia- ja virtamuuntimien, laukaisumagneetin F5 sekä mittausarvojen näytön oikea toiminta. 9.6.1 Ulkonäkö (1) LED

Lisätiedot

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

PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite PROBYTE CONTROL GSM GSM/SMS-hälytys- ja ohjauslaite GSM Control 3/5/03 sivu 1/6 Yleistä l - PROBYTE CONTROL GSM on hälytys- ja kauko-ohjauslaite, joka käyttää GSM/SMStekniikkaa viestien välitykseen GSM

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2012-2013 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

ERISTYSTASON VALVONTARELE MEV-7 (LC-7 ja Kosketusnäyttö)

ERISTYSTASON VALVONTARELE MEV-7 (LC-7 ja Kosketusnäyttö) ERISTYSTASON VALVONTARELE MEV-7 (LC-7 ja Kosketusnäyttö) MEV-7 on tarkoitettu suojaerotusmuuntajan jälkeisen ns. Kelluvan verkon eristystilan- ja muuntajan ylikuormituksen-valvontaan. KYTKENTÄOHJE APUJÄNNITE:

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

TASA- JA VAIHTOVIRTAPIIRIEN LABORAATIOTYÖ 5 SUODATINPIIRIT

TASA- JA VAIHTOVIRTAPIIRIEN LABORAATIOTYÖ 5 SUODATINPIIRIT TASA- JA VAIHTOVIRTAPIIRIEN LABORAATIOTYÖ 5 SUODATINPIIRIT Työselostuksen laatija: Tommi Tauriainen Luokka: TTE7SN1 Ohjaaja: Jaakko Kaski Työn tekopvm: 02.12.2008 Selostuksen luovutuspvm: 16.12.2008 Tekniikan

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

Siinä tapauksessa tätä ohjelehtistä ei tarvita.

Siinä tapauksessa tätä ohjelehtistä ei tarvita. CONNECT -järjestelmä on älykäs ja joustava verkko, jossa yksittäiset laitteet eivät vain yksipuolisesti lähetä tai vastaanota signaaleja, vaan ne myös kommunikoivat keskenään. Näin järjestelmä käyttää

Lisätiedot

P I C A X E O H J E L M O I N T I

P I C A X E O H J E L M O I N T I PICAXE OHJELMOINTI Tämä materiaalipaketti on tehty PICAXE piireihin perustuvaa elektroniikan opetusta varten. Tarkoituksena on opettaa ohjelmoitavan mikropiirin käyttöä erilaisissa sovellutuksissa. Lisää

Lisätiedot

DIMLITE Daylight. Sähkönumero 2604221. Käyttöohje

DIMLITE Daylight. Sähkönumero 2604221. Käyttöohje DIMLITE Daylight Sähkönumero 2604221 Käyttöohje T1 / T2 sisääntulot Yksittäispainikeohjaus Nopea painallus Tx painikkeesta sytyttää valaistuksen sytytyshetkellä valitsevaan päivänvalotilanteeseen tai viimeisimmäksi

Lisätiedot

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät JOHDATUS ELEKTRONIIKKAAN Oppitunti 2 Elektroniikan järjestelmät 2 ELEKTRONIIKAN JÄRJESTELMÄT Aktiivisuusranneke Mittaa liikettä Keskustelee käyttäjän kanssa ledeillä ja värinällä Keskustelee radioiden

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

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

LUMECOM. Jyrsinsovellus. 1. Asennusohje 2. Käyttöohje LUMECOM Jyrsinsovellus 1. Asennusohje 2. Käyttöohje 11.4.2018 Asennusohje - ProJyrsin 1. Avaa Google Play Store tabletiltasi - sovellus ei tue toistaiseksi Apple/IOS käyttöjärjestelmiä 2. Kirjoita hakukenttään:

Lisätiedot

SUNDIAL FLOW+ - OHJAUSYKSIKKÖ

SUNDIAL FLOW+ - OHJAUSYKSIKKÖ SUNDIAL FLOW+ - OHJAUSYKSIKKÖ V.2.8.1 Sundial Flow+ V2.8.1 Sivu 1 Tekniset tiedot Sundial Flow+ - Aurinkolämpöjärjestelmän ohjausyksikkö 9 järjestelmä vaihtoehtoa Järjestelmän tilan seuranta Etäseuranta

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoitava päävahvistin WWK-951. Anvia TV Oy Rengastie Seinäjoki

Ohjelmoitava päävahvistin WWK-951. Anvia TV Oy Rengastie Seinäjoki Ohjelmoitava päävahvistin WWK-951 Käyttöohje Anvia TV Oy Rengastie 10 60100 Seinäjoki 020 7420 100 Sisällysluettelo 1. Yleistä tietoa... 2 2. Liitännät ja toiminnat... 3 3. Painikkeet... 3 3. Painikkeet...

Lisätiedot

ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6)

ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6) ERISTYSTASON VALVONTARELE MEV-7 (LC-7/6) MEV-7 on tarkoitettu suojaerotusmuuntajan jälkeisen ns. Kelluvan verkon eristystilan- ja muuntajan ylikuormituksen-valvontaan. KYTKENTÄOHJE APUJÄNNITE: Liitin N:

Lisätiedot

KÄYTTÖOHJE HIRVIMATIC (2V0) 5.5.2010

KÄYTTÖOHJE HIRVIMATIC (2V0) 5.5.2010 1 KÄYTTÖOHJE HIRVIMATIC (2V0) 5.5.2010 NÄPPÄIMISTÖ: Ohjelman valinta Asetukset /nollaus Ajastimen valinta (Ei vielä käytössä) Ohjaus oikealle / lisää asetusta / ajastimen käynnistys Seis / valinnan vahvistus

Lisätiedot

S SÄHKÖTEKNIIKKA Kimmo Silvonen

S SÄHKÖTEKNIIKKA Kimmo Silvonen S55.0 SÄHKÖTEKNKKA 9.5.000 Kimmo Silvonen Tentti: tehtävät,,5,8,9. välikoe: tehtävät,,,4,5. välikoe: tehtävät 6,7,8,9,0 Oletko muistanut vastata palautekyselyyn Voit täyttää lomakkeen nyt.. aske virta.

Lisätiedot

Megatunen käyttö. Asenna megatune koneelle MsExtra-sivuilta: http://www.msextra.com/manuals/ms_extra_manual_index.htm

Megatunen käyttö. Asenna megatune koneelle MsExtra-sivuilta: http://www.msextra.com/manuals/ms_extra_manual_index.htm Megatunen käyttö Asenna megatune koneelle MsExtra-sivuilta: http://www.msextra.com/manuals/ms_extra_manual_index.htm Avaa Megatune ja File valikosta configurator. Sieltä asennetaan perusasetukset. Koodin

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Avoimen luukun varoitussanomat. Toiminto

Avoimen luukun varoitussanomat. Toiminto Toiminto Kaikki kuorma-autot 1 on varustettu avoimien luukkujen varoitussanomien näyttötoiminnolla. Varoitussanomaa voidaan käyttää erityyppisille luukuille, joissa on anturi, joka ilmaisee, että luukku

Lisätiedot

Työ 1: Logiikka ja robotti

Työ 1: Logiikka ja robotti AS-0.2230 Automaatio- ja systeemitekniikan laboratoriotyöt Työ 1: Logiikka ja robotti Sisältö Työn luonne... 2 Ohjelmoitava logiikka... 2 Hyllyvarasto... 3 Robotti... 4 Logiikan ohjelmointi... 5 Esiselostustehtävät...

Lisätiedot