• No results found

Energieffektivisering för trådlöst mätande av rotationshastighet

N/A
N/A
Protected

Academic year: 2022

Share "Energieffektivisering för trådlöst mätande av rotationshastighet"

Copied!
54
0
0

Loading.... (view fulltext now)

Full text

(1)

Energieffektivisering för trådlöst mätande av rotationshastighet

Stefan Graholski

Dokumenttyp – kursnamn/inriktning från kursplanen Huvudområde: Elektroteknik

Högskolepoäng: 300 hp Termin/år: VT/2020

Handledare: Sebastian Bader, sebastian.bader@miun.se Examinator: Jan Lundgren, Jan.Lundgren@miun.se Kurskod/registreringsnummer: ET107G

Utbildningsprogram:Civilingenjör i Elektroteknik

(2)

Sammanfattning

Energieffektiviteten har gjort stora framsteg inom dagens teknologier för att bidra till en bättre miljö och allt mer hållbart energisystem. Inom detta arbete läggs störst fokus på att energieffektivisera ett inbyggt sensorsystem som används för att trådlöst mäta rotationshastigheter. Det övergripande syftet för arbetet är att se om implementeringen av SparkFun RedBoard Artemis kortet tillsammans med Bosch BMI 270 gyrosensorn skulle kunna vara ett energieffektivt system till avseendet av gyroskopsensorn Bosch BMG-250 och utvecklingskortet Rigado BMD-350 som användes inom ett tidigare arbete. I rapporten användes en metod för att mäta fram den ström samt energikonsumtion som förekommer när utvecklingskortet och gyrosensorn arbetar. Inom denna metod undersöktes det även om det förekom någon skillnad på utvecklingskortets ström samt energiförbrukning när den kompletta konstruktionen kommunicerar med antingen I2C eller SPI kommunikation. Ytterligare en metod som utfördes inom detta arbete var för att se hur mycket ström som konsumeras när en varierande mängd data utnyttjar Bluetooth modulens buffert. Resultaten från arbetet visade att SparkFun RedBoard Artemis kortet tillsammans med Bosch BMI 270 gyrosensorn konsumerade mer energi jämfört med det resultat som framfördes inom det tidigare arbetet. Det visade sig även att systemets strömkonsumtion blev detsamma oavsett hur mycket data som utnyttjade Bluetooth modulens buffert.

Arbetets slutsats besvaras med att SparkFun RedBoard Artemis kortet tillsammans med Bosch BMI-270 MEMS gyroskopsensorn inte skulle tänka sig vara ett mer energieffektivt system jämfört med de enheterna som användes inom det tidigare arbetet.

Nyckelord: SparkFun RedBoard Artemis, Bosch BMI 270 MEMS gyrosensor, Rigado BMD-350, Bosch BMG-250, I2C, SPI.

(3)

Abstract

Energy efficiency has made great progress in today’s technologies to contribute to a better environment and increasingly sustainable energy system. In this work will the biggest focus be to make the rotational speed sensor more energy efficient.

The overall purpose in this work is to see if the implementation of the SparkFun RedBoard Artemis card together with the Bosch BMI 270 gyro sensor could be an energy efficient system to respect of the Bosch BMG-250 gyroscope and the Rigado BMD-350 development board that has been used in a previous work. In the report was a method used to measure the current and energy consumption that occurred when the development board and gyroscope sensor was working. In this method did also a analyze went for to see if a difference occurred at current and energy consumption of the development card when the complete system was communicating with eighter I2C or SPI communication. Another method that has performed in this work, was to see how much current that has been consumed when a varying amount data that have used the buffer of the Bluetooth module.

The result from this work showed that the SparkFun RedBoard Artemis development card together with the Bosch BMI-270 gyroscope sensor did consume considerably more energy compared to the result that was expressed in the previous work. Also did the result show that the current consumption was the same regardless to how much data that was used in the Bluetooth modules buffer.

The work concluded that the development card SparkFun RedBoard Artemis together with the Bosch BMI-270 MEMS gyroscope sensor would not be imagine to be an energy efficient system regardless to the units that was used in the previous work.

Keywords: SparkFun RedBoard Artemis, Bosch BMI 270 MEMS gyrosensor, Rigado BMD-350, Bosch BMG-250, I2C, SPI.

(4)

Förord

Jag vill främst tacka min handledare Sebastian Bader som under arbetets gång gav mig tips och vägledning för att lösa olika problem som förekom inom detta arbete. Även vill jag visa tacksamhet för min familj och vänner som stöttade mig under arbetets gång.

(5)

Terminologi

Akronymer/Förkortningar

MEMS BLE GAP GATT

Micro-Electro-Mechanical-System Bluetooth Low Energy

Generic Access Profile Generic Attribute Profile I2C

SPI UART MOSI MISO SDA SCL/SCK SS

CS

Inter-Integrated Circuit Serial Peripheral Interface

Universal Asynchronous Receiver/Transmitter Master Output/ Slave Input

Master Input/Slave Output Serial Data

Serial Clock Slave Select Chip Select

(6)

Sammanfattning iii

Abstract iv

Förord v

Terminologi vi

1. Inledning 1

1.1 Bakgrund och problemmotivering 2

1.2 Övergripande syfte 2

1.3 Avgränsningar 2

1.4 Konkreta och verifierbara mål 3

1.5 Rapportens Disposition 3

2. Teori / Bakgrundsmaterial 4

2.1 MEMS gyroskopsensor 4

2.2 Utvecklingskort 5

2.3 Bluetooth modul 6

2.4 UART 7

2.5 I2C 8

2.6 SPI 8

3. Konstruktion och implementation 10

3.1 Urval av enheter 10

3.2 Utförande och val av utvecklingsmiljö 11

3.2.1 Kommunikationen med MEMS gyrosensor 11

3.2.2 Implementering av Bluetooth modulen 14

3.3 Utseendet av den kompletta konstruktionen 16

4. Metod 19

4.1 Utrustning 19

4.2 Mätningar 19

4.2.1 Mätningar av det arbetande utvecklingskortet 19 4.2.2 Mätningar från utnyttjandet av Bluetooth modulens buffert 21

5. Resultat 22

5.1 Resultat från det arbetande utvecklingskortet 22 5.2 Resultat från utnyttjandet av Bluetooth modulens buffert 25

6. Diskussion 27

7. Slutsats 29

7.1 Etiska och sociala aspekter 29

7.2 Framtida studier 29

Källförteckning 30

Bilaga A: 33

Bilaga B: 36

Bilaga C: 39

Bilaga D: 44

(7)

1 Inledning

I dagsläget har effektiviseringen av olika sorters teknologier gjort stora framsteg för samhällets utveckling. Ännu idag är forskarna allt mer insatta att ytterligare effektivisera och förbättra dagens teknologier, där störst fokus läggs på att göra maskinerna allt mer energieffektiva. Energieffektiviteten anses vara en viktig faktor enligt naturvårdsverket [1]. Detta är något som organisationen strävar efter då det bidrar till en bättre miljö och ett allt mer hållbart energisystem. En av de viktigaste teknologierna i dagens industrier som strävat med att minska energi- konsumtionen görs med hjälp av de inbyggda systemen.

Ett inbyggt system är en kombination av mjukvara och hårdvara system som är menad till att utföra en specifik funktion. Det inbyggda systemet har implemen- terats inom många diverse områden i dagens samhälle, exempel på detta kan vara mobiltelefoner, tvättmaskiner, larmsystem i hemmet, fordon och det används även inom dagens flygindustrier [2] [3]. De inbyggda systemen fortsätter att göra flera framsteg, där de utvecklas allt mer och införskaffas inom mer komplicerade sensorsystem. Oavsett hur avancerade dessa sensor systemen blir i framtiden, bör energikonsumtionen för systemet alltid prioriteras högt.

(8)

1.1 Bakgrund och problemmotivering

Under det senaste årtiondet har de tekniska framstegen ökat explosionsartat. Där bland annat har sensor och kommunikationssystemen blivit allt bättre med nyare innovativa lösningar. På grund av detta har dagens industrier blivit allt smartare och har inga likheter alls jämfört med hur de var uppbyggda för 10 år sedan.

Dagens industrier och fabriker har blivit effektivare och mer miljövänliga på grund av de moderna tillämpningarna.

Ett av de mest förekommande problemen som uppstår i industrier är att kunna digitalisera de analoga mätinstrumenten. Detta kan till exempel vara mätning av vattennivåer, hastighet på maskiner, olika tryck och även hastigheten för rotat- ioner.

