Autopilot till modellbåt



Relevanta dokument




Alternativ vattenbehandling

Utveckling av metod och prototyp för detektering av lastförskjutning

Systemkonstruktion SERIEKOMMUNIKATION

Referensguide för streckkoder

Digitala Projekt (EITF11)

DIGITALA PROJEKT Väderstation

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3.


Pulsmätare med varningsindikatorer

Bruksanvisning DAB One

Radiomottagare typ DB317 & DBR1-M4 Bruksanvisning, utgåva 8

UPONOR VVS GOLVVÄRME UPONOR CONTROL SYSTEM. Uponor Control System DEM Ökad komfort och mindre energiförbrukning

AM / FM Stereo Digital Radio 381RH13-A. Bruksanvisning PR-D7

Racing Truck BLX10 4WD RTR

TOPAZ PHD. Användarmanual

Datakommunikation med IR-ljus.

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

Viking Journal in Chinese

D/A- och A/D-omvandlarmodul MOD687-31

KOMPONENTER. Klocka. Klockan. Öppning av armband. Kontakt för batteriladdning. ON/OFF Magnet. Elektronikenhet. Laddnings- indikator

.00 E00. Innehåll: Kablage allmänt. Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning

DYNA COM 110 INSTRUKTIONS- BOK. Box Göteborg Tel Lafayette Radio AB

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

SmartCat Pejlare S300

WAGO IO System Service Seminar. Diagnostik

SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version:

LEICA MOJOMINI MANUAL FÄLTGUIDE. SKEPPSTA MASKIN AB Täby Skeppsta Örebro. tfn:

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

PTCarPhone 3c. Kurzanleitung Brief Instruction Notice succincte Snabb Guide DEUTSCH ENGLISH FRANÇAIS SVENSK

9 NAVIGATIONSUTRUSTNING

DT-120. FM-stereo/AM. Svensk bruksanvisning

Tele Radio 860. Manual IM A3

Svensk Bruksanvisning Läs igenom hela bruksanvisningen Spara den för framtida bruk.

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

BATTERITESTARE EM Bruks- och underhållsanvisning

Elseglare med T-stabilisator

GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual

TMT-918 Fjärrkontroll med timer. Säkerhet. Tekniska data

e-sense move dali Manual

Användarmanual för pollare, styrda av logik U200 eller U 201 Version V8

Klock Radio KCR-9. Svensk Bruksanvisning

FLEXIT SPIRIT. Monteringsinstruktion

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Installation och montering av elektriska enheter får bara utföras av kvalificerade elektriker.

4:7 Dioden och likriktning.

Trådlös Styrning För Båtar med Autopilot/Drivenhet Användarmanual & Installationsanvisningar

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

LÖPBAND TM900 BRUKSANVISNING

Effektpedal för elgitarr

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Centronic VarioControl VC420-II, VC410-II

Global Positioning System GPS i funktion

Häftiga hästskolampan Hanna

Bruksanvisning. Falck 6709 Mottagare. Art.nr.:

Växtviskaren EITF11 Digitala projekt VT15, I12

4:4 Mätinstrument. Inledning

MONTERINGSANVISNING & BRUKSANVISNING för CARGARD Portstyrning RDC 30 / RDC 120

DT-210 SVENSK_BRUKSANVISNING

5-1 Avbildningar, kartor, skalor, orientering och navigation

Svensk Bruksanvisning

Forskning GNSS. Grundkonfigurationen av GPS består av 24 satelliter men idag cirkulerar närmare 30 satelliter runt jordklotet

ELLÄRA. Denna power point är gjord för att du ska få en inblick i elektricitet. Vad är spänning, ström? Var kommer det ifrån? Varför lyser lampan?

TAC Forta P M750 G Ventilställdon

INNAN DU ANVÄNDER RADION Laddning av batteri Det finns 3 olika tillbehör för laddning till Proline Plus. Laddare ingår ej vid köp av radion.

Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Kanalprocessor T-05 / DIGITAL 5870

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

SPORTident basenheter BSM7/BSF7/BSF8 mjukvara (firmware) 5.74

ATT ANVÄNDA RADIO (GRUNDFUNKTIONER)

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Mät spänning med en multimeter

NINE EAGLES Solo Pro328 NINE EAGLES 04.NE328A vol. 2

Falck 6709 Armbandssändare

Falck 6709 Magnetkontakt sändare

Snabbguide i handhavande av. PGC TWD RC-Series Reciprocator Control System. Styrning av vertikalrörelse hos 2 pistolförare

Din manual PHILIPS 21PT5305

Lenco SCR-81 Radio kassett och cd stereo Instruktionsmanual på Svenska

CanCom Bluetooth BLUETOOTH V5.6. Specifikation Specification LED. transceiver

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

DYNA COM 155 MICRO INSTRUKTIONS- BOK

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Konstantspänningslikriktare med inbyggda batterier.

Introduktion. Temperatursändarens finesser

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Grunderna i stegkodsprogrammering

Trådlös Rök Detektor SD14

DCU605. Tekniska Data. Datablad SDA00178SE Version /02/18 Passersystem. Dörrcentral med direkt IP-anslutning till ESMIKKO-server

Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.

RADIOSTYRD MANÖVERPANEL OCH

Installationshandbok. Styrsystem S.01. SMD-styrenhet utan frekvensomriktare

Matematik ute ett nytt rum för lärande

LBST-604. NEXA LBST-604 Skymningsrelä. Säkerhet. Tekniska data. Uppdaterad: 23 feb av 7

Kal. 7D46, 7D48, 7D56 (Ref. nr. SNP) Bruksanvisning 1

Transkript:

Autopilot till modellbåt Andreas Marcusson EXAMENSARBETE 2010 Elektronik 1

Autopilot till modellbåt Autopilot for model boat Andreas Marcusson Detta examensarbete är utfört vid Tekniska Högskolan i Jönköping inom ämnesområdet Elektronik. Arbetet är ett led i den treåriga högskoleingenjörsutbildningen. Författaren svarar själv för framförda åsikter, slutsatser och resultat. Handledare: Lennart Lindh Omfattning: (C-nivå) 15 poäng Datum: 2010-04-27 Arkiveringsnummer: 2

Abstract Abstract The work consisted of designing an autopilot for a model boat that can navigate by itself to different GPS coordinates on Munksjön. The model boat can be used at various events. During the test run of the autopilot a problem was detected. The fault causes the model boat to go in wrong direction when it should go 180 degrees it goes to 270 or 90 degrees. The error occurs because the microcontroller calculates the wrong direction to go to the target position. The result was a model boat which can be navigated manually or automatically. Hardware for the Auto Navigation was solved with a circuit board mounted between the radio receiver and the rudder and engine. The circuit board controls the model boat when it navigates on its own. The Autopilot is composed of a GPS receiver and a microcontroller that controls the model boat. The autopilot navigates to waypoints that are preprogrammed in the microcontroller. There is a problem with the navigation. When the boat is moving forward approximately 180 degrees. The problem makes the model boat to go a different way. 3

Sammanfattning Sammanfattning Arbetet bestod i att konstruera en autopilot till en modellbåt som kan navigera av sig själv till olika GPS-koordinater på Munksjön. Modellbåten ska kunna användas vid Öppet hus och liknande evenemang. Under testkörning av autopiloten upptäcktes ett problem. Felet gör att autopiloten inte köra i rätt riktning om den ska köra mot 180 grader när avståndet till målet är 50 meter eller mindre till målet, utan kör mot 270 eller 90 grader. Felet beror på att mikrokontrollen räknar ut fel riktning för komma till målpositionen. Resultatet blev en modellbåt som kan navigeras manuellt eller automatiskt. Automatisk navigering löstes genom att ett kretskort monterades mellan radiomottagaren och roder samt motor. Kretskortet styr modellbåten när den ska navigerar av sig själv. Autopiloten består av en mikrokontroller som styr modellbåten med hjälp av en GPS-mottagare. Autopiloten navigerar genom att köra till olika koordinater som är förprogrammerade i mikrokontrollern. Det är ett problem med navigeringen och det är när båten ska köra mot kompassriktningen 180 grader. Problemet gör att autopiloten styra modellbåten en annorlunda väg, den kommer fram dock ändå. Vid uppvisningen var det ett lock som inte hade kommit med utan fick ersättas av en bit plast och tejp. Det höll inte tät utan lekte in vatten vilket resulterade i kortslutning. Korslutningen gjorde så att båten började uppföra sig konstigt, då bestämndes det att uppvisningen skulle avbrutas.. Nyckelord Elektronik, Mikrokontroller, GPS (Global position system), Autopilot 4

Innehållsförteckning Innehållsförteckning 1 Inledning...7 1.1 Bakgrund...7 1.2 Syfte och mål...7 1.3 Avgränsningar...8 1.4 Disposition...8 1.5 Arbetets gång...8 2 Teoretisk bakgrund...10 2.1 GPS...10 2.2 WGS84...10 2.3 Mikrokontroller...10 2.4 UART...10 2.5 AM och FM...11 2.6 NMEA...11 2.7 ASC II...12 2.8 Haversineformel...12 2.9 Uträkning av kurs...12 2.10 Lysdioder...12 2.11 Styrning av rodder med Servo...13 2.12 Styrning av fartreglage...13 3 Systemkonstruktion...14 3.1 Farkost...14 3.2 Mjukvara...14 3.3 Hårdvara...14 4 Val av komponenter...15 4.1 Val av modellbåt...15 4.2 Radio...15 4.2.1 Val av radio...15 4.3 GPS...16 4.3.1 Elfa...16 4.3.2 RS-online...16 4.3.3 Val av GPS-mottagare...17 4.4 Val av batteri...17 4.5 Val av mikrokontroller...18 5 Konstruktion av hårdvara...19 5.1 Metodik...19 5.2 Mikrokontroller...19 5.3 Omvandling av signalnivåer från GPS-mottagare till mikrokontroller...19 5.4 Strömbegränsning lysdiod...20 5.5 Energiförsörjning...20 5.6 Kretskort...21 6 Konstruktion av mjukvara...22 6.1 Metodik Mjukvara...22 6.2 Växla mellan automatisk och manuell styrning...22 6.3 GPS-mottagaren...22 6.4 Konvertering av koordinater...23 6.5 Uträkning av avstånd och kurs...23 5

