MITTAUSTEKNIIKAN LABORATORIOTYÖOHJE TYÖ 9 MITTAUSTIEDON KERUU JA KÄSITTELY



Samankaltaiset tiedostot
Yrityslähtöisten ideoiden käyttö fysiikan opetuksessa

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Peter Kronström

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

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

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include <EEPROM.h> #include <SoftwareSerial.h> SoftwareSerial gps(10, 0); // RX, TX -pinnit

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

Arduino. Kimmo Silvonen (X)

////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ //-PID säätimellä. #include <EEPROM.h> #include <SoftwareSerial.h>

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

HARJOITUSTYÖ: LabVIEW, Kiihtyvyysanturi

Arduinon ohjelmointi. Sami-Petteri Pukkila. 6. helmikuuta 2017

Tekniikka ja liikenne (5) Tietoliikennetekniikan laboratorio

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

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

Värähtelymittaus Tämän harjoituksen jälkeen:

Matlab-tietokoneharjoitus

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

MITTAUSTEKNIIKAN LABORATORIOTYÖOHJE TYÖ 4. LÄMPÖTILA ja PAINELÄHETTIMEN KALIBROINTI FLUKE 702 PROSESSIKALIBRAATTORILLA

Laitteita - Yleismittari

HARJOITUSTYÖ: LabVIEW, Valokennoportti

padvisor - pikaohje - työkalu SATRON Smart/Hart dp- ja painelähettimiä varten

Supply jännite: Ei kuormaa Tuuletin Vastus Molemmat DC AC Taajuus/taajuudet

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

Arduino ohjelmistokehitys

Kondensaattorin läpi kulkeva virta saadaan derivoimalla yhtälöä (2), jolloin saadaan

Ohjelmoi Arduino Grovella

Listarakenne (ArrayList-luokka)

Anturit ja Arduino. ELEC-A4010 Sähköpaja Tomi Pulli Signaalinkäsittelyn ja akustiikan laitos Mittaustekniikka

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

ELEC-C5070 Elektroniikkapaja (5 op)

MASSER Loader V2.00. käyttö- ja asennusohje

OPERAATIOVAHVISTIMET 2. Operaatiovahvistimen ominaisuuksia

Ohjelmoinnin perusteet Y Python

PM10OUT2A-kortti. Ohje

Sähköpaja. Kimmo Silvonen (X)

Tiedonkeruu ja analysointi

Laskuharjoitus 4 ( ): Tehtävien vastauksia

Tiedonkeruu ja analysointi

Ohjelmointiharjoituksia Arduino-ympäristössä

Harjoitustyö 1. Signaaliprosessorit Sivu 1 / 11 Vähämartti Pasi & Pihlainen Tommi. Kaistanestosuodin, estä 2 khz. Amplitudi. 2 khz.

Arduino. Kimmo Silvonen (X)

Anturit ja Arduino. ELEC-A4010 Sähköpaja Tomi Pulli Signaalinkäsittelyn ja akustiikan laitos Mittaustekniikka

LABORATORIOTYÖ 3 VAIHELUKITTU VAHVISTIN

TBS2104 = Oikea kouluskooppi

Metodien tekeminen Javalla

FYSP105/2 VAIHTOVIRTAKOMPONENTIT. 1 Johdanto

1 db Compression point

Käyttö liipaisu (trigger) säädöt

Operaatiovahvistimen vahvistus voidaan säätää halutun suuruiseksi käyttämällä takaisinkytkentävastusta.

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

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

Zeon PDF Driver Trial

Signaalien datamuunnokset. Digitaalitekniikan edut

Signaalien datamuunnokset

Lämpöantureilla mittaaminen Tämän harjoituksen jälkeen:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

DEE Sähkömoottorikäyttöjen laboratoriotyöt. Tasavirtakäyttö

ITKP102 Ohjelmointi 1 (6 op)

PR SARJA ASENNUS JA KYTKENTÄ

Program matopeli; uses graph,grafiikka,crt; VAR. merkkiluettu,herkkutarkistettu : boolean;

Harjoitustyö: virtuaalikone

811120P Diskreetit rakenteet

FYSP105/2 VAIHTOVIRTAKOMPONENTIT. 1 Johdanto. 2 Teoreettista taustaa

1 Tarkistetaan että kaikki toimii

Arduinon ohjelmointi. Sami-Petteri Pukkila. 1. helmikuuta 2016

Sääasema Probyte JUNIOR

Sisältö. 22. Taulukot. Yleistä. Yleistä

Tämä on PicoLog Windows ohjelman suomenkielinen pikaohje.

11. kierros. 1. Lähipäivä

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Kondensaattorin läpi kulkeva virta saadaan derivoimalla yhtälöä (2), jolloin saadaan. cos sin.

1 Muutokset piirilevylle

PR SARJA ASENNUS JA KYTKENTÄ

S Laskennallinen Neurotiede

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Ohjelmointi 2 / 2011 Välikoe / 25.3

83950 Tietoliikennetekniikan työkurssi Monitorointivastaanottimen perusmittaukset