Undersökningen byggs vidare och grundar sig från en tidigare forskning gjord i Mitt Universitetet 2019 [4] av doktoranden Ye Xu. Arbetet fokuserade på att kon- struera en prototyp med ett framåttänkande koncept inom dagens inbyggda sy- stem. Konstruktionen var riktad till att komma fram med en robust, låg kostnad rotations hastighetsmätare som även var trådlös. Tanken bakom tekniken är att med hjälp av en Bosch BMG-250 MEMS gyroskopsensor som är sammankopp- lad med en Rigado BMD-350 utvecklingskort via SPI-kommunikationen, ska det kunna mäta upp varierande hastigheter som förekommer när ett föremål utsätts för rotation. Vidare använder sig tekniken av Bluetooth för att trådlöst kunna transportera informationen till en Bluetooth mottagande enheter.

Doktoranden demonstrerade även systemets energieffektivitet genom att visa sy- stemets ström och energiförbrukning när den arbetar inom olika tillstånd, se figur 13 och 14. Vidare inom forskningen förklarades det att möjlighet finns med att energieffektivisera ström samt energikonsumtionen som förekom inom detta ar- bete. Detta tar fram problemet över hur man ska göra systemet mer energieffek- tivt till avseende från det tidigare arbetet.

Av denna orsak har det valts att ta reda på om olika sorters tekniker och enheter kan medföra till att den trådlösa rotationshastighetsmätaren kan bidra till att bli ett mer energieffektivt system.

1.2 Övergripande syfte

Det övergripande syftet med projektet är att se om användningen av SparkFun RedBoard Artemis kortet tillsammans BMI 270 MEMS gyroskopsensor, skulle kunna tänka sig vara ett energieffektivt koncept för att trådlöst mäta varierande rotationshastigheter till avseende av Rigado BMD-350 utvecklingskort och Bosch BMG-250 MEMS gyroskopsensor som användes inom tidigare forskning

1.3 Avgränsningar

Studien är avgränsad till att försöka förminska energikonsumtionen för den tråd- lösa rotationsmätaren. Ett av de största fokusområden inom arbetets utförande är

(9)

variationerna mellan kommunikationsprotokollen SPI och I2C. Dessa kommuni- kationstyper används i sammanhang med att koppla ihop SparkFun RedBoard Artemis utvecklings kortet och MEMS gyrosensorn.

Ett annat fokus som arbetet kommer att rikta sig inom, är jämförelsen för utnytt- jandet av Bluetooth modulens buffert. Detta eftersom att enligt teorin så bör Blu- etooth modulen vara mer energieffektiv när hela buffen utnyttjas [5].

Med dessa två fokusområden inom arbetet, kommer det ha en väldigt stor inver- kan med energieffektiviseringen av detta inbyggda system.

1.4 Konkreta och verifierbara mål

Undersökningen i rapporten har som mål att kunna besvara följande frågor:

● Kommer SPI och I2C kommunikationen mellan utvecklings kortet och sensorn verkligen att fungera? Om ja, vilken av dessa kommunikations- typer rekommenderas att använda?

● På vilket sätt påverkar Bluetooth modulen systemets strömförbrukning?

● Bidrar utnyttjandet av hela Bluetooth modulens buffert till ett mer ener- gieffektivt system?

1.5 Rapportens Disposition

Rapporten är uppdelad med en teoretisk bakgrund som beskriver funktionaliteten bakom MEMS gyrosensorn, utvecklingskort och Bluetooth enheter. Vidare inom den teoretiska bakgrunden tar det därefter upp hur de olika kommunikations alternativen UART, I2C och SPI fungerar. Där specificeras även de positiva aspekt som kommunikations alternativen för fram.

Senare i rapporten beskrivs den konstruktion som utgjordes i arbetet samt vad huvudfunktionerna var för de enheter som användes. Därefter förklaras metoden som utfördes för att mäta ström samt energiförbrukningen i den kompletta konstruktionen. Mätningarna presenteras sedan inom resultatet. Rapporten avslutas efteråt med en diskussion och slutsats utifrån det resultat som tagits fram inom arbetet.

(10)

2 Teori

För att få en förståelse över arbetet, är det ytterst viktigt att förstå teorin bakom det. Inom detta kapitel kommer det att diskuteras över hur en MEMS gyroskopsensor, utveckling kort och Bluetooth moduler fungerar. Diverse kommunikation alternativ (UART, I2C och SPI) som används inom detta arbete kommer även tas upp. Dessutom kommer en noggrann undersökning över likheterna samt olikheterna mellan dessa alternativ.

2.1 MEMS gyroskopsensor

Micro-Electro-Mechanical-System (MEMS) gyroskopsensor är en komponent som detekterar över hur mycket rotation som sker inom dess tredimensionella axlar (X, Y och Z- axeln), se figur 1. Funktionen till detta fenomen uppkommer utifrån att sensorn får varierande kapacitansvärden när den utsätt för Corioliseffekten som upptäcktes av den franske vetenskapsmannen Gaspard- Gustave Coriolis [6] [7]. Denna effekt fungerar genom att när en massa färdas inom en specifik hastighet och blir utsatt av en vinkelrät rotationsrörelse verkar då en kraft på massan som är både vinkelrätt från rotationsrörelsen och hastigheten.

Figur 1. Visar de riktningarna som MEMS gyrosensorn mäter rotationer [7].

MEMS gyroskopet sensorn är utformad på ett speciellt sätt, se figur 2. Det som sker i gyrosensorn är att när den får i sig en spänning, orsakas en konstant oscillation på komponentens massa. Denna oscillation motsvarar hastigheten som orsakas på gyrosensorn. Eftersom att oscillationen sker inom en specifik riktning och sensorn är utformad på ett unikt sätt, innebär det att kapacitansen inte kommer att varieras till avseende av massans konstanta oscillation. Utan istället när MEMS gyrosensorn utsätts för rotation som är vinkelrät från massans

(11)

hastighet, kommer en kraft att verka på massan. Utifrån Corioliseffekten kommer kraftens riktning att vara vinkelrätt för både vart rotationen orsakades och åt vilket håll massan oscillerande. Genom att denna rörelse avviker sig från riktningen av den konstant oscillerande massan normala tillstånd, kommer kapacitansen i sensorn att varieras. Med hjälp av att kunna mäta upp variationen av kapacitansen som sker inom en viss tidsenhet, går det att ta reda på hur starkt rotationen verkar på sensorn. Styrkan är beskriven i degree per second (dps).

Figur 2. Utseendet och funktionen i en MEMS gyrosensor [7].

2.2 Utvecklingskort

Ett utvecklingskort är ett kretskort som huvudsakligen har en inbyggd mikroprocessor och andra elektriska komponenter inom sig [8]. Det unika med utvecklings kortet, är att det går att programmera den på det sätt som man vill att den ska bete sig. Utvecklings kortet programmeras med programkoden genom att använda sig av en utvecklingsmiljö som till exempel Arduino IDE eller Visual Studio.

Ett av de typiska utvecklings korten som existerar på marknaden idag är Arduino korten (Arduino Uno, Arduino Nano och Arduino Mega). Men inom detta projekt kommer det att fokuseras mest på användningen av SparkFun RedBoard Artemis kortet [9], se figur 3. Detta eftersom att denna utvecklingskort klassas som ett av de mest strömsnåla korten som existerat inom dagens marknad.

(12)

Figur 3. Illustrera utseendet för “SparkFun RedBoard Artemis” [9].

2.3 Bluetooth modul

Bluetooth modulen är en elektronisk enhet som använder sig av är ett trådlöst kommunikationssystem (Bluetooth) för att få kontakt med olika enheter.

Funktionen bakom detta trådlösa system, är att Bluetooth modulen kommunicerar med radiovågor vars deras frekvens befinner sig mellan intervallet 2,400 - 2,483 GHz [10]. Kommunikationen sker med hjälp av två antenner som är inbyggda i modulen. Den ena antennen är till för att ta emot radiovågorna, medan den andra är för att skicka de. Informationerna som skickas samt tas emot kan ha möjligheten att bevara inom ett temporärt minne som kallas för en buffert [11] [12]. Den positiva aspekten med en buffert är att modulen inte ständigt behöver vara aktiv för sändandet eller mottagandet av data.

Bluetooth modulen kan inte fungera helt på egen hand, utan den måste kopplas tillsammans med ett utvecklingskort. Den kommunikationen som modulen har tillsammans med utvecklings kortet kan vara antingen Serial Peripheral Interface (SPI) eller Inter-Integrated Circuit (I2C). Men det mest förekommande kommunikationssystemet är Universal Asynchronous Receiver/Transmitter (UART).

En av de viktigaste aspekterna angående Bluetooth systemet, är att den har en otrolig liten energikonsumtion. Enligt hemsidan Solunobc förklarar det att teknologin har en effekt mellan 0,001–0.5 W [13]. Inom dagsläget har det kommit fram nyare modellen av Bluetooth system som stödjer Bluetooth Low Energy (BLE) [14]. Denna nya version är betydligt mer energisnåla till skillnad från de tidigare Bluetooth modulerna. Man kan titta på till exempel (t.ex.) “SparkFun Artemis modul” som stödjer denna typ av Bluetooth version. I den tekniska specifikationen för denna Bluetooth modulen beskrivs det att effekten befinner sig vid så lite som 5 mW [15], vilket är en otrolig stor skillnad till avseende av

