• No results found

Persondetektering i inomhusmiljö med enkla sensorer

N/A
N/A
Protected

Academic year: 2021

Share "Persondetektering i inomhusmiljö med enkla sensorer"

Copied!
99
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Persondetektering i inomhusmiljö med enkla sensorer

Examensarbete utfört i Elektroteknik vid Tekniska högskolan vid Linköpings universitet

av

Eric Hjelmberg och Henrik Rowell LiTH-ISY-EX-ET–15/0449–SE

Linköping 2015

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

(2)
(3)

Persondetektering i inomhusmiljö med enkla sensorer

Examensarbete utfört i Elektroteknik

vid Tekniska högskolan vid Linköpings universitet

av

Eric Hjelmberg och Henrik Rowell LiTH-ISY-EX-ET–15/0449–SE

Handledare: David Cederlund

Cybercom Sweden AB

Olov Andersson

isy, Linköpings universitet

Examinator: Anders Nilsson

isy, Linköpings universitet

(4)
(5)

Avdelning, Institution Division, Department

Avdelningen för Datorteknik Department of Electrical Engineering SE-581 83 Linköping Datum Date 2015-11-02 Språk Language 2 Svenska/Swedish 2 Engelska/English 2  Rapporttyp Report category 2 Licentiatavhandling 2 Examensarbete 2 C-uppsats 2 D-uppsats 2 Övrig rapport 2 

URL för elektronisk version

http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-XXXXX

ISBN — ISRN

LiTH-ISY-EX-ET–15/0449–SE Serietitel och serienummer Title of series, numbering

ISSN —

Titel Title

Persondetektering i inomhusmiljö med enkla sensorer Presence detection for indoor environments with simple sensors

Författare Author

Eric Hjelmberg och Henrik Rowell

Sammanfattning Abstract

Denna rapport syftar till att beskriva arbetet kring att kunna detektera närvaro i ett rum med hjälp av så enkla sensorer som möjligt, kopplade till en Arduino. Samtidigt som detta sker så används också systemet till att med samma sensorer visa klimatet i rummet. Läsaren får en inblick i problematiken med att detektera människor samt inom funktionen av de valda sensorerna. Utöver detta studeras energiförbrukningen i systemet. Rapporten mynnar ut i en slutsats där en procentuell chans för närvaro presenteras via en internetuppkoppling med hjälp av en omfattande testning av sensorernas beteende.

Nyckelord

(6)
(7)

Sammanfattning

Denna rapport syftar till att beskriva arbetet kring att kunna detektera närvaro i ett rum med hjälp av så enkla sensorer som möjligt, kopplade till en Arduino. Samtidigt som detta sker så används också systemet till att med samma sensorer visa klimatet i rummet. Läsaren får en inblick i problematiken med att detektera människor samt inom funktionen av de valda sensorerna. Utöver detta studeras energiförbrukningen i systemet. Rapporten mynnar ut i en slutsats där en pro-centuell chans för närvaro presenteras via en internetuppkoppling med hjälp av en omfattande testning av sensorernas beteende.

(8)
(9)

Abstract

This report aims to describe the work related to detect the presence of people in a room with the help of as simple sensors as possible, linked to an Arduino. The system also shows the climate in the room with help of the same sensors. The reader gets an insight into the problem of detecting people and in the function of the selected sensors. In addition to this, a study of the energy consumption in the system is presented. The report culminates in a conclusion where a probability on the presence is presented through an internet connection with the help of extensive testing of the behavior of the different sensors.

(10)
(11)

Tack

Vi vill börja med att tacka Cybercom som gett oss tillfälle att utföra detta exa-mensarbete. Från Cybercom vill vi framför allt tacka David Cederlund som varit våran handledare under denna tid. Med möten varje vecka har arbetet blivit både tydligare och lättare att genomföra.

Linköpings universitet bör också få ett stort tack för de kunskaper vi fått under de senaste tre åren som har applicerats och mynnat ut i detta arbete. Här ifrån vill vi tacka vår examinator Anders Nilsson.

Linköping, Oktober 2015 Eric Hjelmberg och Henrik Rowell

(12)
(13)

Innehåll

Figurer xi Tabeller xiii Notation xv 1 Introduktion 1 1.1 Motivering . . . 1 1.2 Syfte . . . 1 1.3 Frågeställningar . . . 2 1.4 Avgränsningar . . . 3 2 Teori 5 2.1 Metoder för igenkänning av människor . . . 5

2.1.1 Statisk igenkänning . . . 6 2.1.2 Dynamisk igenkänning . . . 7 2.1.3 Exteriör igenkänning . . . 8 2.2 Sensorer . . . 8 2.2.1 PIR . . . 9 2.2.2 Temperatur . . . 10 2.2.3 Ljud . . . 10 2.2.4 Koldioxid . . . 11 2.2.5 Fukt . . . 11 2.2.6 Fotoresistor . . . 11 2.3 WiFi . . . 11 2.4 Filter . . . 12 2.4.1 Kalman . . . 12 2.5 Luftkvalitet . . . 15 2.6 Energi . . . 16 2.6.1 Trådlös kommunikation . . . 16 3 Metod 17 3.1 Förstudie . . . 17 ix

(14)

x Innehåll 3.1.1 PIR-sensor HC-SR501 . . . 17 3.1.2 Temperatursensor SMT172-TO92 . . . 18 3.1.3 Mikrofonelement PVM-6027-2P423 . . . 21 3.1.4 Gassensor HS-135 . . . 23 3.1.5 Fuktsensor SMTHS07 . . . 24 3.1.6 Fotoresistor . . . 26 3.1.7 WiFi ESP8266 . . . 27 3.1.8 Spänningsregulator LM350T . . . 28 3.1.9 Räknare . . . 29 3.1.10 Server . . . 31 3.2 Implementation . . . 33 3.2.1 Testning . . . 34 3.2.2 Fortsatt testning . . . 36 3.3 Utvärdering . . . 46 3.3.1 Dataanalys . . . 46 3.3.2 Beräkningar . . . 49 3.3.3 Energi . . . 50 4 Resultat 51 4.1 Förstudie . . . 51 4.2 Implementation . . . 52 4.2.1 Temperatur . . . 53 4.2.2 PIR . . . 56 4.2.3 Koldioxid . . . 58 4.2.4 Peaksensor . . . 59 4.3 Utvärdering . . . 60 4.3.1 Frågeställningar . . . 60 5 Diskussion 63 5.1 Resultat . . . 63 5.2 Metod . . . 64 5.2.1 Energi . . . 64 5.2.2 Sensorer . . . 65 5.2.3 Oddsberäkning . . . 66

5.3 Arbetet i ett vidare sammanhang . . . 66

6 Avslutande kommentarer 67

A Appendix 71

(15)

Figurer

2.1 Olika karakteristiker som uppkommer från människor. . . 5

2.2 En illustration över de två olika springorna i PIR-sensorn och dess area för detektering. . . 10

2.3 Ideala energiproportionaliteten i ett system. . . 16

3.1 En överblick av de olika sensorerna i systemet. . . 17

3.2 En bild av den aktuella PIR-sensorn. . . 18

3.3 Principen för pulsbreddsmodulering. . . 19

3.4 En bild av den aktuella temperatursensorn. . . 20

3.5 Kopplingsschema av inkopplingen för temperatursensorn. . . 20

3.6 En bild av den aktuella mikrofonen. . . 21

3.7 Kopplingsschema av amplifikationskretsen för elektretmikrofonen. 22 3.8 En bild av den aktuella koldioxidsensorn. . . 23

3.9 Kopplingsschema av inkopplingen för gassensorn. . . 24

3.10 En bild av den aktuella fuktsensorn. . . 25

3.11 En bild av den aktuella fotoresistorn. . . 26

3.12 Kopplingsschema av spänningsdelaren för fotoresistorn. . . 27

3.13 Överblick av ESP8266 och dess portar. . . 27

3.14 Kopplingsschema av inkopplingen för spänningsregulatorn. . . . 29

3.15 Kopplingsschema av inkopplingen för räknaren av antalet perso-ner i rummet. . . 30

3.16 Beskrivande bild över uppkopplingen från sensordata till åtkomst av data via valfri plattform med tillgång till Internet. . . 31

3.17 Kopplingsschema för hela systemet. . . 33

3.18 Uppkopplingen med samtliga sensorer och kopplingsplattan för in- och utpassage. . . 34

3.19 Diagram över hur temperaturen bettede sig gentemot antalet per-soner i ett rum under första testningen av systemet. . . 35

3.20 En bild av testrummet. . . 36

3.21 Testning av PIR-sensorn i ett 5 m2stort rum. . . 37

3.22 Testning av temperatursensorn i ett 5 m2stort rum utan dator. . . 38

3.23 Testning av temperatursensorn i ett 5 m2stort rum med dator. . . 39

3.24 Testning av temperatursensorn i ett 5 m2 stort rum med endast dator. . . 40

3.25 Testning av ljudsensorn i ett 5 m2stort rum. . . 42

(16)

xii FIGURER