6.6 När är modellbåten framme?...24 6.7 Reglering av kurs...25 6.8 Störningar på radio...25 6.9 Beskrivning av programmet...26 6.10 Hur programmet fungerar...26 6.10.1 Startupp...26 6.10.2 Kontroll...26 6.10.3 Manuellt...27 6.10.4 Automatiskt...27 6.10.5 Interrupt...28 7 Testmetodik...29 7.1 Test hårdvara...29 7.2 Tester mjukvara...29 7.3 Test av autopilot...29 8 Undersökning av navigeringsfel...30 9 Resultat...31 9.1 Navigering...32 10 Slutsats...33 11 Förslag på fortsatt arbete...34 12 Litteraturförteckning...35 13 Sökord...36 14 Bilagor...38 14.1 Bilaga 1...39 14.2 Bilaga 2...40 14.3 Bilaga 3...59 14.4 Bilaga 4...60 14.5 Bilaga 5...61 14.6 Bilaga 6...63 6

Inledning 1 Inledning Vem har inte drömt om att åka i en bil med autopilot? Tänk om det bara var att trycka på en knapp, bilen startar och kör en hem. Det skulle jag vilja göra! Tyvärr räcker inte ett examensarbete på 15 poäng till för att bygga en autopilot för en bil. Söker man på internet efter autopilot finner man dem både till stora containerbåtar samt fritidsbåtar. Därmed bör det vara möjligt att konstruera en autopilot för en radiostyrd modellbåt. Uppdraget som ligger till grund för rapporten bestod i att ta fram en autopilot till en modellbåt. Autopiloten ska kunna styra en modellbåt till olika koordinater på munksjön. För att kunna köra till olika koordinater används en mikrokontroller som styr modellbåten med en hjälp av en GPS-mottagare. Modellbåten ska kunna styras manuellt med en fjärrsändare eller automatiskt med en mikrokontroller. Examensarbetet är en del av utbildning på Jönköpings tekniska högskola och krävs för att kunna avsluta Högskoleingenjörsutbildningen. 1.1 Bakgrund GPS har blivit en vardaglig teknik som finns i allt fler produkter från enklare teknisk utrustning till flygplansnavigering. Jag tycker att det skulle vara spännande och intressant att göra något med en GPS. Efter att jag diskuterat idén med Anders Arvidsson fick jag kontakt med professor Lennart Lindh. Lennart Lindh föreslog en modellbåt som kan köra till olika positioner på Munksjön. 1.2 Syfte och mål Syftet med examensarbetet är att undersöka om det är möjligt att utveckla en autopilot till en modellbåt som kan navigera till olika GPS-positioner. Målet med examensarbetet är att ta fram en modellbåt som kan styras automatiskt och manuellt via en radiosändare. Modellbåten ska kunna navigera med GPS-koordinater på Munksjön och ska t ex kunna användas vid Öppet hus och liknande evenemang. Uppdragsgivaren har stället ett krav och det är att modellbåten ska kunna köra till olika positioner i Munksjön. För att veta när arbetet är klart har jag tolkat kravet som fyra punkter. Båten ska köra i minst 15 min. Det ska vara möjligt att fjärrstyra modellbåten manuellt. Möjligheter till vidareutveckling. Autopiloten ska kunna navigerar mellan olika koordinater 7

Inledning 1.3 Avgränsningar Rapporten går inte in på djupet på de matematiska formlerna pga. tidsbrist. 1.4 Disposition Rapporten är uppdelad i 8 delar: Teoretisk bakgrund ska ge läsaren baskunskaper till rapporten. Val av komponenter ger läsaren backfrund till hur de olika elektronikkomponenterna är valda och varför samt funderingar och tankar bakom valen. Konstruktion av Hårdvara innehåller hur hårdvaran är konstruerad. Mjukvara innehåller hur mjukvaran till autopiloten är konstruerad. Testmetodik beskriver hur mjukvaran och hårdvara är testad. Undersökning innehåller en undersökning på ett fel som påverkar båtens navigering. Resultat innehåller hur den automatiska navigeringen till modellbåten fungerar. Slutsats innehåller en slutsats på hela arbetet. 1.5 Arbetets gång Efter att ha diskuterat examensarbetet med Lennart Lindh och tagit fram en specifikation till arbetet, börjar jag att leta information och skissa på några idéer. För att vara säker på att en ide är möjlig simuleras den i Mplabs inbyggda simulator. Bland annat simulerades hur fort och hur bra en mikrokontroll beräknar flyttal. Jag kom fram till en preliminär lösning som kunde fungera. Arbetet inleds med att strukturera upp det i mindre delar och block. Genom att dela upp arbetet i mindre block blir det lättare att lösa problem som uppstor. Man får en bättre översikt på hela projektet. Jag började med att rita upp ett blockschema för elektronik och byggde upp en prototyp på en labbplatta. För att få en uppfattning om storleken på kretskortet gjordes en cad och för att veta om det kan passa i en modellbåt skrevs ett PCB (Printed Circuit Board) ut på papper. Modellbåten köps i den lokala hobbyaffären. Modellbåten är utrustad med ett fack som skyddar elektroniken mot vatten. 8

Inledning Elektronikkomponenterna kopplades upp på en labbplatta för att testas individuellt. Hela kretsen kopplades upp på en labbplatta under utveckling av programvaran. Koden delas upp i mindre block för att underlätta utvecklingen av programvaran. När kod och tester var klara på börjas arbetet med att slutgöra kretskortet. Alla komponenterna fanns inte i CAD-programmet utan fick göras för hand. När PCB var klar etsades ett testkort. Kortet testades och några korrigeringar gjordes. Det andra kretskortet fungerade mycket bättre. Efter några mindre justeringar på reglerfunktionen kör autopiloten modellbåten riktigt bra. 9

2 Teoretisk bakgrund Teoretisk bakgrund 2.1 GPS GPS står för Global Positioning System och är det vanligaste systemet för navigering. Det drivs av USA s försvarsdepartement och består av 24 satelliter i en geosynkron omloppsbana runt jorden. På 20 000 km över jordytan har satelliterna en omloppstid på 12 timmar. Satelliterna sänder kontinuerligt ut en signal som innehåller deras identitet, position och tid. Information från 3 satelliterna kan ge en position på jorden med relativt bra noggrannhet. Eftersom signalerna från satelliten går i ljusets hastighet måste satelliten ha en mycket exakt klocka. Varje satellit har fyra atomklockor, en som används och tre i reserv. För att klockorna ska kunna gå med en noggrannhet på Nano sekunden måste de uppdateras var tolfte timme. (1) 2.2 WGS84 WGS84 betyder World Geodetic System 1984. Det är en standard för att bestämma koordinater på jorden. Standarden beskriver jorden med en matematisk modell. Koordinaterna för en plats i WGS84 anges i latitud och longitud. Koordinater på norra sidan (N) blir positiva och på södra sidan (S) blir negativa. Koordinater på östra sidan (Ö) blir positiva och på västra sidan (V) blir negativa. (2) 2.3 Mikrokontroller Fördelarna med en mikrokontroll är att den har relativt hög datorkraft på ett litet utrymme och drar lite ström. Den första mikroprocessorn som får plats i en ic-krets kom på 1970-talet. I början var övriga funktioner som minne, räknare och in/utgångar i egna kretsar. Efterhand samlades alla funktioner till en ic-krets. Resultatet har blivit att en mikrokontroller består av en mikroprocessor med minne, portar och en mängd olika extra funktioner i en komponent. Det finns en mängd olika tillverkare av mikrokontroller med olika inriktningar. En mikroprocessor kan utföra ett visst antal instruktioner. Beroende på typ av mikroprocessor behöver en instruktion olika antal klockpulser för att utföra uppgiften. (3) 2.4 UART En UART är en krets som sköter seriell kommunikation till och från en enhet. UART är en förkortning för "Universal Asynchronous Receiver/Transmitter". En UART kan skicka och ta emot seriell data synkront eller asynkront. I synkron kommunikation är det en klocka från mästaren som styr kommunikationstakten och i asynkron kommunikation skickar sändaren data och mottagaren får ligga och känna av om det kommer data. Förenklat så omvandlar en UART en byte till flera bitar och skickar bit för bit till en mottagaren som omvandlar tillbaka bitarna till en byte. (3) 10

Teoretisk bakgrund 2.5 AM och FM Radioutrustning till modellbåtar finns på två band AM och FM. Radioutrustning som använder AM-bandet är ofta billiga men har dålig räckvidd. Sändare med FM-bandet innehåller ofta mer komponenter vilket gör att de blir bättre, säkrare och har en längre räckvidd. FM har två överföringstekniker - PPM och PCM. PPM (Pulse Position Modulation) är den vanligaste tekniska standarden för radiostyrda modeller. Signalen är en 18 millisekunder lång slinga där varje servokanal är 2 millisekunder. PCM (Pulse Code Modulation) beskriver den analoga spänningen i digital form. Tekniken ger bäst resultat med digitala servon eller fartreglage. (4) 2.6 NMEA NMEA 0183 är framtagen av National Marine Electronics Association som är en organisation i USA. NMEA är en standard för kommunikation mellan marininstrument. Exempel på marininstrument är radar, GPS, kompass och datorer. Standarden är definierad för flera sändare och mottagare samt för seriell kommunikation. NMEA standarden är definierad för att skicka data i klartext i ASC II tecken. Protokollet är uppbyggt av meddelanden som innehåller information om vilken typ av instrument som sänder, tillverkare och informationsdata. I alla meddelanden har informationen förutbestämda platser. Alla apparatkategorier såsom GPS och datorer har egna standardmeddelanden. Varje meddelande börjar med ett dollartecken följt av namn på meddelande, data uppdelade i informationsgrupper och som därefter avslutas med en kontrollsumma följt av tecken för ny rad. För att skilja informationen åt är det ett kommatecken mellan varje informationsgrupp. Precisionen på informationen i ett meddelande kan variera. Till exempel kan riktningen, som en kompass pekar mot, variera med 1, 2 eller 3 ASCI II tecken. Se bild 2.6 för exempel och förklaring av ett NMEA meddelande från en GPS-mottagare. (5) NMEA meddelande: $GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10 Namn Exempel Enhet Beskrivning Message ID $GPRMC RMC protocol header UTC Time 161229.487 hhmmss.sss Status A A=data valid or V=data not valid Latitude 3723.2475 ddmm.mmmm N/S Indicator N N=north or S=south Longitude 12158.3416 dddmm.mmmm E/W Indicator W E=east or W=west Speed Over Ground 0.13 0 Knots Course Over Ground 309.62 Degrees True Date 120598 Ddmmyy Magnetic Variation2 Degrees Checksum *10 E=east or W=west <CR><LF> End of message termination Bild 2.6 visar uppbyggnad av en meddelande från GPS-mottagaren. 11