(13)

de tidigare Bluetooth modulerna. Orsaken till detta låga energiförbrukningen är att BLE modulerna använder sig av en teknik där en mindre mängd data transporteras inom en kortare räckvidd, till avseende av den resterande Bluetooth varianten [16]. Detta medverkar i och med att BLE modulerna kommer vanligtvis ha hälften så låg energiförbrukning till avseende av den vanliga Bluetooth varianterna.

Bluetooth Low Enery modulerna använder sig av två stycken system för att den ska kunna kopplas samman samt transportera data till andra BLE enheter. Det första systemet är Generic Access Profile (GAP) som möjliggör hur en sammankoppling mellan 2 eller flera enheter ska genomföras. Det finns två styckena roller som förekommer inom GAP [17]. Den första heter ”Broadcasting”, som fungerar genom att det finns en ”Broadcaster” som används för att ständigt skicka data. När datan har skickats används då en ”Observer” enhet, som tar emot den data som ”Broadcaster” har skickat. Det positiva med denna GAP roll är att det inte behöver förekomma någon anslutning mellan Broadcaster och Observer. Den andra rollen som existerar inom GAP, kallas för ”Connecting”. Det som sker inom denna roll är att det existerar en ”Peripheral” enhet som säger till en ”Central” enhet att den existerar. Därefter när Central-enheten vill skapa en förbindelse med denna Peripheral-enheten, skickar den då ett paket som ger informationen med att den vill skapa en förbindelse. Det positiva med denna GAP roll är att alla Peripheral- enheter har en låg strömförbrukning, men är begränsad till att ha en förbindelse med bara en enhet.

Det andra systemet som Bluetooth Low Energy enheterna använder sig av heter Generic Attribute Profile (GATT). Detta system är menad att avgöra hur data ska transporteras. För att GATT ska kunna transportera data använder den sig av en server/klient konceptet [17] [18]. Vad det gör är att GATT specificerar en av de sammankopplade BLE enheterna till att vara en klient, medans den andra enheten motsvara servern. Det arbetet som klienten har är att skicka en begäran till serverenheten. Serverenheten kommer då att lyssna och genomföra den begäran som klienten har skickat. När begärandet har genomförts skickar då servern tillbaks ett meddelande till klienten som informerar att denna begäran har genomförts. Om man tittar på Bluetooth enheterna specificeras servern med att vara Periperal-enheten från GAP, medans klienten motsvara då att vara Central- enheten.

2.4 UART

Universal Asynchronous Receiver/Transmitter (UART) är en kommunikationsmetod som används för att två enheter ska kunna kommunicera mellan varandra. UART är en fysisk enhet som existerar inom en mikrokontroll och använder sig av två kopplingar för att utgöra en förbindelse mellan två enheter [19]. Den ena pinnen kallas för “Transmit-pin” och är markerad med symbolen ”Tx”. Funktionen bakom denna pin är att den sänder iväg data till den mottagande enheten. Den andra pinnen kallas för “Receive-pin” och är markerad som ”Rx”. Denna pin är menad för att ta emot det inkommande data från den kommunicerande enheten. Om två enheter ska kommunicera med varandra via UART, måste den ena enhetens Tx-pin kopplas samman med den andra enhetens

(14)

Rx-pin, och vice versa. UART använder sig av asynkron kommunikation, det innebär att enheter som kommunicerar med hjälp av UART inte använder sig utav en klocka för att synkronisera den data som ska transporteras, utan UART- kommunikationen deklarera istället en bit i början och slutet av det data som ska skickas. Detta eftersom bitarna indikerar när kommunikationen ska börja samt sluta. Dessa bitar benämns som start-bit och stopp-bit. UART-kommunikation kräver även att frekvensområdet ska deklareras innan enheterna kommunicerar mellan varandra. Detta kallas för baudhastighet och är uttryckt i bit per sekund (bps).

2.5 I2C

Inter-Integrated Circuit (I2C) är ett kommunikationsprotokoll som gör det möjligt för många elektriska enheter att kunna kommunicera mellan varandra.

Denna systemet använder sig av master/slave modellen [20], där ett utvecklingskort är designad med att vara en master-enhet och har i uppdrag att starta kommunikationen med de sammankopplande slav-enheterna. Sensorer är de vanligaste typerna av slave-enheter som används inom denna typ av kommunikation.

I2C-protokollet använder sig av två kopplingar för att få en sluten kommunikation mellan de olika enheterna [21]. Den ena kabeln kopplas till I2Cs klock-pin, som har namnet Serial Clock (SCL). Denna pin är till för att både master- och slave-enheten ska dela på samma klocksignal, detta för att dataöverföringen ska ske synkroniserat. Den andra kabeln är kopplad till I2Cs data pin, som är benämnt som Serial Data (SDA). Denna pin är till för att transportera all möjlig data som förs mellan master- och slav-enheterna.

I2C modellen gör det möjligt att flera slav-enheter kan kommunicera med en eller flera master-enheter. Det vill säga att en master-enhet kan kopplas samman med flera slav-enheter och kommunicera med dessa på samma gång. Orsaken till detta är att master-enheten måste inom I2C protokollet först skriva inom vilken enhetsadress som den vill kontakta, och därefter skicka data till den enheten som den har lyckats få kontakt med. Enhetsadressen är den adressen som identifierar en specifik slavenhet, denna adress kommer oftast i en längd på 7 eller 10 bittar (med en ytterligare bit som motsvara om master-enheten ska läsa eller skriva från den).

2.6 SPI

Ett av de mest förekommande kommunikationssystemen som används för att snabbt kunna kommunicera mellan mikrokontroller och andra elektroniska utrustningar (som t.ex sensorer), är Serial Peripheral Interface (SPI). SPI är ett kommunikationsalternativ som möjliggör att master och slave-enheter kan transportera data mellan varandra.

Kopplingen för SPI kommunikationen sker med användningen av fyra kablar [22]. Den ena kabeln kopplas till SPI:s klock-pin, som indikeras med symbolen

“SCK (Serial Clock)”. Precis som det andra kommunikationsprotokollen I2C, använder sig SPI av en klocksignal för att dataöverföringen ska vara synkroniserad mellan master och slav-enheterna. Kommunikationen använder

(15)

sig av två parallella kopplingar för transporteringen av data. Den ena kopplingen heter Master Output/Slave Input (MOSI) och används för att master-enheten ska skicka information till slav-enheten. Den andra kopplingen är istället namngiven som Master Input/Slave Output (MISO) och används istället när master-enheten ska läsa data från en slav-enheten.

SPI kommunikationen har även möjligheten med att en master-enhet kan kommunicera med flera slave-enheter. Men till skillnad från I2C-protokollet, behöver SPI inte identifiera adressen till den slav-enheten som en kommunikation ska utföras emellan. Istället använder den sig av en specifik pin med namnet Slave Select (SC) eller Chip Select (CS) [23]. Funktionen bakom denna pin är att den varierar mellan en hög/låg spänningsnivå, för att identifiera när master-enheten vill skapa en kommunikation med slave-enheten. Om SS/CS- pinnen befinner sig vid en låg spänningsnivå, innebär det att en kommunikation kommer att ske mellan slav och master-enheten. Annars om spänningsnivån är högt, innebär det att ingen kommunikation kommer att uppkomma mellan dessa två enheter.

SPI-protokollet är ett av de snabbare kommunikationsprotokollen, när det gäller kommunikation mellan en mikrokontroll och andra seriella enheter. Det är eftersom att den klarar av att kommunicera med otroligt höga datahastigheter.

Enligt hemsidan “Curciut Basics” anses det att den maximala datahastigheten befinna sig vid 10 Mbps [22].

(16)

3 Konstruktion och Implementation

Framställningen av projektets arbete gjordes med användningen av tre stycken enheter. Två utvecklingskort med inbyggda bluetooth moduler och en MEMS gyrosensor. Dessa enheter kopplas tillsammans och bildar en trådlös rotations hastighetsmätare. Denna mätaren kommer att användas vidare inom arbetets forskning, för att verkligen ta reda på om systemet är energieffektiv.

3.1 Urval av enheter

Urvalet av MEMS gyrosensorn blev modellen “Bosch BMI270 [24]”. Denna sensorn bidrar till att ha en väldigt stor noggrannhet inom mätningarna, samt har möjlighet med att kommunicera via både SPI och I2C protokollen. Men en av de viktigaste huvudfunktionerna som BMI270 sensorn medför, är att den har en strömförbrukning som befinner sig ungefär vid 685 μA. Inom databladet är det specificerad som en ultralång strömförbrukare.