3.26 Testning av koldioxidsensorn i ett 5 m2stort rum. . . 43 3.27 Testning av ljussensorn i ett 5 m2stort rum. . . 45 4.1 Resultatet av temperatursensorn med och utan närvaro. . . 53 4.2 Resultatet av temperatursensorn med och utan närvaro, samt

re-sultatet av ljussensorn. . . 54 4.3 Resultatet av temperatursensorn med två olika närvaroperioder. . 55 4.4 Resultatet av PIR-sensorn med och utan närvaro. . . 56 4.5 Resultatet av PIR-sensorn med två olika närvaroperioder. . . 57 4.6 Resultatet av koldioxidsensorn med två olika närvaroperioder. . . 58 4.7 Resultatet av ljudsensorn med två olika närvaroperioder. . . 59 A.1 Flödesshemat för hela systemet. . . 72 A.2 Flödesshemat för uppladdning av data till Thingspeak. . . 73

(17)

Tabeller

3.1 De olika resultaten som gavs från temperatursensorn före och efter

implementationen av ett Kalmanfilter. . . 21

3.2 De olika resultaten som gavs från fuktsensorn före och efter imple-mentationen av ett Kalmanfilter. . . 26

3.3 Temperaturskillnader med, utan och endast dator i testrummet. . 40

3.4 Data för olika händelser med PIR-sensorn. . . 46

3.5 Oddsen för olika händelser med PIR-sensorn. . . 47

3.6 Data för olika händelser med temperatursensorn. . . 47

3.7 Oddsen för olika händelser med temperatursensorn. . . 47

3.8 Data för olika händelser med koldioxidsensorn. . . 48

3.9 Oddsen för olika händelser med koldioxidsensorn. . . 48

3.10 Data för olika händelser med peaksensorn. . . 48

3.11 Oddsen för olika händelser med peaksensorn. . . 49

(18)
(19)

Notation

Förkortningar

Förkortning Betydelse

API Application Programming Interface

AT Attention

DE Differential Evolution

EEPROM Electrically Erasable Programmable Read-Only Memory

EMC Electromagnetic Compability GPIO General Purpose Input Output HOG Histogram of Oriented Gradients

IC Integrated Circuit

PCA Principal Component Analysis PIR Pyroelectric (Passive) Infrared PPM Parts Per Million

RFID Radio-Frequency Identification RSSI Received Signal Strength Indication SNR Signal-to-Noise Ratio

TDOA Time Difference of Arrival TTL Time to Live

UWB Ultra Wideband Radio

(20)
(21)

1

Introduktion

1.1

Motivering

Det är en tidig morgon och du är på väg till skolan för att plugga, det är stressigt och du vill inte spendera den första halvtimmen på att hitta en plats att sitta. Om du på något sätt kunde se var det fanns lediga platser i realtid skulle detta problem kunna undvikas då du direkt skulle veta vart du skulle gå. Att kunna komma till en skola och redan innan du är där ha koll på om det finns lediga utrymmen samt det rådande arbetsförhållandet i olika rum skulle vara en önsk-värd funktion.

Samtidigt som detta är ett problem kan det vara minst lika problematiskt med att arbetsmiljön i ett rum är allt för dålig. Detta ibland till följd av ett ventilations-system som är för dåligt anpassat till den miljön det befinner sig i. Ventilationen kanske enbart är ställd till att vara aktiv under vissa timmar av dygnet?

Om istället ventilationen skulle vara anpassad till den miljö den befinner sig i och agera efter rådande omständigheter så skulle ett rum kunna få avsevärt mycket bättre luftkvalitet. Det skulle också kunna spara energi med tanke på att ventila-tionen inte står på om ingen är i rummet och luftkvaliteten är tillräckligt bra.

1.2

Syfte

Om man inför en multimiljösensor i ett rum med undermålig luftkvalitet skulle problemen påvisade i motiveringen kunna försvinna. Genom att mäta tempera-turen, luftfuktigheten, koldioxidhalten och mänsklig närvaro kan vi på så sätt få ventilationssystemet att bli ett smart ventilationssystem som anpassar sig efter det rådande klimatet i ett rum.

(22)

2 1 Introduktion

Ibland vill man veta var det finns lediga rum på en arbetsplats eller skola. Med hjälp av multimiljösensorn är vårt mål att till sist kunna utvidga prototypen till ett sammankopplat sensornätverk som täcker en hel arbetsplats. Med hjälp av en extra sensor för ljudnivå så kan användaren inte enbart få information om den faktiska luftkvaliteten i ett rum, utan också om hur miljön är att arbeta i angåen-de störanangåen-de ljud.

Då det många gånger skett att man kommit till ett fullt rum under tentaperioden, skulle det kunna vara mycket användbart att på universitet ha ett sensornäverk som visar lediga rum och om miljön i dem är satisfierande. I ramen av detta ex-jobb ingår det bara att utveckla en modul som skulle kunna vara en del i detta sensornätverk.

Angående detekteringen av mänsklig närvaro kan den användas till att veta när ventilationen ska vara på eller inte för att råda bot på dålig luft. Det är här den riktiga problematiken i examensarbetet kommer till. Hur kan vi utveckla ett sen-sorsystem som till så stor sannolikhet som möjligt kan avgöra om ett rum är oc-kuperat eller inte? Denna frågeställning ska vi besvara, samtidigt som vi bygger en multimiljösensor på vägen dit.

Målet är alltså att med hjälp av en rörelsedetektor i kombination med en temperatur-, fukt-temperatur-, koldioxid- och ljudsensor att detektera mänsklig närvaro i ett rum. I sam-band med att det systemet utvecklas, kan också en produkt för arbetsmiljön ut-vecklas då de mest grundläggande sensorerna för att mäta detta redan finns. Att enbart utveckla ett system för att mäta luftkvalitet anses inte vara tillräckligt omfattande och vetenskapligt, därav är målet att detektera mänsklig närvaro i samband med detta.

1.3

Frågeställningar

• Hur kan olika sensorer användas för att detektera mänsklig närvaro i ett kontorsrum?

– Vilka sensorer är användbara för att åstadkomma detta?

– Till vilken procentuell sannolikhet kan det bevisas att det finns mänsk-lig närvaro i rummet?

• Vilka metoder kan man använda för att sänka energiförbrukningen i Ardu-inon?

– Vilken samplingsgrad på sensorerna behövs för att på ett så energi-snålt sätt som möjligt presentera tillförlitlig data?

(23)

1.4 Avgränsningar 3

1.4

Avgränsningar

Flera avgränsningar har gjorts inom ramen för examensarbetet.

• Multimiljösensorn har antagits användas i slutna, mindre arbetsrum. Öpp-na arbetslandskap har valts bort då det helt enkelt blir för svårt att detekte-ra någon påtaglig skillnad på sensorerna i ett sådant område.

• För detekteringen av mänsklig närvaro har det valts att endast detektera närvaro eller frånvaro. Detta för att det skulle bli allt för komplext att be-stämma det precisa antalet personer i ett rum under den tid som finns. • Sensorerna som valts har inte alltid varit de bästa av sitt slag, utan har valts

för att de skulle kunna resultera i en produkt som är inom en mindre bud-get. Valet av komponenter kan därför kopplas till att budgeten har varit begränsad.

(24)
(25)

2

Teori

2.1

Metoder för igenkänning av människor

Det finns ett flertal olika metoder för igenkänning av människor och det går att dela upp dessa genom olika karakteristiker som uppkommer från människor. Detta går att dela upp i två underkategorier av karaktärsdrag som människan i sig frambringar, statiska samt dynamiska. Exempelvis mänsklig form eller tal. Det finns även exteriöra karaktärsdrag som uppkommer från elektronik eller and-ra föremål människor brukar medhava. Detta skulle kunna exemplifieand-ras som

RFID-kort eller mobil [Teixeira et al., 2010].

Figur 2.1:Olika karakteristiker som uppkommer från människor.

(26)

6 2 Teori

2.1.1

Statisk igenkänning

Några typiska statiska karaktärsdrag skulle kunna klassificeras som den mänsk-liga formen, vikten, reflektionen och dämpningen mot kroppen. Även de små interna rörelserna, lukten och emission i form av värme kan klassificeras som statiska karaktärsdrag [Teixeira et al., 2010].

Emission

Det går att användaHOG, som är en typ av bildbehandling för att hitta objekt.

Tanken är att ett objekt kan beskrivas med hjälp av distributionen av graduella skillnader i intensitet eller kanternas riktningar. För att få bättre precision går det att normalisera lokala samplingar med hela bilden. Det går även att kombinera med DE, vilket ger en ökad hastighet i detekteringen av positionen. Metoden

medDE löser problemet iterativt på ett effektivt sätt, där den optimerar vid varje

iteration. Detta kan vara användbart om det implementeras i ett realtidssystem [Chen et al., 2015a].

Inre rörelse

Med radar har det visat sig att det går mäta skillnaden i hjärtslag. Problemet med detta är att signalen är svag och varierar över tid. Dock har det gått att bestäm-ma närvaro med 0 till 2 personers precision under rätt förhållanden. För att inte bara bestämma om det är någon närvarande används en generaliserad sannolik-hetskvot, vilket ger sannolikheten för ett visst antal individer [Zhou et al., 2006].

Dämpning