Teoretisk bakgrund 2.7 ASC II ISO/IEC 8859-1 är en standard för teckenkodning av det latinska alfabetet, är även känd som ASC II. Standarden består av 191 tecken som är kodade med 8 bitars värden. Se bilaga 1 för teckentabell. (6) 2.8 Haversineformel Haversineformeln är en formel som har används av sjöfarare sedan 1800-talet. Formeln används för att räkna ut avståndet mellan två punkter på jorden. Formeln är en förbättring av cosinussatsen. (7) Haversineformel utvecklades pga cosinussatsen tog för lång tid att räkna på och är inte tillförlitlig på korta avstånd. Formel lat = lat 2 lat 1 long = long 2 long 1 a = sin²( lat/2) + cos(lat 1 ).cos(lat 2 ).sin²( long/2) c = 2.atan2( a, (1 a)) d = R*c Förklaring lat 2 är latituden för mål koordinaterna, lat 1 är latituden för start koordinaterna, long 1 är latituden för start koordinater, long 2 är latituden för mål koordinaterna, R är jordens radie, anges i den längdenheten som man vill få i svaret. (8) (9) (10) 2.9 Uträkning av kurs För att beräkna kursen som modellbåten ska åka i räknas vinkeln ut från start punkt till målpunkt i förhållande till nordpolen. Det görs med följande formel. Formel Riktning= acos((sin(lat 2 )- sin(lat 1 )* cos (d)) / (sin(d)*cos(lat 1 ))) lat 2 är latituden för målkoordinaterna, lat 1 är latituden för startkoordinaterna, d är avståndet. Alla koordinater är i radianer. För uträkning av avstånd se kapitel 2.8 acos är definierat mellan -1 och 1, om man gör om det till grader blir det -180 och 180. För att undvika att få negativt svar på formeln kontrolleras om sin(lon2-lon1)<0. Om sin(lon2-lon1) är negativt kommer svaret på formeln att bli negativt, för att få svaret positiv beräknas 360 minus svaret för att få det i positiv riktning. (11) 2.10 Lysdioder Lysdioder är mycket bra för att indikera vad som händer t.ex. att ange vilket tillstånd programmet befinner sig i. Lysdioder är konstruerade av halvledarmaterial och måste kopplas med rätt polaritet för att lysa. När en lysdiod är rätt kopplad går det en ström från anod till katod. Om lysdioden kopplas fel går det en obetydlig ström igenom lysdioden men den avger inget ljus. Lysdioden måste ha ett motstånd som begränsar strömmen för att inte förstöras. (12) 12

Teoretisk bakgrund 2.11 Styrning av rodder med Servo För att styra rodret på modellbåten behövs någon slags överföring mellan elektrisk signal och mekanik. Till det passar ett servo perfekt. Det består av styrelektronik, en liten motor och en växellåda med högt vridmoment. Elektroniken styr motorn som är kopplad till växellådan. I slutet av växellådan sitter en arm fastmonterad. En lägesgivare berättar för elektroniken vilken position armen är i. Positionen på servot bestäms av en PWM signal som skickas till servot varje 20 millisekund. Pulsen varar mellan 1 till 2 millisekunder. Längden på pulsen bestämmer läget på servot. Om längden på pulsen är ca 1,5 millisekund ställer servot in sig på mitten. Pulstiden kan variera mellan olika tillverkare. Servot behöver oftast en spänning på mellan 4-6 volt. Bild 6.8 visar hur servot ställer in sig i för hållande till puls längden. (21) Bild 6.6 visar hur servot ställer in sig i för hållande till puls längden. 2.12 Styrning av fartreglage För att styra båtens hastighet används ett fartreglage som styr modellbåtens motor. Fartreglaget styrs med en PWM signal som är 1 till 2 millisekunder lång varje 20 ms. Motorn står stilla när pulsen är 1,5 millisekunder lång. Motorn roterar åt det ena hållet om pulsen är längre än 1,5 millisekund och roterar åt andra hållet om den är kortare än 1,5 millisekunder. (21) 13

Val av komponenter 3 Systemkonstruktion Kapitlet ger en översyn på konstruktionen av farkost, mjukvara och hårvara. 3.1 Farkost En modellbåt består bland annat av en mottagare som tar emot radiosignaler från en radiosändare. Mottagaren omvandlar radiosignalerna till elektriska signaler som styr bland annat ett fartreglage och ett servo. Fartreglaget används till att styra motorn medan servot styr rodret. 3.2 Mjukvara Mikrokontroller styr modellbåten till olika GPS-koordinater med förprogrammerade målkoordinater. Från GPS-mottagaren får mikrokontrollen information om kurs och position. Med informationen kan mikrokontrollern beräkna hur båten ska styras till rätt målkoordinater. Modellbåten kan styras manuellt genom att ändra läge på en knapp på fjärsändaren. 3.3 Hårdvara Konstruktionen består av en modellbåt med mottagare, fartreglage och servo. Mellan mottagare och fartreglaget samt servo är ett kretskort placerat. Till kretskortet är det en GPS-mottagare inkopplad. Se bild 3.3 Bild 3.3 Översikt av styrelektronik. Kretskortet består av en mikrokontroller, GPS-mottagare och en lampa. Kanal1, kanal2 och kanal3 från mottagaren är kopplade till ingångarna på mikrokontrollen. GPS-mottagaren är kopplad till mikrokontrollens UART. 14

Val av komponenter 4 Val av komponenter I detta kapitel beskrivs hur och varför de olika komponenterna blev valda. 4.1 Val av modellbåt För att skydda elektroniken från vatten, valdes en båt med ett speciellt utrymme med en vattentät lucka för elektronik. Modellbåten är en Racing Wild Seeker med en längd på 62 cm, en bredd på 22 cm och med en vikt på 1260 gram. Modellbåten har en topphastighet upp mot 30 km/h. Se bild 4.1. Bild 4.1 visar bild på Racing Wild Seeker. 4.2 Radio Det kan finnas situationer då man behöver styra modellbåten manuellt. En sådan situation kan vara för att undvika en olycka eller att köra in båten till stranden. I en sådan situation behövs en pålitlig och driftsäker radioutrustning. Båten ska köra i Munksjön som är ca 800 meter bred och 1600 meter lång. Ett sent önskemål var att båten skulle kunnas styras över hela Munksjön. För att kunna styra båten över hela sjön, bör en radioutrusning med en räckvid på minst 1 km användas. Radioutrustningen ska kunna styra 3 kanaler för fart, roder samt omkopplare mellan manuellt och automatiskt läge. 4.2.1 Val av radio Undersökt radiosändare på Webaffären http://www.rchobbysyd.nu. Valet av radio blev en FM-radio som heter Futaba Megatech 3PM Rattradio FM27 LCD R153F. Valet föll på en radio Radion är enkel att förstå och använda. Radiosändaren har pistolgrepp med en gas på avtryckaren och styrning med ratten på sidan samt en knapp bredvid ratten. Se bilaga 4. med en räckvidd upp till 1 km PPM överföring. 15

Val av komponenter 4.3 GPS Jag undersökt två leverantörers utbud av GPS-mottagare på Elfa och RS-online och kommit fram till följande.. 4.3.1 Elfa På Elfas hemsida finns sju stycken GPS-mottagare. Den största skillnaden på modulerna är storlek och strömförbrukning. Det finns två stycken intressanta GPSmottagare, EM-411 och ET-312. (13) ET-312 är en liten GPS-mottagare och ska lödas direkt på kretskortet. En extern antenn bör användas för bäst mottagning. ET-312 matas med ca 3,3 volt kommunicerar med seriell kommunikation med lågnivå TTL. Antennen har -159 dbm förstärkning. EM-411 är en GPS-mottagare med inbyggd antenn. EM-411 kan matas med 5 till 3 volt. (15) Kommunikationen sker med seriell kommunikation med lågnivå TTL. Antennen har -159 dbm förstärkning. 4.3.2 RS-online På RS-online hemsida finns det ett större utbud, totalt 17 stycken GPS-mottagare. De två GPS-mottagare som är mest intressanta är FASTRAX UP300 och ITRAX 03. FASTRAX UP300 är utrustad med ett flashminne som ger möjligheten att uppgradera programvaran vid behov. (16) Den har en inbyggd antenn och matas med 3,3 volt. Har en port som kan kommunicera asynkront seriellt. Antennen har -158 dbm-förstärkning. ITRAX 03 är en avancerad GPS-mottagare med två st UART portar, en SPI-bus och en MMC-bus port. Det är också möjligt att uppgradera programvaran i mottagaren. (18) Behöver en spänning på 3,3 volt. Uppdateras med ny position upp till 1-3 gång i sekunden. Behöver en extern antenn för att ta emot GPS signal. 16