Valet av utvecklings kortet blev SparkFun RedBoard Artemis [9].

Komponenterna som befinner sig inom utvecklings kortet, är bland annat ett flashminne som har en storlek på 1 MB och ett 384 kB stort RAM minne.

SparkFun RedBoard Artemis har även 24 stycken inbyggda General purpose input/output (GPIO) pins, varav 7 styckena används för att antingen kommunicera via UART, SPI eller I2C. Alla GPIO pins arbetar med en maximal spänning som befinner sig vid 3.3 V. Utvecklings kortet är kompatibel med utvecklingsmiljön Arduino IDE. Den har en USB-C kontakt som används för att kommunicera med utvecklingsmiljön samt att få den drivspänning som kortet behöver för att fungera. Kortet har även en strömförsörjnings pin, vilket kan användas för att driva andra enheter som maximalt behöver 5V för att fungera.

Utifrån alla komponenter och funktioner som SparkFun RedBoard Artemis använder, har den även möjligheten att arbeta med låga strömkonsumtion. I tekniska beskrivningen förklaras det att strömkonsumtionen är lägre en 1mA när kortet väl arbetar.

Urvalet av bluetooth enheten blev “Sparkfun Artemis Module [25]”. Enheten har en inbyggd Cortex-M4F processor tillsammans med en Ambiq Micro Apollo3 chip. Modulen har även en inbyggd Bluetooth radioantenn som arbetar inom ett frekvensområde på 2,4 GHz och använder Bluetooth Low Energy v.5.0 som trådlöst kommunikationsprotokoll. För trådad kommunikation med andra enheter, har modulen möjligheten att använda sig av antingen I2C, SPI eller UART kommunikationen. Inom teknikspecifikationerna angående SparkFun Artemis Module, beskrivs denna enhet att ha en otrolig låg strömkonsumtion. Det förklaras att om modulen inte använder sig av internet eller Bluetooth antennen, kommer strömkonsumtionen att befinna sig vid ungefär 6μA/MHz, där processorns maximala arbetsfrekvensen befinner sig vid 96 MHz [26]. Inom detta arbete är SparkFun Artemis Module internt inbyggd i SparkFun RedBoard Artemis kortet och har då funktionaliteten som dess processor.

(17)

Den Bluetooth mottagandet enheten som används i detta arbete för att trådlöst ta emot den information som sänds från SparkFun Artemis Modulen, kommer vara utvecklingskortet ”SparkFun Edge Development Board - Apollo3 Blue [27]”.

Denna utvecklingskortet använder sig av Cortex-M4F processor tillsammans med Ambiq Micro Apollo3 Blue chip och har en inbyggd Bluetooth antenn som även använder Bluetooth Low Energy. Med hjälp av SparkFun Edge som en Bluetooth-mottagande enhet, möjliggörs det då att SparkFun RedBoard Artemis trådlöst kan transportera de rotationshastigheter som mäts fram från MEMS gyroskopsensorn.

3.2 Utförandet och val av utvecklingsmiljö

Arbetet använder utvecklingsmiljön Arduino IDE för att skriva koden som ska användas för att programmera utvecklings kortet SparkFun RedBoard Artemis.

Denna utvecklingsmiljön är en av de lättaste varianterna för att skriva program- koder. Den möjliggör även att kodningen blir betydligt lättare när bibliotek an- vänds. Inom denna kod användes bland annat “Wire.h” och “SPI.h” biblioteken för att göra det möjligt för utvecklings kortet att kommunicera via I2C och SPI - protokollen. Arduino IDE har även en otroligt enkel metod för att direkt kompi- lera programmeringskoden till mikrokontrollerna. För denna metod behövs det bara att specificera vilket utvecklingskort som används och från vilken Commu- nication port (COM) i datorn som koden ska sändas iväg. Därefter är det bara ett tryck på kompilerings knappen och hela koden skickas färdig komprimerat till utveckling kortet. Arduino IDE har även en ”Seriell Monitor” som illustrerar de informationerna som utvecklingskorten skickat till datorn med hjälp av UART kommunikation. Inom detta arbete används Seriell monitor för att läsa av inform- ation som SparkFun Edge Development Board - Apollo3 Blue har läst av när den trådlöst kommunicerar med SparkFun RedBoard Artemis.

3.2.1 Kommunikation med MEMS gyrosensor

Kommunikationen med Bosch BMI 270 MEMS gyrosensor kan ske med hjälp av två olika kommunikationsprotokoll. Den ena av dess kommunikationsproto- kollen är I2C. Som tidigare nämnt i teoridelen är I2C ett effektivt kommunikat- ionsalternativ när det gäller för en master-enhet att koppla samman med flera stycken slav-enheter. Men om man ska titta på hastigheten, anses det inte vara den snabbaste kommunikation alternativet. För detta arbete tittas det noggrant om I2C kommunikationen skulle kunna klassas att vara ett strömsnålt kommuni- kationsalternativ.

(18)

Figur 4. På vilket sätt utvecklings kortet Sparkfun Redboard Artemis är kopplad med Bosch BMI 270 MEMS gyrosensor för att få en I2C kommunikation.

(19)

För att sammankoppla MEMS gyrosensorn med utvecklings kortet, användes det totalt 7 stycken kopplingar. Två av dessa kopplingar används för att driva gyrosensorer med en drivspänning på 3,3V. Medans två andra kopplingar används för att föra samman sensorn och utveckling kortets seriella klocka (SCL) samt seriella data (SDA). Men för att gyrosensorer skulle kunna kommunicera med andra enheter via I2C kommunikationen, var det specificerad i databladet att Chip Select pinnen (CS) måste tillföras med en 3,3V spänning.

För I2C kommunikationen, har Bosch BMI 270 MEMS gyron sensorn två olika enhetsadresser. Adressen varierar beroende på om sensorns seriella data output (SDO) pin har en hög eller låg spänningsnivå. Om pinnens spänningsnivå befinner sig på 3,3V, innebär det att gyrosensorn har det hexadecimala värdet

“0x69”. Men inom detta arbetet är SDO pinnen kopplad till en 0V spänning, vilket innebär att enhets adressen för sensorn kommer att motsvara det hexadecimala värdet “0x68”.

Efter att utvecklings kort och MEMS gyrosensorn har sammankopplats, laddas därefter en programkod upp till utveckling kortet [28]. Funktionen bakom koden är att systemet ska ge ut information till avseende av den rotations styrkan som påverkas på gyrosensors y-axel.

Den andra kommunikationsprotokollet som gjorde det möjligt för utvecklings kortet att kommunicera med Bosch BMI 270 MEMS gyrosensorn, var SPI. Inom teoridelen beskrivs SPI som ett av de snabbare kommunikationssystemen. Men precis som I2C kommunikationen, kommer arbetet att fokusera på att jämföra vilka av dessa kommunikations alternativen som visas vara det mest energieffektiva.

Figur 5. På vilket sätt utvecklings kortet Sparkfun Redboard Artemis är kopplad med Bosch BMI 270 MEMS gyrosensor för att få en SPI kommunikationen.

(20)

Sammankopplingen mellan utveckling kortet och gyrosensorn utfördes med hjälp av 7 stycken kopplingar. Exakt som med I2C, används två av dessa kopplingar för att driva sensorn med en drivspänning på 3,3V. Tre andra kopplingar användes därefter för att föra samman sensorns och utveckling kortets seriella klocka (SCK) samt dataöverförings portar (MISO och MOSI).

För att SPI protokollet skulle kunna deklarera en kommunikation mellan dessa två enheter, måste då gyroskopsensorns Chip select pin (CS) kopplas tillsammans med en av utveckling kortets GPIO pins. Den GPIO pin som valdes inom detta arbete, var pin nummer 10.

Efter att kopplingen mellan SparkFun RedBoard Artemis kortet och gyrosensorn blev klar, överfördes därefter en programkod som gjorde det möjligt för enheterna att kommunicera via SPI [29]. Funktionen bakom koden är precis som i I2C koden, vilket är att systemet ger ut information till hänsyn av den rotations styrkan som påverkar sensorns y-axel.

3.2.2 Implementering av Bluetooth modul

Den huvudsakliga användningen av bluetooth modulen inom detta arbete är att se hur mycket systemet förbrukar ström när data ska trådlöst transporteras. Även vill man se om utnyttjande av modulens buffert kommer att bidra med att syste- met blir mer energieffektivare. För att ta reda på detta, användes SparkFun Arte- mis modulens Bluetooth antenn som är inbyggd inom utvecklingskortet Spark- Fun RedBoard Artemis. Som tidigare nämnt använder modulen sig av det senaste versionen av Bluetooth som kallas för Bluetooth Low Energy (BLE), vilket anses vara mest energieffektiva Bluetooth varianten som finns inom dagens marknad.