Tomografi tar till vara på skillnaden i dämpning för radiovågor och på så sätt utvärderar om det finns närvaro. Detta sker genom ett flertal noder som skickar radiosignaler mellan varandra, den mottagna signalstyrkan uppmäts och det går att se skillnaden i variansen för detta. För att få bort mätbrus används också ett Kalmanfilter för att ge mer exakta värden då den faktiska förändringen sker. Med hjälpa av detta går det inte bara detektera närvaro utan också approximera position och rörelsemönster [Wilson and Patwari, 2011].

Form

Det går att använda kameraigenkänning för att ta reda på om det finns individer i ett område och hur många. Detta är en förhållandevis effektiv metod, dock kräver den mycket processorkraft och kostnaden för kameror är förhållandevis hög. Det finns inte någon definitiv metod för att få exakta antalet individer med kamera utan det hela blir en approximation [Yang et al., 2003].

Magnetfält

Elektrostatiska kapacitansen går att använda för att detektera mänsklig närva-ro och dess avstånd med god träffsäkerhet. Elektriska fältsensorer mäter

(27)

AC-2.1 Metoder för igenkänning av människor 7 signalen som läggs mot en kapacitans. Effekterna från den mänskliga närvaron, mellan sändare och mottagare kan sedermera mätas genom ändringar i ström-men [Teixeira et al., 2010].

Exempelvis går detta att applicera genom en elektrostatisk kapacitiv golvsensor, det skulle då gå att känna av huruvida en människa står på en position med mycket god träffsäkerhet. De har relativt låg kostnad, samt enkel installation och kräver inte mycket underhåll. Experiment har visat att man utan större svårighe-ter kan mäta den korrekta positionen och närvaro med god träffsäkerhet [Fukui et al., 2012].

2.1.2

Dynamisk igenkänning

De dynamiska karaktärsdragen särskiljer sig främst i olika former av rörelse. Des-sa skulle kunna exemplifieras som ljud, vibration, rörelse eller mänskliga rösten [Teixeira et al., 2010].

Ljud

En mikrofon är en av de vanligare sensorerna för att detektera vibration. Vid de-tektering av mänsklig röst befinner sig det mänskliga talspektrumet allt ifrån 63 Hz till 16 kHz där det börjar avta i styrka. Talspektrumet skiljer sig från män till kvinnor, där män ofta har mer röstomfång i lägre frekvenser. Ljudnivån är som högst runt 500 Hz och ligger då på ungefär 50 dB för vanligt tal [Monson et al., 2012].

En metod för dynamisk igenkänning är att använda en mikrofon för att känna igen ljud och se om det finns närvaro. Om flera mikrofoner sätts in i en vektor-matris går det också använda mikrofonerna för att finna individers position. Det-ta med hjälp av triangulering,TDOA samt fastransformering. Dock så

uppkom-mer en del problem. Eko kan ge felaktiga indikationer om individers positioner. Det uppkommer även ofta brus, som skapar svårigheter vid behandling av datan. Detta gör att man måste använda exempelvis Kalmanfilter för att få bort oöns-kat brus [Perez-Lorenzo et al., 2012]. Ett annat problem är processorns hastighet; ljud färdas cirka 343 meter per sekund, det betyder att det färdats en meter på 2,9 millisekunder.

1

343 = 0, 00291 (2.1)

Om mikrofonerna skulle placeras med 0,1 meters mellanrum, så skulle det ta 0,29 millisekunder. Vilket skulle kunna skapa problem vid implementation, då detta har mycket höga realtidskrav för processorn.

Rörelse

Ett system för att detektera rörelse är med hjälp av en kamera och subtraktions-tekniken, som används genom att subtrahera bort objekt som rör sig från den

(28)

8 2 Teori

stationära bakgrunden. Detta är en relativt simpel teknik men den kräver att ka-meran är stationär, vanligtvis brukar kameror medpan tilt zoom användas för att

få ett större synfält. Om kameran rör sig blir det svårare, då krävs det exempelvis att ett färdigt bakgrundskollage av bilder används för att bestämma vilka objekt som rör sig. Dock kräver detta tidigare kännedom om hur miljön ser ut [Azzari et al., 2005].

Ett annat sätt är att den mänskliga gångstilen går att detektera med hjälp av radar. Detta är bra sätt att detektera människor på avstånd då radar har mycket god räckvidd. Detta sker genom att mäta ekot på inkommande signaler. Dessa går att dela upp i tre delar för människor; fötter, knän och överkroppen. Genom att titta på skillnaderna i dessa delar går det bedöma om det är en människa som rör sig [Zhang, 2012].

2.1.3

Exteriör igenkänning

Detta är all igenkänning som främst uppkommer från moduler människor oftast har med sig. Exempelvis en telefon, kamera, eller ettRFID-kort [Teixeira et al.,

2010].

WiFi

En metod med exteriör igenkänning är att använda WiFi kombinerat med

da-ta från omgivningen och dess specifika landmärken. Exempelvis en hiss, dörr eller andra landmärken där individen behöver flytta sig i ett specifikt mönster. Detta kombinerat med filtrering av onödig data kan då påvisa var i närområdet individen befinner sig. Detta har dock ett flertal problem, ett av dem är att

WiFi-signalerna oftast har olika styrka. Vilket leder till att det blir svårare att bedöma avstånd. Ett annat problem med att använda landmärken är att det även går att röra sig i liknande banor fast på en annan plats, vilket gör att systemet går att lura. Samt att systemet kräver att individen använder en portabel produkt med

WiFi [Chen et al., 2015b].

RFID

En studie har visat att det går att användaRFID-teknologi för att lokalisera

ob-jekt. Detta med hjälp av en tredimensionell positioneringsalgoritm som bygger påRSSI. Med hjälp av detta, samt triangulering går det att beräkna positionen av

enRFID-tag i tre dimensioner [Ko, 2010].

2.2

Sensorer

Efter en genomgång av de välkända metoderna för detektering av människor så valdes egentligen en annan princip. Detta på grund av att arbetet ska vara ve-tenskapligt och inte grunda sig på redan mycket väl genomarbetade metoder. Ef-tersom att sensorerna enligt avgränsningen ska vara enkla så har en metod med

(29)

2.2 Sensorer 9

olika enkla sensorer valts.

Grundprinciperna för de olika sensorerna som har valts att arbeta med inom exjobbet presenteras här. De specifika sensorerna som använts presenteras i me-toddelen, medan det i den här teoridelen följer en presentation av grundegenska-perna för de valda sensorerna.

Enligt [Teixeira et al., 2010] så har enPIR-sensor goda egenskaper för att

detekte-ra människor. Den är energisnål och samtidigt billig och var därmed ett självklart val i detta arbete. Enligt samma källa har en mikrofon en medelgod funktion för att detektera människor. Denna valdes på grund av dess potentiella egenskap att upptäcka människor, samt för att se ljudnivån i ett rum och på grund av dess extremt låga pris.

Temperatur, koldioxid och fukt är enligt [Fang et al., 1998] och [Seppänen et al., 1999] en grundläggande princip för att detektera luftkvaliteten i ett rum. Dessa sensorer har valts för detta ändamål men också för att experimentellt vara med i frågeställningen angående detekteringen av mänsklig närvaro. Enligt [Teixeira et al., 2010] så kan en koldioxidsensor karakteriseras som statisk igenkänning. Principen för en fotoresistor presenteras också och anledningen till att den är med förklaras i metoddelen av rapporten.

2.2.1

PIR

EnPIR-sensor används för att upptäcka rörelse i ett område i dess

utbrednings-riktning. Den kallas på svenska för en pyroelektrisk IR-sensor och som namnet antyder så kan den detektera infraröd strålning. Detta används på ett smart sätt för att detektera objekt som rör sig.

Den största delen av värmeöverföring från objekt sker via infraröd strålning, desto varmare ett objekt är desto mer strålning avger det. Om sensorn upptäc-ker en förändring av strålning i sitt synfält så kommer utgången bli hög. Själva sensorn är analog men med hjälp av den inbyggda kretsen som är kopplad till den så blir den resulterande utgången digital.

Genom två stycken olika springor på sensorn kan den ta in infrarött ljus. Innan-för dessa springor sitter kristaller som är pyroelektriska, det vill säga att dem ger upphov till en elektrisk spänning om materialet utsätts för infrarött ljus. Om det inte finns någon person i synfältet är skillnaden mellan de olika kristallerna oför-ändrad och sensorn kommer inte ge något utslag. Detta är också varför sensorn ibland kallas för passiv, den reagerar endast om en spänning uppstår i något av de pyroelektriska fälten, därav är den också väldigt energisnål. Principen förkla-ras i figur 2.2.

För att skapa ett större upptäckningsområde används en speciell lins framför sensorn, kallad Fresnel-lins. Denna lins, precis som vilken lins som helst, sprider

(30)

10 2 Teori

Figur 2.2:En illustration över de två olika springorna i PIR-sensorn och dess area för detektering.

ut upptäckningsområdet och gör sensorn mycket mer effektiv. Skillnaden ligger endast i att det går åt mindre material för en Fresnel-lins än för en konventionell lins för att den går att göra mycket tunnare. Den är också billig, detta då linsen är gjord i plast.

