Vedenseurantaja rjestelma



Samankaltaiset tiedostot
Väliraportti: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

Projektisuunnitelma: Vesipistekohtainen veden kulutuksen seuranta, syksy Mikko Kyllönen Matti Marttinen Vili Tuomisaari

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

AS Automaatio- ja systeemitekniikan projektityöt

OPERAATIOVAHVISTIMET 2. Operaatiovahvistimen ominaisuuksia

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

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

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

Mikrofonien toimintaperiaatteet. Tampereen musiikkiakatemia Studioäänittäminen Klas Granqvist

AS Automaatio- ja systeemitekniikan projektityöt

AS Automaatio- ja systeemitekniikan projektityöt

Tehtävä 8. Jännitelähteenä käytetään yksipuolista 12 voltin tasajännitelähdettä.

Matlab-tietokoneharjoitus

A. SMD-kytkennän kokoaminen ja mittaaminen

Laboratorioraportti 3

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

Harjoitustyö - Mikroprosessorit Liikennevalot

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

A13-03 Kaksisuuntainen akkujen tasauskortti. Projektisuunnitelma. Automaatio- ja systeemitekniikan projektityöt AS-0.

TYÖ 2: OPERAATIOVAHVISTIMEN PERUSKYTKENTÖJÄ

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

CC-ASTE. Kuva 1. Yksinkertainen CC-vahvistin, jossa virtavahvistus B + 1. Kuva 2. Yksinkertaisen CC-vahvistimen simulaatio

Käyttösäätimet. ActivSound 75. (1) Virtakytkin Kytkee virran päälle tai pois päältä. (2) Virtailmaisin Palaa vihreänä, kun virta on päällä.

RAIDETESTERIN KÄYTTÖOHJE

Projektisuunnitelma ja johdanto AS Automaatio- ja systeemitekniikan projektityöt Paula Sirén

Koesuunnitelma. Tuntemattoman kappaleen materiaalin määritys. Kon c3004 Kone ja rakennustekniikan laboratoriotyöt. Janne Mattila.

A11-02 Infrapunasuodinautomatiikka kameralle

AS Automaatio- ja systeemitekniikan projektityöt

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

1. Mittausjohdon valmistaminen 10 p

Electric power steering

Langaton verenpainemittari (BP7) PIKAOPAS

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

Paikantavan turvapuhelimen käyttöohje

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

Dynatel 2210E kaapelinhakulaite

KOHINASALPAKORTTI BX58 JA RX58

MP3-RADIO USB/SD/MMC -AUTORADION KÄYTTÖOPAS

Mittalaitetekniikka. NYMTES13 Vaihtosähköpiirit Jussi Hurri syksy 2014

1 JOHDANTO 3 2 LÄHTÖTIEDOT JA MENETELMÄT 4

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

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

KON C H03 Ryhmä G Samppa Salmi, 84431S Joel Tolonen, Koesuunnitelma

PID-sa a timen viritta minen Matlabilla ja simulinkilla

Verkkoliitäntäjohdot. Huomautuksia virtalähteestä FIN-2

Taitaja2010, Iisalmi Suunnittelutehtävä, teoria osa

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Käyttöohje Firmware V1.0-V1.2 HTB230. Anturirasialähetin

FYSP105 / K3 RC-SUODATTIMET

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

5.3 Ensimmäisen asteen polynomifunktio

CRT NÄYTÖN VAAKAPOIKKEUTUS- ASTEEN PERIAATE

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

Digitaalinen eropainekytkin DPS Käyttöohje

4) Kaiutin: 8Ω/10W 5) Otsonaattori: 12V/5W 6) Höyrygeneraattori: 220V/3000W

1 Muutokset piirilevylle

Siimasta toteutettu keinolihas

Connexx 6 Siemens-kuulokojeiden sovitusohjelma.

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Elektroniikkalajin semifinaalitehtävien kuvaukset

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

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

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

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

Markkinoiden helpoin ja käytännöllisin IP Kamera

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

PYP I / TEEMA 4 MITTAUKSET JA MITATTAVUUS

Oppilaan opas. Visuaaliviestinnän Instituutti VVI Oy. Versio 0.2 ( )

YMPÄRISTÖMELUN MITTAUSRAPORTTI

FYSIIKAN LABORATORIOTYÖT 2 MAGNEETTIKENTTÄTYÖ

Mikrokontrollerikitit - väliraportti

NÄYTÖN TEHTÄVÄKUVAUS ELEKTRONIIKAN JA TIETOTEKNIIKAN PERUSTEET 2007

TREENIKIRJASOVELLUKSEN KÄYTTÖÖNOTTO

AS Automaatio- ja systeemitekniikan projektityöt

FYSP105/2 VAIHTOVIRTAKOMPONENTIT. 1 Johdanto. 2 Teoreettista taustaa

Aurinkojärjestelmän syväpurkauksen ohjausyksikkö Suunnittelu Mikko Esala

Kone- ja rakentamistekniikan laboratoriotyöt KON-C3004. Koesuunnitelma: Paineen mittaus venymäliuskojen avulla. Ryhmä C

7. Resistanssi ja Ohmin laki

Tiedonkeruu ja analysointi

Apple iphone 4 puhelimen käyttöönotto:

Automaattinen yksikkötestaus

PYP I / TEEMA 8 MITTAUKSET JA MITATTAVUUS

LABORATORIOTYÖ 3 VAIHELUKITTU VAHVISTIN

Tehtävä 2: Tietoliikenneprotokolla

TBS2104 = Oikea kouluskooppi

PIKAKÄYTTÖOHJE V S&A Matintupa

Lyhyt käyttöohje SiMAP-mittaus

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

Toiminnallinen määrittely versio 1.2

IIZE3010 Elektroniikan perusteet Harjoitustyö. Pasi Vähämartti, C1303, IST4SE

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

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

ELEKTRONISET JÄRJESTELMÄT, LABORAATIO 1: Oskilloskoopin käyttö vaihtojännitteiden mittaamisessa ja Theveninin lähteen määritys yleismittarilla

Mittausverkon pilotointi kasvihuoneessa

Boost-hakkuri. Hakkurin tilaesitykset

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

GROHE Sense Guard: 7 vesitoimintoa takaa parhaan vedenkäytön turvallisuuden

Näin saat 365 päivän ajalta Freshest Data sisältöä NavionicsWeb Store nettikaupasta

RAPORTTI Risto Paakkunainen Arto Valtonen Pasi Vähämartti Metsäteollisuuden automaation harjoitustyö Joulukuu 2007

GSRELE ohjeet. Yleistä

Transkriptio:

A Vedenseurantaja rjestelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Opintopisteitä: 3 op Aloituspäivä: 21.1.2015 Lopetuspäivä: 29.5.2015 Tekijät: Mikko Rekola, 222095, mikko.e.rekola@aalto.fi Joel Huttunen, 290328, joel.huttunen@aalto.fi Ohjaaja: Panu Harmo

B Sisällys 1 Projektityön edistyminen... 1 1.1 Alkuperäinen visio... 1 1.2 Projektin alku... 1 1.3 Kondensaattorimikrofonin häiriöherkkyyden ratkaiseminen... 2 1.4 Dynaaminen mikrofoni... 3 1.5 Transistorivahvistimen rakentaminen... 4 1.6 Operaatiovahvistimen toteutus... 5 1.7 Stereo-operaatiovahvistimen rakentaminen... 6 1.8 K2572 esivahvistimeen tehdyt muutokset... 9 1.9 Lämpötila-anturien lisääminen... 9 2 Projektin ohjelmistokehitys... 11 2.1 Ensimmäiset mittaukset... 11 2.2 Arduino-koodi... 11 2.2.1 Ajan selvittäminen... 11 2.2.2 Datan tallentaminen... 12 2.2.3 Palvelimeen yhdistäminen... 12 2.3 Palvelin... 12 2.3.1 WebAPI ja tietokanta... 13 2.3.2 Nettisivu... 13 3 Projektin lopputulos... 16 3.1 Fyysinen laite... 16 3.2 Tarvittavat osat lopulliseen prototyyppiin... 16 3.3 Ohjelmisto... 17 3.4 Tulevat kehityskohteet... 17 3.5 Mittaukset... 18 3.5.1 Kylpyhuone... 18 3.5.2 Keittiö... 20 3.5.3 Yleiset havainnot... 25 3.5.4 Puuttuvat mittaukset... 25 3.5.5 Vertailu aikaisempaan diplomityöhön... 25 4 Riskit... 26 5 Ajankäyttö... 27 6 Yhteenveto... 27 7 Lähteet... 28