För att Bluetooth modulen ska koppla samman med en annan Bluetoothmotta- gande enhet, används ”Connecting” rollen inom ”Generic Access Profile” (GAP).

SparkFun RedBoard Artemis kommer då att motsvara ”Peripheral” som är menad att överföra data när ”Central” enheten begär detta. SparkFun Edge Development Board - Apollo3 Blue kommer att motsvara ”Central” enheten i denna trådlösa kommunikationen, där kommer den ta initiativ med att kommunicera med ”Pe- ripheral” enheten SparkFun RedBoard Artemis. För en noggrannare illustration över de enheter som används för den trådlösa Bluetooth kommunikationen, se figur 6.

(21)

Figur 6.Hur SparkFun RedBoard Artemis kortet är trådlöst kopplad med SparkFun Edge Deve- lopment Board - Apollo3 Blue.

I Figur 6 visas det hur utvecklingskortens Bluetooth antenner ser ut och förytli- gar vilken enhet som motsvara ”Central” samt ”Peripheral” när de trådlöst kom- municerar mellan varandra.

För att tillämpa den trådlösa Bluetooth kopplingen som ska uppkomma mellan utvecklingskorten SparkFun RedBoard Artemis och SparkFun Edge Develop- ment Board - Apollo3 Blue, laddades följande programkod upp för att möjlig- göra detta[28] [29] [30].

(22)

3.3 Utseendet av den kompletta konstruktionen

När SparkFun RedBoard Artemis kortet har kopplat samman med MEMS gyrosensorn och kan trådlöst via Bluetooth kommunicerar med SparkFun Edge Development Board, motsvaras det då den trådlösa rotationsmätarens kompletta konstruktionen. Kopplingen för den trådlösa rotations mätaren illustreras enligt följande figur.

Figur 7. Illustration kopplingen över den kompletta trådlösa rotations mätaren, där utvecklings kortet är kopplad med gyrosensorn via I2C.

Observera att inom det här arbete existerar det två typer av kompletta konstruktioner för den trådlösa rotation mätaren. Den först konstruktions typen visas på Figur 7, där kopplingen mellan gyrosensorn och utveckling kortet är enligt I2C kommunikationen. Man kan även se på Figur 7 vilken roll utvecklingskorten har när de trådlöst kommunicerar via Bluetooth. Den andra alternativet av arbetets kompletta konstruktion är nästan identiskt med den föregående. Men det som skiljer dem åt är att i den andra konstruktionen är gyrosensor och SparkFun RedBoard Artemis utvecklings kortet sammankopplad enligt SPI kommunikationen.

Inom den nedanstående figuren illustreras den fysiska kopplingarna för båda alternativen av arbetets kompletta konstruktion för den trådlösa rotations mätaren:

(23)

Figur 8. Kopplingen för den kompletta konstruktionen, där utvecklings kortet och MEMS gyrosensorer kommunicerar via I2C kommunikationen.

Figur 9. Kopplingen för den kompletta konstruktionen, där utvecklings kortet och MEMS gyrosensorer kommunicerar via SPI kommunikationen.

I figur 8 och 9 visar det hur den fysiska formen ser ut för arbetets kompletta konstruktion. På den övre sidan av bilden är det den gyrosensorn som används för att kopplas samman med utvecklings kortet, medans på den nedre delen syns då SparkFun Edge Development Board - Apollo3 Blue som används för att möjliggöra en trådlös kommunikation.

(24)

Tidigare i kapitlet förklarades det att applikationen Arduino IDE användes för att avläsa information i SparkFun Edge Development Board - Apollo3 Blue som skickades från SparkFun RedBoard Artemis kortet. I den nedanstående figuren illustreras gränssnittet på detta program:

Figur 10. Gränssnittet av Seriall monitor från programmet Arduino IDE.

Inom figur 10 ser man att det finns två valmöjligheter, den första är till för att Bluetooth enheterna ska kopplas samman med varandra, medans den andra är till för att begära från SparkFun RedBoard Artemis kortet de rotationshastighetsvärden som har mäts av MEMS gyrosensorn.

(25)

4 Metod

Inom detta kapitel kommer det att beskrivas vilka utrustningar och metodalterna- tiv som användes för att mäta strömkonsumtionen på den kompletta trådlösa ro- tations mätaren. Vidare kommer det att tas upp vad för mätningar som utgjordes inom detta arbete.

4.1 Utrustning

Det behövdes användning av en specifik utrustning och programvara för detta arbete. Den utrustningen som användes för att mäta ström och energiförbruk- ningen, var instrument Otii [31]. Instrumentet har flera funktioner inbyggt i sig, precis som en multimeter har Otii möjligheten att mät upp spänning och ström.

Men det speciella med denna instrumentet är att samtidigt som den försörjer ström till andra kretsar, har den även möjlighet att illustrera hur mycket av den strömmen som försörjs. Illustrationen visas upp på en dator i form av en ström och tidsgraf.

För mätningen används även Otiis egna programvara, som heter “Otii Software”.

Denna programvara möjliggör att Otii instrumentet fungerar, samt visar upp den grafen som tidigare beskrevs.

Ytterligare en utrustning som användes inom arbetet var en oscilloskopet UNI-T UTD2102CEX [32]. Vilket är ett mätinstrument som används för att mäta hur den elektriska spänningen varierar till avseende av tiden.

4.2 Mätningar

Mätningarna som utfördes inom detta arbete är fördelade i två styckena delom- råden. Den första mätningen i avsnitt 4.2.1 undersöker den ström och energikon- sumtion som förekommer från SparkFun RedBoard Artemis kortet, när den väl arbetar med att samla in mätvärden från MEMS gyrosensorn och sedan trådlöst transportera det. Inom det andra delområdet se avsnitt 4.2.2 beskriver det istället mätningarna som utfördes på utvecklingskort, där man försöker utnyttja Blue- tooth modulens buffert. I båda delområdena kommer det även att titta om en skill- nad inom ström och energikonsumtion uppkommer när man varierar kommuni- kationsalternativen I2C och SPI.

4.2.1 Mätningar av det arbetande utvecklingskortet

För att kunna mäta fram strömförbrukningen som förekommer inom SparkFun RedBoard Artemis kortet, kopplades denna utvecklingskort samman med Otii in- strumentet. Detta gjordes genom att löda samman två stycken pins inom de med- följande hålen på ”MEAS” symbolen samt skära koppar bron som finns under samma symbol på utvecklings kortet, se figur 11.

(26)

Figur 11. Illustrerar Otii instrumentet sammankoppling med SparkFun RedBoard Artemis ut- vecklingskortet.

I Figur 11 visas det på vilket sätt kablarna från Otii instrumentet kopplades sam- man med SparkFun RedBoard Artemis kortet. Där den röda kabeln har kopplats till kortets generella inspännings port (V), och den svarta kabeln har blivit anslu- ten med kortets generella jord (GND).

Mätningarna genomfördes för båda kommunikationsalternativen I2C och SPI, där instrumentet Otii användes för att driva utvecklingskortet med en 3,3 V spän- ning. De uppmätta mätvärdena för ström och energiförbrukningen som förekom på SparkFun RedBoard Artemis kortet, var då uppdelad inom tre mätområden:

• När MEMS gyrosensorn initieras.

• När MEMS gyrosensorn mäter upp rotationshastigheter.

• När SparkFun RedBoard Artemis trådlöst transporterar mätvärdena från MEMS gyrosensorn till en Bluetooth mottagande enhet.

Inom arbetet togs det även reda på tidsperioden som förekom inom varje mätom- råde. Detta genomfördes med att använda ett oscilloskop som mäter de tidsläng- der det tar för att pin nummer 7,8 och 9 i SparkFun RedBoard Artemis kortet ska övergå från sitt höga till låga spänningsvärde. Det är eftersom att i programkoden anges det att dessa pins ska ha ett högt spänningsvärde när mätområdet väl ge- nomförs, och har en 0 V spänning när mätområdet väl är klart [28] [29]. Pin num- mer 7 representerar den tidslängd det tar för att MEMS gyrosensorn att initieras, pin nummer 8 visar tidsintervallet för när gyrosensorn mäter rotationshastighet- erna, och pin 9 motsvara den tiden det tog för att trådlöst transportera informat- ionen.

(27)

Den uppmäta mätdata från mjukvaran Otii Software och oscilloskopet samlas då in för att antecknades och implementerades inom ett Excel dokument, se tabell 1 och 2.

4.2.2 Mätning från utnyttjandet av Bluetooth modulens buffert

I och med att kablarna från Otii instrumentet blev ihopkopplade till utveckling kortet enligt 4.2.1, kunde även mätningar för utnyttjandet av Bluetooth modulens buffert att genomföras. För dessa mätningar gjordes det en noggrann undersökning över hur SparkFun RedBoard Artemis kortet förbrukade ström när en varierande mängd data utnyttjar Bluetooth moduls buffert.