2.2.2

Temperatur

Det finns många olika typer av temperatursensorer, några exempel på dessa är: resistiva termometrar, termistorer, PN-korsningar, IR-sensorer, IC-sensorer och termoelement. Denna sektion kommer handla om digitala temperatursensorer, med andra ord IC-sensorer.

En IC-sensor har en integrerad krets i sensorn vilket gör den lätt att använda med en mikroprocessor. Den behöver inga extra komponenter utan är helt klar att använda med till exempel en Arduino som den är. Den digitala sensorn består av en temperatursensor som ändrar resistans beroende på temperaturen i omgiv-ningen, denna skillnad utnyttjas för att beräkna temperaturen. Med hjälp av en inbyggd AD-omvandlare skickar sedan sensorn ut en digital signal. Denna signal kan se olika ut beroende på vilken modell som används, men temperatursensorn som har valts till detta projekt skickar ut en pulsbreddsmodulerad signal.

2.2.3

Ljud

Den valda mikrofonen, en elektretmikrofon, består av två kondensatorplattor där en är rörlig och den andra är fast. Där de magnetiserade plattorna består av elekt-reter, ett permanent elektriskt laddat material som vibrerar i takt med inkom-mande ljudvågor. Vibrationerna skapar i sin tur en elektrisk signal via den kapa-citiva laddningen som skapas under vibrationen. Elektretmikrofoner har under tiden främst fokuserat på att vara små och billiga. Därav har känsligheten,SNR,

linjäriteten, samt strömförbrukningen hamnat i skymundan då fokuset har ham-nat på priset och storleken [Van Rhijn, 2003].

(31)

2.3 WiFi 11

2.2.4

Koldioxid

Koldioxidsensorn är en gassensor som fungerar som en halvledare. Den är ba-serad på tenndioxid och designad för mätning av koldioxid. Sensorn har silikon-membran, som inkluderar två aktiva lager. Ett av lagren är ett resistivt metallager som är designat för att vara ett uppvärmningssystem samt en temperaturkontroll. Det andra är en halvledare av tenndioxid, som är känslig för gaser. Eftersom att det går att mäta skillnaderna i resistans på materialet, går det på så vis mäta gaskoncentrationen. Sensorn värmer upp sig själv till en konstant temperatur för att det är då som tenndioxid har den önskade effekten att variera sin resistans beroende på gaskoncentrationen i luften [Abderrahim et al., 2011].

2.2.5

Fukt

Som med de flesta andra sensorer så finns det också ett flertal olika typer av fukt-sensorer som alla fungerar på olika sätt. Gemensamt för dem alla är att dem på något sätt mäter mängden vatten i luften. Fuktighet är viktigt inom många olika typer av områden, olika industrier och sjukhus för att nämna några, men också inom mänsklig trivsel. Fuktsensorn är med i detta projekt för att ge en indikation om arbetsmiljön men också för att vara en del i experimentet om vi kan detektera mänsklig närvaro med hjälp av den.

Ett vanligt mått för fuktighet är i procent relativ fuktighet (% RF) eller(% RH),

som är ett mått på hur mycket vattenånga luften innehåller jämfört med vad den maximalt kan innehålla utan att kondensera. Luften består till 99 % av gaser, den sista procenten innehåller en viss del vattenånga, och det är denna som är av bety-delse att mäta. Förmågan för luften att innehålla fukt varierar med temperaturen, desto varmare det är desto högre fukthalt kan absorberas. En relativ fuktighet på 100 % motsvarar alltså olika mycket fukt beroende på temperaturen.

Den valda fuktsensorn är en kapacitiv fuktsensor som är baserad på att den för-ändrar kapacitans beroende på luftfuktigheten [Hamamoto, 2006].

2.2.6

Fotoresistor

Fotoresistorn kan ses som en potentiometer, där ljus förändrar resistansen. Detta genom att sensorn består av ett material som exciterar elektroner till ett lednings-band i större grad vid en högre ljusnivå. Detta leder till en ökad konduktivitet som går att mäta.

2.3

WiFi

I denna del antar vi att läsaren är införstådd med vad WiFi är och behandlar istället WiFi-modulen ESP8266. Denna modul är en liten mikroprocessor som

(32)

12 2 Teori

sprida sensorinformationen i.

Denna lilla mikroprocessor har blivit en ytterst vanlig modul i olika elektronik-projekt. Detta på grund av att den endast kostar ett par dollar samtidigt som den har bättre prestanda än en Arduino i sig. ESP8266 finns i 12 olika versioner där den senaste versionen har 11GPIO-portar vilket leder till att man kan interagera

med den samtidigt som den går att programmera. Den aktuella versionen i denna rapport är version 1 som är den som finns tillgänglig i butik.

Modulen går att styra via ett antal olika så kalladeAT-kommandon. En vidare

beskrivning och implementation finns i metoddelen.

2.4

Filter

För att återgiva signaler och för att extrahera information ur dem så används ofta filter, både analoga och digitala. I detta arbete har ett digitalt Kalmanfilter implementerats för att stabilisera och trendsätta de olika sensorerna. Principen för den typen av filtrering presenteras nedan.

2.4.1

Kalman

Namnet Kalmanfilter är lite missvisande då det egentligen inte är ett filter, ut-an en estimator. Nästa värde en viss process kommer ut-anta skattas med hjälp av observerade tidigare data från en process. Estimatorn rättar sedan sig själv med hjälp av denna data och på så sätt kan estimeringarna och felet bli mindre. Kalmanfilter används i många olika arbetsområden på grund av dess precision och relativt enkla implementation. Det finns ett flertal olika versioner, dock är vissa förlegade då dess främsta användningsområde framkom pågrund av pre-standamässigt svaga datorer [Zarchan and Musoff, 2005].

Nedan följer en genomgång av Kalmanprocessen med dess olika steg. Enklast blir det att förstå om formel 2.2 presenteras först. Stora bokstäver är matriser och små bokstäver är vektorer.

(33)

2.4 Filter 13

x(t) = K(t) · z(t) + (1 − K(t)) · x(t − 1) (2.2)

x(t) = Det estimerade värdet K(t) = Kalmanförstärkning z(t) = Det uppmätta värdet

x(t − 1) = Det föregående estimerade värdet

Det enda okända värdet i formel 2.2 är Kalmanförstärkningen, som är precis vad vi vill finna lämpliga värden för.

Om K(t) = 0 ⇒ x(t) = x(t − 1), vilket betyder att funktionen antar det föregående estimerade värdet.

Om K(t) = 0.5 ⇒ x(t) = z(t)+x(t−1)2 ger funktionen en medelvärdesbildning av det uppmätta värdet och det föregående estimerade värdet.

Om K(t) = 1 ⇒ x(t) = z(t) ger funktionen att det uppmätta värdet ses som det rätta värdet, alltså gör estimatorn ingenting.

För att generera det bästa resultatet av Kalmanfiltrering för varje sensor har de olika värdena testats fram. Variansen har mätts upp genom att testa mellan 100 till 200 ofiltrerade sensorvärden.

Kalmanfiltreringen består av två steg. Dels prediktionen där nästa värde och näs-ta varians skatnäs-tas. Detnäs-ta med hjälp av värden från korrektionen som i sin tur rättar prediktionen. De grundläggande formlerna för Kalmanfiltreringen presen-teras nedan inklusive de okända variablerna som ingår i dessa.

Prediktion

1) Skatta nästa antagna värde

x(t) = A · x(t − 1) + B · u(t − 1) (2.3)

A och B = Konstanta matriser

u(t − 1) = Kontrollsignal (finns ej i detta fall)

2) Skatta nästa varians på felet

P (t) = A · P (t − 1) · AT + Q (2.4)

P (t) = Variansen

AT = Transponat av matris A

(34)

14 2 Teori Korrektion 3) Beräkna Kalmanförstärkningen K(t) = P (t) · H T H · P (t) · HT + R (2.5) H = Estimerat mätvärde HT = Transponat av matris H R = Mätvärdesvarians

4) Uppdatera värdesestimering med faktiska sensorvärdet z

x(t) = x(t) + K(t) · (z(t) − H · x(t)) (2.6) 5) Uppdatera variansestimeringen

P (t) = (I − K(t) · H) · P (t) (2.7)

(35)

2.5 Luftkvalitet 15

2.5

Luftkvalitet

Eftersom vissa sensorer klarar av att mäta indikationerna för luftkvaliteten så är det relevant att veta vad de olika sensorerna kan tänkas ge för indikationer på luftkvaliteten. I ett test som provade olika kombinationer av temperatur samt luftfuktighet i ett laboratorium så kunde de finna ganska linjära samband mellan upplevd luftkvalitet, temperatur och luftfuktighet.