Val av komponenter 4.3.3 Val av GPS-mottagare ET-312 är en liten GPS-mottagare som monteras på kretskortet. Fördelarna med en extern antenn är att man kan placera antennen där man får bästa möjliga mottagning. Enligt databladet behöver kretskortet ett jordplan och det är specificerat hur komponenter ska sitter runt ET-312 för att undvika brus på antennsignalen. Det finns risk att det blir komplikationer och det tar tid att få det att fungerar. Jag valde därför inte ET-312. FASTRAX UP300 har inbyggt flashminne och inbyggd antenn. Flashminnet ger möjligheten att uppgradera programvaran.. Om modellbåten behöver en GPSmottagare med programmeringsmöjligheter är det bäst att undersöka det då. Jag valde därför inte FASTRAX UP300. ITRAX 03 är en avancerad GPS-mottagare och har två stycken UART och kan använda tre olika protokoll. Den monteras på kretskort. ITRAX 03 är avancerad och skulle ta mycket tid från projektet. Jag valde därför inte ITRAX 03. EM-411 är en GPS-mottagare med inbyggd antenn. GPS-mottagaren bör placeras så att satellit -signalerna inte försvagas. Signalerna försvagas olika mycket beroende på vilket material som de måste gå igenom. Skrovet på båten är tillverkat av plast och då störs signalerna från satelliterna minimalt. Antennen har -158 dbm förstärkning vilket är bra. Eftersom EM-411 kan matas med 5 volt behövs ingen extra spänningsomvandlare vilket förenklar konstruktionen av kretskortet. EM-411 väljs för projektet. Bild 4.3.3 visar EM-411. Bild 4.3.3 bild på GPS-mottagare EM-411. 4.4 Val av batteri Efter att ha kört båten ett antal gånger är det konstaterat att båten kör i ca 10 min på ett 1700mAh fulladdat batteripaket. Fartreglaget som används med båten stöder NiCd och NiMh batterier. Båten ska kunna köra i minst 15 min. För att vara säker på att batteripaketet ska räcka, behövs det ca 50 % högre batterikapacitet dvs 1700 mah*1,50= 2550mAh. Batteripaketet ska vara på minst 2550mAh. Det närmsta batteripaketet avrundat uppåt är ett NiMh på 3600mAh som bör räcka i minst 15 min. 17

Val av komponenter 4.5 Val av mikrokontroller Först var det tänkt att använda pic 16f886. Under programmeringsfasen kom det fram att den har för litet programminne. Pic16f886 ersätts med pic 18f2455 som både har mer minne och fler funktioner. Se bild 4.5 (3) Bild 4.5 är ett blockschema på en PIC 18F2455. Mikrokontrollen har speciella funktioner som används i projektet. En funktion i mikrokontrollen är att ett avbrott i programmet genereras när ingångarna 4-7 på PortB ändras. Avbrottet gör att mikrokontrollen utför ett speciellt program. Den funktionen används för att mäta puls längden på kanal3 från radio mottagaren. I mikrokontroller är det en UART som används för att kommunicera med GPS-mottagare. Mjukvaran till autopiloten använder 3 tidtagare till att styra servo och för att styra fartreglaget. 18

Konstruktion av hårdvara 5 Konstruktion av hårdvara Kapitlet förklarar hur hårdvaran fungerar samt hur energiförsörjningen är löst. Kapitlet avslutas med att beskriva kretskortet och hur det monteras. 5.1 Metodik Alla hårdvara testas individuellt för att kontroller att de fungerar som de ska. Till varje komponent skrevs ett program som kontrollerade att alla nödvändiga funktioner fungerar. Efter det kopplas allas komponenter ihop efterhand som programmet utvecklades. 5.2 Mikrokontroller Pic 18f2455 har en intern oscillator och ställs in på 4 MHz. Det finns möjlighet att använda en extern oscillator om det behövs. Mikrokontrollen behöver en spänningsmatning på 3-5,5 volt. För att kunna ändra mjukvaran enkelt används In- Circuit Serial Programming (ICSP) som gör att mikrokontrollen kan programmeras direkt på kretskortet med ingångar PGD, PGC och MCLR. Se bild 5.2 Se bilaga 3 för blockschema över komponenter som är inkopplade på mikrokontrollen. Bild 5.2 på ICPS schema 5.3 Omvandling av signalnivåer från GPS-mottagare till mikrokontroller Kommunikationssignalerna mellan GPS-mottagare EM-411 och mikrokontrollen är inte kompatibla med varandra och måste omvandlas. Mikrokontrollens ingångar och utgångar är TTL anpassade medan GPS-mottagarens är låg nivå TTL anpassad. Det betyder att det behövs en krets som kan omvandla signalerna från GPS-mottagarens TTL nivåer till mikrokontrollens nivåer. Se bil 5.3 för signaldiagram. En logikkrets från familjen74hcl kan göra det. 74HCT har egenskapen att ingångarna kan tolka låg nivå TTL och utsignalen är på TTL nivåer. Jag har valt en 74HCT04 logikkrets för att den inverterar signalen. Utsignalen från 74HCT04 inverteras och det löses med att 19

Konstruktion av hårdvara i mikrokontrollen ställa in i registret att insignalen på RX ska vara inverterad. (19) Se Bild 5.3 Bild 5.3 visar signal nivåer för TTL och låg TTL. Grön färg visar spänningen för en etta ut. Röd färg visar spänningen för en nolla ut. Blå färg visar spänningen för en etta in. Rosa färg visar spänningen för en nolla in. 5.4 Strömbegränsning lysdiod Dioderna som används i projektet klarar 20 ma och har ett framspänningsfall (vf) på 2 volt. För att begränsa strömmen kopplas ett motstånd i serie med dioden. Motståndet räknas ut med följande formel (5-vf)/x=20mA, där (5V-2V)/20mA=150Ω. (12) 5.5 Energiförsörjning Motor och elektronik får sin energi från ett NiMh batteri på 3600 mah och 7,2V. Fartreglaget har en BEC som är en förkortning för battery elimination circuit. Kretsen gör om batterispänningen till 5 volt och kan leverera max 2 ampere. Den känner också av hur mycket energi som finns kvar i batteriet. Om kretsen inte kan leverera 5 volt ut till kretskortet, servo och fartreglaget stänger den av all strömförsörjning. 20

Konstruktion av hårdvara 5.6 Kretskort Kretskortet är designat i programmet EAGLE. EAGLE är en förkortning för Easily Applicable Graphical Layout Editor från företaget CadSoft Computer, Inc. Jag har använt version 4.16 som var den senaste när projektet startade. Kretskortet är konstruerat för att vara så litet som möjligt för att så mycket som möjligt ska kunna få plats i det vattentäta utrymmet. Eftersom det speciella elektronikutrymmet på båten är begränsat kommer mikrokontrollen pic 18f2550 och inverterare 74HCT04 samt alla motstånd och kondensatorer att ytmonteras Vilket gör att kretskortet blir mindre. Från början var dioderna ytmonterade men ändras till hålmonterade. På grund av att kortet måste ligga längst ner i den vattentäta boxen, blev ytmonterade dioder svåra att se. Se bilaga 5 för schema på kretskortet. Se bilaga 3 för ett blockschema över kretskortet. Se bild 5.6 för hur kortet ser ut Det färdiga kortet består av följande komponenter. 1 st. 18f2450 1 st. 74hct04 1 st. EM-411 1 st. Röd diod 3 st. Stiftlist 1*3 1 st. Kretskortskontakt 3 st Servokabel Futaba hylsa 2 st 150 Ohm motstånd 1 st. 470 Ohm 1 st. 10K Ohm 1 st. 1u Farad Bild 5.6 visar kretskort. 21

Beskrivning av programmet 6 Konstruktion av mjukvara I detta kapitel beskrivs hur mjukvaran är konstruerad. 6.1 Metodik Mjukvara För att det ska vara lätt att ändra i koden och lätt att lägga till nya funktioner i programmet är koden uppdelad i flera olika block. Varje block är uppdelad i mindre block som har hand om varsin funktion. Programvaran är uppdelat i 4 olika block för att göra det så enkelt som möjligt att programmera och felsöka. Block 1 utvecklar kod till UART och GPS, block 2 avbrottsrutiner och styrning av servo, block 3 matematik och reglerteknik. I block 4 kopplas allt samman och testkörs. Se Bild 6.1 Uppdelningen av programmeringen i block underlättade mycket vid felsökning. För att enkelt kunna konfigurera och ändra inställningar har ett par konfigurations filer skapats till blocken. Programkoden är skriven i ANSI C och kompilerad med HiTechs C-kompilator 9,63PL2. Programmet utvecklades i Mplab v8,30 från Microchip. Bild 6.1 Visar uppdelningen av koden. 6.2 Växla mellan automatisk och manuell styrning För att växla mellan manuellt och automatisk styrning används den tredje kanalen på radiosystemet. När radiosystemet tar emot en lång puls ska fjärrsändaren styra modellbåten och när den är kort ska mikrokontrollern styra. Funktionen för val av styrning fungerar genom att räkna tiden på pulsen på kanal 3 från radiomottagaren. Varje gång som kanal 3 blir etta startar timer1 och börjar räkna upp. Timer 1 stoppas när kanal 3 blir noll. En kort puls under 1,5 ms är manuellt läge medan en längre puls är automatiskt läge. 6.3 GPS-mottagaren I projektet kommunicerar GPS-mottagaren och mikrokontroller med seriell kommunikation med en hastighet av 4800 bit/sec med en start bit, 8 data bit och en stop bit. Se bild 6.3. (15) (20) 22