Mätningarna för dessa delområden gjordes med en ungefärligt genomförande till avseende som gjordes i avsnitt 5.2.1, där det utgick bara med att titta på mätorådet när SparkFun RedBoard Artemis trådlöst ska skicka iväg mätvärdena med hjälp av Bluetooth modulen. För dessa mätningar användes då mätinstrumentet Otii, där även en 3,3 V drivspänning tillämpades för att driva systemet. Mätdata som togs fram användes sedan för att granska samt tillämpades inom ett Excel dokument, se tabell 3.

Inom arbetet utgjordes mätningar med båda kommunikationsalternativen som förekom mellan MEMS gyrosensorn och utvecklingskortet. Man började med att undersöka när de kommunicera via I2C, och sedan övergick granskningen istället till när de kommunicerade via SPI kommunikationen.

(28)

5 Resultat

Detta kapitlet presenterar de resultaten som har framförts från arbetets genomfö- rande. Fördelningen av dessa resultat är uppdelade inom två styckena delområ- den. I det första delområdet visar de mätningar som har framtagits från den prak- tiska undersökningen av SparkFun RedBoard Artemis kortet när den samlar in data från MEMS gyrosensorn och trådlöst försöker transportera det, se avsnitt 5.1. Inom det andra delområdet presenteras det istället de resultat som har tagits fram från mätningarna när man försöker utnyttja Bluetooth modulens buffert, se avsnitt 5.2.

5.1 Resultat från det arbetande utvecklingskortet

Mätningarna för den arbetande utvecklingskortet gjordes med två olika kommu- nikationsalternativ, där utvecklings kortet och gyrosensorn blev kopplad via I2C och SPI kommunikationen. Alla individuella uppmätningar för dessa kommuni- kationsalternativ kan hittas inom bilaga A och B.

Tabell 1: Mätvärdena för SparkFun RedBoard Artemis strömförbrukning samt tidsperioderna för varje mätområde.

I2C SPI

(ms) Tid Minimum

(mA) Genom- snittlig (mA)

Maximum

(mA) Tid

(ms) Minimum

(mA) Genom- snittlig (mA)

Maximum (mA)

Sensorns

Initiering 1700 2,41 2,90 6,86 1200 2,65 2,98 7,27

Sensorns mätning av rotat- ionshas- tigheter

0,704 2,84 2,84 2,84 0,12 3,35 3,35 3,35

Sensorns utläsning och BLE överföring

1870 2,41 3,49 9,83 1870 2,74 3,99 10,10

I tabell 1 visas det att strömkonsumtionen är någorlunda lägre när enbart utvecklings kortet och gyrosensorn kommunicerar via I2C kommunikationen.

Man kan även se att den maximala strömförbrukningen inom detta system inträffar när data trådlöst ska transporteras med hjälp av Bluetooth Low Energy (BLE) överföring.

Den genomsnittliga strömförbrukningen från utvecklingskortet i tabell 1 imple- menterades i ett Excel-dokument för att ange följande graf, se figur 12.

(29)

Figur 12. Strömförbrukningen från SparkFun RedBoard Artemis utvecklingskort

I figur 12 visar det hur mycket ström som mätinstrumentet Otii var tvungen att använda för att driva utvecklings kortet SparkFun RedBoard Artemis när de olika mätområden från tabell 1 genomfördes. I denna graf ser man tydligt att ström- konsumtionen är lägre när utvecklingskortet och MEMS gyrosensorn kommuni- cera via I2C kommunikationen. Men att användningen av SPI kommunikationen bidrar till ett snabbare system.

Figur 13. Strömförbrukningen som togs reda på inom tidigare arbete [4].

I figur 13 visar resultatet för den ström som behöves att tillföras till Rigado BMD- 350 utvecklingskort som gjordes inom tidigare arbete. Denna figur är menad för att jämföra med resultatet från figur 12 som uppkom inom detta arbete. I figur 12 motsvarar ”S-init” den ström som förbrukades när Sensorn initialiserades. S- meas är då strömförbrukningen när sensorn mäter upp rotationshastigheterna och ”SPI-tx” samt ”BLE” motsvara då sensorns utläsning samt BLE överföring

(30)

av data. Inom denna graf kan man även se att Rigado BMD-350 utvecklingskor- tet kommunicerades med Bosch BMG-250 MEMS gyrosensorn via SPI kommu- nikationen.

Inom arbetet tittades det även energikonsumtionen som SparkFun RedBoard Ar- temis kortet förbrukade inom alla tre mätområden. Eftersom att Otii instrumentet anger energiförbrukningen i form av mikrowattimmar (µWh), behövdes en kon- vertering att genomföras för att omvandla värdet till mikrojoule (µJ). Denna kon- vertering genomfördes med följande formel:

1 µWh = 3600 µJ (1)

Efter att konverteringen blev klar tillämpades alla värden inom följande tabell:

Tabell 2: Mätvärdena för SparkFun RedBoard Artemis Energiförbrukning samt tidsperioderna för varje mätområde.

I2C SPI

(ms) Tid Energi

(µJ) Bidrag

(%) Tid

(ms) Energi

(µJ) Bidrag (%) Sensorns

Initiering 1700 16 308 56,54 1200 10 872 43,14

Sensorns mätning av rotat- ionshas- tigheter

0,704 6,624 0,02 0,12 1,328 0,01

Sensorns utläsning och BLE överföring

1870 12 528 43,44 1870 14 328 56,85

Totalt 3570,704 28 842,624 3070,12 25 201,328

I tabell 2 visas energikonsumtionen från SparkFun RedBoard Artemis kortet som är sammankopplad med Bosch BMI-270 gyroskopsensorn via både I2C och SPI kommunikationen. Inom denna tas det även med en bidrags kolumn, som demonstrerar hur mycket varje mätområde bidrog till deras totala energikonsumtion.

(31)

Figur 14. Energiförbrukningen som tidsperioden togs reda på inom tidigare arbete [4].

I figur 14 visar det den förbrukande energin som förekom inom det tidigare arbete med Rigado BMD-350 utvecklingskortet och Bosch BMG-250 gyroskopsensorn.

Denna figur är mest menad för att jämföra med de resultaten som har framtagits inom tabell 2. Inom denna graf kan man även se den bidragande delen som visar hur mycket varje delområde bidrog till den totala energikonsumtionen.

5.2 Resultat från utnyttjandet av Bluetooth modulens buffert

Mätningarna för den kompletta konstruktionen gjordes med två olika kommuni- kationsalternativ, där utvecklings kortet och gyrosensorn blev kopplad via I2C och SPI kommunikationen. Alla individuella uppmätningar för dessa kommuni- kationsalternativ kan man hitta i bilaga C och D.

Tabell 3: Mätvärdena för SparkFun RedBoard Artemis strömförbrukning när Blu- etooth modulens buffert utnyttjas.

I2C SPI

Byte: Minimum (mA) Genomsnittlig

(mA) Maximum

(mA) Minimum

(mA) Genomsnittlig

(mA) Maximum

(mA)

10 2,41 3,50 9,25 2,57 3,63 10,10

20 2,57 3,50 9,17 2,65 3,57 9,25

30 2,41 3,44 9,08 2,57 3,57 10,20

40 2,49 3,44 9,74 2,65 3,57 9,74

50 2,64 3,49 10,20 2,65 3,57 10,10

60 2,59 3,49 9,00 2,65 3,58 9,99

(32)

70 2,72 3,49 9,00 2,65 3,56 9,74

80 2,65 3,49 9,33 2,65 3,57 9,50

90 2,57 3,51 9,50 2,49 3,58 9,74

100 2,41 3,52 9,50 2,65 3,57 9,66

I tabell 3 visas det att strömförbrukning som förekommer på SparkFun RedBoard Artemis utvecklingskort när varierande mängd data utnyttjar Bluetooth modulens buffert. I denna tabell kan man se att strömförbrukningen inte varieras så pass mycket till avseende av hur mycket data som transporteras.

Den genomsnittliga strömförbrukningen från utvecklingskortet i tabell 3 tilläm- pades i ett Excel dokument för att ange följande graf, se figur 15.

Figur 15. Strömförbrukningen från SparkFun RedBoard Artemis utvecklingskort när Bluetooth Low Energy bufferten utnyttjas.

I figur 15 visar det den ström som konsumerades från SparkFun RedBoard Arte- mis kortet när Bluetooth Low Energy modulen transporterar en varierande mängd data från sin buffert. I denna figur visar det även om en skillnad förekommer när utvecklingskortet antingen kommunicerar med I2C eller SPI kommunikationen.

(33)

6 Diskussion