Testet involverade olika kemikalier som utsöndrade odörer i luften, där deltagar-na fick bestämma sin upplevda luftkvalitet. Odörintensiteten ändrades inte, men luftfuktigheten samt temperaturen gjorde detta. Även med olika odörer i luften fanns ett linjärt samband mellan luftfuktighet, temperatur och upplevd luftkva-litet. Luftfuktigheten gick från 30 till 70 % och temperaturen gick från 18 till 28◦C. Odörerna visade sig vara mindre viktiga vid högre temperatur samt luft-fuktighet för den upplevda luftkvaliteten, dock så var odörerna väldigt relevanta vid lägre temperatur och luftfuktighet, och gav då i många fall upphov till under-målig luftkvalitet. Vid 70 % luftfuktighet samt 28◦C var den upplevd som dålig oavsett om det fanns odör eller inte [Fang et al., 1998].

Det finns även ett antal undersökningar angående hälsan, upplevd luftkvalitet och koldioxidkoncentrationen i luft. Vanligtvis brukar koncentrationen av CO2

vara mellan 350 till 2500ppm i inomhusmiljö, där ∼350 ppm är det vanliga för

utomhusmiljö. Studier visar att mer än ∼1000ppm CO2 i ett rum är dåligt för

hälsan då risken för andningsproblem ökar om det är dålig ventilation [Seppänen et al., 1999]. Det går det koppla höga koldioxidnivåer till huvudvärk, trötthet och yrsel [Tietjen et al., 2012].

(36)

16 2 Teori

2.6

Energi

Ett bra begrepp inom energikonsumtion är energiproportionalitet. Vikten av att bygga system som har bra energiproportionalitet är att det kan leda till stora ener-gibesparingar. Principen för energiproportionalitet är att där tunga beräkningar utförs eller då det är hög belastning på systemet skall också mycket energi för-brukas. Med andra ord energi förbrukas proportionellt i takt med hur mycket arbete som utförs. Genom att använda denna princip går det att få stora energi-besparinar för systemet, då det bara konsumerar energi när det behöver [Barroso and Hölzle, 2007].

Figur 2.3:Ideala energiproportionaliteten i ett system.

2.6.1

Trådlös kommunikation

Några av de vanligare typerna för trådlös kommunikation är UWB, Bluetooth,

ZigBee och WiFi. Dessa har olika spetskompetenser samt energieffektivitet,

vil-ket kommer att påverka systemets energiförbrukning.

UWB är en metod för trådlös kommunikation, som är designad för

applikatio-ner som kräver kort räckvidd men hög datahastighet. Bluetooth och ZigBee som också är metoder för trådlös kommunikation används ofta av batteridrivna eller portabla produkter med kort räckvidd. Därav har de också låg batterikonsum-tion, i vissa fall ger det dock ingen märkbar skillnad mot de andra systemen. Den största skillnaden mellan Bluetooth och ZigBee är att ZigBee fokuserar mer på simplicitet. WiFi är designat för längre uppkopplingar och har bra stöd för

applikationer med bättre tillgång till energi. Bluetooth och ZigBee konsumerar mindre energi än vadWiFi eller UWB gör, baserat på Joule/MB. Dock så har Wi-Fi samt UWB bättre effekt. På grund av detta är Bluetooth och ZigBee bättre för

energisnålare system som inte har speciellt höga datahastigheter.WiFi eller UWB

(37)

3

Metod

3.1

Förstudie

Figur 3.1:En överblick av de olika sensorerna i systemet.

3.1.1

PIR-sensor HC-SR501

Implementationen av denna sensor var den enklaste av alla sensorer på grund av att själva sensorn är integrerad på ett chip. För implementationen användes databladet [Okänd]. Till sensorn finns tre kopplingar:

• VCC, 5-12 V DC • Digital UT 3,3 V TTL • GND

(38)

18 3 Metod

Om någon kommer in i sensorns synfält kommer den att detektera detta och sät-ta den digisät-tala utgången till hög under en begränsad period. När ingen är inom synfältet för sensorn blir utgången låg.

Figur 3.2:En bild av den aktuella PIR-sensorn.

På den integrerade kretsen sitter det två monterade potentiometrar, den ena styr tiden som utgången är hög, (TTL), inom intervallet 3-20 sekunder. Den andra

po-tentiometern styr känsligheten på detekteringen och därmed avståndet som en person kan detekteras på. I det ena läget räcker det med en ytterst liten rörel-se medan det i det motsatta läget krävs rejäla rörelrörel-ser för att rörel-sensorn ska trigga. Självklart kan man ställa dessa potentiometrar i valfritt läge mellan dessa ändlä-gen. Potentiometrarna är också helt oberoende från varandra vilket leder till att man kan ställa dem i väldigt många olika kombinationer.

Den minsta möjliga tiden hög valdes för att kunna detektera flera personer i rad som kommer med mer än 3 sekunders mellanrum. Det finns ingen anledning att ha en större tidsperiod här då sensorn endast används till att trigga att någonting händer i systemet. Känsligheten har experimenterats fram vilket slutade med att ett medelhögt värde på potentiometern gav det bästa resultatet.

Genom att implementera sensorn så att den genererar ett avbrott vid detektering så kan alla detekteringar upptäckas.

3.1.2

Temperatursensor SMT172-TO92

Den sensor som valdes har valts av flera olika anledningar. Dels för att den, jäm-fört med andra temperatursensorer, hade väldigt bra värden för brus och preci-sion. Men också för att den genom att den har en inbyggd AD-omvandlare är lätt att koppla till en mikroprocessor.

För inkoppling och programmering av sensorn användes databladet [Smartec, 2015], där följande principer presenterades.

(39)

3.1 Förstudie 19

Pulsbreddsmodulering

Detta är en typ av modulering som namnet antyder kan ge sin information via pulsers bredd. Det är en digital modulering där pulsen är en fyrkantsvåg. Fre-kvensen är alltid densamma men tiden som pulsen är hög respektive låg inom varje period förändras. Genom att beräkna tiden då pulsen är hög samtidigt som man vet periodtiden kan den procentuella andelen tid hög beräknas. Det är här informationen finns i denna moduleringstyp [Barr, 2001]. I figur 3.3 syns en il-lustration av detta med tre fyrkantsvågor med 5, 50 respektive 90 % andel av vågen hög.

Figur 3.3:Principen för pulsbreddsmodulering.

Utsignal

Temperaturen beräknas med hjälp av denna pulsbreddsmodulering på det vis att pulskvoten som beräknas kan omvandlas till temperatur med hjälp av formeln

T = 212, 77 · DC − 68, 085 (3.1) Där DC i detta fallet står för pulskvoten, (duty cycle), som kan beräknas via

DC = Th/(Tl+ Th) (3.2)

där T står för tiden då vågen är hög respektive låg.

En godkänd mätning av temperaturen innebär att man har mätt 8 konsekventa perioder och medelvärdesberäknat tiden då vågen är hög. Skälet till att man mås-te mäta flera perioder är för att felet vid enskilda perioder kan vara ganska stort men det däremot är väldigt precist om man tar fler perioder. För att göra tem-peraturen ännu mer precis kan man välja att mäta över en multiplikation av 8 perioder. Mätningen börjar alltid på negativ flank.

(40)

20 3 Metod

Figur 3.4:En bild av den aktuella temperatursensorn.

Förbättringar

Ekvation 3.1 är en linjär formel, men temperaturen är inte helt linjär gentemot pulskvoten. Formeln

T = −2, 42 · DC2+ 215, 63 · DC − 68, 83 (3.3) kan bättre realisera förhållandet mellan temperaturen och pulskvoten.

En keramisk avkopplingskondensator, C1på 100 nF kopplades också in mellan

jord och matning till sensorn för ett bättreEMC-värde, för att förhindra

störning-ar. En resistans, R1 adderades också på matningen för att realisera ett

lågpass-filter som också förbättrarEMC-värdet men den begränsar också strömmen om

kopplingen är fel, det är alltså en säkerhet som rekommenderas av tillverkaren. I figur 3.5 finns en bild av detta.

Figur 3.5:Kopplingsschema av inkopplingen för temperatursensorn. För att kalibrera temperatursensorn till ett någorlunda bra värde användes en be-fintlig termometer på Cybercom-kontoret där arbetet utfördes. Det visade sig att temperaturen var 3◦C för hög och denna skillnad kompenserades för via koden. Det finns heller ingen anledning i tillämpningen för detekteringen av människor att temperaturen är helt korrekt, skillnaden är det viktigaste att påvisa.

(41)

3.1 Förstudie 21

Stabilitet

Med hjälp av den ovan gjorda implementationen inklusive förbättringarna har en stabil och korrekt temperaturgivning åstadkommits. Med tanke på att sen-sorn förbrukar effekt så kommer det också att utvecklas värme från den. Under testningens gång upptäcktes att denna skillnad på grund av självuppvärmning är så liten att den i systemet försummas.

Under en testkörning av sensorn samplades 100 temperaturangivelser. I tabell 3.1 ses resultatet av denna både med och utan Kalmanfilter. Som synes så förbätt-rade filtret resultatet till en hög grad, detta då sensorn måste vara så känslig att en standardavvikelse på 0,1◦

C inte fungerar.

[◦C] Medelvärde Standardavvikelse Varians Utan filter 23,83 0,102648375 0,010536689 Kalmanfilter 23,76 0,039532416 0,001562812 Tabell 3.1:De olika resultaten som gavs från temperatursensorn före och efter implementationen av ett Kalmanfilter.

3.1.3