Beskrivning av programmet Bild 6.3 visar en start bit, en byte och en stopbit. GPS-mottagaren EM-411 konfigureras till att skicka meddelandet GPRMC en gång i sekunden. GPRMC innehåller koordinater vart GPS-mottagaren är på jorden och i vilken kurs den färdas i. När mikrokontrollern tar emot ett GPRMC meddelandet sparas bara nödvändig data. Först kontrolleras att det är rätt data genom att kontrollera att tecknen. Det ska börja på tecknen $,G,P,R,M,C. Eftersom data kommer i en bestämd följd med bestämt antal siffror och med kommatecken, som skiljer data åt, går det att sortera data genom att räkna kommatecken,. Latitud beskrivs med 8 siffror och longitud beskrivs med 9 siffror. Siffrorna sparas i en 9*2 byte matris. Riktning kan bestå av 1 till 3 tecken dvs. 0 till 360 grader. För att veta om det är en, två eller tre siffror, känner programmet av om det är ett komma efter en siffra eller efter två siffror. Det sparas i en 3 *8 bit matris. 6.4 Konvertering av koordinater Koordinaterna som kommer från GPS-mottagaren är i WGS84 formatet decimalgrader och är uppdelade i grader och minuter. Det är svårt för mikrokontrollen att räkna matematiskt på det formatet. För att kunna räkna på koordinaterna måste de omvandlas till koordinater i decimalform. Eftersom det på varje grad går 60 minuter och varje minut går det 60 sekunder är det lätt att konvertera. Till exempel koordinaterna till Jönköpings Högskola är 5746,695 N och 1409.836 E. Koordinaterna omvandlas till decimala koordinater genom att dela minuter och grader med 60. Om man gör denna uträkning får man följande 57+46,695/60 =57,7783 och 14 +9,836/60=14,1639. (22) 6.5 Uträkning av avstånd och kurs Avstånd Med koordinaterna från GPS-mottagaren räknar mikrokontrollern ut avståndet från där modellbåten är till målpositionen. Formel se nedan. Formel lat = lat 2 lat 1 long = long 2 long 1 a = sin²( lat/2) + cos(lat 1 ).cos(lat 2 ).sin²( long/2) c = 2.atan2( a, (1 a)) d = R*c Se kapitel 2.8 för förklaring. Kurs Med hjälp av avståndet mellan modellbåten och målposition går det att räkna ut vilken riktning det är till målposition. Formel se nedan. Formeln 23

Beskrivning av programmet Riktning= acos((sin(lat 2 )- sin(lat 1 )* cos (d)) / (sin(d)*cos(lat 1 ))) Se kapitel 2.9 för förklaring. 6.6 När är modellbåten framme? Det finns en mängd olika faktorer som påverkar båten som t.ex. vind och strömmar i vattnet. GPS-mottagarens signal påverkas av väder, norrsken och andra störningar. Det gör att det blir svårt för GPS-mottagaren att ta ut rätt riktning och att räkna ut exakt vart båten är. För att veta att båten är nära önskad position räknas avståndet mellan båtens nuvarande position och önskad position ut. Eftersom båten är i rörelse hela tiden och positionen som GPS-mottagaren räknar fram kan hamna 20 meter fel, blir det svårt att komma exakt på positionen som båten ska gå till. Därför måste mikrokontrollen räkna ut om modellbåten är inom en radie av minst 20 meter från den önskade målpositionen. 24

Beskrivning av programmet 6.7 Reglering av kurs Kursreglering sker genom reglering av rodret med en P-regulator med återkoppling. Där u(t) är utsignal, K är förstärkning och e(t) är kursavvikelsen. Modellbåtens nuvarande kurs är betecknad Ф och är kursen som modellbåten kör i enligt GPS-mottagaren. Den önskade riktningen för modellbåten är Фref. Фref värdet räknas fram enligt formeln i kapitel 6.3 Se bild 6.7 för blockschema. (23) Reglerfelet definieras e = Фref Ф Styrsignalen u i tidpunkt k beräknas med u(t)=k[e(t)] Styrsignalen måste begränsas. umax om u(t) > umax u = umin om u(t) < umin Bild 6.7 visar blockschema kursreglering. 6.8 Störningar på radio Under tester har det förekommit störningar på Kanal3. Störningar har främst uppkommit på långa avstånd mellan sändaren och mottagaren. Det har gjort att mikrokontrollen har sporadiskt trott att pulsen har varit kort. Det resulterade i att båten hackar sig fram i automatiskt tillstånd. Problemet löstes genom att räkna antalet gånger pulsen är kort eller lång. Genom att räkna antalet pulser t.ex. 20 gånger och sen kontroller hur många av pulserna är långa respektive kort. Är det t.ex. 15 st. långa pulser och 5 st. korta pulser ska båten styras av fjärsändaren. 25

Beskrivning av programmet 6.9 Beskrivning av programmet Kort beskrivning av programmet Det första programmet gör, är att kontrollera om båten ska styras automatiskt med mikrokontroller eller manuellt med radio. Se bild 6.9 för enkelt flödesschema. När båten styrs manuellt kommer mikrokontroller att vidarebefordra signalerna från radiomottagaren till servon och fartkontrollen. När båten styrs automatiskt hämtar mikrokontrollen information från GPS-mottagare. Mikrokontrollen använder informationen från GPS-mottagaren för att beräkna fram avstånd och önskad riktning för båten. Därefter kan mikrokontrollen reglera båtens riktning med rodret. Bild 6.9 för enkelt flödesschema. 6.10 Hur programmet fungerar I detta kapitel beskrivs hur mjukvaran fungera. Under varje kapitel beskrivs en funktion av programmet. 6.10.1 Startupp Det första som görs när mikrokontrollen får ström är att köra en Startupp kod. Se bild 6.9 Startupp koden har till uppgift att ställa in mikrokontrollen. Den laddar startvärden för den första positionen, ställer in båten på Manuellt läge, konfigurerar räknare och interrupt samt startar upp den inbyggda UART:en. 6.10.2 Kontroll Funktionen Kontroll kontrollerar hur modellbåten ska styras. Båten kan styras manuellt med radio eller av mikrokontrollen. Funktionen kan växla mellan två lägen automatiskt eller manuellt. 26

Beskrivning av programmet 6.10.3 Manuellt När båten styrs manuellt vidarebefordrar mikrokontrollen signalerna från radiomottagaren till fartreglaget och roder. Mikrokontrollen fungerar som en buffert för signalerna. Se bild 6.10.3 för flödesschema och kod för Manuellt kod UtFart = InFart; UtStyra = InStyr; Kod för manuell styrning. Bild 6.10.3 flödesschema över Manuellt. 6.10.4 Automatiskt Den här funktionen styr modellbåten automatiskt. Se bild 6.10.4 för flödesschema. Bild 6.10.4 för flödesschema. Funktionen börjar med att hämta vilken position och riktning modellbåten har från GPS-mottagaren. Koordinaterna och riktningen omvandlas till decimaltal. Med koordinaterna beräknar mikrokontrollern fram avstånd och riktning till målkoordinatorn. Är avståndet till målkoordinatorn litet ska nästa målkoordinator väljas och till den beräkna en ny riktning. Med den nya riktningen regleras rodret med en P-regulator. 27

Beskrivning av programvara 6.10.5 Interrupt När båten körs med autopilot styrs den genom att timer2 skapar ett interrupt varje 10 millisekund. Avbrottet gör att timer 0 och 3 skickar en puls varje 20 millisekund. Timer3 styr pulsen till rodret och Timer0 styr pulsen till fartreglaget. Se bild 6.13. Varje gång ingången PortB plats 4 ändras sätts flaga RBIF. Den funktionen används till att räkna tiden på pulsen för tillståndsstyrning. TMR2IF blir aktiverad varje 10 millisekund. Varannan gång aktiveras TMR1 och TMR2. (3) Se bild 6.10.5. Bild 6.10.5 visar blockschema på interrupt. 28

Undersökning 7 Testmetodik 7.1 Test hårdvara All hårvara testas individuellt för att kontrollera att allt fungerar som det ska T.ex. GPS-mottagaren testades för att se att den hittade satteliter och att det går att skicka och ta emot data. Radiosystemet räckvid testades först för sig själv i ett villa område. Testet genomfördes genom att gå hundra meter och se om servona ändrade sig i förhållande till hur knappar och rattar ändrades på fjärsändaren. Därefter testades radiosystemet tillsammans med modellbåten. 7.2 Tester mjukvara Mplab har inbyggt simuleringsprogram som utnyttjas för simulering av programmets kod. Till simulering med hårdvara användes GPS-mottagaren, Pikkit2 från Microchip, en LCD display, tre dioder och en pic 16f2550 på en kopplingsplatta. Varje programfunktion i programmet testades för sig innan den kopplas samman med övriga funktioner. 7.3 Test av autopilot Testet genomfördes på samma plats varje gång förutom att koordinaterna ändrades. Plats Testet är utfört i Råå ån strax utanför Helsingborg. Programmering av autopilot Autopiloten är programmerad att köra till punkt 1 sen punkt 2 och därefter fortsätta till punkt 3. Efter det ska den börja om på punkt 1. Genomförande Först aktiveras sändaren och därefter mottagaren och modellbåt. När GPS-mottagaren har fått kontakt och skickar data körs båten ut manuellt. Modellbåten placerats i mellan punkterna, där aktiveras autopiloten. 29

Undersökning 8 Undersökning av navigeringsfel Bakgrund Under test av autopiloten upptäcktes att när den styr mot en sydlig riktning navigerar den fel. Genom felsökning kom det fram att felet hade att göra med uträkningen av riktningen mellan två punkter. Syfte och Mål Syftet är att undersöka formeln som räknar ut riktningen. Målet att ta reda på varför autopiloten navigerar fel när den ska köra söderut. Genomförande Med hjälp av Google Earth togs en mittpunkt ut på Munksjön. Från mittpunkten utgår det 36 linjer med 10 grader emellan varandra. Linjerna består av 20 till 40 punkter med en meters mellanrum. De linjer som är mellan 170 och 210 grader är 40 meter långa. Alla 36 linjerna simuleras i Mplab. Simuleringen genomfördes genom att från mittpunkten beräkna avstånd och riktning till varje punkt på varje linje. Beräkningar med mikrokontroller simulerades med pic 18f2550 med 32 bitars flyttal. Som referens användes en 32 bitars pc med samma formel med GNU Compiler Collection version 4.2.4. Referensen räknade ut avstånd och riktning med både 32 bitar och 64 bitar flyttal. I alla uträkningar har 9 delsvar sparats för manuell kontroll. Kod se bilaga 2. Resultat För resultat av uträkningar se bilaga 2.1 och 2.2. När blir det fel beräkningar Mikrokontrollen räknar ut fel när båten ska köra i riktning mellan 160 till 200 grader samt att avståndet mellan punkterna är mindre än 20 meter. Men runt 180 grader räknar mikrokontrollen ut fel över 40 meter bort. Övriga riktningar räknar den fel när avståndet är under 10 meter. Bilaga 2.1 Pc 32 bitars räknar lika mycket fel som mikrokontrollern. Däremot visar pc 64 bitar uträkningar bar något enstaka fel på 1 meters avstånd. Bilaga 2.2 Varför blir det fel? På grund av att 32 bitar flyttal inte kan representera alla decimaltal utan avrundas till ett tal i närheten som kan representeras. Det resulterar i att uträknad riktning blir någon grad fel. Det skapar ett problem som är att trigonometriska funktioner matas med tal som ligger utanför sin definitionsmängd. T.ex. arcos som är definierat mellan -1 till 1 ges ett värde utanför sin definitionsmängd. T.ex. 1.2 Då svara den med 0. Varför 0 det beror på kompilatorn. 30