C Johdanto Projektin alkuperäisenä tarkoituksena oli ottaa osaa The Nordic Independent Living Challenge -kilpailuun. Kilpailu etsi ratkaisuja helpottaa vanhusten ja muiden erityisryhmien itsenäistä asumista omissa kodeissaan. Suunnitelmamme oli toteuttaa laite, joka seuraa veden kulutusta yksittäisistä vesipisteistä. Näin voitaisiin varmistaa, että vedenkäytössä ei tapahdu poikkeamia tavallisesta. Tällöin kotihoitaja tai vanhus itse voisi tarkkailla juoko hän tarpeeksi tai käykö hän tarpeeksi usein suihkussa. Ideamme ei valitettavasti päässyt kilpailun toiseen vaiheeseen mukaan, joten projektia jatkettiin itsenäisesti kurssiaikataulun mukaan. Kurssin lopputuote on laite, joka havaitsee kulkeeko vesi putken sisällä ja lähettää tämän tiedon langattomasti internetin välityksellä palvelimelle. Koko järjestelmään kuuluu laite itse, Amazonin pilvipalvelut, tietokanta ja nettisivut tiedon visualisointia varten.

1 1 Projektityön edistyminen 1.1 Alkuperäinen visio Alkuperäinen visiomme oli toteuttaa langaton hätä-painike vanhuksille, minkä voisi helposti sijoittaa paikasta toiseen. Päädyimme kuitenkin toteuttamaan helposti asennettavan ja etäluettavan vedenmittausjärjestelmän, koska vastaavia tuotteita ei ole vielä markkinoilla toisin kuin hätäpainikkeita. 1.2 Projektin alku Lähdimme liikkeelle Nathan Beharin diplomityön [1] pohjalta toteuttamaan helposti kiinnitettävää vedenkulutuksen etätarkkailulaitetta. Diplomityössä käytettiin kondensaattorimikrofonia ja LM35- lämpötila-antureita. Heti projektin alussa saimme nopeasti diplomityössä käytetyt komponentit kasaan ja pääsimme tekemään alustavia mittauksia omalla Arduino Unolla. Ensimmäisissä mittauksissa huomasimme, että diplomityössä ei ollut huomioitu mikrofoniin aiheutuvaa huomattavaa häiriötä. Varsinkin metallinen pesuallas aiheutti enemmän ääntä ja värähtelyä kuin putki itsessään. Myös mikrofonin sijainnilla suhteessa pesualtaaseen oli huomattava ero. Testauspaikoilla mikrofoni oli avoimessa ympäristössä ja sai häiriöimpulsseja jopa taustapuheesta. Käyttäjäympäristössä laite suojautuisi hieman mölyltä keittiön kaapin sisällä. Kuvassa 1 on esitelty eräs äänenvoimakkuuden (amplitudin) mittaus. Kuvasta huomaamme suuret häiriöpiikit taustaäänestä, jotka johtuvat pääasiassa metallialtaan häiriöäänistä. Voimme kuitenkin erottaa veden virtauksen ajanjakson datapisteistä sijoittuvan ajalle 100-300. Kuva 1: Äänen voimakkuuden mittaus kondensaattorimikrofonilla

2 1.3 Kondensaattorimikrofonin häiriöherkkyyden ratkaiseminen Pyrimme ratkaisemaan tätä kondensaattorimikrofonin herkkyyttä siirtämällä sen paikkaa suhteessa putkeen, taajuusanalyysillä ja paksulla eristyksellä. Mikrofonin sijainnin vaikutus ei ollut merkittävä. Suurin osa putkeen kantautuvista äänistä tuli hanan veden osumisesta altaaseen, eikä putkien tärinästä. Lisäksi suljettu ympäristö voimisti tätä ääntä kaikukopan tavalla altaan alla. Taajuusanalyysin toteutimme testituloksillemme FFT-muunnoksen (engl. Fast Fourier transform). Arduinon kapasiteetti asetti rajoitteet, mutta onnistuimme tekemään muunnoksen reaaliaikaisesti noin 128 eri taajuuskanavalle. Käytimme apunamme Open Music Labsin tarjoamaan Arduinon FFT-kirjastoa [2]. Taajuusanalyysin jälkeen lopputulosta oli kuitenkin vaikea tulkita ja päädyimme piirtämään kuvaajat taajuuksien muutoksista tilojen välillä. Mittasimme dataa arduinosta reaaliajassa ja tallensimme saamamme tiedon sarjaportilta tekstitiedostoon. Pyrimme tekemään yhdenmukaisia toistoja sekä vaihtelevia mittauksia. Kuva 2: Taajuuksien voimakkuuden vaihtelu virtaustilojen välillä. Punainen esittää tilaa hana auki ja sininen hana kiinni. Kuvasta 2 huomaamme, että matalat taajuudet muuttuvat eniten hanan tilan muutoksesta. Eritoten taulukon arvot 10-30 ovat siis mielekkäitä tarkkailtavia tilan arvioinnissa. Testasimme saatujen tulosten pohjalta erilaisia suodatin malleja mediaanifilttereistä karkeisiin taajuusrajauksiin, mutta totesimme, että häiriön laatu on hyvin riippuvainen ympäristöstä. Mikrofonin vaimentaminen muusta ympäristöstä tuntui työläältä ratkaisulta, mutta sillä pystyttiin vähentämään mikrofoniin tulleita häiriöitä merkittävästi. Haittana totesimme, että putkesta kuuluva ääni ei ollut eristyksestä huolimatta luotettavasti eroteltavissa muusta taustamelusta. Päädyimme tilaamaan dynaamisen mikrofonin, mikä mittaisi pelkästään metallin värähtelyä induktiivisen silmukan avulla.

3 Harkitsimme myös pietso-elementin tilaamista, mutta ennen tätä totesimme jo dynaamisen mikrofonin toimivan projektin tasolla kiitettävästi. 1.4 Dynaaminen mikrofoni Tilasimme muutaman kitaramikrofoniksi tarkoitetun dynaamisen mikrofonin projektin tarpeisiin ebaystä [3]. Mikrofonin fysikaalisesti poikkeavien ominaisuuksien vuoksi jouduimme rakentamaan erillisen vahvistimen kitaramikrofonille. Rakensimme ensin transistorivahvistimen mikrofonille, mutta tämän antama vahvistusarvo ei riittänyt projektin tarpeisiin. Testasimme mikrofonia ennen vahvistimen rakentamista sen kytkemistä perinteiseen kaiutinvahvistimeen, mihin se alun perin oli tarkoitettukin. Tässä testissä Dynaaminen mikrofoni ei ottanut yhtään häiriötä taustametelistä, joten totesimme tämän erittäin luotettavaksi ratkaisuksi ja lähdimme toteuttamaan transistorivahvistinta. Kuva 3 Dynaaminen kitaramikrofoni [7] Harkitsimme myös pietso-elementin ostamista, mutta projektimme tavoitteena oli tehdä tuotteen prototyyppi, eikä varsinaista mikrofonivertailua. Jatkokehityksessä mikrofonin valintaan vaikuttaa myös niiden virrankulutus. Dynaaminen mikrofoni on erittäin halpa, koska se sisältää vain kalvon, sähköjohtavan kelan, magneetin ja napakappaleen, sekä johtimet [8]. Kela on kiinnitetty kalvoon, joka kytkeytyy runkoon ripustuksin ja toimii kuten käänteinen kaiutin. Kitaramikrofonissa kuitenkin kalvo on jätetty pois, koska äänen sijaan halutaan keskittyä metallin värähtelyn seuraamiseen. Mikrofoni on suunniteltu akustisen kitaran kaulaan kiinnitettäväksi.