PERMITTIIVISYYS. 1 Johdanto. 1.1 Tyhjiön permittiivisyyden mittaaminen tasokondensaattorilla . (1) , (2) (3) . (4) Permittiivisyys

ITKP102 Ohjelmointi 1 (6 op)

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Virheen kasautumislaki

WBelectronics. Infinity USB Phoenix - Käyttöohje

IR-lämpömittarityypit

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Arduino. Kimmo Silvonen (X)

Digitaalinen signaalinkäsittely Johdanto, näytteistys

Elektroniikan perusteet, Radioamatööritutkintokoulutus

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi.

GSM OHJAIN FF KÄYTTÖOHJE PLC MAX S03

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

IR-lämpömittarityypit

58131 Tietorakenteet ja algoritmit (syksy 2015)

S Signaalit ja järjestelmät

DumpDbox-ohjelmiston asennus- ja käyttöohjeet Sisällys

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

LABORAATIO 1, YLEISMITTARI JA PERUSMITTAUKSET

Lataussäädin 12/24V 10A. Käyttöohje

802118P Lineaarialgebra I (4 op)

Transkriptio:

OAMK / Tekniikan yksikkö MITTAUSTEKNIIKAN LABORATORIOTYÖOHJE TYÖ 9 MITTAUSTIEDON KERUU JA KÄSITTELY Heikki Kurki

TEHTÄVÄN MÄÄRITTELY TEORIA VÄLINEET Työn tehtävänä on tutustua mittausjärjestelmään, jossa kerätään tietoa jännitesignaalista ottamalla siitä näytteitä sopivin väliajoin. Kerätty mittausdata siirretään PC:lle, jossa sitä käsitellään ja jalostetaan. Näytteenotto tehdään Arduinolla. Sen analogiasisääntuloon voidaan tuoda nollatasoon nähden maksimissaan 5 V suuruinen jännite. Arduinoon ladataan näytteenottoa varten ohjelma, jonka parametrejä asettelemalla voidaan vaikuttaa näytteenottotaajuuteen. Ohjelman perusversiossa kerätään 100 näytettä, jonka jälkeen seuraavien 4 sekunnin aikana skaalatut mittaustiedot siirretään PC:lle jatkokäsittelyyn. Mittausdatan jatkokäsittely voidaan toteuttaa joko Excelillä tai Matlabin avulla. Palauta mieleen digitaalisen signaalinkäsittelyn kurssilta näytteenottoon liittyviä asioita: näytteistys laskostuminen vaihtojännitesignaalin huippu-, keski- ja tehollisarvo vaihtosähkösignaalin taajuusspektrianalyysi, FFT ja DFT Muodosta tietokoneeseen valmiudet liittää siihen Arduino-tietokone ja Selvitä Arduinon näytteenotto-ohjelman toimintaperiaate. (ks LIITE) - Arduino, joka on liitetty PC:een - signaaligeneraattori - volttimittari - työkalut ja johtimet signaalin kytkemiseksi Arduinon analogiasisäänmenoon TEHTÄVIEN SUORITUS TEHTÄVÄ 1 Lataa Arduinon ajuri PC:hen Lataa näytteenotto- ohjelma Arduinoon Liitä signaaligeneraattori Arduinoon siten, että näytteenotto on mahdollista.kiinnitä huomiota siihen, että mitattavan signaalin maataso (GND) on vakaa. Liitä yksi GND-liittimistä suoraan signaaligeneraattori tai oskilloskoopin runkoon. Asiaa edistää myös se, että PC:n syöttö otetaan samasta ryhmäjohdosta kuin sign gener. ja skooppi saavat syöttönsä. (USBin kautta yhteys myös maatasoon.)

Käytettävät signaalit a) sinisignaali, taajuus voi vaihdella b) kanttiaaltoa, taajuus voi vaihdella c) kolmioaaltoa, taajuus voi vaihdella MUISTA ETTÄ SISÄÄNMENON MAKSIMIJÄNNITE ON 5 VOLTTIA! TYÖSELOSTUS LÄHTEET: LIITTEET: Tarkista, että näytejonot saadaan siirretyksi PC:lle. Kun olette ottanut näytteet a b ja c, niitä voidaan alkaa käsittelemään. Piirrä kuvaajat Selvitä vaihtojännitesignaalin huippu-, keski- ja tehollisarvo Tee vaihtosähkösignaalien taajuusspektrianalyysi, DFT TEHTÄVÄ 2 Korota signaaligeneraattorissa lähtevän signaalin taajuutta. Selvitä, mihin näyttenottotaajuuteen asti Arduinon ominaisuudet riittävät. Selvitä sen perusteella, kuinka suuri mittaus signaalin taajuus voi olla. Tee signaaleille (ainakin yksi) spektrianalyysi (Matlabissa fft-funktio). Esitä työselostuksessa työn kulku ja saadut mittaustulokset. Arduinoa koskeva verkkomateriaali Digitaalisen säädön perusteet-kurssin aineisto (Jaakko Kaski, linkkejä ohjelmassa) Näytteenoton ja tiedonsiirron lähdekoodi LIITE ARDUINON NOPEUSTESTIN KOODI // ARDUINON NOPEUSTESTIN KOODI // TÃ llã ohjelmalla luetaan tunnetun taajuuden jã nnitettã ja selvitetã Ã n, // mikã nã ytteistystaajuus toteutui kun mittaus tehdã Ã n mahdollisimman nopeasti // Ohjelman pohjaksi on otettu Arduinon InOutSerial ja muokattu siitã // These constants won't change. They're used to give names // to the pins used: const int analoginpin = A0; // Analog input pin that the potentiometer is attached to //const int analogoutpin = 9; // Analog output pin that the LED is attached to