Mikrofonelement PVM-6027-2P423

Mikrofonelementet valdes på grund av dess rundtagande karaktäristik, samt re-lativt höga känslighet 8 mV/Pa [Vansonic]. Fördelen med elektretmikrofoner är deras kostnad samt småskaliga storlek. Denna mikrofon klarar en inspänning på 1 till 10 V, vilket är tillräckligt för tillämpningen. Frekvensområdet är endast 20 till 16 000 Hz vilket är tillräckligt, då mikrofonen huvudsakligen skall lyssna efter mänsklig närvaro och mänskliga talspektrumet ligger främst under 16 000 Hz. Därav krävdes inget linjärt filter för att ta bort oönskade frekvenser. Utsigna-len från denna mikrofon är extremt liten och därmed krävs en stor förstärkning av signalen.

Figur 3.6:En bild av den aktuella mikrofonen.

Förstärkarkrets

Enligt operationsförstärkaren LM386N-1s datablad [Semiconductor, 2000] så ger den 200 gånger förstärkning då en kapacitans på 10 µF uppkopplas mellan in-gång 1 samt 8, om inte detta görs ger den endast 20 in-gånger förstärkning. Då

(42)

22 3 Metod

elektretmikrofonens signal var mycket liten valdes 200 gånger förstärkning. Den drivs av 4 till 12 V, i detta fall används en spänningsmatning på 5 V. I LM386N-1s datablad fanns det ett kopplingsschema för en 200 gånger förstärkarkrets. Den förstärkarkretsen modifierades till det implementerade förstärkarschemat, se fi-gur 3.7. Den innehöll bland annat en Boucherot cell, C6 samt R2 för att ta bort

högfrekventa oscillationer.

Databladets koppling var inte specifikt skapad för en mikrofon, därav placerades R1från spänningskällan till mikrofonen för att förhindra kortslutning. R1valdes

för att den gav ett bra värde då 5 V var kopplat till kretsen, detta istället för att ha en potentiometer. Från mikrofonen till LM386-N kopplades även en avkopp-lingskondensator C1för att reducera brus enligt figur 3.7. Eftersom mikrofonen

bara klarar av att hantera de viktigaste frekvenserna, se 2.1.2, och att det inte bara är mänskligt tal som kan vara användbart för att detektera om något var när-varande i rummet så valdes det att inte använda ett linjärt filter för att reducera valda frekvenser.

Då mikrofonen testades mot en högtalare uppkom mycket bakgrundsbrus. För att reducera detta placerades två avkopplingskondensatorer, C4 och C5 mellan

jord och spänningskälla, se figur 3.7. Detta för att reducera brus skapat av resten av kretsen på spänningkällan samt jorden. Detta skapar ett så kallatbypass filter

som reducerar brus vid en vald och dess kringliggande frekvenser. De två olika kondensatorerna valdes på grund av att två olika kondensatorer ger ett större spektrum av brusdämpning.

Figur 3.7:Kopplingsschema av amplifikationskretsen för elektretmikrofo-nen.

(43)

3.1 Förstudie 23

Utsignal

Utsignalen kommer i form av en analog signal från förstärkarkopplingen, detta tas upp i mikrokontrollerns ena analoga port. Där uppmäts signalstyrkan och man kan på så vis uppmäta när det är tyst respektive om det är hög ljudnivå.

Felsökning

Mikrofonkretsen gav under testningen mycket konstiga värden vars ursprung fel-söktes efter länge. Ibland blev allt precis som det var menat att vara, men ibland uppkom det konstiga värden från kretsen.

Flera försök med att reda ut problemet ledde till slut till att problemet lokalise-rades. Störningar från andra komponenter, främst ESP8266 som kräver upp till 215 mA under tiden som den skickar data trådlöst. Detta resulterar i tillfälliga spänningsfall som går att mäta i hela kretsen. Dessa störningar är väldigt små men eftersom förstärkningen är en faktor 200 så blev även väldigt små störning-ar stora. Genom att flytta kretsen bort från andra kablstörning-ar, framför allt matning, så reducerades problemet. För att helt eliminera problemet krävdes en ny strömkäl-la, som kopplades in separat till mikrofonkretsen.

3.1.4

Gassensor HS-135

Gassensorn drivs av 5 ± 0,1 V, samt behöver 5 V för uppvärming och den behöver värmas i 3 minuter innan den ger någorlunda tillförlitliga värden [Sencera]. Den har även en uppvärmingstid på 24 timmar vid första användning. Gassensorn klarar av att detektera alkohol, CO2, isobutan, rök och SO2. I detta fall valdes

den för sitt pris samt att den klarade av att detektera CO2. Den klarar enligt

databladet av att detektera 0,3 till 20 % CO2 i luften, detta motsvarar att 3000

ppm är den lägsta nivån som går att mäta. Eftersom lägre halter har uppmätts i arbetet antas det att det istället ska stå att sensorn klarar av att mäta 0,3 till 20 h CO2. Gassensorn är linjär i sin detektering av CO2, dock är den inte linjär i sin

detektering av övriga gaser.

Figur 3.8:En bild av den aktuella koldioxidsensorn.

Databladet till denna sensor är inte välutvecklat vilket har lett till en del estima-tioner. För att beräkna halten CO2 utgicks det från en graf i databladet och det

(44)

24 3 Metod

estimerades att kurvan för CO2var linjär.

Att tänka på här är att den exakta koldioxidhalten är inte så viktig i samman-hanget då det egentligen är förändringar i halten som vill upptäckas. Formel 3.4 är kalibrerad för att ge ettppm-värde på 350 ppm i utomhusluft.

ppm = VRL0, 33

66 · 10−6 + 0, 175 (3.4)

Figur 3.9:Kopplingsschema av inkopplingen för gassensorn.

H motsvarar i figur 3.9 uppvärmingen av gassensorn, som tidigare påtalat

behö-ver sensorn värmas upp till en konstant temperatur för önskad funktion. A och

B är pinnar på sensorn som hade gett samma funktion om om man kopplade

omvänt. Alltså B till 5V samt A till utgången.

3.1.5

Fuktsensor SMTHS07

Fuktsensorn är silikonbaserad teknologi på en glasplatta och ger en variabel ka-pacitans beroende på luftfuktigheten. Värdet kan variera mellan 0 och 100 %. Där 0 % är torr luft och 100 % är då luften ger kondens. Den relativa fuktighe-ten är bara giltig under vissa temperaturer samt lufttryck. Kapacitansen varierar från 300 till 360 pF, ± 20 pF beroende på kalibrering [Smartec].

Med hjälp av formel 3.5 från databladet beräknas den relativa fuktigheten.

Cc= Cs+ S · (Xr h55) ⇔ Xr h=

(CcCs)

S + 55 (3.5)

Cc= Uppmätt kapacitans [pF]

Cs= Kapacitansen vid 55 % relativ fuktighet [pF]

Xrh= Uppmätt relativ fuktighet [%]

(45)

3.1 Förstudie 25

Figur 3.10:En bild av den aktuella fuktsensorn.

Uppkoppling

Känsligheten hos denna sensor är väldigt hög med en skillnad på endast 0.6 pF/%RH. Det är ytterst svårt att läsa av en så liten skillnad i kapacitans med en Arduino, flera olika metoder har testats där resultatet har varit varierande. En användbar metod för att mäta ett okänt kapacitansvärde är med hjälp av for-meln

τ = R · C ⇔ C = τ

R (3.6)

τ = Tiden för att ladda kondensatorn till 63.2 % av skillnaden mellan start- och

slutvärdet [s]

R = Resistans i kretsen [Ω]

C = Kapacitans av kondensatorn som ska mätas [F]

Större kondensatorer tar längre tid att ladda och har därmed en större tidskon-stant τ.

Första metoden som testades var att ladda kondensatorn genom ett stort känt motstånd och sedan ladda ur den genom ett annat känt mindre motstånd. Tiden mättes men resultatet var inte i närheten av så noggrant det var tvunget att vara för att kunna detektera så små förändringar i kapacitansen.

Den metoden som slutligen användes var förmodligen den enklaste av dem som testats. Den grundar sig på samma princip men istället för att ladda kondensa-torn genom ett motstånd så kopplas kondensakondensa-torn in direkt mellan två analoga portar. Denna mätning var mest precis och visade sig kunna ge relativt tillförlit-liga värden.

Stabilitet

Precis som med de andra sensorerna har också denna sensor ett ganska ojämnt resultat. Kondensatorvärdena går upp och ner relativt mycket men i en längre tidsperiod så ger den ett tillförlitligt resultat som kan användas till att mäta för-ändringar i den relativa fuktigheten. Att tänka på är också att sensorn är

(46)

specifi-26 3 Metod

cerad för en linjäritet på ±2 %.

Genom att åter igen använda ett Kalmanfilter kan det slutgiltiga resultatet från sensorn göras väldigt stabilt och användbart, se tabell 3.2.

[%RH] Medelvärde Standardavvikelse Varians Utan filter 55,82027701 0,560322259 0,313961034 Kalmanfilter 55,84915663 0,008627626 7,44359 · 10−5 Tabell 3.2:De olika resultaten som gavs från fuktsensorn före och efter im-plementationen av ett Kalmanfilter.

