• No results found

Lokalisering av skidor i lössnö

N/A
N/A
Protected

Academic year: 2021

Share "Lokalisering av skidor i lössnö"

Copied!
40
0
0

Loading.... (view fulltext now)

Full text

(1)

TVE 11 037 oktober

Examensarbete 15 hp

Oktober 2011

Lokalisering av skidor i lössnö

Självständigt arbete i Teknisk Fysik

(2)

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

Lokalisering av skidor i lössnö

Positioning of skis in powder snow

Fredrik Trella

This report studies the possibility of using some sort of radio sender and transmitter in order to position skis lost in powder snow. It is concluded that a RF-solution on the 433 MHz frequency should be the most efficient. Different forms of directional antennas are examined and studies show that in theory the best suited is the so called “Yagi-Uda antenna”. A solution based on using a Receive Signal Strength Indicator value together with the above mentioned directional antenna is developed. To control these different components microprocessors from Atmel is used. These are

programmed in C and compiled with Atmel’s own compiler AVR Studio.

Despite all efforts it is proven that the prototype does not perform in an adequate way. An alternative solution based on “byte-loss-rate” is then developed and the results are slightly improved. Nevertheless, the directional properties of the antenna are still too poor why other alternatives are discussed. No fully functioning prototype is achieved but good grounds for further development of the prototype into

something that fulfills the specifications are produced.

ISSN: 1401-5757, TVE 11 037 oktober Examinator: Urban Lundin

(3)

Lokalisering av skidor i lössnö

Rapport Kandidatexamensarbete

Fredrik Trella

Teknisk Fysik

Uppsala Universitet

(4)

Sammanfattning:

I denna rapport studeras möjligheten att med någon form av radiomottagare och sändare lyckas positionera skidor som har försvunnit i lössnö. Det konstateras att en RF-lösning på 433 MHzbandet torde vara den mest effektiva. Olika former av riktningskänsliga antenner undersöks och efter studier visar det sig att den bästa i teorin är den så kallade Yagi-Udaantennen. En lösning som bygger på att använda ett Recieve Signal Strength Indicator-värde tillsammans med ovanstående riktningskänsliga antenn utvecklas. För att styra dessa olika komponenter används mikroprocessorer från Atmel som programmeras i C och kompileras med Atmels egen kompilator AVR Studio.

(5)

Innehållsförteckning

1. Inledande: ... 1

1.0 Förord ... 1

1.1 Bakgrund till problemet ... 1

1.2 Funderingar kring en lösning ... 2

2. Teoribakgrund: ... 5

2.1 Inledande efterforskningar inom radiokommunikation………5

2.2 Antennteori, en snabbkurs i radiopejling ... 6

2.3 Yagi-Uda Antennen ... 8

3. Den elektroniska kretsen: ... 9

3.1 Sändar- och mottagarmoduler ... 10

3.2 Processorn ... 11 3.3 Aktiveringsmekanism ... 11 3.4 Indikation... 12 4. Mjukvaruutformning: ... 13 4.1 Serienummershantering ... 13 4.2 Pakethantering, USI/USART ... 13 5. Praktisk prototypframtagning: ... 14 5.1 Förberedelser ... 14 5.2 Programmeringen ... 15

5.3 UART kommunikationen och den nya processorn ... 16

5.4 RSSI-problemen och Byteloss-lösningen ... 18

5.6 Byggande och testande av Yagi-antennen ... 21

6. Resultat och slutsatser: ... 24

6.1 Slutgiltigt utförande ... 24

6.2 Slutsatser ... 26

6.3 Förslag på förbättringar och vidareutveckling ... 26

7. Källförteckning:... 27

7.1 Vidare läsning ... 28

Appendix A: Kod för Mottagare ... 29

Appendix B: Kod för sändare ... 31

Appendix C: Personliga reflektioner och kommentarer ... 32

Appendix D: Kretsschema för sändare... 33

(6)
(7)

1

1. Inledande:

1.0 Förord

Jag vill här bara inleda med att tacka de personer som har varit en ovärderlig hjälp i utförandet av projektet. Uwe Zimmermann, min handledare, utan vars hjälp projektet hade varit omöjligt att utföra i dess nuvarande utförande. Tack för att du trots ditt hektiska schema tog dig tid till att handleda, bolla idéer med och hjälpa mig med allehanda ting. Tack för de sena timmarna med felsökning som du valde att tillbringa med mig i labbet. Jag vill också tacka doktorand Magnus Jobs för din hjälp och vår diskussion rörande antenner. Jag riktar även ett tack till Lars Vestling som har valt att ställa upp som ämnesgranskare. Sist men inte minst vill jag tacka alla i min omgivning som har fått agera mer eller mindre frivilliga bollplank och diskussionspartners och särskilt de boende i min studentkorridor som har fått stå ut med en massa elektroniska komponenter utspridda i hela köket under en längre tid. Tack alla!

1.1 Bakgrund till problemet

Nästan alla moderna alpinskidor idag bygger på ett system där skidåkaren sitter fast med sina pjäxor i en bindning på skidan. Denna bindning har sedan en utlösningsmekanism som ställs in beroende på åkarens vikt och aggressivitet i åkningen. Syftet med denna mekanism är att vid en större krasch låta skidåkaren lämna skidorna och då undvika att man med dessa vrider sönder ett knä eller någon annan led. Som underförstått är det ofta ganska höga hastigheter inblandade och då en skida är relativt lång jämfört med en mänsklig led kommer denna att utöva ett avsevärt vridmoment vid en oönskad rörelse. När så skidorna har löst ut måste deras fortsatta framfart att stoppas så fort som möjligt, dels för att undvika att de skadar någon eller något annat och dels för att inte den kraschade skidåkaren skall behöva gå så långt för att få på dem igen. För detta används ett enkelt mekaniskt system som kallas ”ski-stoppers” vilket enklast kan beskrivas som två decimeterlånga pinnar vid sidan av bindningen som då pjäxan inte längre sitter i bindningen fälls ut och tar i marken.

De flesta skidor är utvecklade med åkning i preparerade nedfarter i åtanke. Dock har det så länge som det funnits skidåkning också funnits folk som velat åka utanför dessa preparerade pister och ut i den så kallade ”offpisten”. Denna sysselsättning blir allt vanligare och vinner allt fler hängivna åkare. Här är det helt andra förutsättningar som gör sig gällande. Underlaget kan variera från hård skare till fluffig lössnö på bara några tiotals meter, allt beroende på terräng, vindförhållanden och solexponering. Detta ställer höga krav på offpiståkaren att kunna läsa av underlaget och anpassa sin åkning och samtidigt vara beredd på plötsliga förändringar. Dock råkar även den mest vana offpistskidåkaren förr eller senare ut för en sådan krasch att den ena eller båda skidorna kommer lösa ut. Detta förhindrar allvarliga ledbrott eller andra frakturer hos skidåkaren. Dock så är de i pisten relativt effektiva ski-stopparna här med största sannolikhet helt värdelösa. Är det lössnö så tenderar skidorna oftast att bara försvinna in under snön och sedan fortsätta en bra bit tills de stannar på något

(8)

2

Det är inte bara väldigt irriterande att bli av med ett par skidor för kanske 10000 kronor. Det kan i denna typ av åkning och terräng också vara rent av livsfarligt. Vid åkning i brant eller på annat sätt avancerad terräng, möjligen långt borta från närmsta civilisation, kan det vara mycket ödesdigert att bli av med den ena eller båda skidorna. Att försöka med pjäxor ta sig ned på samma ställe där det med skidor hade varit möjligt är ofta väldigt svårt om inte livsfarligt. Det är också mycket mera ansträngande och tidsödande och riskens finns att skidåkaren då helt enkelt blir utmattad och inte orkar ta sig ner hela vägen.

1.2 Funderingar kring en lösning

Det har inte hittills funnits någon bra lösning på problemet. Den vanligaste lösningen är att man knyter fast långa snören i klara fluorescerande färger på skidorna och har dessa löst instoppade i någon ficka. När så skidorna löser ut skall man kunna se dessa snören i snön och följa dem till skidorna. Detta har dock tre uppenbara problem. Om skidorna åker iväg längre än snörena är långaså kommer de inte att hjälpa så mycket. Dessutom lär snörena följa med skidorna ner i den djupa snön och försvinna. Sedan finns också risken med att ha långa snören instoppade i fickorna att dessa trasslar in sig i någonting när man åker och då riskerar man en våldsam krasch. Att spänna fast skidorna vid åkaren är heller ingen bra idé. Om du kraschar och skidorna löser ut finns den uppenbara risken att det efteråt ser ut som att du har försökt raka dig under ett epilepsianfall.

Nu kommer sannolikt många att tänka på det så kallade ”Recco-systemet”. Detta är ett system som används på många skidorter för att kunna lokalisera skidåkare som inte har på sig