Inom denna rapport lyckades resultatet från mätningarna att besvara viktiga frågeställningar som har med effektivisering av trådlös rotationshastighets mätning. Bland annat kunde man se att inom vissa områden var strömförbrukningen från utvecklings kortet betydligt högre till avseende av det tidigare arbetet. Om man jämför med figur 12 och 13, visas det att strömförbrukningen inom detta arbete var betydligt mer när gyroskopsensorn initialiseras samt mäter rotationshastigheterna. Orsaken till detta resultat är att BMI 279 MEMS gyroskopsensorn behövde bland annat använda en 8 kilobyte (kB) fil för att den ska kunna initieras. Detta innebär att sensorn behöver då processa detta minne vilket leder till högre strömförbrukning. Det i sin tur kan det ha orsakat att strömförbrukningen ungefär var lika stort när sensorn då ska mäta upp rotationshastigheterna.

Man kunde även se att inom detta arbetet var strömförbrukningen betydligt lägre till skillnad från det tidigare arbetet när Bluetooth Low Energy (BLE) modulen användes. Förekommandet till detta är på grund av att SparkFun Artemis Module använder sig av den senaste Bluetooth versionen som bland annat är väldigt noggrann med att minimalisera strömkonsumtionen.

Kommunikationen mellan utvecklings kortet och gyrosensorn fungerar alldeles utmärkt för båda kommunikationsalternativ I2C och SPI. Den alternativet som hade en mindre strömförbrukning när enbart utvecklings kortet och gyrosensorn kommunicerade mellan varandra, var då I2C. I grafen på figur 12 och 15 såg man då att den genomsnittliga strömförbrukningen på I2C kommunikationen var betydligt lägre till avseende för när systemet kommunicerade via SPI. Orsaken för detta kan vara att gyrosensorn skickar även iväg en så kallad dummybyte när information transporteras via SPI kommunikationen. Dummy byte förklaras som en onödig information inom databladet för Bosch BMI 270 gyroskopsensorn [24].

Genom att systemet måste behandla onödiga informationer, resulterar det till att allt mer ström kommer att förbrukas. Till skillnad från SPI kommunikationen, skickar inte gyrosensorn någon som helst onödigt information när det kommuniceras via I2C protokollet. Detta leder till att I2C alternativet skulle i detta fall vara det mest rekommenderade kommunikationstypen, till avseende av att göra förbrukandet av ström så lite som möjligt på den trådlösa rotationshastighetsmätaren.

(34)

Energiförbrukningen som förekommer inom detta arbete visade väldigt stor skillnad till avseende av det som togs fram inom det tidigare arbetet. Om man tittar på tabell 2 och figur 14, kan man se att inom detta arbete befinner sig den totala energikonsumtionen på cirka 30 000 mikrojoule (µJ), medans från det tidigare arbetet så befinner sig den totala energikonsumtionen på cirka 83 µJ.

Orsaken till att systemet inom detta arbete förbrukade så pass mycket energi, är bland annat på grund av att det tog en längre tidsperiod för att sensorn ska initieras och att BLE modulen trådlöst ska överföra data. Eftersom att initieringen och trådlöst överförandet av data tog så pass lång tid, ledde det till att systemet måste förbrukar ström inom en längre tidsperiod. Detta orsakar att i sin tur kommer mer energi från systemet att förbrukas. Om man tittar igen på tabell 2 kan man även se att energikonsumtionen är lägre när systemet kommunicerar via SPI istället för I2C kommunikationen. Detta på grund av att när Bosch BMI-270 MEMS gyroskopsensorn kommunicerar med SparkFun RedBoard Artemis kortet via SPI-kommunikationen, så blir tidsperioden för initialiseringen och uppmätning av rotationshastigheterna snabbare till skillnad från när det skulle kommunicera via I2C kommunikationen. Det leder då till att denna kommunikationen kommer att ge en lägre energiförbrukning.

Ytterligare en orsak som kan medföra till att detta arbete gav så pass hög energiförbrukning till avseendet från det tidigare arbetet är att initialiseringen av sensorn utger en hög strömförbrukning. Detta leder även till att energiförbrukningen för systemet ökas.

Genom att utnyttja Bluetooth modulens buffert med varierande mäng data, kunde man se att den genomsnittliga strömförbrukningen inte varierades till avseende av hur mycket data som utnyttjades. Detta bidrar till att det mest energieffektiva alternativet med att trådlöst transportera data med hjälp av Bluetooth, är genom att utnyttja hela bufferten. Det är eftersom att mer data transporteras till avseende av samma strömkonsumtion. Orsaken till att utnyttjandet av Bluetooth modulens buffert bidrar till ett energieffektivt alternativ, är på grund av att när man inte tillägger mycket data i bufferten kommer fortfarande hela buffertminnet att trådlöst transporteras. Detta innebär då att samman strömkonsumtion kommer förekomma oavsett om hela Bluetooth modulens buffert utnyttjas eller inte.

(35)

7 Slutsats

Det övergripande syftet med detta arbete var att se om SparkFun RedBoard Ar- temis kortet tillsammans med Bosch BMI 270 MEMS gyroskopsensor skulle kunna tänka sig vara ett energieffektivt koncept, till avseende från Rigado BMD- 350 utvecklingskort och Bosch BMG-250 gyroskopsensorns som användes inom ett tidigare arbete. Den slutsatsen som man kan dra från detta arbetet är att det inte lyckades med att uppnå arbetets huvudsakligasyfte. Om man tittar strömkon- sumtionen från detta arbete, var det bara när utnyttjandet av Bluetooth Low Energy (BLE) modulen tillsammans med sin buffert som bidrog till en lägre strömkonsumtion. De resterande mätningarna visad då att både ström och ener- gikonsumtionen var betydligt högre än de resultat som var angivna inom det ti- digare arbetet. Detta besvarar då frågan av att SparkFun RedBoard Artemis kortet tillsammans med Bosch BMI-270 MEMS gyroskopsensorn inte skulle tänka sig vara ett energieffektivt system till skillnad från enheterna som användes inom det föregående arbetet.

7.1 Etiska och samhälleliga aspekter

Den etiska aspekten ställer stora krav för mätvärdens pålitlighet inom denna tråd- lösa rotationshastighetsmätaren. Genom att detta system har möjligheten att im- plementeras på kraftfulla maskiner inom dagens industrier, spelar det en ytterst stor roll att mätvärdena av rotationshastigheter verkligen är pålitliga. Om detta inte skulle vara fallet kan det orsaka till att dessa kraftfulla maskinerna kommer att arbeta utom kontroll, vilket i sin tur leder till en fara för de personer som arbetar inom dessa industrier. För att undvika att en sådan incidens ska inträffa, är det bästa möjliga alternativet att utföra en rutinkontroll för att se om mätvär- dena av den trådlösa rotationshastighetsmätaren verkligen är pålitliga.

De positiva aspekterna som den trådlösa rotationshastighetsmätaren bidrar till samhället, är att denna teknik använder sig av trådlös kommunikation. Inom da- gens samhälle har tekniken utvecklats oerhört mycket och har kommit fram i ett sådant stadie där nästan alla elektriska enheter kommunicerar trådlöst mellan varandra. Detta gör att den trådlösa rotationshastighetsmätaren är ett väldigt ny- anserat tankesätt och kan även implementeras otroligt bra inom dagens samhälle.

7.2 Framtida studier

Detta arbetet kan vidareutvecklas inom fortsatta framtida studier, där man bland annat kan testa med att använda en betydligt mer energisnål MEMS gyroskop- sensor till avseende av den som användes inom detta arbete.

En annan undersökning skulle även kunna utgöras genom att mäta upp energiför- brukningen för ett utvecklingskort som använder sig av både en intern gyrosensor och bluetooth modul. Detta skulle vara väldigt intressant att se om de interna enheterna i ett utvecklingskort verkligen skulle bidrar till energieffektivt system.

(36)

8 Källförteckning

[1] D. Henning, ”Energieffektivisering,” Naturvårdsverket, 6 11 2019.

[Online]. Available: https://www.naturvardsverket.se/Miljoarbete-i- samhallet/Miljoarbete-i-Sverige/Uppdelat-efter-

omrade/Energi/Energieffektivisering/. [Använd 16 5 2020].

[2] ”Inbyggt system,” IT-ord, 7 2 2020. [Online]. Available: https://it- ord.idg.se/ord/inbyggt-system/. [Använd 16 05 2020].

[3] ”Masterprogram i inbyggda system 2020/2021,” Uppsala universitet, [Online]. Available:

https://www.uu.se/utbildning/utbildningar/selma/program/?pKod=TIS2M.

[Använd 16 5 2020].

[4] Y. Xu, S. Bader , M. Magno, P. Mayer och B. Olemann, ”Energy- autonomous On-rotor RPM Sensor Using Variable Reluctance Energy Harvesting,” Michele Magno, Sundsvall, 2019.

[5] J. Rodriguez, R. Tafazolli och C. Verikoukis, i Mobile Multimedia Communications, Lisbon, Springer, 2010, p. 123.