Mätningen är gjord inomhus och den relativa fuktigheten är uppmätt till ~56 %. Som synes är variansen ytterst liten med Kalmanfiltret. Detta ger en bra grund att använda då säkerheten att fuktigheten har gått upp ifall Kalmanvärdet har gått upp är mycket större än om det ofiltrerade värdet hade gått upp. Avvikelser kan antas vara faktiska förändringar.

3.1.6

Fotoresistor

I uppkopplingen av fotoresitorn, L1, går det att se i figur 3.12 att den är

inkopp-lad i en del av en spänningsdelare. Där sensorn ses som ett resistivt varierbart motstånd som leder till att utspänningen varieras i spänningsdelningen med R1.

Denna skillnad mäts på en analog ingång på Arduinon och resulterar sedan i en ljusnivå mellan 0 och 100 %.

Figur 3.11:En bild av den aktuella fotoresistorn.

Sensorn finns med i uppkopplingen för att kunna detektera nivån av solljus i ett rum. Detta för att kunna säkerställa att temperaturen inte har förändrats för att solen skiner på sensorn, utan att förändringen sker för att förhoppningsvis människor är i rummet.

(47)

3.1 Förstudie 27

Figur 3.12:Kopplingsschema av spänningsdelaren för fotoresistorn.

3.1.7

WiFi ESP8266

Figur 3.13:Överblick av ESP8266 och dess portar. RX =Receive, kopplas till Arduinons TX (digital pin 1)

TX =Transmit, kopplas till Arduinons RX (digital pin 0)

VC C = Inspänning, läs mer i avsnitt Spänningsregulator LM350T på sidan 28

GPIO 0 och GPIO 2 = Används inte

RESET = Vid låg insignal återställs modulen CH_PD =Chip power down, aktivt låg

GND = Jord

För att få strömförsörjning till ESP8266 uppkopplades först en spänningsdelare, dock så fungerade inte detta då ESP8266 fungerar som ett varierbart motstånd och det blir spänningsfall. Lösningen var att ESP8266 uppkopplades mot spän-ningsregulator LM350T för att få konstant 3,3 V spänningsmatning, se 3.1.8. Problemet med ESP8266 är att den drar mellan 135 till 215 mA för att skicka via

(48)

spännings-28 3 Metod

fall. ESP8266 var då uppkopplad mot en extern spänningskälla på 1200 mA. Då ESP8266 startade upp fungerade den bara ett fåtal gånger med den övriga kret-sen och annars skickadefatal error via serieportarna till Arduinon. Lösningen till

detta problemet blev att den behövde matas från både Arduinons 3,3 V port, samt spänningsregulatorn för att inte få spänningsfall.

För att koppla upp ESP8266 mot det internaWiFi-nätverket behövde den först

uppkopplas mot Arduinon som kan kommunicera via RX- och TX-portarna med ESP8266. Om Arduinon är uppkopplad mot en dator går det även att skriva via den seriella monitorn och manuellt mata in kommandon mot ESP8266 med en standardinställning avbaudrate (bitar/sekund) på 115200. Följande kommandon

tillWiFi-modulen används i det aktuella fallet.

• AT + CI P MU X = ? används för att välja antalet uppkopplingar.

• AT + CW MODE = ? används för att välja kommunikationsform. Där 1 är router, 2 är applikation (mottagare) , och 3 är båda två.

• AT + CI OBAU D = ? används för att välja en baudrate på 115200. ESP8266 har stöd för ett antal olika hastigheter; 9600, 19200, 38400, 74880, 115200, 230400, 460800 och 921600.

• AT + CW LAP ger en lista över nätverk inom räckvidden.

• AT + CW J AP = 00SSI D00,00P ASS00användes för att ansluta till ett av nät-verken. Det valda nätverket sparas mellan uppkopplingarna på ESP8266.

SSI D är namnet på nätverket och P ASS är lösenordet till detsamma.

Då ESP8266 med kommandot AT + RST inte gav en adekvat omstart krävdes det att CH_PD-pinnen användes, vilket skapade en hårdvaruomstart. Hur de res-terande kommandona för ESP8266 användes går att finna i flödesschemat A.2 i appendix.

3.1.8

Spänningsregulator LM350T

En spänningsregulator stabiliserar och reglerar en inspänning så att utspänning-en blir konstant samtidigt som dutspänning-en minskar brus. I detta fall reglerar dutspänning-en ner inspänningen på 5 V till en utspänning på 3,3 V.

En krets kan ses som ett varierbart motstånd, om en vanlig spänningsdelning skulle använts så skulle kretsens motstånd ses som en parallellkoppling i spän-ningsdelningen. Det skulle göra beräkningarna annorlunda och resultatet fun-gerar inte. Det är den stora anledningen till att en spänningsregulator behövs istället för en simpel spänningsdelning.

(49)

3.1 Förstudie 29

Figur 3.14:Kopplingsschema av inkopplingen för spänningsregulatorn.

Där C2rekommenderas att vara mellan 1 µF och 100 µF [Semiconductor, 1998].

Därav valdes en tillgänglig 10 µF kondensator, detta för att ge en bättre utim-pedans samtidigt som transienter försvinner.

Tanken med att använda ett varierbart motstånd är som så att det är förhållan-det mellan R1 och R2 som bestämmer utspänningen. Efter lite experimentering

valdes R1till 100Ω och R2till 187Ω. Det resulterade i en utspänning på 3,32 V

vilket ansågs vara rimligt för ändamålet.

I N kopplas till en extern spänningsmatning på 5 V, U T kopplas till ESP8266s VDD.

3.1.9

Räknare

För att kunna jämföra det data som samlades in behövdes en parameter för det faktiska antalet personer i rummet. Till detta ändamål konstruerades en räknare genom att placera två tryckknappar på ytterligare en kopplingsplatta som kopp-lades till Arduinon. När en person gick in i rummet tryckte den ner inpassage-knappen S1och när någon gick ut fick den trycka på utpassageknappen S2,

tryck-knapparna är aktivt höga. Den designade kretsen återfinns i figur 3.15. Antalet personer jämfördes sedan med alla de olika sensorerna i systemet, vilket vidare-utvecklas under avsnittet Testning (3.2.1) på sidan 34.

(50)

30 3 Metod

Figur 3.15:Kopplingsschema av inkopplingen för räknaren av antalet per-soner i rummet.

När en knapp för in-/utpassagen trycktes ner blev det ett så kallatinterrupt,

av-brott, i beräkningarna av sensorvärdena och passagen registrerades. Sensorerna fortsatte sedan att beräknas som vanligt för att sedan återgå till att presentera data i Arduinomiljöns egna monitor. D1 och D2 används i uppkopplingen för

att inte sammankoppla tryckknapparna till avbrottet, oavsett vilken knapp som trycks ner ska ett avbrott genereras. Mjukvaran tillgodosåg att endast ett knapp-tryck och en knapp kunde registreras åt gången.

L1 är en grön lysdiod som visar för användaren att en inpassage har blivit

regi-strerad och L2är en röd lysdiod som visar att en utpassage har blivit registrerad.

Problem

Under implementationen av räknaren upptäcktes ett problem med att räknaren triggade flera gånger på samma knapptryck. Problemet uppstod när tryckknap-parna skulle registreras med hjälp av ett avbrott. Efter mycket felsökningar och omkodningar där det ansågs omöjligt att ett tryck skulle generera flera registre-ringar upptäcktes till slut problemet.

Avbrottet triggade på positiv flank som på grund av kontaktstudsar kunde gene-rera flera avbrott av samma signal. Detta löstes genom att sätta en 470 pF stor kondensator, C1mellan avbrottssignalen och jord. Efter det var tryckknapparna

(51)

3.1 Förstudie 31

3.1.10

Server

För att kunna presentera det data som sensorerna har samlat in behövs en kanal att sprida informationen i. Då minnet i Arduinon är begränsat till 32 kB flash och 1 kBEEPROM så används en molnbaserad lagring för möjligheten att spara mer

data.

Att hitta en molnbaserad lagring som är anpassad för önskemålen påbörjades och Thingspeak upptäcktes. Det är en sida som kan ta emot data via en så kallad API-key och en IP-adress.

Thingspeak tillåter användaren att skapa en egen kanal som har en specifik API-key dit informationen kan spridas. IP-adressen är densamma för alla som

använ-der tjänsten men kanalen är personlig. Upp till 8 fält kan användas i kanalen och dessa fält kan användas till att visa sensorvärden på, fälten illustreras av de tre graferna i figur 3.16 på sidan 31. I varje fält kan man visa till exempel en graf, och om man valt det alternativet bildas automatiskt en graf med hjälp av inkommande sensorvärden

Figur 3.16:Beskrivande bild över uppkopplingen från sensordata till åt-komst av data via valfri plattform med tillgång till Internet.

Fördelen med att använda molnbaserad lagring är att en större mängd värden kan lagras och informationen finns kvar även om ett problem uppstår i hårdva-ran. Upp till 8000 sensorvärden kan sedan extraheras från Thingspeak för att utföra vidare behandling av data på en dator.