4 1.5 Transistorivahvistimen rakentaminen Transistorivahvistin saatiin nopeasti kasaan muutamalla komponentilla protolevylle. Transistorivahvistinta käytetään mikrofonin esivahvistimena. Esivahvistimet syövät jatkuvasti virtaa ja niiden hyötysuhde on täten korkeintaan 25 prosenttia. Transistorivahvistin soveltuu hyvin heikkotehoisiin virtapiireihin, koska se on hyvin yksinkertainen ja signaalin särö on hyvin pieni. Suuritehoisissa virtapiireissä transistorin jäähdytys muodostuu ongelmaksi. [4] Kuva 4: Transistorivahvistimen protoilua (kuvassa ei ole valmis versio) Protolevylle teimme alla olevan kaavion (kuva 5) mukaisen virtapiirin. Arduino Uno ei pitänyt kelluvista syötteistä, joten alla olevan virtapiirin lisäksi jouduimme lisäämään signaaliin alasvetovastuksen. Vastus on suurikokoinen (220kilo-ohmia), joka purkaa häiriöiden aiheuttaman jännitteen Arduinon analogisesta sisääntulosta, jolloin signaalin pohjataso asettuu nollaan. Protolevyn kontaktihäiriöt aiheuttivat ajoittain ongelmia testaamisessa. Kuvassa 4 on ensimmäisiä harjoitteluita dynaamisen mikrofonin kanssa. Kuva 5: Transistorivahvistimen kytkentäkaavio

5 Transistorivahvistimessa totesimme kuitenkin olevan puutteita, koska sen antama noin 10dB vahvistus ei riittänyt putkikuuntelumme tarpeisiin. Saimme erotettua selkeästi putken päällä olon, mutta hiljainen vesivirta jäi vahvistimelta huomaamatta. Täten päätimme rakentaa järeämmän operaatiovahvistimen. 1.6 Operaatiovahvistimen toteutus Toteutimme meiltä löytyvistä osista yksikanavaisen operaatiovahvistimen alla olevaa schemaa muokaten. Operaatiovahvistimessa vahvistuksen suhteen pystyy helposti määrittämään vastusten suhteella. Kuvassa 6 on esitelty operaatiovahvistimen schema. Ensimmäisellä operaatiovahvistimella IC1A tapahtuu jännitteen jako, että vahvistin toimii tasaisesti koko jänniteskaalalla. Muuten sisään tulevan jännitteen suuruus saattaa vaikuttaa lopputulokseen suurilla vahvistuksen suuruuteen. Alkuperäisessä kaaviossa IC1B-operaatiovahvistimella tapahtuu koko signaalin vahvistus. Huomasimme kuitenkin, että alkuperäinen satakertainen vahvistus ei ollut riittävä, joten muokkasimme IC1A-operaatiovahvistimen vahvistamaan myös signaalia kymmenkertaiseksi, jolloin piirin kokonaisvahvistus olisi noin tuhatkertainen. Tuhatkertainen vahvistus riitti putken tulkintaan, mutta täydellä vahvistuksella saimme jonkin verran häiriötuloksia. Vahvistus kuitenkin pystytään säätämään potentiometrillä operaatiovahvistimen IC18-yli, jolloin ulostulo saadaan asetettua halutulle välille. Kuva 6: Operaatiovahvistimen muokattu piirikaavio

6 Kuvassa 7 on operaatiovahvistin koottuna reikälevylle. Operaatiovahvistinta rakentaessa varastostamme ei löytynyt kaikkia schemaa vastaavia komponentteja, mutta pienillä muokkauksilla saimme aikaiseksi toimivan operaatiovahvistimen. Tehdyt muokkaukset on merkitty kuvassa 6 esiintyvään piirikaavioon. Kuva 7: Operaatiovahvistin koottuna reikälevylle Operaatiovahvistinpiirinä käytimme LM358-mikropiiriä. Toteuttamamme esivahvistin muokattiin Velleman K1803 -rakennussarjan pohjalta [5]. Operaatiovahvistimemme haittana oli sen suuri koko sekä toisen kanavan puuttuminen. Täten päätimme tilata valmiin stereo-operaatiovahvistimen, joka olisi helppo koota. Toinen vaihtoehto olisi ollut käyttää Electret vahvistinta, mutta totesimme nämä ongelmallisiksi, koska pintaliitoskomponenttien muokkaaminen on työlästä. Lisäksi yksittäisestä operaatiovahvistimesta ei saisi ottaa liian isoa vahvistusta kerralla tai piiri voi alkaa värähtelemään ja tuottaa epätarkkoja tuloksia. Elctretvahvistimen mahdollisuuksia olisi voinut tutkia tarkemmin, mutta ajanpuutteessa emme ehtineet perehtyä tarkemmin tämän kytkentäkaavioon. Luultavasti Electret-vahvistimesta saisi muokattua toimivan alasvetovastuksen lisäyksellä ja etuvastusten vaihtamisella. 1.7 Stereo-operaatiovahvistimen rakentaminen Tilasimme valmiin operaatiovahvistin rakennussarjan k2572 [6]. Tämä rakennussarja tukee suoraan kahta dynaamista mikrofonia, mutta sen jännitevaatimus on suurempi kuin Arduinon ulosanto(5v). Täten jouduimme vaihtamaan k2572-sarjan mikropiirin TL072 mikropiiriin LM358. Onneksi näiden mikropiirien pin-järjestys oli sama. Suurimmat erot mikropiirien välillä oli vahvistuksen voimakkuudessa ja

7 jännitealueessa. Suurempi jännite auttaa operaatiovahvistinta voimistamaan signaalia enemmän kuin matala jännite. Tämän jälkeen huomasimme, että piirin vahvistus ei riitä, koska k2572-piirissä on vain yksi operaatiovahvistin per kanava. Aikaisemmin käytimme kahta operaatiovahvistinta yhden signaalin voimistamiseen. Lisäsimme piirin vahvistusta muuttamalla R6- ja R5 vastusten arvot yhteen kilo-ohmiin. Lisäksi ongelmia asetti ulostuloon asetetut suotokondensaattorit C7 ja C5. Jouduimme poistamaan nämä kondensaattorit, että Arduinolle ei tule kelluvaa jännitettä. Toinen vaihtoehto olisi ollut vetää alasvetovastus Arduinon analogisen signaalin inputtiin, mutta Arduino-piirillä muokkaaminen ei ollut miellyttävä vaihtoehto. Halusimme pitää esivahvistimeen liittyvän elektroniikan yhdellä piirilevyllä. Sivumennen huomasimme myös kokoamisohjeessa painovirheen C7-kondensaattorin kohdalla, joka on merkattu väärin piirin PCB (Printed Circuit Board) -kuvaan kondensaattoriksi C8. Tämä ei kuitenkaan aiheuttanut kokouksessa ongelmia, koska kondensaattorien malli on sama. Kuvassa 8 on esitelty k2572- piirisarjan PCB-kuva. Kuva 8: PCB, k2572 operaatiovahvistin [9]

8 Kuva 9: k2572:n kytkentäkaavio esittää kahta operaatiovahvistinta A1 ja A2 [9] Kuva 9 esittää k2572-piirisarjan kytkentäkaaviota. Kokosimme aluksi esivahvistimen alkuperäisen kytkentäkaavion mukaisesti, mutta jouduimme tekemään siihen kuitenkin joitain muutoksia. Projektiin sopivan esivahvistimen löytämistä hankaloitti sen matala jännitealue. Lisäksi k2572-piirisarjan jännitejakoa ei ollut tehty yhtä huolellisesti kuin alkuperäisessä omassa prototyypissämme. Molemmat signaalit vahvistetaan vain yhden operaatiovahvistimen läpi.