[6] ”Den förunderliga corioliseffekten,” SMHI, 16 2 2015. [Online]. Available:

https://www.smhi.se/kunskapsbanken/meteorologi/den-forunderliga- corioliseffekten-1.5612. [Använd 18 5 2020].

[7] D. Nedelkovski, ”MEMS Accelerometer Gyroscope Magnetometer &

Arduino,” How To Echatronics, [Online]. Available:

https://howtomechatronics.com/how-it-works/electrical-engineering/mems- accelerometer-gyrocope-magnetometer-arduino/#comments. [Använd 18 5 2020].

[8] ”Vad är Arduino och Genuino?,” Kjell & Company, 21 7 2017. [Online].

Available: https://www.kjell.com/se/kunskap/hur-funkar-

det/arduino/introduktion/vad-ar-arduino-och-genuino. [Använd 18 5 2020].

[9] ”SparkFun RedBoard Artemis,” Sparkfun, [Online]. Available:

https://www.sparkfun.com/products/15444. [Använd 19 5 2020].

[10] W. Hoogenraad, ”Wifi och Bluetooth, vad är skillnaden?,” ITpedia, 12 7 2018. [Online]. Available: https://sv.itpedia.nl/2018/07/12/wifi-en- bluetooth-wat-is-het-verschil/. [Använd 2020 5 19].

[11] D. Patton, ”What is a Buffer in Electronics?,” azcentral, [Online].

Available: https://yourbusiness.azcentral.com/differences-between-celeron- pentium-computers-20425.html. [Använd 19 5 2020].

[12] S. Unnikrishnan, S. Surve och D. Bhoir, i Advances in Computing, Communication and Control, Mumbai, Springer, 2011, p. 428.

[13] ”Bluetooth,” Solunobc, [Online]. Available:

https://www.soluno.se/ordlista/bluetooth/. [Använd 19 5 2020].

[14] ”Vad är Bluetooth Low Energy?,” Induo, 26 11 2019. [Online]. Available:

https://www.induo.com/b/bluetooth-low-energy-ble/. [Använd 19 5 2020].

(37)

[15] ”SparkFun Artemis Module - Low Power Machine Learning BLE Cortex- M4F,” Sparkfun, [Online]. Available:

https://www.sparkfun.com/products/15484. [Använd 19 5 2020].

[16] ”Vad är Bluetooth Low Energy?,” Induo, 26 11 2019. [Online]. Available:

https://www.induo.com/b/bluetooth-low-energy-ble/. [Använd 5 7 2020].

[17] P. Through, ”How GAP and GATT Work,” PunchThrough, 24 6 2013.

[Online]. Available: https://punchthrough.com/how-gap-and-gatt-work/.

[Använd 10 7 2020].

[18] K. Townsend, ”Adafruit,” 20 3 2014. [Online]. Available:

https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gatt.

[Använd 10 7 2020].

[19] C. Basics, ”Basics of UART Communication,” Circuit Basics, [Online].

Available: https://www.circuitbasics.com/basics-uart-communication/.

[Använd 20 5 2020].

[20] A. Designer, ”Important Considerations in Your Embedded System's Master-Slave Communication Model,” Altium, 5 10 2017. [Online].

Available: https://resources.altium.com/p/important-considerations-in-your- embedded-systems-master-slave-communication-model. [Använd 20 5 2020].

[21] ”I2C,” Sparkfun, [Online]. Available:

https://learn.sparkfun.com/tutorials/i2c/all. [Använd 20 5 2020].

[22] C. Basics, ”Basics of the SPI Communication Protocol,” Circuit Basics, [Online]. Available: https://www.circuitbasics.com/basics-of-the-spi- communication-protocol/#comments. [Använd 20 5 2020].

[23] ”Serial Peripheral Interface (SPI),” Sparkfun, [Online]. Available:

https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all.

[Använd 20 5 2020].

[24] ”BMI270,” Bosch, [Online]. Available: https://www.bosch-

sensortec.com/products/motion-sensors/imus/bmi270.html. [Använd 21 5 2020].

[25] ”Artemis,” SparkFun, [Online]. Available:

https://www.sparkfun.com/artemis. [Använd 25 7 2020].

[26] ”SparkFun Artemis Module - Low Power Machine Learning BLE Cortex- M4F,” SparkFun, [Online]. Available:

https://www.sparkfun.com/products/15484. [Använd 25 7 2020].

[27] ”SparkFun Edge Development Board - Apollo3 Blue,” SparkFun, [Online].

Available: https://www.sparkfun.com/products/15170. [Använd 25 7 2020].

[28] StefanElektorteknik, ”GitHub-Examensarbete/Amdtps I2C Server/amdtps/amdtps.ino,” 1 8 2020. [Online]. Available:

https://github.com/StefanElektorteknik/Examensarbete/tree/master/ble_ardu ino/Amdtps%20I2C%20Server/amdtps. [Använd 1 8 2020].

[29] StefanElektorteknik, ”GitHub-Examensarbete/ble_arduino/Amdtps SPI Server/amdtpsspi/amdtpsspi.ino,” 1 8 2020. [Online]. Available:

https://github.com/StefanElektorteknik/Examensarbete/tree/master/ble_ardu ino/Amdtps%20%20SPI%20Server/amdtpsspi. [Använd 1 8 2020].

(38)

[30] StefanElektorteknik, ”GitHub-Examensarbete/ble_arduino/Amdtpc client/amdtpc.ino,” [Online]. Available:

https://github.com/StefanElektorteknik/Examensarbete/tree/master/ble_ardu ino/Amdtpc%20client. [Använd 1 8 2020].

[31] ”Otii by Qoitech helps developers achieve long battery life of their products,” Qoitech, [Online]. Available: https://www.qoitech.com/.

[Använd 25 5 2020].

[32] ”Oscilloscope UNI-T UTD2102CEX,” UNI-T, [Online]. Available:

https://www.uni-t.cz/en/p/oscilloscope-uni-t-utd2102cex. [Använd 17 8 2020].

[34] ”Serial Bluetooth Terminal,” Google Play, 6 2 2020. [Online]. Available:

https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetoot h_terminal&hl=sv. [Använd 21 5 2020].

[35] Sparkfun, ”GitHub - sparkfun/Arduino_Apollo3,” 23 9 2019. [Online].

Available:

https://github.com/sparkfun/Arduino_Apollo3/releases/tag/v1.0.11_ble- beta. [Använd 25 5 2020].

(39)

Bilaga A:

Visar mätningarna som togs från de tre olika områdena som förklaras i kapitel 4.2.1, där utvecklings kortet och gyrosensorer kommunicerar via I2C

kommunikationen.

Tidsperioden för initiering av Bosch BMI 270 MEMS gyrosensorn.

Tidsperioden det tar för att Bosch BMI 270 MEMS gyrosensorn mäter upp rotationshastigheter.

(40)

Tidsperioden det tar för att BLE modulen trådlöst skickar en samplad data.

.

Ström och energiförbrukning för SparkFun RedBoard Artemis utvecklingskort när Bosch BMI 270 MEMS gyrosensorn initierads.

(41)

Strömförbrukning för SparkFun RedBoard Artemis utvecklingskort när Bosch BMI 270 MEMS gyrosensorn mäter upp rotationshastigheter.

Strömförbrukning för SparkFun RedBoard Artemis utvecklingskort när sy- stemet med hjälp av BLE skickar en samplad data.

References

Related documents

Detta kan kopplas till att förskollärarna, med god kvali- tet arbetar med de strävansmål som är kopplat till teknik: att alla barn ska utveckla sin förmåga till att

Genom vårt syfte vill vi försöka ta reda på hur några förskollärare tänker kring användningen av TAKK för att främja språkutvecklingen och kommunikationen hos barn samt hur

Betydelsen av att alla känner sig som självklara medlemmar i teamet framkom samt att det finns en gemensam vårdfilosofi i vårdteamet är också viktigt för vårdteamets

– Vi var ju tillsammans med en annan skola och då var vi ganska många, vi fick ju praktiskt pröva på alla de här olika övningarna, så man kände verkligen hur det kändes, och

omfattande spridningen av dem genom sociala medier, och dessa mediers sammanblandning av privata relationer och offentliga diskurser och bilder, möjligheten att blir allt mer

Frukostmötena går till viss del emot detta resonemang genom att låta brukarna styra samtalsämnet, även om Ralf undrar om brukarna pratar för att de har någonting att säga eller

Med hänvisning till vad McDonalds (2000, s 7) respondenter säger om att de brytt sig om djur och natur redan innan de blev veganer, så verkar det rimligt att tro att

Det här verket har digitaliserats vid Göteborgs universitetsbibliotek. Alla tryckta texter är OCR-tolkade till maskinläsbar text. Det betyder att du kan söka och kopiera texten