Resultat 9 Resultat Resultatet blev en modellbåt som det går att styra manuellt med radioutrusning eller med autopilot. Autopiloten består av en mikrokontroller som använder en GPSmottagare för att styr modellbåten. Vägen som autopiloten ska köra är förprogrammerad i mikrokontrollern. Vägen består av koordinater till olika punkter. Med hjälp av data från GPS-mottagaren beräknar mikrokontrollern ut riktningen och avstånd till de koordinater som modellbåten ska köra till. Elektroniken är skyddad mot vatten genom att båten har ett speciellt utrymme som är tätat mot vatten. Luckan till utrymmet måste tejpas för att vara helt vattentätt. Fjärrstyrning av modellbåten fungerar med en rattradio som sänder på 27 MHz bandet. Det går att köra autopiloten i 15 minuter. Vid uppvisningen i Munksjön hade jag glömt locket till batteriet utan ersätter det med en bit plast och tejp. Det visade sig inte vara helt tät utan det kom in vatten i båten som resulterade i kortslutning. Mellan batterifacket och elektronik facket finns det en enkel plast tätning som inte höll. Vilket resulterade i att båten började bra men sen började uppföra sig konstigt. Bilder på modellbåten Se bild 9.1 och bild 9.2 Bild 9.1 visar modellbåten utan huven. Bild 9.2 visar modellbåten när den kör på autopilot. 31

Resultat 9.1 Navigering Navigeringen med autopiloten fungerar bra utom när modellbåten ska köra söderut. Uträkningen av kurs är inte optimal utan det blir fel på uträknad riktning när riktningen ska vara runt 180 grader. I stället för att köra rakt i 180 grader kör båten i en kurva till målet. Felet uppstår desto närmare riktningen är 180 grader och i förhållande till avståndet mellan punkterna. Avstånd som behövs stiger när riktningen för att köra till nästa punkt närmar sig 180 grader. Se bild 9.1 Bild 9.1 visar vilket avstånd som behövs för att rätt riktning ska kunna räknas fram. X axeln är grader och y axeln är i meter. Problemet beror på att mikrokontrollern inte kan räknar ut trigonometriska funktioner tillräckligt exakt. Problemet kommer ifrån att 32 bitar flyttal inte är tillräckligt exakta. Vid manuell kontroll av beräkningarna från pc och mikrokontrollern visar det sig att mikrokontrollern räknar fel ibland. Noggrannheten på 32 bitars flyttal är för liten. Hur påverkas modellbåten av felet? När modellbåten ska köra i en riktning mellan 160 och 200 kommer den komma fram till målpositionen, men den kommer att ta en krånglig väg dit. Modellbåten kommer att köra i ett hackigt cirkel liknande mönster mot målpositionen. Se bild 9.2 Färgerna grön, gul, turkos och lilla visar riktningen som modellbåten bör köra till målpositionen. Svart färg visar vilken väg modellbåten kör. Stor svart cirkel är målposition. 32 Bild 9.2 visar hur båten beter sig om den ska köra till ett mål i en riktning på 180 grader.

Slutsats 10 Slutsats Navigering kan bli bättre. Med hjälp av en kompass kan båten köra i högre hastighet och mer rakt. Nu används GPS-mottagaren som kompass och det blir inte bra på grund av att det uppstår instabilitet i reglersystemet i högre hastigheter. Det finns stora möjligheter för vidareutveckling till projektet. Det finns ett par ut och ingångar på mikrokontrollen som inte används, bland annat en analog ingång. Där går det att koppla in en termometer. Planeringen kunde varit mer hård t.ex. att delmål ska vara klara ett bestämt datum. Nu var det delmål som var tvungna att vara uppfyllda innan det var möjligt gå vidare. Vilket medförde att det tåg lite längre tid att göra projektet. Det svåraste i projektet var navigeringen av modellbåten hur reglersystemet ska fungerar. Det behövde betydligt mer tid och var mer komplicerat än det var planerat. Men det vara intressant och utmanade. 33

Slutsats 11 Förslag på fortsatt arbete För att förbättra navigeringen skulle en elektriskkompass kunna användas. De har högre uppdaterings av data. Det skulle innebära att båten kan styras i en högre fart samt rakare reglering av kursen. Nuvarande p-reglering är enkel och har mycket dötid. Med en bättre regler funktion i mjukvara t.ex. en PID-regulator skulle navigeringen bli finnare. Men tar längre tid att utföra vilket kan innebära att klockfrekvensen behöver ökas. Styrningen av modellbåtens hastighet kan förbättras genom att ändra hastigheten i förhållande till avståndet till målkoordinaterna. I stället för 3 m/s som det är nu. Kan modellbåten köra i 10m/s om det är över 100 m till målkoordinaterna. Fjärrstyrningen kan förbättras med tex zigbee eller xbee modul. De fungerar som en trådlös brygga för seriell kommunikation. De har moduler som har räckvidd över 1 km. Då kan det också vara tvåvägs kommunikation mellan båten och fjärsändaren, kan t.ex. användas för att visa båten på en karta. 34

Litteraturförteckning 12 Litteraturförteckning 1. GPS. Wikipedia. http://sv.wikipedia.org. [Online] den 29 06 2009. http://sv.wikipedia.org/wiki/gps. 2. WGS84. Wikipedia. [Online] 8009-11-10. http://en.wikipedia.org/wiki/world_geodetic_system. 3. Microchip. http://www.microchip.com. [Online] den 03 05 2009. http://ww1.microchip.com/downloads/en/devicedoc/39632d.pdf. 4. ppm, Radio FM AM. Svensk modelflyg. http://www.svensktmodellflyg.se/. [Online] den 11 06 2009. http://www.svensktmodellflyg.se/beginner_radio.asp. 5. NMEA. Gpsinformation. http://www.gpsinformation.org. [Online] den 20 06 2009. http://www.gpsinformation.org/dale/nmea.htm. 6. ASCII. http://sv.wikipedia.org/. [Online] den 05 11 2009. http://sv.wikipedia.org/wiki/ascii. 7. Usenet replayer. http://www.usenet-replayer.com. [Online] den 29 06 2009. http://www.usenet-replayer.com/faq/comp.infosystems.gis.html. 8. Haversine. Wikipedia. http://en.wikipedia.org/. [Online] den 03 05 2009. http://en.wikipedia.org/wiki/haversine_formula. 9. Lennart Råde, Bertil Westergren. Mathematics Hanbook for science and Engeenring. 2002. ISBN 91-44-03109-2. 10. Haversine. Mathforum. http://mathforum.org. [Online] den 29 06 2006. http://mathforum.org/library/drmath/view/51879.html. 11. Mathforum. http://mathforum.org/. [Online] den 19 06 2009. http://mathforum.org/library/drmath/view/55417.html. 12. Hans, Lundqvist. Analog Kretselektronik. u.o. : ISBN 91-47-00800-8, 1999. 13. Elfa. http://www.elfa.se. [Online] den 03 05 2009. http://www.elfa.se. 14. Et-312. Elfa. http://www.elfa.se. [Online] den 03 05 2009. https://www1.elfa.se/data1/wwwroot/webroot/z_data/07840044.pdf. 15. EM-411. Elfa. https://www.elfa.se. [Online] den 03 05 2009. https://www1.elfa.se/data1/wwwroot/webroot/z_data/07840002.pdf. 16. RS online. http://www.rsonline.se. [Online] den 03 05 2009. http://www.rsonline.se. 17. Fastrax. http://www.fastraxgps.com. [Online] den 03 05 2009. 18. ITRAX. Ovrem. http://www.orvem.net. [Online] den 03 05 2009. http://www.orvem.net/specifiche%20tecniche/fastrax/itrax03.pdf. 19. 74HCT04. Elfa. https://www.elfa.se. [Online] den 11 06 2009. https://www1.elfa.se/data1/wwwroot/webroot/z_static/sv/pdf/fakta.pdf. 20. UART. Maxim. http://pdfserv.maxim-ic.com. [Online] den 11 06 2009. http://pdfserv.maxim-ic.com/en/an/an2141.pdf. 21. Batterisföreningen. http://www.batteriföreningen.com. [Online] den 31 05 2009. http://www.batteriforeningen.a.se/fakta-sekundaer.html. 22. [bokförf.] Wilmshurst Tim. Designing Embedded systems whit pic Microcontrollers. u.o. : ISBN 987-0-7506-6755-5, 2005. 23. Hanbo, Christer. Förarintyg. 2007. ISBN 91-44-03109-2. 24. Identsys. http://www.identsys.se/. [Online] den 04 06 2009. http://www.identsys.se/website/index.php?option=com_content&view=article&id=20&itemid =61. 25. Tengstrand, Anders. Åtta kapitel om Geomaetri. 2005. 26. Thomas, Bertil. Modern Reglerteknik. 2003. ISBN 91-47-05085-3. 35

13 Sökord Abstract...2 Dioder...19 GPS...15 Konvertering...22 Mikrokontroller...10 NMEA...10 Pic 18f2455...18 Radio...14 Sammanfattning...3 Servo...23 Slutsats och diskussion...33 UART...19 Uppladdningsbara batterier...9 Sökord 36

Sökord 37

14 Bilagor Bilaga 1 Teckentabell Bilaga 2 Tabell Bilaga 3 Blockschema Bilaga 4 Manual Bilaga 5 Schema Bilaga 6 Kod 38