För att visa kanalen får varje användare en egen adress. Här visas graferna men inte på ett fullt ut tillfredställande sätt. I detta projekt är meningen att presentera mer än bara sensorvärdena, bland annat ska sannolikheten för detektering också visas. Därför skapades en hemsida via Wix, som är en molnbaserad webbutveck-lingsplattform. Med hjälp av den kan graferna från Thingspeak presenteras sam-tidigt som annan värdefull information kan få plats på samma plattform. I denna utvecklades en sida för uppvisning på en dator, och en sida anpassad för

(52)

mobi-32 3 Metod

la enheter, seexjobb.wix.com/sensor alternativt exjobb.wix.com/sensormobil om en

(53)

3.2 Implementation 33

3.2

Implementation

I denna delen presenteras olika testningar utförda under implementationen av systemet. I figur 3.17 syns ett kopplingsschema som beskriver hur de olika de-larna av projektet är kopplade. Hela systemet är inte inkluderat i detalj, för att förstå detta får de individuella kopplingsscheman som finns i metoddelen för re-spektive koppling beskådas. Fuktsensorn är den enda delen i kopplingsschemat som är komplett då den inte använder några yttre komponeneter. 3V 3, 5V samt

GN D i figur 3.17 är kopplade till en kopplingsplatta där de vidarekopplas till

respektive modul. ESP8266 använder sig av en extern strömkälla och är därav inte som de övriga komponenterna spänningssatta via Arduinon.

(54)

34 3 Metod

3.2.1

Testning

När sensorerna var kopplade till samma Arduino och på samma kopplingsplatta så började systemet testas. Det första testet utfördes på Cybercom i ett kontors-rum på cirka 25 m2. Uppkopplingen kan ses i figur 3.18.

Figur 3.18:Uppkopplingen med samtliga sensorer och kopplingsplattan för in- och utpassage.

Direkt så upptäcktes ett stort samband mellan temperaturen i rummet gentemot antalet personer som vistades i rummet. I figur 3.19 illustreras just detta, Y-axeln markerar antalet personer (som varierade mellan 1-6) samt temperaturen (som pendlade ungefär ±0,1 °C), X-axeln markerar tiden som varade i 2 timmar och 11 minuter.

Axlarna är utelämnade i grafen av flera skäl:

• Den exakta temperaturen är i detta steg inte känd och bör därmed inte presenteras som det.

• Skillnaden i temperaturen är det viktiga i sammanhanget.

• Tiden var i detta stadie inte helt synkroniserad och därav utelämnas tidsan-givelserna.

(55)

3.2 Implementation 35

Figur 3.19:Diagram över hur temperaturen bettede sig gentemot antalet per-soner i ett rum under första testningen av systemet.

Sampling

För att inte få allt för många värden att hantera så valdes det att sampla alla värden från sensorerna var 30e sekund. I figur 3.19 presenteras datat med 262 samplade värden från temperatursensorn.

(56)

36 3 Metod

3.2.2

Fortsatt testning

Men tanke på de utslag som bland annat temperatursensorn gav blev tanken att testa uppkopplingen i ett mindre rum för att få snabbare utslag. Detta test utför-des i ett rum på Cybercom på 5 m2 med stängd dörr. Rummet har ingen extra luftkonditionering.

Figur 3.20:En bild av testrummet.

Datorn har visat att även den ger inverkan på rummets temperatur. Ett försök visade att inträde av en person med dator precis som det förväntades gav ökning av temperaturen i telefonrummet. Senare på dagen testades även inträde utan dator. Datorn visade sig då öka derivatan för temperaturen jämfört med om en dator inte var med.

(57)

3.2 Implementation 37

PIR

PIR-sensorn har visat sig fungera mycket bra och ger mycket sällan felaktiga sig-naler när ingen är i rummet. Dock har den fluktuerande värden då en person är i rummet. Detta är förväntat då PIR-sensorn endast ger utslag då den uppfattar rörelse. Enda problemen som uppkommit har varit i tidig testning då sensorn har känt av solljus och att den fysiskt förflyttats. I figur 3.21 presenteras en testning av sensorn.

Figur 3.21:Testning av PIR-sensorn i ett 5 m2stort rum. X-axel = Tid [minuter]

Y-axel = Rörelsedetekteringar [st/samplingsperiod] Maxdetekteringar= 3 st/samplingsperiod

Mindetekteringar= 0 st/samplingsperiod

Blå linje = Närvaro av en person i rummet om hög Röd linje = Antalet detekteringar/samplingsperiod

Tidigt i testningen insågs potentialen med PIR-sensorn. Den gör näst intill aldrig fel och kan på ett billigt och effektivt sätt påvisa närvaro av en människa. Tanken från början var att installera denna sensor vid ingången till ett rum för att mar-kera att något händer. Sedan skulle de andra sensorerna få avgöra om en person har gått in eller ut ur rummet.

(58)

38 3 Metod

Temperatur

Figur 3.22:Testning av temperatursensorn i ett 5 m2stort rum utan dator. X-axel = Tid [minuter]

Y-axel = Temperatur [◦C] Maxtemp = 20,65◦C

Mintemp= 20,38◦C

Blå linje = Närvaro av en person i rummet om hög Röd linje = Temperatur

Detta test utfördes med endast en person i rummet utan medhavd dator. Var 15e minut är markerad på x-axeln, men också viktiga händelser:

• 0 min: Inträde i rummet av en person • 4 min: Temperaturen börjar stiga • 20 min: Utträde ur rummet av en person

• 23 min: Temperaturen når sitt toppvärde och börjar sedan sjunka • 45 min: Temperaturen har sjunkit och börjar plana ut

Mellan 0-20 min:

temp = 20,58 - 20,46 = 0,12◦C

Mellan 20-23 min:

temp = 20,65 - 20,58 = 0,07◦

(59)

3.2 Implementation 39

Figur 3.23:Testning av temperatursensorn i ett 5 m2stort rum med dator. X-axel = Tid [minuter]

Y-axel = Temperatur [◦C] Maxtemp= 20,45◦C

Mintemp= 19,87◦C

Blå linje = Närvaro av en person i rummet om hög Röd linje = Temperatur

Detta test utfördes med endast en person i rummet men den här gången med dator. Var 15e minut är markerad på x-axeln, men också viktiga händelser:

• 15 min: Inträde i rummet av en person • 21 min: Temperaturen börjar stiga • 35 min: Utträde ur rummet av en person

• 45 min: Temperaturen når sitt toppvärde och börjar sedan sjunka • 60 min: Temperaturen har sjunkit

Mellan 15-35 min:

temp= 20,27 - 19,88 = 0,39◦C Mellan 35-45 min:

temp= 20,45 - 20,27 = 0,18◦

(60)

40 3 Metod

Jämförelse temperatur

Skillnaden om en person har med sig en dator in i rummet eller inte påverkar resultatet. Därför har temperaturförändringen testats med enbart en dator utan närvaro av en person i testrummet. Testet kan ses i figur 3.24 och skillnaderna presenteras i tabell 3.3.

Figur 3.24:Testning av temperatursensorn i ett 5 m2stort rum med endast dator.

X-axel = Tid [minuter] Y-axel = Temperatur [◦

C] Maxtemp = 20,75◦C

Mintemp= 20,51◦C

Blå linje = Endast en dator i rummet om hög Röd linje = Temperatur

Mellan 23-43 min:

temp = 20,75 - 20,53 = 0,22◦C

[◦C] ∆tempntempftemptot En person utan dator 0,12 0,07 0,19 En person med dator 0,39 0,18 0,57 Endast dator 0,22 0,00 0,22

Tabell 3.3:Temperaturskillnader med, utan och endast dator i testrummet. ∆tempn= Total temperaturskillnad vid närvaro av värmekälla

tempf = Total temperaturskillnad vid frånvaro av värmekälla ∆temptot = Total temperaturskillnad på grund av värmekälla

References

Related documents

slutet att inte föreslå införande av en ersättning från allmän försäkring för de vårdsituationer som föreslås omfattas av en kortare eller tillfällig rätt

För vi är övertygade om att dessa avtal kommer att leda till att inhemsk industri slås sönder och att småbönder, som inte kan konkurrera med subventionerade

Men om europeiska politiker hade tillåtits att föra samtal med Hamas, hade de snabbt upptäckt att rörelsen inte är så homogen som den utgetts för att vara.. Det finns olika

I sin blogg Segunda Cita försvarade Silvio sin son, rapparen Silvio Liam Rodriguez och Aldo Rodriguez (som inte är släkt) i den kubanska rap-duon Los Aldeanos.. De två

Vi är inte en naturlig del av deras miljö, detta kunde innebära att respondenterna kände sig osäker när de besvarade frågan och de kan därför ha påverkas av vår närvaro.

“A fundamental reshaping of finance”: The CEO of $7 trillion BlackRock says climate change will be the focal point of the firm's investing strategy. Business insider, 14

Partnerskap i teknikskiftet mot fossilfria, elektrifierade processer inom gruvdrift och metaller.

 under vredet finns ventilens spindel (4k-7 eller 4k-9mm) - på toppen finns det ett spår som visar kulans läge; spåret längs är ventilen öppen, spåret tvärs är