traditionella lavinsändare och har hamnat i en lavin. Recco-sändarna är väldigt små och integreras idag ofta i olika vintersportkläder. Så om man hårddrar det gör Recco precis det som vi vill att en lösning skall göra, det identifierar och lokaliserar en liten sändare som kan fästas på ett par skidor. Dock så finns det några detaljer som gör att Recco inte kommer vara en bra lösning. För det första så är det ett lavinsökarsystem och skulle en skidåkare med både en traditionell Reccosändare inbyggd i kläderna och en på varje skida råka ut för en lavin så finns risken att räddarna hittar skidorna innan de hittar skidåkaren. Systemets sökarenhet är dessutom väldigt stor och otymplig och ingenting som man vill ha med sig hela tiden när man åker. Dessutom är tekniken väldigt dyr, en sökarenhet kostar i storleksordningen flera

tiotusentals kronor.

Den möjliga lösningen borde dock ändå vara någonting som utnyttjar någon form av trådlös sändar/mottagaranordning. För att åskådliggöra exakt vad som behövde lösas utfördes en så kallad funktionsanalys[2]. Det hela åskådliggörs nedan genom huvudfunktioner (det

(9)

3 Legend; HUVUDFUNKTION, DELFUNKTIONER, Kravspecifikation med

kommentarer.

FUNGERANDE TRÅDLÖS SÖKAR/SÄNDARENHET FÖR SKIDOR{

ROBUSTHET VID FALL OCH STÖTAR:

• Klara negativa accelerationer och stötar oskyddad motsvarande ett fall från 15 meter

för sändarenheten och 3 meter för sökarenheten. Dessa siffror då det verkar rimligt att de maximala stötar som de två enheterna borde kunna uppleva vid en krasch borde ligga under dessa värden.

KYLATÅLIGHET

• Tåla kyla ner till -30 grader. Det är väldigt sällan som temperaturen vid skidåkning

kommer längre ner än till tidigare nämnda värde. Så om utrustningens elektronik och framförallt batterierna klarar av att upprätthålla en adekvat kapacitet vid denna temperatur så är kyla ingen begränsning.

FUKTIGHET I LUFT OCH SNÖ

• Tåla en hög luftfuktighet, för denna och den övre gäller IPklass IP67[1] för sändaren

och IP54 för sökaren. IP67 betyder att det skall vara klass 6 på ”Grad av skydd mot beröring och inträngande föremål” och klass 7 på ”Grad av skydd mot inträngande vatten” på sändaren. Detta har tagits fram genom studier av IPklassdefinitionerna på Svenska Provanstaltens hemsida och kan översättas till att den skall vara dammtät vid krävande prover och kunna sänkas ner i en vattenbehållare i 30 minuter utan att det skall påverka funktionen. Denna väldigt höga integritet krävs då sändarenheten skall ligga under snö av varierande typ (ibland väldigt nära eller över smältpunkten och då väldigt fuktig) under längre tid. För sökaren är det lite lättare krav, IP54, vilket kan översättas till att den skall vara dammbeständig och spolsäker för vatten. Detta borde täcka de fysiska påfrestningar som sökaren kan utsättas för.

RÄCKVIDD

• Uppfylla en räckvidd (då positionering är möjlig) vid ostörd sikt och inga större

hinder så som krön, bergskammar, stora klippartier, träd, mm av 40 meter. Denna räckvidd verkar vara rimlig att uppnå med allehanda trådlösa enheter och borde vara adekvat för att kunna lokalisera skidorna vid en krasch.

• Ej uppleva kraftigt begränsad räckvidd på grund av screening av de eftersökta

(10)

4 SPÅRNINGSBARHET

• Uppnå en precision vid sökande av enheterna inom en radie av 1,5 meter. Detta borde

möjliggöra att man sedan kan lokalisera skidorna rent fysiskt antingen genom att gräva eller med en sond.

• Ej störas av signaler från transcievers, walkie-talkies eller mobiltelefoner. Detta

skulle i teorin helt kunna slå ut signalen och då helt förstöra räckvidden varför det måste undvikas.

ÖVRIGT ANVÄNDANDE

• Erbjuda ett aktiveringssystem som ej är utsatt för stort mekaniskt slitage. Om

aktiveringssystemet skulle slås ut skulle det betyda att utrustningen är värdelös och kanske inte fungerar när man väl behöver den.

• Klara av hållbar montering av sändarenheten under 5 år på alla skidor/bindningar

inom rimliga gränser. Detta alltså att sändaren inte skall kunna lossna efter

montering inom 5 år. Skall också kunna monteras på alla någorlunda normala skidor.

• Erbjuda möjlighet att kontrollera kvarvarande batterikapacitet för både sändar- och

sökarenheter. Detta för att undvika att batteriet skulle ta slut vid åkning och utrustningen då inte fungera i en nödsituation.

• Erbjuda en batteritid på 1 timme under användning vid normala förhållanden för

sändarenheterna och 4 timmar på sökarenheten. Under avstängd/”stand by” skall sökarenheterna uppnå batteritid på 3000 timmar, sändarenheten 10000 timmar. Detta innebär att sökaren skall kunna klara sig utan nya batterier i 125 dygn och

sändarenheten i lite över ett år. Detta för att det antagligen kommer vara lättare att byta batterier på sökarenheten än sändarenheterna. Då de flesta elektroniska applikationer har en väldigt låg läckström borde detta vid användande av adekvata batterier inte vara något problem.

• Erbjuda möjlighet att använda samma sökarenhet till flera sändarenheter

STORLEK

• Inneha en storlek på maximalt 5*10*2 cm för sökarenheten och 7*2*0.8 cm för

sändarenheterna. Sökarenheten skall kunna passa i en vanlig ficka utan att vara i vägen eller vara för skrymmande. Sändarenheterna skall rymma all den elektroniken som behövs för att utföra sin uppgift men absolut inget mer och då kunna fästas säkert på en skida utan att de tar upp onödig plats.

PRIS

• Uppfylla ett pris vid serieproduktion på 100 kronor per sändarenhet och 250 kronor

för sökarenheten. Detta torde vara rimligt och skulle också möjliggöra en försäljning med vinstmarginal med ett försäljningspris på förslagsvis 1000 kronor för ett paket med en sökare och två sändare.

(11)

5

Fördelen med att använda metoden med funktionsanalys är att man verkligen får en lösning på det faktiska problemet och också får klara och tydliga tekniska specifikationer att uppfylla. Som synes är det en ganska tuff miljö som denna lösning kommer utsättas för vilket medför hårda krav. Det är därför viktigt att hålla lösningen så simpel som möjligt med så få

komponenter som kan det går. Ju färre olika komponenter som skall interagera, desto färre som kan gå sönder. Notera att dessa tekniska specifikationer inte är något slutgiltigt utan mera som riktmärken och om de visar sig som nödvändigt kan flera av dem komma att ändras.

2. Teoribakgrund:

2.1 Inledande efterforskningar inom radiokommunikation

Med tidigare i åtanke beslutades att den bästa tekniska lösningen skulle bli att använda någon form av sändare och mottagare som utnyttjar radioteknik. De andra lösningarna som

studerades för trådlös informationsöverföring var till exempel att ha en ljudsignal. Denna skulle då ha enklast möjliga funktion där man bara genom att ha en summer på skidorna få dem att ge ifrån sig ett tydligt ljud när de har löst ut. Användaren skulle sedan få gå runt och leta efter skidorna genom att försöka lyssna sig till vart de ligger. Detta har problemen att det dels kan vara väldigt svårt att försöka lyssna sig till vart någonting ligger med någon större precision. Dessutom torde snön kunna agera som en väldigt bra ljuddämpare.

Det finns även andra alternativ för trådlös överföring men det verkade som att den bästa för denna applikation skulle vara just någon form av radioöverföring. Här finns begränsningen att det bara är vissa frekvenser som är så kallade ”öppna frekvenser” och som får användas utan större restriktioner. Detta finns att studera i ”Post- och telestyrelsens föreskrifter om undantag

från tillståndsplikt för vissa radiosändare, PTSFS 2010:8”[6]. De vanligaste fria frekvenserna

är 433 MHz och 868 MHz. De senaste åren har det också blivit vanligt att använda sig av ”blåtand” tekniken för att göra överföring av information så även det bandet finns tillgängligt och ligger på runt 2.4 GHz. Vilken borde då lämpligen användas?

En fördel med blåtand vore att man då skulle kunna integrera lösningen i moderna smarta telefoner. Att inte behöva ha en dedikerad sökarenhet utan kunna använda sig av

mobiltelefonen som man förmodligen redan har med sig vore ett sätt att göra lösningen mera attraktiv för den potentielle skidåkaren. En applikation skulle då utvecklas som använder sig av mobiltelefonens blåtandmottagare och sedan med hjälp av denna kan ta emot signalen från en sändare och med en lämplig algoritm positionera sändaren. Denna lösning skulle dock förutsätta att personen redan äger en smart telefon med möjligheten att använda blåtand och köra den nödvändiga applikationen. Dessa smarta telefoner är heller inte särskilt

(12)

6 ௉ ௉೟

ൌ ܩ

ܩ

௖ ௙ସగோ

ekv 1

där ܲ är den mottagna effekten, ܲ är den utsända effekten, ܩܩ är konstanter som har med de båda antennernas effektivitet och orientering, ܿ är radiovågornas utbredningshastighet (i detta fall kan vi använda ljusets hastighet i vakuum), ݂ är frekvensen hos bärvågen och ܴ är det radiella avståndet mellan sändare och mottagare. Som synes kommer här delen av effekten som mottages att minska med ökad frekvens varför en så låg frekvens som möjligt på

bärvågen är önskvärd vid applikationer som kräver en längre räckvidd över en hög bandbredd och överföringshastighet.

Då blåtand inte var ett lämpligt alternativ återstod 433 MHz bandet eller 868 MHz bandet. Då detta projekt inte är av så omfattande natur vore det bäst att använda redan färdiga

komponenter för de mest komplicerade delarna. Efter lite eftersökningar stod 433 MHz som vinnare då detta visade sig vara en välanvänd frekvens för applikationer som innehåller enklare form av radiokommunikation och dataöverföring. Det fanns även ett flertal olika tillverkare av färdiga sändar- och mottagarkretsar som kan användas för projektet. Dessutom kommer en sändare på 433 MHz enligt ekv 1att ha en bättre räckvidd än en motsvarande på 868 MHz. Då det inte heller kommer behöva sändas någon större datamängd behövs inte någon högre frekvens. Ytterligare en fördel var att dessa moduler var väldigt prisvärda.

2.2 Antennteori, en snabbkurs i radiopejling

De första patenten inom radiopejling kom redan vid förra sekelskiftet men det skulle dröja tills andra världskriget innan de verkligen började användas. Som i så många andra fall var det militären som var först med att upptäcka att navigation både till havs, till luft och på land kunde göras mycket mera noggrant och systematiskt genom att pejla in sig på en radiosändare med känd frekvens och plats. Att pejla in sig betyder således att man genom att rikta någon form av riktningskänsligt antenn letar efter bäringen (kompassriktningen från dig till sändaren) till den sökta sändaren. Under andra världskriget användes ofta så kallade

”ringantenner”[3] (se figur 1) som har egenskapen att när de vrids så att de står vinkelrätt mot

radiovågornas utbredningshastighet så kommer signalstyrkan att ha ett minimum (praktiskt taget noll).

(13)

7

Genom att lyssna på en signal genererad i utrustningen vars ljudstyrka var linjär mot

signalstyrkan styrde radiopejloperatören antennen manuellt tills ljudet försvann eller nådde ett minimum.

Denna metod att genom avlyssning bestämma minimum visade sig vara både enklare och mera precis än att studera en så kallad ”s-meter” som också visade signalstyrkan. Denna metod hade dock ett problem. Det finns under ett 360 graders varv två stycken riktningar som svarar mot minimum i signalstyrka. Dels den önskade riktningen som pekar mot sändaren men även den motsatta alltså den önskade plus 180 grader ger ett minimum, se figur 2. Det var därför svårt att med bara en sändare veta vart man är. Antingen så behövs

förhandsinformation så att man vet om man är till exempel öst eller väst om sändaren eller så behövs flera sändare för en möjlighet att göra en så kallad triangulering. Ett annat sätt att lösa problemet var att ha en ”avkänningsantenn”. Detta var någon form av längre monopolantenn som genom att känna av vågens utbredningsriktning genom antennen kunde avgöra åt vilket håll sändaren var riktad.

Figur 2: Till vänster, representation av rätt bäring kontra 180 graders felaktig utan riktningsantenn, till höger med riktningsantenn

(14)

8

Figur 3: Genom trigonometri kan riktningen till sändaren fås som vinkeln alpha. Den totala signalstyrkan fås genom att addera de båda individuella värdena från varje antenn och sedan är alpha den enda okända

variabeln som då kan lösas ut.

2.3 Yagi-Uda Antennen

Problemet med ADF-tekniken är att den är tämligen komplicerad. Vid sökning efter ett par skidor finns det heller ingen anledning att ha en exakt kompassbäring till sändarenheten och det kommer behövas en mera komplicerad och avancerad representation på mottagarenheten för att visa denna bäring. Med tanke på projektets begränsade tidsrymd är det också klokt att hålla nere komplexiteten i lösningen så mycket som möjligt och sikta på att få en så enkel fungerande skidpejlare som möjligt. Det hade varit möjligt att få till en slags ADF-lösning med två stycken antenner som man matematiskt bestämmer riktningen ur men då det även är planerat för ett digitalt serienummerssystem så skulle detta bli mycket mera komplicerat, mer om det i avsnitt 4.1.

Med följande i åtanke beslutades att man bör satsa på en så riktningskänslig antenn som möjligt och använda denna för att kunna hitta en kritisk punkt i signalstyrkan varpå vetskapen om att skidorna befinner sig i den riktningen som antennen pekar når användaren. Vi har redan diskuterat ringantennen men denna har ett flertal nackdelar. Dels så behöver de vara väldigt stora för att utnyttja sin maximala kapacitet och dels så finns det betydligt bättre riktingskänsliga antenner. En sådan är den så kallade ”Yagi-Uda” antennen[5], se figur 4.

(15)

9

vill hålla nere komplexiteten kommer åtminstone för en första prototyp en antenn enbart bestående av de kritiska tre elementen att användas.

Figur 4: Tre elements Yagi-Uda antenn; schematisk bild och fotografi

3. Den elektroniska kretsen:

Oavsett hur enkelt man än bygger kretsen för denna tillämpning så kommer den att bestå av olika delar med olika uppgifter som sedan länkas samman. För att göra det enklare så

förklaras här alla de olika delarna separat. Ett fullständigt kretsschema över både sändare och mottagare finns i Appendix D respektive Appendix E. I figur 5 syns ett blockdiagram över hela systemet.

(16)

10 3.1 Sändar- och mottagarmoduler

Som tidigare nämndes var en av anledningarna till att just 433 MHz bandet valdes att det fanns prisvärda och lättillgängliga sändar- och mottagarmoduler att tillgå för just det bandet. Efter efterforskningar på olika större elektronikgrossisters hemsidor valdes ett par från Electro Kit. De som valdes var RX433N[12] och TX433N[13], där RX är mottagarenheten och TX är

sändarenheten, se figur 6. Då dessa två är i samma serie kan de betraktas som ett par och således är kompabiliteten mellan dem garanterad. Dessa bygger på att en signal skickas till sändarens datapin. Denna kommer sedan att moduleras av sändaren. Det betyder att sändaren kommer skicka ut en bärväg, i detta fallet på 433 MHz, som sedan kommer att vara förändrad på något sätt så att den skiljer sig från den rena sinussignalen som den annars hade skickat ut. Detta kan göras på olika sätt, man kan ändra frekvensen, fasen eller amplituden. I detta fall används ASK-modulation, Amplitude Shift Keying[7], alltså är det amplituden som förändras.

Då det är en digital signal som matas till enheten kommer den att ändra amplituden så att den blir hög (över något visst bestämt tröskelvärde) om det skall vara en etta eller låg (under något tröskelvärde) om det skall vara en nolla. När så detta är gjort skickas denna modulerade signal till antennutgången till vilken en lämplig omni-direktionell antenn är kopplad.

Figur 6: Bild av mottagare (överst) och sändare (nederst)

Det är således denna signal som skall plockas upp av mottagarenheten. Detta kommer att ske via den riktningskänsliga Yagi-Udaantennen som kopplas till mottagarens antenningång. Signalen skickas då till den inbyggda processorn som avkodar signalen och då får ut (om det inte sker någon störning av signalen under transmissionen) motsvarande ettor och nollor som den skickade signalen innehöll. Dessa skickas då till modulens datautgång. Notera att både sändar- och mottagarenheter självklart också behöver drivspänning och jordanslutningar. Mottagaren har också en RSSI[4] (Recieved Signal Strenght Indicator) utgång som ger en

(17)

3.2 Processorn

Nu behöver såklart dessa två moduler varsin processor för att styra vad det är som skall skickas ut och när. På grund av att de är väldigt vanliga och beprövade i alla tänkbara elektroniska applikationer valdes Atmels AVR

mikroprocessorer i olika storlekar och med olika prestanda. Då mottagarkretsen kommer att vara något mera avancerad valdes här en större och mera kraftful processor, Atmel AVR ATMega 88. Denna har en 8 bitars processor och 8 kb programmerbart internminne av flashtyp. Framförallt så har den hela 23 programmerbara I/O

kommer behövas någon mera komplicerad typ av programmering för att få den att utföra det den ska.

För sändaren behövdes således en inte fullt lika kraftful processor utan här prioriterad

storleken. Därför valdes Atmels AVR ATTiny45. Även denna har en 8 bitars processor men ”bara” 4 kb programmerbart flashminne. Dock är den mycket liten, 0.8 x 0.9 cm. Den har också tillräckligt många I/O pinnar för att utföra de operationer som den ska.

processorer (se figur 7) programmeras med fördel i Atmels egna kompilator för dessa processorer; AVR Studio. Ursprungligen är denna byggd för att bara klara av Assembler men med ett plugin adderas möjligheten att skriva C

jag är något familjär med C men aldrig tidigare har handskats med Assembler.

Figur 7: Pinbeskrivning av processorerna, ATMega88 t.v. och ATTiny45 t.h.

3.3 Aktiveringsmekanism

För mottagarenheten behövs som inses lätt bara en vanlig manuell switch

huvudströmbrytare. När man behöver söka efter skidorna så plockar man fram sin sökare och startar den. Med sändarenheterna är det självfallet inte så enkelt. Först används

enkelhetens skull en huvudströmbrytare för att försätta sändaren i stand

användas och för att kunna stänga av den helt när den inte skall vara i bruk. När den så är i stand-by läge och skidorna används behövs någon form av sensor

har löst ut och det är dags att börja sända. En första idé var att ha en enkel trycksensor under pjäxorna som vid nedtryckt läge gör så att s

(alltså när pjäxan inte längre finns p

antal nackdelar. Dels så kommer denna del att vara väldigt utsatt för mekaniskt slitage. Det är ganska många gånger under en skiddag som man kommer att ta av eller sätta på sig skidorna. Vid varje sådan cykel kommer då ett slitage att ske på trycksensorn. Dessutom är det väldigt vanligt att blötsnö och is fastnar på och runt bindningarna, vilket skulle kunna störa

två moduler varsin processor för att styra vad det är som skall På grund av att de är väldigt vanliga och beprövade i alla tänkbara elektroniska applikationer valdes Atmels AVR-serie. I denna serie finns ett antal

ka storlekar och med olika prestanda. Då mottagarkretsen kommer att vara något mera avancerad valdes här en större och mera kraftful processor, Atmel AVR ATMega 88. Denna har en 8 bitars processor och 8 kb programmerbart internminne av

t så har den hela 23 programmerbara I/O-pins vilket gör att det inte kommer behövas någon mera komplicerad typ av programmering för att få den att utföra det För sändaren behövdes således en inte fullt lika kraftful processor utan här prioriterad

storleken. Därför valdes Atmels AVR ATTiny45. Även denna har en 8 bitars processor men ”bara” 4 kb programmerbart flashminne. Dock är den mycket liten, 0.8 x 0.9 cm. Den har också tillräckligt många I/O pinnar för att utföra de operationer som den ska.

programmeras med fördel i Atmels egna kompilator för dessa processorer; AVR Studio. Ursprungligen är denna byggd för att bara klara av Assembler men med ett plugin adderas möjligheten att skriva C-kod. Något som för mig ä

jag är något familjär med C men aldrig tidigare har handskats med Assembler.

: Pinbeskrivning av processorerna, ATMega88 t.v. och ATTiny45 t.h.

För mottagarenheten behövs som inses lätt bara en vanlig manuell switch-mekanism som e. När man behöver söka efter skidorna så plockar man fram sin sökare och startar den. Med sändarenheterna är det självfallet inte så enkelt. Först används

en huvudströmbrytare för att försätta sändaren i stand-by läge när den skall användas och för att kunna stänga av den helt när den inte skall vara i bruk. När den så är i

by läge och skidorna används behövs någon form av sensor som känner av när skidorna har löst ut och det är dags att börja sända. En första idé var att ha en enkel trycksensor under pjäxorna som vid nedtryckt läge gör så att sändaren är avstängd och som i icke

(alltså när pjäxan inte längre finns på plats) får sändaren att börja sända. Detta har dock ett antal nackdelar. Dels så kommer denna del att vara väldigt utsatt för mekaniskt slitage. Det är ganska många gånger under en skiddag som man kommer att ta av eller sätta på sig skidorna.

ådan cykel kommer då ett slitage att ske på trycksensorn. Dessutom är det väldigt vanligt att blötsnö och is fastnar på och runt bindningarna, vilket skulle kunna störa

11

två moduler varsin processor för att styra vad det är som skall På grund av att de är väldigt vanliga och beprövade i alla tänkbara

serie. I denna serie finns ett antal

ka storlekar och med olika prestanda. Då mottagarkretsen kommer att vara något mera avancerad valdes här en större och mera kraftful processor, Atmel AVR ATMega 88. Denna har en 8 bitars processor och 8 kb programmerbart internminne av

pins vilket gör att det inte kommer behövas någon mera komplicerad typ av programmering för att få den att utföra det För sändaren behövdes således en inte fullt lika kraftful processor utan här prioriterades storleken. Därför valdes Atmels AVR ATTiny45. Även denna har en 8 bitars processor men ”bara” 4 kb programmerbart flashminne. Dock är den mycket liten, 0.8 x 0.9 cm. Den har också tillräckligt många I/O pinnar för att utföra de operationer som den ska. Dessa

programmeras med fördel i Atmels egna kompilator för dessa

processorer; AVR Studio. Ursprungligen är denna byggd för att bara klara av Assembler-kod kod. Något som för mig är önskvärt då jag är något familjär med C men aldrig tidigare har handskats med Assembler.

: Pinbeskrivning av processorerna, ATMega88 t.v. och ATTiny45 t.h.

mekanism som e. När man behöver söka efter skidorna så plockar man fram sin sökare och startar den. Med sändarenheterna är det självfallet inte så enkelt. Först används för

by läge när den skall användas och för att kunna stänga av den helt när den inte skall vara i bruk. När den så är i

som känner av när skidorna har löst ut och det är dags att börja sända. En första idé var att ha en enkel trycksensor under

ändaren är avstängd och som i icke intryckt läge å plats) får sändaren att börja sända. Detta har dock ett antal nackdelar. Dels så kommer denna del att vara väldigt utsatt för mekaniskt slitage. Det är ganska många gånger under en skiddag som man kommer att ta av eller sätta på sig skidorna.

(18)

12

funktionen hos trycksensorn. Risken finns att den skulle kunna fastna i nedtryckt läge och då inte fungera vid en utlösning.

Den alternativa lösningen som valdes var att använda sig av en sensor känslig för magnetism. Dessa finns i ett antal olika utföranden. Den enklaste är en rent mekanisk brytare med två stycken stift som ligger väldigt nära varandra. Vid närvarande av en starkare magnet kommer dessa så att föras samman och sluta kretsen eller skjutas ifrån varandra och således bryta kretsen. Brytaren finns i båda dessa varianter. Nackdelen med denna lösning är dock att det krävs ett tämligen starkt magnetfält för att de skall bryta eller sluta kretsen. Därför valdes istället att ha en så kallad halleffektsensor för att känna av magnetism. Dessa finns i en rad olika utföranden med olika känslighet och elektroniska egenskaper. Den som valdes heter ATS177[11] och används vanligtvis i borstfria likströmsmotorer. Den borde alltså vara

kalibrerad för att inte ge utslag för jordmagnetfältet.

Nu behövs då en stark magnet som kan få sensorn att ge utslag. Till detta väljs en magnet av Bor-Neodym typ vilket är några av de starkaste permanentmagneterna som finns tillgängliga idag. En sådan fäst sedan i ett spänne på pjäxan på ett strategiskt ställe i närheten av

halleffektsensorn. Processorn programmeras sedan så att när sensorn känner av magnetfältet från permanentmagneten skall den inte göra någonting. Om magneten sedan tas bort skall den gå in i sändläge. Denna lösning skall vara tillräckligt bra för att kunna garantera

tillförlitlighet.

3.4 Indikation

Nu behövs således någonting för att användaren faktiskt skall kunna spåra sändarenheten. För detta används RSSI-värdet från mottagarmodulen, mikroprocessorns inbyggda

A/D-omvandlare och en så kallad bargraph LED. När en signal mottas och processeras av mottagarmodulen så avläses också det så kallade RSSI-värdet (Recieved Signal Strength Indicator). Detta kommer vara i analog form och för att kunna användas och analyseras av mikroprocessorn behöver den interna A/D-omvandlaren användas som då gör om det till binär form. Därefter programmeras processorn att beroende på vissa strategiskt valda tröskelvärden tända olika många LED:ar på bargraphen beroende på hur stort RSSI-värdet är. Då signalen i sin tur kommer från en riktningskänslig antenn kommer detta värde att kraftigt bero av hur antennen är riktad. När den är riktad rakt mot sändaren skall den visa det högsta värdet på displayen och användaren vet då att sändaren befinner sig i antennens riktning. Men vad händer då om man får in den 180 graders vridna komponenten av signalen? Denna skall i teorin kunna undvikas om man håller mottagarenheten tätt mot kroppen och på så vis skärmar av signalen då man är vänd 180 grader från sändaren. Dessutom är Yagi-Udaantennen

utrustad med ett så kallat ”reflektorelement” som också har till uppgift att förhindra

mottagning vid riktning 180 grader från bäringen mot sändaren. Om man trots detta skulle få bäring i fel riktning märker man om man ”följer signalen” snart att signalstyrkan kommer att minska istället för att, som den borde, öka.

Kan man kanske rent av ha ett mått på hur långt bort sändaren befinner sig med denna teknik? Det var något som undersöktes i ett tidigt skede. Vi skall nu dra oss till minnes ekvation 1. Enligt denna beror den mottagna effekten dels på det radiella avståndet och vågornas utbredningshastighet i transmissionsmediet, men också två parametrar som beror av

(19)

13

Det är en helt slumpmässig process som gör att den mottagna effekten på samma avstånd kommer kunna variera stort, helt beroende på hur skidorna kommer ligga i snön. RSSI-värden är i allmänhet dåliga indikatorer på det absoluta avståndet till en sändare då många utav dessa parametrar förblir okända. För avståndsmätning med radioteknik används istället oftast en teknik som bygger på att man skickar ut en signal med en känd signatur mot en mottagare som man vill veta avståndet till. Denna mottagare tar sedan emot signalen och låter den ”studsa” tillbaks till sändaren. Denna kan då räkna ut avståndet med hjälp av kända värden på utbredningshastigheten och genom att mäta hur lång tid det tog innan signalen kom tillbaka. En sådan lösning är tyvärr alldeles för avancerad för denna applikation.

4. Mjukvaruutformning:

4.1 Serienummershantering

För att undvika att få in eventuellt brus, störningar eller andra eventuella sändare på 433 MHz så kommer en metod med serienummer att användas. Varje sändare skall ha en unik

identitetstag som den sänder ut och som då kan tas upp av mottagaren. Detta gör också att det i fallet att det skulle vara flera sändare med olika tillhörande mottagare inte blir några

störningar. Serienumret kommer att programmeras manuellt i varje enhet, i både sändare och mottagare. Sändaren skall bara vid jämna mellanrum, om magneten som finns i anslutning till skidåkaren är absent, sända ut denna serienummerssignal. Mottagaren skall söka efter denna signal och om möjligt identifiera den. Endast om signalen är identifierad och verifierad att den tillhör rätt sändare skall en indikation av signalstyrkan visas på bargraphen.

Ett möjligt annat möjligt problem vid flera sändare inom ett begränsat område är att dessa skulle kunna skapa interferens och störa varandras signaler. Detta undviks enklast genom att man programmerar en slumpgenerator som slumpar när inom ett interval en signal skall sändas ut. Det räcker om en signal sänds ut några gånger i sekunden, låt oss säga 5 gånger. Själva signalen tar inte mer än några millisekunder att sända ut. Detta gör att det finns (om vi antar att det skulle ta 2 millisekunder) 100 olika intervall som signalen kan sändas på i ett tidsfönster på 0.2 sekunder. Om det slumpas när i detta intervall som signalen skall sändas och det görs i alla sändarna minskas sannolikheten betydligt att två, eller flera signaler skulle interferera med varandra.

4.2 Pakethantering, USI/USART

Atmel har utrustat nästan alla sina mikroprocessorer med någon form av

(20)

14

När man då skall skicka information görs detta i så kallade ”paket”. Varje paket består av ett antal olika delar med olika funktion. Paketen består av olika många bitar beroende på vilket protokoll det är som används. Först kommer en eller flera startbitar som har till uppgift att ”tala om” för mottagaren att det nu kommer information. Därefter följer själva datan i form att ett antal bitar som läses av. Efter det finns det möjlighet att ha en eller flera så kallade

paritetsbitar. Denna är en kontrollbit som används för att analysera om överföringen har gått korrekt till eller om någon information har gått förlorad. Alltså huruvida paketet är intakt eller korrupt. Efter denna kommer en eller flera stopbitar som signalerar att överföringen nu är klar.

I vårt fall är det två olika protokoll som kommer att användas, men de är ändå kompatibla med varandra. I ATMega88 så används ett mera avancerat och mångsidigt protokoll som heter USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) medan i ATTiny45 så används ett lite enklare protokoll vid namn USI (Universal Serial Interface). Namnet USART antyder att kommunikationen kan ske både synkront och asynkront. Vad det betyder är att i det synkrona fallet används en gemensam oscillator för klockfrekvensen vilket gör att överföringen kan synkroniseras. I detta fallet behövs inte start och stopbitar utan överföringen kan ske kontinuerligt. Om det inte finns möjlighet att ha en gemensam klockfrekvens används så asynkron kommunikation vilket är det som är beskrivet i det tidigare stycket. USART och USI protokollet hanterar paket i storkleken 12-13 bitar. I dessa protokoll kallas paketen för ”frames” men betydelsen är den samma, se figur 8.

Figur 8: Fördelningen av bitar på stopp, data, paritet och stopp i USART och USI protokollen

Den data som överförs kommer alltså att vara en byte per paket.

5. Praktisk prototypframtagning:

5.1 Förberedelser

Inledningsvis när det hade bestämts vilka komponenter som skulle användas beställdes dessa från den internetbaserade elektronikkomponentleverantören Electro Kit. Delarna inventerades sedan så att ingenting saknades innan experimenterandet skulle börja. Det som sedan framstod som viktigast var att komma igång och lära sig programmera AVR mikroprocessorerna. Till detta används som tidigare nämnt med fördel AVRs egen kompilator, AVR Studio. Enligt rekommendation från min handledare användes version 4 då denna skulle vara den mest stabila och senare versioner skulle innehålla vissa otrevliga buggar. Men för att kunna ladda ner ett program till processorerna behövs också ett speciellt interfacekort som sköter

(21)

15

typer och storlekar av AVRs mikroprocessorer där man således placerar sin mikroprocessor. Den har även inbyggt 8 stycken LED:ar och 8 stycken manuella switchar som kan användas för att testa programfunktionaliteter direkt på kortet. Sedan behövs också

kommunikationslänken till datorn som innehåller kompilatorn och där koden skrivs. För detta används ett klassiskt seriellt com-portsgränssnitt. Då de flesta datorer idag (där ibland min bärbara som skulle användas för programmeringen) inte har reella com-portar fick en virtuell skapas. Detta genom en fysisk usb-till-com-port adapter. Till denna installeras sedan

drivrutiner på datorn som då ”lurar” datorn att det som är inkopplat på USB i själva verket är en com-port. STK 500 behöver även extern strömförsörjning på 12V DC varför en lämplig adapter letades fram. För att kunna enkelt kunna ändra och experimentera med designen och kopplingarna mellan komponenterna användes två stycken experimentplattor med lättflyttat kablage.

5.2 Programmeringen

För att få en känsla för hur syntaxen och koden var uppbyggd studerades flera exempel som hittades på internet på olika forum för AVR entusiaster (det finns en väl utvecklad community uppbyggd kring denna familj mikroprocessorer). Då den kompilatorn som jag valde att

använda (GCC för AVR Tools) byggde på användande av C-kod och då jag aldrig tidigare hade jobbat med renodlad C krävdes det en viss inkörning. Dock så har jag programmerat både i Java och i Arduino (som är ett C++ baserat språk) och det gick därför förhållandevis fort att komma igång.

AVR programmering går att göra olika komplicerad men i grund och botten bygger den på att man har en huvudfil som är av c-typ. I denna skrivs sedan en main-funktion som innehåller det som man vill att processorn skall utföra. Denna är vanligtvis indelad i två huvuddelar. Den första som ligger ”direkt i main” kan vi kalla för initialiseringsdel. Den innehåller alla de funktioner som behövs för att starta och initiera eventuella funktioner som skall användas senare i programmet. Så som AVR-programmeringen är uppbyggd skriver man här även till det så kallade ”DDR” registret som har till uppgift att tala om för processorn vilka utav de olika i/o-portarna som skall vara utgångar respektive ingångar. En etta på biten motsvarande utgång nummer noll kommer innebära att den blir en utgång medan en nolla betyder

motsatsen. Beroende på hur processorn är uppbyggd finns det olika många kluster som alla innehåller ett visst antal portar. I ATMega88 finns det totalt 4 stycken vid namn A, B, C och D. Om man då till exempel vill definiera alla portarna på kluster B som utgångar skriver man ”DDRB = 0b11111111;”, vilket då betyder att alla de 8 portarna kommer bli utgångar. ”b” i ovanstående kodrad betyder ”binary”. Man kan också skriva det hela i hexadecimal form. Det skrivs då ”DDRB=0xFF;”.

Det finns sedan motsvarande register för en rad andra funktioner. En annan väldigt viktig kodfunktion är ”PORTX” och ”PINX”. Där ”PORT” kommer att skriva ett visst värde till motsvarande pinnar på port X och ”PINX” kommer att läsa av det värdet som finns på motsvarande pinnar på port X. Som ett exempel, låt oss säga att vi vill att pinne nummer 2 skall vara hög på kluster C men alla andra skall vara låga (notera att pinne nummer 2 betyder ”egentligen” pinne nummer 3, men numreringen börjar från 0). Detta kommer då skrivas ”PORTC = 0b00000100;”.

(22)

16

vanligtvis vara av while-typ och brukar skrivas som ”while (1)”, alltså kommer den alltid att vara sann och programmet kommer stanna i denna loop. Här används vanliga c-syntaxer så som if-satser, for- och while-loopar, samt alla andra vanliga programmeringstekniker kända från de flesta språk. För att man skall kunna skriva någonting mera intressant brukar det dock behövas lite mera specifika funktioner av olika slag. För att göra det lättare för

programmeraren finns många utav dessa redan klara i olika bibliotek. Därför börjar man alltid programmet, innan man skriver main-funktionen, med att definiera vilka utav dessa bibliotek som skall inkluderas. Vill man använda något mera särskilt bibliotek kan man oftast ladda ner det och importera det i programmet. Därefter kan man använda de funktioner som finns i det biblioteket. Vill man bara använda en viss funktion utanför dess bibliotek går det också bra at skriva den utanför main-funktionen och då anropa den från någon del av main-funktionen. Tillsammans med importen av alla olika bibliotek definierar man även i början av

programmet alla funktioner som skall användas, både de som finns i bibliotek och de som står i huvudprogramfilen. Här definieras också de variablerna som man har tänkt ha som globala, alltså i hela programmet.

Det finns även möjlighet att göra mera avancerade programmeringstekniska lösningar så som ”interupts”, vilket innebär att processorn hela tiden övervakar till exempel utslaget på en port och då om ett visst värde fås hoppar den ur main-programmet direkt när den har utfört sin aktuella uppgift och går då direkt till en högre prioriterad uppgift som den utför tills en instruktion att avbryta den mottas. Då detta är en mera avancerad programmeringsteknik var det ingenting som jag la tid på att sätta mig in i. Jag ansåg att det skulle gå att lösa de

uppgifterna som jag behövde lösa med en ganska simpel programmering. Att använda

interrupts hade varit mera resurseffektivt och genererat snyggare kod men som sagt tyckte jag inte att det var värt mödan att skriva ett sådant program. När man så är klar med hela sitt program gör man ett försök att kompilera detta till maskinkod som sedan kan skickas till och tolkas utav AVR mikroprocessorn. Den slutgiltiga koden finns bifogad i Appendix A

respektive Appendix B.

5.3 UART kommunikationen och den nya processorn

Som tidigare beskrivet innehåller både ATMega88 och ATTiny45 olika protokoll och

funktioner för att klara av seriell kommunikation. ATMegan har USART som alltså klarar av både synkron och asynkron överföring medan ATTinyn använder ett enklare protokoll som heter USI. Det visade sig dock ganska snabbt efter efterforskningar i deras respektive datablad att det inte var helt trivialt att använda dessa protokoll. Det var dels otroligt många invecklade parametrar och register som skulle sättas men det största problemet var att det inte beskrevs i databladet hur man skulle göra rent praktiskt för att använda dessa protokoll. De beskrev mest funktionerna bakom och vad som hände i processorn i de interna logiska grindarna och

transistorerna. Detta kan vara intressant om man är ute efter en djup förståelse av vad som händer på mikronivå. Då jag dock enbart var ute efter att utföra en väldigt enkel överföring tyckte jag inte att detta var något som var relevant för mig.

(23)

17

funktioner för till exempel överföring och mottagning av paket. Efter vidare efterforskningar på diverse AVR forum visade det sig dock att trots att det fanns gott om exempel för

överföringar med ATMega var värre med kod och exempel på överföringar till ATTiny. Den vanligaste och enklaste som användes för ATMegan var en som byggde på UART, alltså asynkron överföring. Då det var precis vad som skulle användas i detta projekt var detta väldigt bekvämt. För ATTinyn så fanns det bara ett någorlunda utvecklat exempel på att använda USI:n som UART. Dock så var detta inte helt trivialt utan krävde att man gjorde vissa modifieringar i vissa biblioteksfiler och sedan importerade dessa. Problemet med detta var att de sakerna som man skulle ändra på i biblioteksfilen inte fanns där. Åtminstone inte längre. Tråden där detta diskuterades hade dessutom varit mer eller mindre död sedan nån gång år 2008. Ett annat exempel och en utarbetad kod hittades sedan och försök gjordes med denna, dock helt utan framgång. En kompilering lyckades en gång men det var nog mera en slump än någonting annat. Alla andra gånger falerade det och generade en fellista tillräcklig för att hålla en person sysselsatt flera dagar.

Allt ovanstående gjorde att beslut togs att helt enkelt slopa ATTinyn. Det var för mycket problem med att få ens den mest triviala seriekommunikation att fungera och att ödsla tid på detta när deadlinen för projektet började närma sig verkade väldigt dumt. Istället beställdes ytterligare en ATMega88. När så denna hade inkommit kunde programmeringen av

seriekommunikationen påbörjas på allvar. Med hjälp av min handledare och ett program som han hade skrivit för en annan applikation kunde enklaste formen av seriell kommunikation med sladd utföras. För att kunna läsa av vad som processorn skickade eller själv skicka information till processorn användes ett EIA-232 gränssnitt där man via STK 500:n och den virtuella com-porten samt ett terminalprogram för seriekommunikation kunde skicka och läsa tecken. I början användes Windows eget ”Hyperterminal”. Detta har dock problemet att det inte har så bra representation av vad som tas emot. Sen så är problemet att på grund av protokollets uppbyggnad och ASCII-alfabetet som används vid denna typ av kommunikation så är en skickad fyra till exempel kommer inte att motsvara en fyra i det terminalfönstret. Den första identitetssignaturen som sändaren programmerades med var 00001111 och detta visade sig motsvara ”en sol” i ASCII-tecken…

Dels för att göra tolkningen av mottagna signaler bättre och för att kunna få en bättre

representation byttes terminalprogram från Hyperterminal till ett freewareprogram vid namn ”RealTerm”. Detta hade flera väldigt nyttiga funktioner, bland de mest användbara var att man till exempel kunde välja att få informationen mottagen som binära sekvenser. Detta gjorde det trivialt att se vad som faktiskt mottogs och hur detta eventuellt skilde sig från det som faktiskt skickades ut.

(24)

18 5.4 RSSI-problemen och Byteloss-lösningen

Som tidigare diskuterat i rapporten var tanken att positioneringen skulle göras med hjälp av att läsa av det så kallade RSSI-värdet. RSSI, Recieved Signal Strength Indicator är ett värde som i teorin skall variera med hur bra signalstyrka man får. Detta kombinerat med en riktningskänslig antenn borde resultera i ett värde som har sitt maximum när antennen är riktad rakt mot sändaren.

RSSI-pinnen från mottagarmodulen kopplades således till en av de portarna på ATMegan som möjliggör A/D-omvandling. Ett kodexempel hittades för att kunna läsa av det konverterade värdet och sedan representera det och skicka det till com-porten för övervakning. Efter tidiga tester med vad som antogs vara det maximala RSSI-värdet (sändarna väldigt nära varandra och två omni-direktionella antenner) kunde en enkel kod för att använda LED-bargraphen tas fram som gjorde att värdet kunde övervakas där. Det var dock nu som problemen började. Problemet var att det för det första var väldigt svårt om inte omöjligt att se någon märkbar förändring i RSSI-värdet vid till exempel obstruerande av antennerna. Dessutom visade det sig vid en studie av den mottagna RSSI-signalen i ett oscilloskop att denna inte, som

databladet till modulen antydde och som det rimligen borde vara, var en linjär spänning. Det var däremot en kopia av den mottagna datasignalen med motsvarande höga och låga bitar. Dock så ändrades höjden på dessa bitar när mottagningskvalitén förändrades, om än marginellt. Detta gjorde att en lågpassfiltrering bedömdes nödvändig för att få ut enbart en DC-spänning. Dock så visade vidare studier att av någon anledning vid ett ökande RSSI-värde inte var topparna som blev högre, utan dalarna som blev lägre. Dessutom hade signalen en form av offset som gjorde att den var centrerad kring 0 vilket gjorde alla värden mer eller mindre värdelösa. Denna första mer eller mindre omanipulerade signal syns i figur 9.

Figur 9: Det ursprungliga RSSI-värdet. Första representationen visar en svagare signal ofiltrerad, den andra en lite starkare signal ofiltrerad och den tredje båda signalerna vid en optimal lågpassfiltrering.

(25)

19

Alltså att om signalen ökade i styrka skulle topparna bli högre. Skillnaden skulle även

förstärkas så att en förändring i signalstyrka skulle bli tydligare. Den irriterande offseten togs bort med en spänningsdelare. Sedan användes ett tredje ordningens lågpassfilter för att omvandla signalen till en DC-signal som då kunde ses som ett medelvärde av alla höga och låga bitar. Detta är som inses lätt inte heller någon optimal lösning då det kommer innebära att RSSI-signalens värde kommer att bero av vilket serienummer som man tar emot. Ett

serienummer innehållandes många ettor skulle leda till ett högre medelvärde än ett med få. Några exempel på dessa signaler syns i figur 10.

Figur 10: RSSI-värden efter OP-förstärkarna och lågpassfiltrering. Den första representationen visar en svagare signal, den andra visar en starkare signal och den tredje båda signalerna lågpassfiltrerade.

Trots detta utfördes ändå ett flertal experiment med denna uppställning. Sändaren flyttades runt i och utanför labbsalen samtidigt som mottagaren var stationär och inkopplad både på ett oscilloskop och till en LED-bargraph där signalen kunde övervakas. Dessa försök visade att trots försök till förstärkning och omflyttning av sändaren varierade RSSI-värdet väldigt lite. Det var väldigt svårt att uppfatta något linjärt samband som skulle ha berott av avståndet. Det som noterades mest tydligt var att signalen allt oftare föll bort när dataöverföringen blev sämre ju längre bort man kom. Först började den bara brusa och få in störningar för att sedan bli allt sämre och till sist helt försvinna.

(26)

”byte-loss-20

rate” eller ”bit-loss-rate” beroende på exakt vad det är som analyseras. Då vi analyserar hela bytes kallar vi den för det tidigare.

Det som behövdes var en räknare som för varje gång UART-rutinen undersökte om det låg ett paket i bufferten redo att tas emot räknade ner. På grund av att det var känt hur ofta dessa paket skickades ut och alltså borde tas emot vid optimal mottagning kunde så en uppräknare kalibreras som påverkade samma variabel. När ett paket hade tagits emot skall uppräknaren räkna upp med ett värde något större än det antal nedräkningar som skulle inträffa vid optimal mottagning. Då vi i detta fallet sände ett paket var 50:e millisekund och funktionen som väntade på ett mottaget paket uppdaterades en gång varje millisekund var det lämpligt att ha ett värde strax över 50 för att få räknaren att öka vid optimal mottagning. När en bra

mottagning kunde erhållas skulle således värdet på räknevariabeln att öka. Hur snabbt den ökar beror på hur man kalibrerar uppräkningsvärdet. Ett för stort värde kommer göra att räknaren rusar iväg väldigt fort vid bara en kort stunds bra mottagning. Ett för lågt värde gör att det blir väldigt svårt att få räknaren att stiga. Värdet på denna räknaren var sedan det som representerades i vår bargraph. Funktionen liknar den hos en klassisk VU-meter som hittas på gamla stereoanläggningar där en representation av ljudnivån på höger och vänster kanal. För att ge användaren en möjlighet att lättare registrera en hög nivå gjordes en ”studs”-funktion. Detta innebär att det maximala värdet för räknaren är högre än det som kan visas på

bargraphen. Alltså kommer man om man uppnår det under en lite längre tid få en fördröjning på hur länge maxvärdet visas innan värdet sedan sjunker. Detta var även det en parameter som fick tweakas. Experiment med denna uppställning visade att den fungerade bättre än RSSI-lösningen. Det var lättare att få någon variation i uppmätt styrka (i detta fall byte-loss-rate).

5.5 Halleffektsensorn

För att känna av om skidorna sitter fast på skidåkaren eller om de har löst ut valdes som tidigare diskuterat en lösning med en halleffektsensor. Dessa finns i olika utföranden som reagerar på olika sätt vid olika magnetiska fält. Gemensamt för dem är att de bygger på den så kallade ”Hall-effekten”, därav namnet. Hall-effekten innebär kortfattat att en så kallad

”Lorenz-kraft” kommer att inducera en spänning i en strömförande ledare om denna befinner sig i ett magnetfält. Denna spänning eller potentialskillnad kallas då för ”Hallspänning” och kan då användas för att bedöma styrkan av magnetfältet. För mer ingående om Hall-effekten hänvisas till 7.1.

De flesta Hall-effektsensorerna är helt olinjära, de ger bara antingen full spänning eller ingen spänning beroende på fält. Det som var önskvärt i detta fall är en så kallad Hall Effect Switch. Denna har funktionen att den vid närvaro av ett magnetfält kommer ge ifrån sig ett visst utslag (om det är en etta eller nolla varierar beroende på modell) och sedan när magnetfältet tas bort kommer den att byta och switcha utgången. Detta var dock en information som jag

införskaffade en bra bit efter att alla komponenter redan hade inhandlats. Det visade sig att jag inte hade köpt en switch utan en latch. Detta betyder att den istället för att switcha vid absens av magnetfältet behöver ett motsatt magnetflöde av en viss styrka. Alltså, om man för

(27)

21

Västerås men då det inte har ansett som prioriterat att få denna funktion att fungera helt perfekt har den i skrivande stund inte införskaffats. Den latch-sensor som jag redan hade installerades och funktionen visade sig vara god med undantag för switchingförfarandet. För en schematisk bild av den aktuella latch-sensorn se figur 11.

Figur 11: Halleffektlatchsensorn som användes, ATS177

5.6 Byggande och testande av Yagi-antennen

Efter de inledande efterforskningarna bestämdes att en Yagi-Uda-antenn skulle vara den mest lämpliga riktningskänsliga antennen för denna applikation. Dels på grund att den var

framtagen just för att ha en väldigt stor riktningskänslighet och dels för att den till skillnad från till exempel en ringantenn har ett tydligt maxima i signalstyrka då antennen är riktad mot sändaren. Ringantennen bygger på att man söker ett minimum då normalen till ringantennens plan kommer vara riktad mot sändarkällan. Detta skulle göra att det då skulle kunna bli svårt att använda sig av serienummersapproachen.

En specifikation för en tre elements Yagi-Uda-antenn hittades på Wikipedia. Som tidigare diskuterat är teorin bakom en Yagi-Uda så pass avancerad att det är en hel vetenskap i sig att ta fram nya varianter. Därför används enklast redan färdiga designer med väl definierade längder på elementen och deras inbördes placering. Antennen byggdes på ett väldigt enkelt sätt med en stomme av trä och sedan vanliga sladdar som element. Det drivna elementet kopplades som ett ”T” som i en vanlig dipolantenn och de två anslutningarna fördes sedan igenom stommen genom två borrhål. För schematisk bild av antennen se figur 4.

Dock så finns det ett problem med denna uppställning med en så kallad balanserad

dipolantenn som skall kopplas in till en så kallad icke balanserad ingång, dvs. någonting som bara har en fysisk antenningång. Lösningen på detta blir en så kallad ”balun”. Dessa finns i olika utföranden beroende på vad för slags antenn och vilken frekvens de skall användas för. För att förenkla kan man dela in dem i två typer; spol/transformatorbaluner och

fördröjningsbaluner. I vårt fall med en väldigt hög frekvens skall den senare typen

användas[10]. Genom att använda coaxialkablar med strategiskt valda längder fördröjer man

(28)

22

kommer göra att den fasvrids 180 grader och på så sätt blir antennen balanserad i förhållande till vår antennutgång och jord. Detta beskrivs i figur 12.

Figur 12: Schematisk bild över fördröjningsbalun med coaxialkablar

Uppmätta bitar av coaxialkabel löddes ihop enligt specifikationen med varrandra och med antennens drivna elements två kablar. De andra två ändarna löddes till en praktisk stiftlist med två stift för enklare installation i kopplingsplattan. Resultatet av arbetet och den färdiga

antennen syns i figur 13.

Figur 13: Fotografi av Yagi-Udaantennen

(29)

23

Signalstyrkan (läs byte-loss-hastigheten) varierade kraftigt beroende på riktning av antennen och placering personen som håller i den men det verkade inte ha något tydligare samband med hur den riktades i relation till sändaren. De första experimenten utfördes på Ångströms

Laboratoriet i källaren till hus 7 där även en stor del av tidiga testandet tog plats. Därför antogs att den dåliga riktingskänsligheten kunde bero på det stora antalet förmodade

reflektioner från byggnaden och andra signaler som kunde störa och också reflekteras och ge konstiga och oförutsägbara signalmönster. Därför testades utrustningen även i andra miljöer dock enbart med marginellt bättre resultat. Detta föranledde att en annan design på antennen testades. En ny design, nu för en fyra elements Yagi-Uda hittades och konstruerades sedan på liknande sätt som tidigare[9]. Designen syns i figur 14 och en bild på antennen kan ses i figur

15. Denna gång var det även en annan inbördes placering av de elementen som vart på den tidigare antennen vilket gjorde att det fanns förhoppningar om att de var de som skulle ha varit felaktiga. Tester med den nya antennen inomhus i en villa visade dock att det fortfarande var svårt med riktningskänsligheten. För att utesluta att detta berodde på reflektioner och störningar från andra sändare transporterades sändare och mottagarutrustning ut till

landsbygden 15 km utanför Västerås där vidare experiment utfördes. Den här gången vart det lite bättre riktningskänslighet men den var fortfarande mycket sämre än förväntat och kunde fortfarande ge väldigt konstiga bäringar. Det mest tydliga var att signalstyrkan försvann när man rört sig cirka 20 meter från sändaren och ökade kraftigt när man var någon eller några meter ifrån sändaren.

(30)

24

Figur 15: Fotografi av den andra versionens antenn

6. Resultat och slutsatser:

6.1 Slutgiltigt utförande

Det som i denna rapportering får ses som det slutgiltiga utförandet blev förändrat på vissa punkter jämfört med den initiala designen. ATTiny mikroprocessorn i sändaren fick på grund av problem med seriekommunikationen bytas ut mot en ATMega av samma typ som redan hade tänk användas i mottagaren. Både sändare och mottagare byggdes på varsin

kopplingsplatta med försök till att ha så korta ledare som möjligt för att undvika onödiga elektromagnetiska effekter och störande strålning. Efter inledande tester med drivspänning från dels en modifierad 230V/5V transformator för den ena kretsen och en Arduino

Duemilanove för den andra installerades batterier. Det ansågs viktigt att ha två separata strömförsörjare för att se till att de båda kretsarna fick sina egna och inga gemensamma potentialer. Detta för att se till att överföringen verkligen skedde trådlöst. För att undvika ett problem med glappkontakter inhandlades och installerades sedan även två stycken

(31)

25

Figur 16: Fotografi av sändaren

(32)

26 6.2 Slutsatser

Experimentet och utvecklingen får ses som delvis lyckad. En korrekt dataöverföring kunde genomföras och ett serienummer kunde skickas och mottas korrekt även vid större avstånd. Dock så är detta verkligen inte någon slutgiltig lösning. Det krävs fortfarande mycket arbete innan man har fått någonting som kan användas i fält. De största problemen är:

• Riktningskänsligheten från de testade antennerna är alldeles för dåliga

• RSSI-värdet som mottogs från mottagarmodulen var i det närmaste värdelöst och

kunde därför inte användas varför en annan lösning fick utarbetas

• På grund av programmerings och kompabilitetsproblem lyckades aldrig någon

serieöverföring mellan ATTiny och ATMega vilket gjorde att en ATMega vart tvungen att användas i båda kretsarna. Detta gjorde att en större komponent än önskvärt var tvungen att användas i sändaren som av naturliga orsaker behöver hållas så liten som det bara går.

• Pålitligheten har heller inte varit tillfredsställande hos prototypen. Ibland kan båda

enheterna vara på och inom räckhåll men ändå fås ingen indikation om mottagen signal hos mottagaren. Sedan kan signalen helt plötsligt och utan någon bra förklaring komma tillbaks efter lite ryckande i sladdar. Detta kan ha att göra med glappkontakt, något som också har varit ett gissel vid flera olika tillfällen.

Trots detta får det ändå anses som lyckat då mycket kunskap har kunnat införskaffas vilket möjliggör en vidareutveckling och en i framtiden förhoppningsvis fungerande prototyp som kan utvecklas till en kommersiell produkt.

6.3 Förslag på förbättringar och vidareutveckling

Framförallt är det riktningskänsligheten som måste bli bättre. Detta skulle kunna lösas på flera olika sätt. Dels så måste det undersökas om det verkligen är antennerna som är undermåliga då de i teorin och i ett otal andra experiment har visat sig fungera. En möjlig svag länk kan vara sändar- och mottagarmodulerna som det visade sig håller ganska låg klass. Dock så borde detta ändå inte påverka antennens riktningskänslighet. Det är dock möjligt att den typ av byte-loss-lösning som fick väljas på grund av det dåliga RSSI-värdet inte lämpar sig för riktningskänslighet. En väldigt simpel och antagligen inte så optimal lösning vore att helt slopa riktningskänsligheten och bara förlita sig på det radiella avståndet. Alltså att om man kommer längre ifrån sändaren så kommer färre bytes att kunna ta sig fram i korrekt form och beroende på hur man rör sig kan man då efter ett tag hitta vart de verkar vara bättre

mottagning. Detta skulle kunna ge åtminstone någon form av indikation av vart sändaren är. Man skulle också kunna tänkas pröva med någon annan form av riktningskänslig antenn. Ett mindre experiment gjordes med en ringantenn, dock utan vidare tillfredsställande resultat. Ringantenner är dock mycket vanliga vid radiopejlorientering eller ”fox hunting” som det heter i USA där det är ett väldigt stort fenomen. Det finns även en förbund i Sverige, RPO[8],

(33)

27

Man skulle också kunna tänka sig att utveckla en mera sofistikerad lösning som ger en relativ bäring direkt på sökarenheten. Ett sätt att bygga detta vore att två stycken stav-dipolantenner som står vinkelrätt mot varandra och sedan beroende på vilken av dem som får en viss fraktion av signalstyrkan kunna räkna ut och redovisa åt vilket håll signalstyrkan är som störst. Om man vill behålla systemet med serienummer, vilket jag anser klokt för att det minimerar risken för andra störningar och felaktiga signaler, så behövs en mera avancerad krets än tidigare för detta. Först så måste signalen tas in av de båda separata antennerna och sedan avkodas. Dessa måste sedan också ha varsin RSSI-krets parallellkopplad till antennen som sedan kopplas till en A/D omvandlare i processorn. På båda antennernas signaler måste sedan serienumret verifieras vartefter RSSI-värdet från de båda tas in och kan användas för att beräkna en ungefärlig riktning till sändarkällan som sedan kan visas på förslagsvis ett antal dioder. Detta kräver dock mer än tidigare lösningar att riktningskänsligheten faktiskt fungerar då det annars kommer bli helt värdelösa resultat. Denna krets byggs då förslagsvis nästan helt från början och utan några färdiga moduler. Det får ner både priset och storleken och borde kunna förbättra funktionaliteten då det verkar misstänkt att modulerna var en svag länk i den tidigare prototypen.

7. Källförteckning:

[1] IPklassning från SP, http://www.sp.se/sv/index/services/ip/Sidor/default.aspx [2] Artikel om funtionsanalys, http://sv.wikipedia.org/wiki/Funktionsanalys_(teknik) [3] Artikel om ringantenner, http://en.wikipedia.org/wiki/Loop_antenna

[4] Artikel om RSSI, http://en.wikipedia.org/wiki/Rssi

[5] Artikel om Yagi-Udaantenner, http://en.wikipedia.org/wiki/Yagi-Uda_antenna [6] PTSFS 2010:8, http://www.pts.se/upload/Foreskrifter/Radio/foreskrifter-undantag_101209.pdf

[7] Artikel om ASK-modulering, http://en.wikipedia.org/wiki/Amplitude-shift_keying

[8] Svensk Radiopejl Orientering (RPO), http://www.pejla.se/index.html [9] Guide som användes för att bygga den andra Yagi-Udaantennen,

http://www.picaxe.orconhosting.net.nz/yagi433.jpg

[10] Instruktion för att bygga en UHF balun,

http://www.picaxe.orconhosting.net.nz/yagi433.jpg

References

Related documents

Samrådshandlingen kommer göras tillgänglig för samtliga som kan komma att bli berörda av planen och vidareutvecklas därefter till en granskningshandling med ett färdigt förslag

– Två av mina bröder mördares och ytter- ligare en av mina bröder står inför rätta för att ha ockuperat mark i Marina Kue, berät- tar den lokala småbrukarledaren Martina

När de tre grupperna får diskutera frågan om vilka olika sorters stöd och hjälp de upplever att de får av sina lärare i matematik, så återkommer naturligtvis de tre typer som de

En sändare upplevde att återkopplingen som gavs till mottagaren var av mer generell karaktär och handlade om hur det gick för arbetsgruppen och därmed inte lyfte fram mottagarens

Eller är de, till skillnad från de barbariska andra, som aldrig läser, och just därför är barba- riska och andra (eller, som det med en neofrenologisk term heter i liberalis-

Hur många plommon finns kvar i skålen.. 8 En idrottsförening har

Hur många gröna kulor ligger

Det slår mig också att mitt mål med videogestaltningen var att skapa den där kontrasten att den gestaltade lärare uttrycker känsla av gemenskap (är upprymd av social interaktion med