14.1 Bilaga 1 Teckentabell från wikipedia (6) Tabellen innehåller förutom tecken även styr koder som blanksteg och ny rad. ISO-8859-1 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf 0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC IS4 IS3 IS2 IS1 2x SP! " # $ % & ' ( ) * +, -. / 3x 0 1 2 3 4 5 6 7 8 9 : ; < = >? 4x @ A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z [ \ ] ^ _ 6x ` A b c d e f g h i j k l m n o 7x p Q r s t u v w x y z ~ DEL 8x PAD HOP BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3 9x DCS PU1 PU2 STS CCH MW SPA EPA SOS SGCI SCI CSI ST OSC PM APC Ax NBSP ª «SHY Bx ± ² ³ µ ¹ º» ¼ ½ ¾ Cx À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Dx Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß Ex à Á â ã ä å æ ç è é ê ë ì í î ï Fx ð Ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ 39

14.2 Bilaga 2 Kod för rikningsberäkning Char16 KalkyleraRikning (double DataM, double alat1, double alat2, double alon1, double alon2) double dlo,d,la1,la2,lo1,lo2,s,a,c; Char16 rikning; #define C 180/3.141592 la1 = (alat1 )* C ; //Del beräkning 1 la2 = (alat2 )* C ; //Del beräkning 2 lo1 = (alon1 )* C ; //Del beräkning 3 lo2 = (alon2 )* C ; //Del beräkning 4 //**********' dlo = lo2-lo1; //Del beräkning 5 s=sin(la2)-sin(la1); //Del beräkning 6 a= s*cos(datam); //Del beräkning 7 c=sin(datam)*cos(la1); //Del beräkning 8 d = acos((a)/(c)); //Del beräkning 9 if (dlo>0.0) else rikning = d*180.0/pi; rikning = 360.0-(d*180.0/pi); return rikning; //Del beräkning 10 Bilaga 2.1 Ett urval av beräkningar på mikrokontroller. Visar beräknad kurs och del uträkningar. //Önskad uträknad kurs 190 Avstånd 00m DataM=0.00000 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00840 lo1=2.47237 lo2=2.47237 s=0.00000 a=0.00000 c=0.00000 d=1.57079 Beräknad Kurs 270 40

Avstånd 00m DataM=1.23373 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00840 lo1=2.47237 lo2=2.47237 s=-1.7881 a=-1.7881 c=6.57845 d=1.57079 Beräknad Kurs 270 Avstånd 01m DataM=2.44820 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47237 s=-1.7881 a=-1.7881 c=1.30541 d=1.57079 Beräknad Kurs 270 Avstånd 02m DataM=3.68152 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47237 s=-2.3841 a=-2.3841 c=1.96304 d=1.57079 Beräknad Kurs 270 Avstånd 03m DataM=6.06337 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47237 s=-4.1723 a=-4.1723 c=3.23308 d=1.57079 Beräknad Kurs 270 Avstånd 04m DataM=7.27898 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47237 s=-4.7683 a=-4.7683 c=3.88126 d=1.57079 Beräknad Kurs 270 Avstånd 05m DataM=8.50983 alat1=5.77770 alat2=5.77770 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-4.7683 a=-4.7683 c=4.53757 d=1.57079 Beräknad Kurs 270 Avstånd 06m DataM=9.72552 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-5.9604 a=-5.9604 c=5.18579 d=1.57079 Beräknad Kurs 270 Avstånd 07m DataM=1.21124 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-7.1525 a=-7.1525 c=6.45853 d=1.57079 Beräknad Kurs 270 Avstånd 08m DataM=1.33572 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-7.1525 a=-7.1525 c=7.12228 d=1.57079 Beräknad Kurs 270 Avstånd 09m 41

DataM=1.45293 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-8.9406 a=-8.9406 c=7.74725 d=1.57079 Beräknad Kurs 270 Avstånd 10m DataM=1.57735 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-9.5367 a=-9.5367 c=8.41072 d=1.57079 Beräknad Kurs 270 Avstånd 10m DataM=1.69745 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-9.5367 a=-9.5367 c=9.05108 d=1.57079 Beräknad Kurs 270 Avstånd 11m DataM=1.81901 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.0728 a=-1.0728 c=9.69925 d=1.57079 Beräknad Kurs 270 Avstånd 13m DataM=2.06067 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.0728 a=-1.0728 c=1.09878 d=2.92403 Beräknad Kurs 192 Avstånd 13m DataM=2.18369 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.0728 a=-1.0728 c=1.16438 d=2.74251 Beräknad Kurs 202 Avstånd 14m DataM=2.30525 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.1324 a=-1.1324 c=1.22919 d=2.74226 Beräknad Kurs 202 Avstånd 15m DataM=2.42535 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.3113 a=-1.3113 c=1.29323 d=1.57079 Beräknad Kurs 270 Avstånd 16m DataM=2.54690 alat1=5.77770 alat2=5.77769 alon1=1.41656 alon2=1.41656 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.3709 a=-1.3709 c=1.35805 d=1.57079 Beräknad Kurs 270 Avstånd 17m DataM=2.78857 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41656 42

la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.5497 a=-1.5497 c=1.48690 d=1.57079 Beräknad Kurs 270 Avstånd 18m DataM=2.90868 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.6093 a=-1.6093 c=1.55095 d=1.57079 Beräknad Kurs 270 Avstånd 19m DataM=3.03024 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.6093 a=-1.6093 c=1.61577 d=3.05224 Beräknad Kurs 185 Avstånd 20m DataM=3.15471 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.6689 a=-1.6689 c=1.68214 d=3.01616 Beräknad Kurs 187 Avstånd 21m DataM=3.39490 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.8477 a=-1.8477 c=1.81021 d=1.57079 Beräknad Kurs 270 Avstånd 22m DataM=3.51646 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.8477 a=-1.8477 c=1.87503 d=2.97077 Beräknad Kurs 189 Avstånd 23m DataM=3.63657 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47236 s=-1.9073 a=-1.9073 c=1.93907 d=2.96044 Beräknad Kurs 190 Avstånd 23m DataM=3.75813 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.0265 a=-2.0265 c=2.00389 d=1.57079 Beräknad Kurs 270 Avstånd 25m DataM=3.99980 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.1457 a=-2.1457 c=2.13275 d=1.57079 Beräknad Kurs 270 Avstånd 26m DataM=4.11992 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 43

s=-2.2649 a=-2.2649 c=2.19680 d=1.57079 Beräknad Kurs 270 Avstånd 27m DataM=4.24436 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.3245 a=-2.3245 c=2.26315 d=1.57079 Beräknad Kurs 270 Avstånd 27m DataM=4.36592 alat1=5.77770 alat2=5.77768 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.3245 a=-2.3245 c=2.32797 d=3.08757 Beräknad Kurs 183 Avstånd 29m DataM=4.60328 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.5033 a=-2.5033 c=2.45454 d=1.57079 Beräknad Kurs 270 Avstånd 30m DataM=4.72769 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.5630 a=-2.5630 c=2.52087 d=1.57079 Beräknad Kurs 270 Avstånd 30m DataM=4.84924 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.6226 a=-2.6226 c=2.58569 d=1.57079 Beräknad Kurs 270 Avstånd 31m DataM=4.96936 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.6226 a=-2.6226 c=2.64974 d=2.99835 Beräknad Kurs 188 Avstånd 32m DataM=5.09381 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.8014 a=-2.8014 c=2.71610 d=1.57079 Beräknad Kurs 270 Avstånd 33m DataM=5.33116 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.8014 a=-2.8014 c=2.84265 d=2.97104 Beräknad Kurs 189 Avstånd 34m DataM=5.45271 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.9206 a=-2.9206 c=2.90747 d=1.57079 44

Beräknad Kurs 270 Avstånd 35m DataM=5.57714 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-2.9802 a=-2.9802 c=2.97381 d=1.57079 Beräknad Kurs 270 Avstånd 36m DataM=5.70015 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.0398 a=-3.0398 c=3.03941 d=1.57079 Beräknad Kurs 270 Avstånd 37m DataM=5.81880 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.0398 a=-3.0398 c=3.10267 d=2.93998 Beräknad Kurs 191 Avstånd 38m DataM=6.06047 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.2186 a=-3.2186 c=3.23154 d=3.05224 Beräknad Kurs 185 Avstånd 39m DataM=6.18059 alat1=5.77770 alat2=5.77767 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.2782 a=-3.2782 c=3.29559 d=3.03898 Beräknad Kurs 185 Avstånd 40m DataM=6.30215 alat1=5.77770 alat2=5.77766 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.2782 a=-3.2782 c=3.36040 d=2.92002 Beräknad Kurs 192 Avstånd 40m DataM=6.42514 alat1=5.77770 alat2=5.77766 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.4570 a=-3.4570 c=3.42598 d=1.57079 Beräknad Kurs 270 Avstånd 42m DataM=6.66681 alat1=5.77770 alat2=5.77766 alon1=1.41656 alon2=1.41655 la1=1.00840 la2=1.00839 lo1=2.47237 lo2=2.47235 s=-3.5166 a=-3.5166 c=3.55484 d=2.99491 Beräknad Kurs 188 Bilaga 2.2 Beräkningar på pc. I de två första kolumnerna visar beräkning på 32bitars flyttal. I de två sista visar 64bitars beräkningar. 45

Float Float Double Double Riktning 10 Avstånd Avstånd Rikning 0 0 0 109 0 23 0 10 2 22 1 10 3 22 2 10 3 22 3 10 4 22 4 9 6 22 5 10 6 0 6 10 7 22 7 10 8 0 8 10 10 5 9 10 10 8 10 10 11 9 11 10 12 11 12 10 13 12 13 10 13 13 13 10 15 14 14 10 Riktning 20 0 90 0 51 1 24 1 19 2 26 2 19 3 28 3 20 4 28 4 20 5 0 5 20 6 27 6 19 7 10 7 19 8 28 8 20 8 16 9 20 10 17 10 20 11 18 11 20 12 19 12 20 12 20 13 20 14 20 13 20 15 21 15 19 16 22 15 20 16 22 17 19 18 16 17 20 19 23 19 19 20 17 19 20 46