double sensorvalue = 0; // value read from the InPin // int outputvalue = 0; // value output to the PWM (analog out) int mittapisteita = 100; // Mà à ritellã à n kerã ttyjen mittapisteiden lkm Aseta myã s seuraavalle riville double tulokset[100]; // Tulostaulukko int indeksi = 1; int kierros = 1; // Yhteyden alustus, ei kannattane koskea: void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); // Ohjelman suoritus alkaa tã stã. Ohjelma pyã rii silmukassa. // Arduino suorittaa ladattua ohjelmaa heti kun se jã nnitettã saa. // Edes tietokoneesta irrotus ei nollaa ohjelmaa, vaan se jatkaa // mittaamista kun kytketã à n uudelleen. void loop() { while ((indeksi < mittapisteita)) { // while-silmukassa ollaan niin kauan, ettã taulukko tulee tã yteen // jos otat liian paljon mittapisteitã, tulee ylivuoto ja mittaus menee sekaisin // ts. lukujen pitã à mahtua Arduinon muistiin... puretaan sitten viiveen aikana // sarjaportin kautta tiedostoon. // read the analog in value: sensorvalue = analogread(analoginpin); // Skaalataan luettu sensoriarvo Volteiksi. // 0 on 0V ja 1023 on 5V ja jako on lineaarinen: // Jos mittaus on liian hidas, laskuosan voi tuoda silmukasta ulos ja // saa hieman lisã nopeutta... silloin tarvit uuden silmukan joka tekee muunnoslaskennan tulokset[indeksi] = sensorvalue; // map it to the range of the analog out: // outputvalue = map(sensorvalue, 0, 1023, 0, 255); // change the analog out value: //analogwrite(analogoutpin, outputvalue); indeksi++; // kierros++; // while-silmukan jã lkeen palautetaan indeksit alkuperã isiksi // kierros = 1; indeksi = 1; while ((indeksi < mittapisteita)) { // Serial.print("\t tulokset = "); // Skaalataan luettu sensoriarvo Volteiksi. // 0 on 0V ja 1023 on 5V ja jako on lineaarinen: tulokset[indeksi] = tulokset[indeksi] * 5.0 / 1023.0; // Tulostetaan taulukon alkiosta voltit sarjaportille: Serial.println(tulokset[indeksi]); // Sarjaporttia voidaan lukea tiedostoon PuTTy:llà tai suoraan Matlabiin. // indeksi++; // kierros++;

Serial.println("Purskejako"); // while-silmukan jã lkeen palautetaan indeksit alkuperã isiksi // kierros = 1; indeksi = 1; // wait 10 milliseconds before the next loop // for the analog-to-digital converter to settle // after the last reading: delay(4000); /* %Matlab-koodi, jolla voi sarjaporttia lukea. Koodi ei ole aivan loppuun asti viilattu %ja taisi olla joky try-funktio joka ei kaada Matlabia vaikka ohjelma keskeytyy... %Matlabin saa kã yntiin ohjeilla: %http://www.oamk.fi/~jkaski/digitaalisen_saadon_perusteet/matlabin%20 k%c3%a4ynnistysohje.pdf %kã yttis: opiskelija %salis: arvosana5 %Varmista "Sarjatesti.m" -ohjelmalla, mitã olet sarjaportista saamassa %Sitten olet valmis lukemaan lukujonoa sisã à n Matlabiin: %Esimerkissà on viive 0.4s, koska Arduion-koodissakin oli vastaava viive %Ohjelmaa ei kannata keskeyttã Ã, koska jos COM-yhteys jã à sulkematta, %joudut buuttaamaan koneen. Kà ytã sellaista silmukan loppuarvoa, ettã %jaksat odottaa loppuun saakka. clear for k=1:30 s = serial('com4'); fopen(s); fprintf(s,'*idn?'); out = fscanf(s) B(k,1)=str2num(out(1,10:12)); %Kentà t tã ytyy sovittaa oikeaan kohtaan out-tulostetta B(k,2)=str2num(out(1,23:26)); fclose(s) delete(s) clear s if k<=10 figure(1); l=1:k; plot(l,b(:,1),l,b(:,2)); if k>10 figure(1); l=(k-9):k; plot(l,b((k-9):k,1),l,b((k-9):k,2)); pause(0.4) dlmwrite('sarjaporttidata.txt',b); %Sensoridata, outputdata %PuTTy taas tallentaa sarjaportin tiedot tiedostoon ja toimii ohjeilla: %http://www.oamk.fi/~jkaski/digitaalisen_saadon_perusteet/arduino/put TY_ohje.doc */