9 1.8 K2572 esivahvistimeen tehdyt muutokset Muutosohjeissa viitataan kuvassa 9 esiintyviin merkintöihin. Minimi muutokset k2572 stereo esivahvistimen toiminnan takaamiseksi: - Poista ja korvaa kondensaattorit C5 ja C7 hyppylangoilla. Arduinon analogiset sisääntulot eivät salli kelluvaa jännitealuetta. Kelluvajännite aiheuttaa systemaattista virhettä mittaustuloksiin (vanha arvo jää voimaan, eikä nollaudu odotetusti). [Vaihtoehtoinen korjaustapa: kytke purkuvastus (suuri esim. 200kOhm vahvistimen ulostulosta maahan, jolloin jännite vähitellen purkautuu kondensaattoreista ja asettuu nollatasoon.] - Korvaa vastukset R5 ja R6 pienemmillä, esimerkiksi 2 kilo-ohmin vastuksilla. Vastusten korvaaminen lisää esivahvistimen vahvistusta. Liian korkealla vahvistuksella signaali alkaa kuitenkin säröytyä. Operaatiovahvistinpiiri asettaa rajan maksimivahvistukselle. Suuremman vahvistuksen tarpeessa olisi hyvä ajaa signaali useamman kuin yhden operaatiovahvistimen läpi. Muutokset, jotka me teimme k2572 stereo esivahvistimeen: - Korvasimme kondensaattorit C5 ja C7 hyppylangoilla - Korvasimme vastukset R5 ja R6 2,2 kilo-ohmisilla vastuksilla - Korvasimme RV1 ja RV2 potentiometrit 100kOhm potentiometrillä säätötarkkuuden parantamiseksi. Alkuperäiset RV1 ja RV2 eivät tarjonneet enää riittävän tarkkaa säätöä suurempien vahvistusten seurauksena. Lopullinen tuote ei kuitenkaan tarvitse säätövastuksia, vaan nämä ovat pääasiassa mittauskartoituksiin. - Korvasimme IC1 komponentin TL072 komponentilla LM358, koska TL072 ei speksien mukaan tukenut alle kymmenen voltin jännitettä. Kuitenkin testasimme, että vahvistin toimii myös TL072- mikropiirillä 5V jännitteellä, mutta LM358 on suunniteltu tälle jännitealueelle, joten se on turvallisempi valinta. 1.9 Lämpötila-anturien lisääminen Molemmat aiemmat lämpöanturit todettiin rikkinäisiksi. Aikaisempi käyttäjä oli kytkenyt johtojen väreistä päätellen johdot LM35 (DT) -anturin mukaan, mutta lämpötilatransistorit olivat mallia LM35 DZ. Kuvassa 10 on kuva anturien pin-järjestyksestä.

10 Kuva 10: LM35-lämpötila-antureiden pin-järjestys [11] Käytimme aikaisemmin koottuja lämpötila-antureita, jotka olivat hyvin sotkuisesti koottu kutistusukalla ja kuumaliimalla kasaan. Lämpötila-antureiden kaivaminen liiman seasta vei aikaa, kunnes testeissä ihmettelimme sattumanvaraisia arvoja. Opetuksena oli, että testaa ensin, että anturit ovat ehjiä ennen kuin alat kokoamaan kasaan. Toisaalta antureiden pinnien järjestystä ei pystynyt ulkopuolelta päättelemään, joten paketti oli pakko purkaa. Ensimmäisissä testeissä Arduino sai täysin sattumanvaraisia arvoja lämpötila-antureilta. Arduinolta luetut arvot olivat hyvin sattumanvaraisia, mutta yleismittarilta luettuna arvot olivat hyvin todenmukaisia. Päätimme selvittää Arduinon toimivuutta jännitejaolla: toteutimme säädettävällä vastuksella jännitejaon siten, että pystyimme säätämään Arduinon sisääntulossa olevaa jännitettä 0-5 voltin välillä ja Arduino toimi testissä moitteettomasti. Tämä testi toimi, joten päättelimme, että vika on sensorissa, jonka myöhemmin oskilloskoopilla todensimme. Oskilloskoopissa näimme erittäin korkeataajuista värähtelyä anturin ulostulossa. Täten selvisi, että LM35 on erittäin herkkä suojaamattomille johdoille ulostulossa. Eli varsinaisessa tuotteessa LM35-anturin ulostulon pitäisi olla suojatussa vaippakaapelissa ja suojaamattoman johdon liitos mahdollisimman lyhyt. Tuotantoon digitaalinen anturi antaisi varmemmat tulokset, koska tällöin ei ympäristöstä tuleva sähkömagneettinen säteily saisi aikaan yhtä suurta virhettä anturin mittausarvoissa. Lyhyesti kuvattuna pitkä suojaamaton lämpötila-anturin signaalijohto toimii kuin antennina muun elektroniikan läheisyydessä. Ostimme kuitenkin kaksi kappaletta uusia lämpötila-antureita, jotka liitimme mikrofonikaapelilla Arduinoon. Lämpötila-anturit ovat aseteltu kitaramikrofonien sisälle siten, että ne ovat mahdollisimman helppo lisätä mikrofonin yhteyteen. Uudet lämpötila-anturit testattiin toimiviksi, mutta tiedon varastoiminen serverille jäi toteuttamatta, koska demo oli jo seuraavana päivänä, joten päätimme keskittyä olemassa olevan esittelyyn. Vanhasta työstä puretut lämpötila-anturit todettiin rikkinäisiksi kolme päivää ennen viimeistä demoa.

11 2 Projektin ohjelmistokehitys 2.1 Ensimmäiset mittaukset Toteutimme ensimmäiset mittaukset nopeasti tehdyllä Arduinon C-koodilla, joka tulosti mittaamiaan arvoja analogisesta sisääntulosta sarjaportin yli tietokoneelle. Tämän testin päätarkoituksena oli toimintaympäristön pystytys ja projektin todenmukaisuuden arviointi. Seuraavaksi toteutimme monimutkaisemman FFT-muunnoksen reaaliajassa Arduinolla, jossa hyödynsimme Open Music Labsin tarjoamaan Arduinon FFT-kirjastoa [2]. Arduinon FFT-kirjasto jakoi saadut analogiset arvot 64:lle eri kanavalle, josta pystyimme päättelemään eri taajuuksien merkitystä vedentunnistuksessa. Reaaliaikainen FFT-muunnos on kuitenkin raskas suorittaa Arduinolla ja tarkasteltava tilaikkuna ei ole riittävän laaja suurimittaisempaan tulkintaan, joten päädyimme tulkitsemaan dataa Matlabissa. Matlabissa tämä vaati erillisen tiedon parsimisen toteuttamista, sekä datan tulkintaa matemaattisin keinoin. Toteutimme kaksi erilaista scriptiä, joilla pystyimme tulkitsemaan antureiden tuottamaa dataa. 2.2 Arduino-koodi Mittauslaitteen ohjelmisto tehtiin kokonaan Arduinolla, koska valmiit kirjastot olivat erinomaisia meidän tarkoitukseemme. Ohjelmiston tarvitsi toteuttaa seuraavat ominaisuudet: 1. Sensoridatan luku 2. Kun saatu arvo on yli kynnysarvon, laite aloittaa datan kerääminen 3. Kun saatu arvo alittaa jälleen kynnysarvon, laite pysäyttää datan tallentamisen ja lähettää se palvelimelle 2.2.1 Ajan selvittäminen Tavoitteen kannalta on hyvin tärkeää, että saamme selville ajan jolloin vettä käytetään. Meillä oli käytännössä kaksi vaihtoehtoa tähän. Ensimmäisessä vaihtoehdossa olisimme käyttäneet palvelimen aikaa joka kerta kun mittausdata saapuu palvelimelle. Tässä lähestymistavassa on kuitenkin joitakin ongelmia. Tällöin meidän tarvitsisi joko lähettää jokainen datapiste saman tien kuin se tuotetaan, tai vaihtoehtoisesti laskea pisteiden ajat loppuajasta ja vedenkäytön kestosta. Datan välittömässä lähettämisessä on ongelmana se, että datapaketit voivat saapua palvelimelle eri aikoihin ja väärässä järjestyksessä, jolloin saamme virheellisiä tuloksia. Loppuajan käyttämisessä kaikki data tarvitsee lähettää kerralla, mikä tekee järjestelmästä paljon huonommin skaalautuvat jos sitä kehitettäisiin tulevaisuudessa pidemmälle. Sen sijaan päädyimme käyttämään toista vaihtoehtoa, missä me saamme ajan suoraan laitteesta itsestään. Tällöin ajat voivat erota palvelimen ajasta, mutta ainakin ne ovat oikeassa suhteessa keskenään. Arduino ei pysty säilyttämään aikaa laitteen ollessa pois päältä, koska siinä ei ole sisäistä patteria. Sen takia ensimmäisen kerran kun laite käynnistetään, meidän tarvitsee saada aika jostakin. Arduino Yún saa WiFinsä kautta yhteyden internettiin, joten luonnollinen ratkaisu oli hakea aika sieltä. Käytännössä tämä tapahtuu tekemällä HTTP GET pyynnön, josta puuttuu host otsikko. Palvelin palauttaa tähän vastauksen, jossa on date otsikko. Voimme lukea tästä ajan ja asettaa sisäisen kellon oikeaan aikaan.

12 2.2.2 Datan tallentaminen Kun tallennamme dataa, meidän täytyy ottaa muutama asia huomioon. Ensinnäkin Arduinossa on muistia hyvin rajatusti. Siinä on ainoastaan 2.5 kilotavua SRAM:a, jota ohjelma itse käyttää. Sen lisäksi löytyy 32 kilotavun flash muisti, johon ei voida kirjoittaa ajonaikaisesti ja 1 kilotavun EEPROM muisti. Toisekseen emme halua lähettää kaikkia datapisteitä, koska se vaatisi monta pyyntöä eivätkä kaikki datapisteet tuo relevanttia lisäinformaatiota. Näiden rajoitteiden takia päätimme, että tallennamme ainoastaa aloitusajan, lopetusajan ja 10 ensimmäistä datapistettä arvoineen 1 sekunnin aikavälillä. Arvot ovat keskiarvoistettuja pisteitä koko sensoridatasta, jotta saamme tasoitettua raakadatan. Sensori antaa datan piikkeinä, joten se ei lähtökohtaisesti ole tasaista. Optimaalisessa tapauksessa tallentaisimme kaikki pisteet myöhempää käyttöä varten, mutta tämä on hyväksyttävä kompromissi. Käytämme myös kynnysarvoa, jotta laite ei reagoisi aivan pienimpiin värähdyksiin. Ulkoisen värähdyksen täytyy olla kuitenkin melko voimakas, jotta sensori havaitsee sen. Tämän vuoksi pystyimme asettamaan kynnysarvon melko matalaksi. Muista tutkituista vaihtoehdoista ainoastaan ulkoinen SD kortti antaisi tarpeeksi käytettävää muistia meidän tarkoitusperiimme. Emme onnistuneet käyttämään Linux-puolen tallennustilaa Arduinon puolelta ja EEPROM ei helpottanut juurikaan. Emme kokeilleet asentaa SD-korttia, mutta sitä pitäisi harkita jos dataa halutaan tallentaa enemmän tulevaisuudessa. Huomioitavaa on, että SD-kortti kirjasto vie merkittävän määrän muistia, mikä voi aiheuttaa muita ongelmia. Toinen vaihtoehto on lähettää dataa lyhyin väliajoin, mutta se saattaa aiheuttaa ongelmia jotka on esitetty seuraavassa osiossa. 2.2.3 Palvelimeen yhdistäminen Viimeinen osa Arduinopuolella on lähettää data palvelimelle jatkokäsittelyyn. Tämä tapahtuu käyttämällä HTTP POST pyyntöä, jossa data on JSON formaatissa. Pyynnössä on kentät DeviceId, StartTime, EndTime ja muuttuva määrä SoundPoint:ja. Jokaisessa SoundPoint:ssa on Time ja Value muuttujat. Arduinon muistiin olisi mahtunut noin 60 datapistettä, mutta päädyimme rajoittamaan määrän kymmeneen, koska sen jälkeen ei ollut enää muistia pyynnön muotoilemiseen, koska jokainen kirjain vie yhden tavun muistia. Emme halunneet jakaa pyyntöä moneen osaan, koska se olisi vaatinut muutoksia palvelinpuolen API:iin ja saadut hyödyt olisivat olleet vähäiset. Toinen syy miksi emme lähettäneet dataa, kun sitä tuotetaan oli se, että meillä ei ollut mahdollisuutta rinnakkaisajolle. Datan lähettäminen estää meitä ottamasta sensoridataa talteen, ellemme halua vain lähettää dataa odottamatta vastausta siitä onnistuiko lähetys. Todennäköisesti paras tapa tehdä tämä olisi tallentaa data ja lähettää se paloissa käytön loppumisen jälkeen, mutta se aiheuttaa ongelmia jotka esitimme aiemmin. 2.3 Palvelin Päätimme käyttää pavelinpuolen toteutukseen Amazon Web Servicesiä, koska se poisti meiltä tarpeen hankkia fyysinen palvelin joka vaatisi ylläpitoa. Free Tier vaihtoehto takaa ilmaisen vuoden ja tarpeeksi palveluita meidän käytöllemme. Heillä oli myös vaihtoehtona käyttää Windows Serveriä, minkä kanssa Mikko oli jo ennestään tuttu.

13 2.3.1 WebAPI ja tietokanta Tietokanta jonka pistimme pystyyn on standardi MySql tietokanta, jossa on taulut laitteille, käyttöajoille ja datapisteille ensimmäisen kymmenen sekunnin ajalle. Tarvittaessa sitä pystyisi helposti laajentamaan, jos haluaisimme tiedot lämpötilalle tai muille mielenkiintoisille arvoille. Toinen vaihtoehto MySql tietokannan lisäksi jota kokeilimme oli DynamoDB, mikä on yhdentyyppinen NoSql tietokanta. Se toimi muuten hyvin, mutta oli vaikeampi ymmärtää kuin tavallinen Sql tietokanta, joten se hylättiin nopeasti. Kaikki data joka menee tietokantaan menee ASP.NET Web API 2:a käyttävän API:n kautta, mikä luotiin tähän tiettyyn tarkoitukseen. API sisältää metodit HTTP GET ja POST pyyntöjen käsittelyyn. POST:in tarvitsee kuitenkin sisältää oikeassa muodossa olevana JSON:na tallennettava data. Palvelu toimii EC2 palvelin-instanssilla ja se luo oikean Sql tiedustelun riippuen siitä mitä API metodia käytetään. Tällä hetkellä toteutettuna on metodit uuden käyttökerran lisäämiseksi ja haut käyttökerroille laitteen mukaan ja datapisteille käyttökerran id:n mukaan. Tiedustelun keventämiseksi tulevaisuudessa olisi syytä myös lisätä haku päivämäärän mukaan. 2.3.2 Nettisivu Nettisivu pyörii samalla EC2 palvelimella kuin mitä Web API käyttää. Se käyttää ASP.NET MVC:tä, jonka lisäksi datan visualisoinnissa hyödynnetään kahta JavaScript kirjastoa. Sivun tarkoituksena on demonstroida kuinka tällaista dataa kannattaa esittää, mutta on syytä huomata, että ominaisuudet kuten käyttäjätilit täytyisi lisätä, jos tuotetta koskaan kaupallistettaisiin. Kuvissa 11 13 on esitelty nettisivun näkymää ja helppokäyttöisyyttä käyttäjälle. Pääsivullä käyttäjälle näytetään kalenteri ja päivittäinen vedenkäyttö sekunteina. Painamalla päivämäärää sivusto tuo esille tunnittaisen näkymän, joka esittää miten käyttö jakautuu pitkin päivää. Palkin painaminen tuo esiin yksittäiset vedenkäyttöhetket jotka alkoivat sen tunnin aikana, näyttäen aloitusajan, lopetusajan ja kokonaiskäyttöajan. Viimeisenä esnimmäisen kymmenen sekunnin datapisteet voi nähdä painamalla Data Points -painiketta. Kalenterinäkymä on tehty FullCalendar JavaScript kirjastolla ja tuntinäkymä ja datapistekuvaaja Chart.js:llä.

Kuva 11: Vedenkulutuksen kuukausinäkymä 14

15 Kuva 12: Vedenkulutuksen päivänäkymä ja tunnin 16.00-16.59 vedenkäyttöajat Kuva 13: Vedenkulutuksen erikoisnäkymä visualisoi veden oletettua virtausnopeutta ensimmäisen kymmenen sekunnin ajalta. Mittauspiste vaikuttaa kuvaajaan paljon, eikä siitä kannata arvioida absoluuttista vedenkulutusta.

16 3 Projektin lopputulos 3.1 Fyysinen laite Lopullinen tuote on huolellisesti suunniteltu ja ammattimaisesti toteutettu. Stereovahvistin on pikaliittimellä kiinni johdotuksessa ja mikrofonit sekä lämpötila-anturit ovat kompaktissa helposti kiinnitettävässä paketissa loppukäyttäjälle. Työssä käytettiin aikaa laadukkaan prototyypin tekemiseen, eikä laitteen osia vain viskottu sattumanvaraisessa järjestyksessä paikalleen. Esimerkiksi, piirilevy on koottu systemaattisesti, että jokainen vastus on samaan suuntaan helposti luettavissa ja vaihdettavissa. Juotokset on varmistettu ja lämpötila-antureiden johdot tarkkaan valikoitu tarkoitukseen sopiviksi. Lämpötilaantureiden johdot on värikoodattu yleisen mallin mukaisesti (punainen +, musta ja muu väri signaali). Myös Stereovahvistin on kätevästi irrotettavissa ja sen johdot on selkeästi valikoitu värimallia vastaaviksi. Lopullisen stereo-esivahvistimen rakenne on kuvailtu kattavasti kohdissa 2.7. 2.8. Kuvassa 14 on esitelty lopullinen prototyypin ulkoasu. Laite sisältää Arduino Yun alustan, muokatun k2572 stereo-esivahvistimen sekä kaksi dynaamista mikrofonia ja lämpötilasensoria. Kuva 14: Lopullinen kokoonpano 3.2 Tarvittavat osat lopulliseen prototyyppiin

17 Komponentti Hinta (noin) Arduino Yun 65 LM35-lämpötila-anturit 2x1 Kitaramikrofonit 2x2 K2572 stereo esivahvistin 14 Muut tarvikkeet (vastuksia, johtoa, yms.) 5 Yhteensä 90 3.3 Ohjelmisto Itse laitteen ohjelmisto on hyvin yksinkertainen ja toteuttaa siltä vaaditut tehtävät. Suurempi osuus on nettipuolella, joka oli alkuperäisen idean sydän. Projekti kääntyi laitepainotteiseksi, joten nettisivujen toteutusta yksinkertaistettiin merkittävästi. Ne edustavat toimivaa konseptia, jolla järjestelmän asiakkaalle voidaan välittää tieto laitteen toiminnasta informatiivisesti ja selkeästi. 3.4 Tulevat kehityskohteet Jos harkitsisimme kaupallistavamme laitteen, täytyisi järjestelmään tehdä monia lisäominaisuuksia ja huomioida muita seikkoja. Ensinnäkin meidän täytyisi tehdä paljon lisätestejä erilaisille vesipisteille. On mahdollista että laite ei vain toimi joillakin putki- tai kiinnitystyypeillä ja tämä on kriittinen tieto käyttöä ajatellen. Tähän liittyen olisi hyvä tehdä jonkinlainen painike, jolla laitteen voi kalibroida tiettyyn putkeen, eli vahvistaa signaalia jos värähtely on heikkoa ja heikentää jos värähtely on voimakasta. Toisekseen, laite tarvitsee kotelon ympärilleen. Tällä hetkellä se on vain prototyyppi, joten ei ole niin väliä että vahvistin ja arduino ovat suojaamatta. Laitteen tulisi kuitenkin kestää käyttöä myös hyvin koskeissa olosuhteissa, kuten vessassa tai suihkussa. Sensori kestää meidän tietojemme mukaan tällaiset olosuhteet, mutta komponentit saattavat olla toinen asia. Kolmanneksi, laite tarvitsee paljon käyttövirtaa. Tällä hetkellä meillä ei ole tarkkoja mittauksia kuinka paljon, mutta Arduino on kaikista vaativin osa noin 100mA kulutuksellaan. Olisi hyvä, jos voisimme käynnistää laitteen ja lähetyksen vasta siinä kohtaa kun dataa tulee, mutta se vaatisi ylimääräisen virtapiirin ja virtalähteen sensorille. Neljänneksi turvallisuustekijöiden täytyisi parantua. Jokainen laite vaatii salatun yhteyden palvelimelle, koska emme halua kenenkään tietävä, milloin vettä käytetään asiakkaan kotona. Nettisivun täytyisi ottaa huomioon käytäjätilien hallinnan ja laitteet jotka on liitetty jokaiseen tiliin. Viimeisenä tarvitsisi tehdä jonkinnäköinen ohjelma internetyhteyden muodostamiseksi laitteen ja palvelimen välille. Periaatteessa palvelin voi vaihtua tai asiakas voi halua oman kustomoidun palvelimen, joten sen osoite täytyy välittää laitteelle. Toinen välitettävä asia on langattoman yhteyden osoite ja salasana. Tällainen ohjelma on hyvin suoraviivainen toteutettava ja ensimmäisellä kerralla tiedot välitettäisiin usb:n kautta.

18 3.5 Mittaukset Mittaukset suoritettiin kahdella tavalla kahdessa kohteessa. Toinen oli perinteinen posliininen kylpyhuoneen pesuallas ja toinen metallinen keittiöallas. Keittiössä suoritettiin tarkemmat testit miten siellä mittausdataan vaikutti veden lämpötila ja virtaus. kylpyhuoneen puolella testattiin miten vaikuttaa kun mittarin asentaa kauemmaksi hanasta. Mittaustuloksia tarkastellessa tulee ottaa huomioon havaitut häiriötekijät. Kuumaa vettä mittaava mikrofoni vahvisti signaalia huomattavasti vähemmän kuin kylmää vettä mittaava mikrofoni, joten sen tulokset ovat vähemmän luotettavia ja lähellä nollaa. Tämä varmistettiin testaamalla mikrofoneja ristiin. Vahvistimet olisi voinut kalibroida, mutta vaikka vahvistus oli maksimissa, kuuman veden arvot olivat jonkin verran matalampia kuin kylmän veden. Kylmän veden vahvistusta olisi voinut laskea, mutta halusimme edes toisesta luotettavat arvot. Mittaamamme anturien väliset vahvistukset olivat erisuuret. Tämä johtui mahdollisesti jälkikäteen havaitusta vaurioituneesta juotoksesta. Mittausdatassa kylmää vettä kuvaa sininen viiva ja kuumaa vettä punainen viiva. Mittaustaajuus on 20Hz. Datassa on välillä nollaa vaikka putkessa on virtausta. Tämä johtuu siitä, että vahvistin resetoi arvon nopeammin kuin olisi tarpeen. Itse laite käyttää keskiarvoistussuodinta, jolloin nollat eivät häiritse. 3.5.1 Kylpyhuone Kylpyhuoneessa suoritettiin mittaukset siitä miten etäisyys altaasta vaikuttaa mittaustuloksiin. Mittauspisteitä oli neljä: altaan lähellä metallisessa putkessa, putken puolivälissä noin 10 cm alempana, putken alaosassa 10 cm kauempana ja noin metrin päässä alkuperäisestä putkesta ennen putken haaraumakohtaa. Mittaustulokset ja kuvat mittauspaikoista ovat tässä järjestyksessä. Mittaukset suoritettiin avaamalla hanaa pikkuhiljaa maksimivirtaukseen kylmällä vedellä, tästä lämpimän kautta maksimivirtaavaan kuumaan veteen ja lopulta kiinni kuuman kautta. Kuva 15: A Mikrofoni lähellä hanaa. Vasemmalla hana on kylmällä ja oikealla kuumalla. Sekä kylmä, että kuuma putki värähtelevät huomattavasti enemmän, kun hana on kuumalla.

19 Kuva 16: B - Mikrofoni puolivälissä hanaa. Vasemmalla hana on kylmällä ja oikealla kuumalla. Kylmä putki värähtelee voimakkaammin kuin kuuman veden putki. Kuva 17: C Mikrofoni putken alaosassa. Vasemmalla hana on kylmällä ja oikealla kuumalla. Kylmän putken värähtely on suunnilleen samalla tasolla kuin aiemmin, mutta kuuman putken värähtely vahvistui huomattavasti. Kuva 18: D Mikrofoni kaukana hanasta. Vasemmalla hana on kylmällä ja oikealla kuumalla. Putkien värähtelyt suunnilleen samalla tasolla

20 A B C D Kuva 19 Kuvat mikrofonien kiinnityskohdista Ensimmäinen asia joka kuvaajista havaitaan on, että mikrofonit eivät tuota minkäänlaista signaalia, kun virtausta ei ole. Tämä on projektin kannalta merkittävin tulos, kun huomataan että silloin kun virtausta on, havaitaan se selkeästi. Mittaustuloksista voidaan havaita, että mittauspaikalla on todella paljon väliä mittaustuloksen kannalta. Hieman yllättäen tämän altaan kanssa heikoimmat tulokset tulevat kun sensorit ovat lähimpänä allasta ja voimakkaimmat kauempana. Keskimäärin kuuma vesi aiheuttaa voimakkaamman värähtelyn putkeen kuin kylmä vesi. Itse asiassa tämä vaikutus näkyy jopa kylmän veden putkessa silloin kun sensorit ovat lähellä allasta, mikä johtunee sekoittimen vaikutuksesta. Kun sensorit ovat kauempana putkesta, kylmän putken värähtely vähenee ja kuuman putken värähtely puolestaan kasvaa. Odotetuimman kaltainen kuvaaja saadaan kun sensorit ovat kauimpana putkesta, tosin huomioon kannattaa ottaa, että kuuman putken sensorilla on pienempi vahvistus kuin kylmän veden. 3.5.2 Keittiö Keittiössä mitattiin paitsi erilaista ympäristöä, myös tarkemmin lämpötilojen vaikutusta. Mittaukset tehtiin kolmella eri lämpötilalla ja kolmella eri virtausnopeudella, sekä yksi ylimääräinen mittaus kauempana altaasta. Mittaukset on esitetty niin että kolme ensimmäistä ovat kylmän veden mittauksia pienestä virtauksesta suureen, kolme seuraavaa ovat lämpimän veden mittauksia pienestä virtauksesta suureen ja viimeiset kolme ovat kuuman veden mittauksia pienestä virtauksesta suureen. Viimeisenä on mittaus kauempana altaasta. Viimeinen mittaus on tehty samalla tavalla kuin WC-mittaus. Mittaukset on suoritettu avaamalla hana valmiiksi oikeaan virtaukseen ennen mittauksen aloittamista.

21 Kylmä 1/3 virtaus Kuva 20 Kylmän veden kuvaaja pienellä virtauksella. Virtausvoimakkuus noin tasolla 20. Lämpimän veden virtaus olematon. Kylmä 2/3 virtaus Kuva 21 Kylmän veden kuvaaja keskivoimakkaalla virtauksella. Virtausvoimakkuus noin tasolla 10-15. Lisäksi mittauksessa outo katkos välillä 40-50, joka on kuitenkin niin pieni että mittaus ei katkeaisi sen takia. Värähtely vähäisempää kuin pienellä virtauksella. Kylmä 3/3 virtaus Kuva 22 Kylmän veden kuvaaja nopealla virtauksella. Virtausvoimakkuus noin tasolla 5. Vähäisin värähtely.

22 Lämmin 1/3 virtaus Kuva 23 Lämpimän veden kuvaaja pienellä virtauksella. Virtausvoimakkuus noin tasolla 5. Kuuman veden virtaus olematon. Lämmin 2/3 virtaus Kuva 24 Lämpimän veden kuvaaja keskivoimakkaalla virtauksella. Virtausvoimakkuus noin tasolla 20-30, mutta laskee loppua kohden todennäköisesti virtauksessa tapahtuvasta epätasaisuudesta johtuen. Lämmin 3/3 virtaus Kuva 25 Lämpimän veden kuvaaja nopealla virtauksella. Virtausvoimakkuus noin 20, eli suunnilleen samaa tasoa kuin keskivoimakkaalla virtauksella.

23 Kuuma 1/3 virtaus Kuva 26 Kuuman veden kuvaaja pienellä virtauksella. Virtausvoimakkuus noin 100, eli huomattavasti enemmän kuin kylmällä ja lämpimällä vedellä. Kuuman putken värähtely noin 10, eli ensimmäistä kertaa havaittavalla tasolla. Kuuma 2/3 virtaus Kuva 27 Kuuman veden kuvaaja keskivoimakkaalla virtauksella. Virtausvoimakkuus noin 10-20. Kuuma 3/3 virtaus Kuva 28 Kuuman veden kuvaaja nopealla virtauksella. Virtausvoimakkuus noin 20-30.

24 Kylmästä kuumaan kauempana altaasta Kuva 29 Vasemmalla hana on kylmällä ja oikealla kuumalla. Hana avattiin hitaasti kylmälle, siirrettiin kuumalle ja suljettiin hitaasti. Ilmeisesti kuumalla putkella on paremmat värähtelyolosuhteet kuin lähellä hanaa, sillä kuvaajasta näkyy myös selkeästi kuuman veden kulkeminen. Mielenkiintoisesti kuuman veden putki värähtelee myös kun vain kylmää vettä kulkee putkessa. Kuva 30 Vasemmalla kiinnityskohta lähellä hanaa ja ylhäällä kauempana hanasta Ensimmäinen asia, jonka kuvaajista huomaa on kuuman veden mittausten epäonnistuminen täydellisesti. Ilmeisesti kuuman veden putki ei vain värähtele juuri lainkaan. Mittauksesta nähdään juuri ja juuri että virtausta tapahtuu, mutta ei sitä kuinka voimakasta virtaus on. Kylmän veden mittauksissa nähdään, että mittaukset ovat jälleen vastoin odotuksia. Värähtelyt ovat sitä voimakkaampia mitä vähemmän vettä virtaa. Tämä saattaa johtua siitä että vesi virtaa suoraan suuremmilla virtausnopeuksilla eikä aiheuta pyörteitä ja värähtelyä putkessa. Lämpimän veden mittauksissa tämä ero tasoittuu ja näyttää jopa toimivan odotetusti. Kuuman veden mittauksissa kylmä putki värähtelee eniten kun vesi virtaa vain vähän ja vähiten kun virtaus on puolivälissä, mikä on hyvin hämmentävää. Parhaimmat tulokset saadaan, kun sensori on kauimpana altaasta.

25 3.5.3 Yleiset havainnot Yleisesti mittauksista voidaan havaita, että sensori havaitsee värähtelyä epäsäännöllisissä jaksoissa. Osan ajasta sensori näyttää nollaa, mutta välillä se havaitsee piikin. Tämän vuoksi mittaustulokset pitää käsitellä, jotta nähdään onko värähtelyä ollut esimerkiksi sekunnin aikana. Riippuen sensorin paikasta mittaustuloksista voidaan päätellä jotain virtausnopeudesta, mutta ei mitään varmaa eikä tarkkaa. 3.5.4 Puuttuvat mittaukset Useampia mittauksia harkittiin projektin aikana. Lämpötilamittarit saatiin toteutettua, mutta niillä tehtävät mittaukset todettiin turhiksi projektin kannalta. Virtausmittari tilattiin ja se saatiin asennettua, mutta tarvittavaa koodia ei ehditty toteuttaa ajoissa. Lisäksi virtausmittausten tarve on kyseenalainen, kun jo mittarilla saaduista tuloksista voidaan havaita, että mittari ei kykene luotettavasti havaitsemaan veden virtausnopeuden muutoksia. 3.5.5 Vertailu aikaisempaan diplomityöhön Nathan Beharin diplomityössä[1] kaikki testimittaukset tehtiin vain yhdessä testiympäristössä. Testiympäristö oli erittäin rajoittunut. Me suoritimme testejä viidessä eri testiympäristössä. Tulokset vaihtelivat huomattavasti testiympäristöjen välillä. Beharin mittaukset tehtiin Electret-mikrofoneilla, joiden kiinnitys vaikutti itsessään jo mittauksiin huomattavasti. Beharkin kuvaili mikrofoneilla mittaamista haastavaksi ja totesi kiinnityskireyden aiheuttavan suuria eroja mittaustuloksiin. Hän sääti anturien väliset vahvistukset niin, että arvot täsmäisivät toisiaan 30 C lämpötilassa. Behar sai samat tulokset, että toisen putken ääni oli huomattavasti kovempi kuin toisen putken. Hänen kalibrointinsa ei sisällä pelkästään putken sisäistä kohinaa, vaan myös ympäristön kohinan, joka aiheutuu altaasta ja hanasta. Mittausten aikana hänellä oli kiinni erillinen putki hanassa. Putki tasasi hyvin ääniä, koska veden osumisesta altaaseen ei tällöin tullut säröääniä. Myös putken pituus mahdollisti tasaisemman äänenlaadun ja tasasi kohinaa. Työssä tavoiteltiin tasaista ääntä ja se saatiin muuttamalla ympäristöä. Meidän työssä lähtökohtana oli toteuttaa laite toimimaan missä tahansa ympäristössä.

26 4 Riskit Yllättävän moni riski toteutui projektin aikana. Ensinnäkin, kevään aikataulutus oli hyvin vaikeaa, johtuen siitä, että kurssien aikaavievyys jakautui hyvin epätasaisesti. Aikataulun kannalta järkevää olisi ollut työskennellä projektin parissa tasaisesti pitkin kevättä, mutta käytännössä kurssi suoritettiin kolmessa rykäisyssä, jolloin muiden projektien palautuspäivämäärät eivät olleet lähellä. Tämä aiheutti ylimääräistä kiirettä, mutta toisaalta pystyimme tänä aikana keskittymään projektiin täysillä. Toinen toteutunut riski liittyy siihen, että saimme tilatun stereovahvistimen ja virtausmittarin vasta hyvin myöhään kurssilla haltuumme. Osittain tämän takia emme ehtineet tehdä virtausmittauksia alkuperäisessä aikataulussa. Tämä ongelma ei ollut kuitenkaan kovin mittava, sillä aikatauluihin saatiin joustoa niin että tulokset saadaan aikaan. Kolmas toteutunut riski liittyi rikkinäisiin lämpötilasensoreihin, jonka takia lämpötilamittaukset jäivät myös hyvin vähäisiksi. Lämpötilamittareiden tutkimiseen meni paljon aikaa, koska aikaisempi kokoonpano oli amatöörimäisesti toteutettu ja hankala purkaa. Johdotuksessa käytetty värikoodaus oli yleisen periaatteen vastainen ja ongelman ratkominen vei aikaa. Yleismittarilla lämpötila-anturit vaikuttivat toimivan, mutta vasta oskilloskoopilla tehdyt mittaukset paljastivat, että anturien tuottama signaali on erittäin korkeataajuista siniaaltoa, jonka Arduino lukee sattumanvaraisesta kohdasta. Neljäs ja suurin toteutunut riski oli ongelma alkuperäisen teorian kanssa. Kulutimme huomattavasti aikaa käyttäen tavallisia mikrofoneja, jotka nappasivat liikaa häiriöääniä ympäristöstä eivätkä kuunnelleet niinkään putkea. Tämä ongelma ratkesi vasta vaihtaessamme erilaiseen sensorityyppiin. Viimeinen ja vähäisin toteutunut oli joidenkin mittausten tekemisen osoittautuminen vaikeammiksi kuin oletimme. Varsinkin virtausmittari oli hankalampi käyttää kuin toivoimme, joten ajanpuutteen vuoksi emme saaneet kyseisiä mittauksia suoritettua.

27 5 Ajankäyttö Ajankäyttö Joel Mikko Yhteensä [h] Kurssin luennot 6 10 16 Esiintymisten valmistelu 5 10 15 Ohjaajan tapaamiset 10 10 20 Suunnittelutapaamiset 15 15 30 FFT-toteutus 10 0 10 Elektroniikan suunnittelu 12 1 13 Elektroniikan toteutus 30 0 30 AWS:n palvelinten pystyttäminen ja 0 20 20 ylläpitäminen Web API 0 15 15 Arduino koodi 10 10 20 Nettisivu 0 10 10 Mittauksien tekeminen 15 20 35 Raporttien kirjoittaminen 28 25 53 Yhteensä [tuntia] 141 146 287 6 Yhteenveto Tämä projekti on ollut yksi kevään mielenkiintoisimmista, mutta samalla työläimmistä kursseista. Työmäärä osoittautui lopulta huomattavasti suuremmaksi kuin alun perin ajattelimme. Alkuperäisen suunnitelman mukaan olisimme keskittyneet paljon enemmän palvelupuoleen, mutta mittaukset ja projektin aikana esiintyneet ongelmat pakottivat kehittämään taitojamme paljon laajemmalla skaalalla. Lopulta saimme toimivan laitteen aikaan, joka täyttää ominaisuudet jotka siltä vaadittiin. Laitteen avulla pystyy havaitsemaan luotettavasti sen, kulkeeko putkessa vettä, mutta ei välttämättä veden virtausnopeutta. Data lähtee internettiin pilvipalveluun ja sitä pystyy tarkastelemaan sieltä helposti.

28 7 Lähteet 1. https://drive.google.com/drive/folders/0b5nhebu-qh63nhvaqjl0nxbjnve 2. http://wiki.openmusiclabs.com/wiki/fftfunctions 3. http://www.ebay.com/itm/universal-general-guitar-acoustic-clip-line-pickup-microphone-wire- Black-/121427337175?pt=LH_DefaultDomain_3&hash=item1c45a21fd7 4. http://fi.wikipedia.org/wiki/vahvistin 5. http://www.farnell.com/datasheets/1581773.pdf 6. http://www.velleman.eu/downloads/0/illustrated/illustrated_assembly_manual_k2572_rev2.pdf 7. http://www.ebay.com/itm/useful-pickup-clip-microphone-for-wind-string-instruments-violin- Guitar-/181592080743?pt=LH_DefaultDomain_2&hash=item2a47bb4167 8. http://en.wikipedia.org/wiki/microphone#dynamic_microphone 9. http://www.velleman.eu/downloads/0/illustrated/illustrated_assembly_manual_k2572_rev2.pdf 10. http://www.ti.com/lit/ds/symlink/lm35.pdf 11. http://www.learningaboutelectronics.com/articles/lm35-temperature-sensor-circuit.php Kaikki kooditiedostot ovat saatavissa zip-tiedostona.