Riktning 30 0 90 0 74 0 38 0 31 2 31 1 31 3 33 3 30 4 34 4 29 5 34 4 29 6 21 6 29 7 35 7 30 7 25 7 29 8 36 8 30 10 34 9 30 11 27 10 29 12 28 11 29 13 29 12 30 13 30 13 30 14 30 14 30 15 31 15 29 16 31 16 30 18 30 17 29 19 31 18 29 20 27 19 30 Riktning 40 0 90 0 38 0 38 0 39 1 39 1 39 2 40 2 39 3 40 3 40 4 40 4 40 5 44 5 39 5 44 5 39 6 34 6 39 7 43 7 39 8 36 8 39 9 43 9 40 10 36 10 39 11 42 11 40 11 44 12 40 12 39 13 40 13 39 13 40 14 39 14 40 15 39 15 40 47

16 39 16 40 17 39 17 40 17 40 17 39 18 40 18 39 19 40 19 40 20 40 20 40 21 40 21 39 Riktning 130 0 90 0 60 0 90 0 128 1 114 1 128 2 121 2 129 3 125 3 129 4 138 4 129 5 131 5 129 6 123 6 130 7 131 7 129 8 125 8 129 9 131 9 129 10 131 10 129 11 131 11 129 12 129 12 130 13 129 13 129 14 129 14 129 15 129 15 130 16 129 16 129 17 130 17 129 18 128 18 129 19 129 19 129 Riktning 140 0 0 0 12 0 90 0 138 1 123 1 138 2 129 2 139 3 132 3 139 4 148 4 139 5 134 5 139 6 145 6 139 7 135 7 139 8 143 8 139 8 143 8 140 48

9 142 9 139 10 139 10 139 11 140 11 139 12 139 12 140 13 139 13 139 14 139 14 139 14 139 15 139 15 139 16 139 16 139 16 139 17 142 17 139 18 139 18 140 19 137 19 139 20 141 20 139 21 138 21 140 Riktning 145 0 90 0 80 0 137 1 143 2 135 2 144 3 135 3 144 3 154 4 145 5 153 5 144 6 138 6 145 8 148 8 144 9 146 9 145 10 145 10 145 11 144 11 145 13 145 13 144 14 144 14 145 15 144 15 144 16 147 17 145 18 146 18 145 Riktning 150 0 90 0 66 0 139 1 148 1 141 2 149 2 139 3 148 3 165 4 149 4 140 5 149 6 144 6 149 7 155 7 149 7 152 8 149 49

8 151 9 149 9 150 10 149 11 150 11 149 12 149 12 149 13 148 13 149 14 149 14 149 15 154 15 149 16 148 16 149 17 152 17 149 18 147 19 150 20 147 20 149 21 151 21 149 22 150 22 149 Riktning 160 0 90 0 26 0 145 1 159 1 147 2 159 3 0 3 159 4 150 4 159 4 0 5 159 6 171 6 159 7 166 7 159 8 163 8 159 9 162 9 160 10 160 10 160 12 159 12 159 12 158 13 160 14 168 14 159 15 157 15 160 16 164 16 159 17 156 17 160 18 156 18 160 19 162 19 159 20 161 20 159 21 161 21 159 22 160 22 159 23 160 23 160 25 159 24 160 25 159 25 160 26 158 27 159 28 158 28 159 29 162 29 160 50

29 157 30 159 31 161 31 160 32 161 32 160 33 160 33 160 34 160 34 159 35 160 35 160 37 159 37 160 38 159 38 159 38 162 39 160 40 162 40 159 Riktning 170 0 90 0 106 0 152 1 167 1 155 2 170 3 0 3 169 3 156 4 169 4 0 5 170 6 0 6 170 6 0 7 169 8 0 8 169 9 177 9 170 10 172 10 169 11 169 11 170 12 168 12 169 13 0 14 169 14 166 15 169 16 165 16 169 16 0 17 170 18 178 18 169 19 175 19 169 20 172 20 170 21 171 21 169 22 170 22 169 23 169 23 169 24 168 24 169 25 168 26 169 27 167 27 169 27 178 28 169 29 175 29 169 30 173 30 170 31 172 31 170 32 171 32 169 51

33 170 33 170 34 169 34 169 35 169 35 169 37 0 36 169 37 168 38 169 39 167 39 170 40 173 40 170 41 172 41 169 42 172 42 170 43 171 43 169 Riktning 175 0 90 0 42 0 154 1 172 2 158 2 173 3 0 3 174 3 158 4 174 4 0 5 174 6 0 6 175 6 0 7 174 7 0 8 174 8 0 8 175 9 0 9 174 10 0 10 175 11 174 11 175 12 171 12 175 13 0 13 174 14 169 14 174 Riktning 180 0 90 0 112 0 200 0 181 1 200 1 181 2 159 2 179 3 0 3 180 4 0 4 180 5 200 5 180 6 0 6 179 6 0 7 180 7 0 8 180 8 0 8 179 9 0 9 179 10 0 10 180 52

11 0 11 180 12 184 12 180 12 186 13 180 13 0 14 180 15 0 15 180 15 190 15 180 16 0 16 179 17 191 17 180 18 0 18 180 18 0 19 179 19 0 20 180 20 0 20 179 21 0 21 180 22 0 22 180 23 183 23 180 24 184 24 180 25 174 25 179 25 0 26 180 26 187 26 179 27 0 27 180 28 0 28 179 29 0 29 180 30 0 30 180 31 0 31 180 31 0 32 180 32 0 32 180 33 0 33 180 34 0 34 180 34 182 35 180 36 0 36 180 37 185 37 180 37 0 38 180 38 186 39 180 39 0 39 180 40 187 40 180 41 0 41 180 42 0 42 179 Riktning 190 0 0 0 355 0 205 1 192 1 204 1 191 2 205 2 191 53

3 202 3 190 4 0 4 190 5 202 5 190 6 0 6 190 7 0 7 190 8 0 8 190 9 182 9 190 10 187 10 190 10 188 11 190 12 191 12 190 13 192 13 190 13 0 14 190 14 193 15 190 15 0 15 190 16 0 16 190 17 195 17 190 18 182 18 190 19 185 19 190 20 187 20 190 21 188 21 190 22 189 22 190 23 190 23 190 23 191 24 190 24 191 25 190 26 0 26 190 27 192 27 190 27 182 28 190 28 193 29 190 30 186 30 190 30 187 31 190 31 188 31 190 32 188 32 190 33 189 33 190 34 190 34 190 35 190 35 190 36 191 36 190 37 182 37 190 38 184 38 190 39 192 39 190 40 186 40 190 40 193 41 190 41 188 42 190 54

Riktning 200 0 90 0 91 0 211 1 200 1 211 2 199 3 0 3 199 4 208 4 200 4 0 5 199 5 209 6 200 7 191 7 200 8 195 8 200 8 196 9 199 9 198 10 199 11 199 11 200 12 200 12 200 13 201 13 200 14 191 14 200 15 202 15 200 16 194 16 200 17 203 17 200 18 203 18 200 19 197 19 199 20 198 20 200 21 198 21 199 22 199 22 200 23 199 23 200 24 200 24 200 25 200 25 200 26 200 26 200 27 196 27 200 28 201 28 199 29 197 29 200 30 198 30 200 31 198 31 200 32 198 32 200 33 199 33 200 34 199 34 200 35 199 35 200 36 200 36 200 37 200 37 200 Riktning 205 0 218 1 204 1 212 1 204 55

2 211 2 204 2 215 3 204 3 0 3 204 4 212 4 205 4 181 4 204 5 212 6 205 6 197 6 204 7 198 7 204 7 201 8 205 8 201 8 204 10 202 9 205 10 204 10 204 11 204 11 204 12 204 12 204 14 205 14 204 Riktning 210 0 90 0 47 0 218 1 208 1 219 2 209 2 220 3 209 4 216 4 210 5 201 5 210 6 217 6 209 7 205 7 209 8 207 8 210 9 208 9 209 10 209 11 210 12 209 12 209 13 209 13 210 14 210 14 209 15 211 15 210 15 206 16 209 16 212 17 210 18 211 18 209 220 Riktning 230 0 90 0 32 1 228 1 230 1 245 2 229 2 239 3 230 56

3 236 4 230 4 222 4 230 5 233 6 229 7 224 6 229 7 228 8 229 8 234 8 229 9 229 10 229 10 229 11 229 11 229 12 229 13 229 13 229 14 229 14 229 15 229 15 230 15 231 16 230 17 231 17 230 18 231 18 230 19 230 19 230 20 230 20 230 Riktning 340 0 90 0 44 1 339 0 352 2 338 1 351 3 338 3 350 4 338 4 350 5 0 5 350 6 337 6 350 7 337 7 350 8 0 8 350 9 337 9 350 10 352 10 350 11 350 11 350 12 349 12 350 13 348 13 350 14 347 14 350 15 346 14 350 16 345 15 350 Riktning 330 0 90 0 44 1 339 0 352 2 338 1 351 3 338 3 350 4 338 4 350 57

5 0 5 350 6 337 6 350 7 337 7 350 8 0 8 350 9 337 9 350 10 352 10 350 11 350 11 350 12 349 12 350 13 348 13 350 14 347 14 350 15 346 14 350 16 345 15 350 58

14.3 Bilaga 3 Blockschema över konstruktionen som visar hur komponenterna är ihopkopplade. Lampa 1lyser när mikrokontrollen styr båten och är släckt när båten styrs manuellt. Lampa 2 används inte. Bild 10.3 blockschema 59

14.4 Bilaga 4 Radiosändaren på bild13.1 används för att styra båten. Med Radiosändaren styr man om båten ska styrs manuellt eller med mikrokontrollen. Med knapp 3 växlar man mellan Manuellt eller Automatiskt läge. Knapp 1 styr båten hastighet. Båten kan köra framåt och bakåt. Knapp två styr rodret. Se Bild 1 för beskrivning var knapparna sitter. Radiosändaren har inbyggd batterivarnare som varnar när batterierna har låg energi kvar. När man ska köra båten börjar man med att dra ut antennen helt sen slår man på radiosändaren därefter modellbåten. Bild.1 Bild på Radiosändare. 60