Robotprototyp. En beskrivning i hur man kan bygga en microprocessorstyrd enhet som kan navigera med egen beslutskraft i hemmet



Relevanta dokument
Systemkonstruktion Z2

Digitala Projekt (EITF11)

SmartCat Pejlare S300

Robotfotboll med Arduino

Batteriladdare Smart 50 Med inbyggd ficklampa för 6 200Ah bly-syra batterier

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

BATTERITESTARE EM Bruks- och underhållsanvisning

Batteriladdare Smart 100 Med inbyggd ficklampa för 6 240Ah bly-syra batterier

OCS-S Högupplöst Digital Kranvåg

ATT ANVÄNDA RADIO (GRUNDFUNKTIONER)

Fysikens lagar och hur dessa påverkar en robot

BatterIaddare Smart 20 för 1-20Ah bly-syra batterier

Troubleshooting guide TC models

Bruksanvisning. Enfas elmotor typ: E80, E100, E150. OBS! Ägaren/användaren måste läsa och fullständigt förstå informationen som anges här.

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

BRUKSANVISNING. Den här produkten är i linje med det som föreskrivs i Direktiv 1999/5/EC

Tinytag. Strömtångspaket. Rev: Gjutarevägen Stenkullen

AT3000 Kabel-, rör-, metall- och installationssökare

Digitala projekt - Radiostyrd bil

MS-250M. Elektriskt ställdon för styrning/reglering av spjäll, ledskenor och ventiler

LBST-609. NEXA LBST-609 Skymningsrelä. Säkerhet. Tekniska data

DEUTSCH. Silent 40 Batt

STERLING OPAL 3 & 4 Information till tekniker

Larmanordning för motorcykel BRUKSANVISNING

TILL ANVÄNDAREN GARAGE BB-30.5 BRUKSANVISNING

6 ACS-Systemet (Advanced Control System)

Bruksanvisning. Bestic software version Äthjälpmedel. Internet:

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

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

Datakommunikation med IR-ljus.

Instruktion. E-Green Medio

MaxPower INSTALLATIONS OCH BRUKSANVISNING

Batteriladdare Smart 75 Med inbyggd ficklampa och konstant 13.7VDC-läge för 1-150Ah bly-syra batterier

Systemkonstruktion SERIEKOMMUNIKATION

Bruksanvisning TriomiX

BOLTHi INTELLIGENT RÖRELSEDETEKTOR MED SVÄNGBAR STRÅLKASTARE, KAMERA OCH LARM

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

GYLT/GYLS. Manual. Sid 1(6) Smidig och enkel anslutning med M12-kontakten. Mekanisk specifikation

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

Krypande kaninen Karin

JF-Link. Trådlös elmanövrering av hydraulik. Instruktionsbok. Bruksanvisning i original

EAB - Maxipacker. Brett användningsområde Maxipacker kan användas för Filo-, Plock- och Fifo-hantering, se separat

Säng-/Dörrvakt PIR-2003 Bruksanvisning

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

Instruktion värmeväxlarstyrning RHX 2M SILVER C RX, RECOnomic stl , RECOsorptic stl

Laboration i Maskinelement

36V. Batteridrivna Verktyg LITHIUM-ION

Vrid och vänd en rörande historia

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Image Elcykel!!?? Sjösala Elcykel. - Manual -

användarmanual 12 v blybatterier ah

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

SLIMLIFT Väggmonterad Bänklyftare GRANBERG

STOLVÅG VEH-200-EC. Före hösten 2004 levererades Indikatorn i en något annorlunda kapsling med batteriet monterat i högra sidan på lådan.

LEGO MINDSTORMS Education EV3

Frågor - Högstadiet. Grupp 1. Jetline. Hur låter det när tåget dras uppför första backen? Vad beror det på? (Tips finns vid teknikbordet)

Vill du slippa gå ur bilen vid garaget i mörker och oväder?

ROBOTDAMMSUGARE M-688 HN 6271 ANVÄNDARMANUAL

STARTKLAR MED CALIX. Batteriladdarsortiment.

Linjett-tips. Av Margaretha och Kjell Björklund L33, nr 33, Marelin Tel Med tack till DELAB för medverkan!

Sjöfartshögskolan WINDBELT. Henrik Nilsson Thomas Helgesson. Handledare: Åke Nyström Sjöfartshögskolan

Installationsmanual ML40 Plus

Trassliga trådspelet Troja

geoliner 480 / 482 Fyrhjulsmätinstrument för personbilar, med CCD-teknik & Windows

FLEXIT SPIRIT. Monteringsinstruktion

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

BRUKSANVISNING. Designkapa. Nova Trend 90 EXTM

2. Får jag bestämma var ni ska gräva? Ja, om det finns något känsligt i vägen vid grävning kan ni påverka var grävning ska ske.

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

SOLEL till Båten ger frihet på sjön

e-sense move dali Manual

INSTRUKTIONSBOK EOS UCM-PAKET

BATTERIKURS. Kursprogram

Enkel rak plastplog. Fäst med eltejp som ovan eller på annat sätt. Såga till plogen eller skär ut den med mattkniv

Instruktionsbok Modeller: T1100, FL400

Smartboard manual/bruksanvisning

E=mc^3 Audio. Presenterar lite stolt: RKDD1. RumsKompenserande Dämpad Dipol no. 1

SLALOMINGÅNGAR hur svårt kan det vara?

NC22EU SMARTKLEEN POOL ROBOT BOTTENSUGARE

TENTAMENSUPPGIFTER I ELEKTROTEKNIK MED SVAR

Växtviskaren EITF11 Digitala projekt VT15, I12

Manual för WMR- 252 inbyggnadsmottagare med universaldimmer

Tele Radio 860. Manual IM A3

Bruksanvisning. trailerline elvinsch. Bruksanvisning Elvinsch version trailerline

Exterior 90. Bruksanvisning

BRUKSANVISNING ELHYBRIDCYKEL

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

RC-helikopter FLY M01. Radio-ohjattava helikopteri FLY M01

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Vattenfelsbrytare esystop flow

SuperNova BabyCall. Bruksanvisning. Art nr:

- kvalitet till rätt pris. version krafer takskjutport modell Nordic

Stopper-/tvärbalk impregnerat trä 50x100 mm 2 st 2490 mm (alltid samma mått)

Agrifab_A4_Lawn_sweeper.book Seite 1 Freitag, 4. März : Printed in U.S.A. Form 48882

INSTALLATIONSANVISNING BC500G2 6 CYL, MED GENERELLT KABLAGE

BRUKSANVISNING VE ISO

JP JOYSTICKS PJP-008 & PJP-014

Programmera i teknik - kreativa projekt med Arduino

Wolkerova 845 CZ Hulin Czech Republic

Transkript:

Robotprototyp En beskrivning i hur man kan bygga en microprocessorstyrd enhet som kan navigera med egen beslutskraft i hemmet Svante Johansson i november 2013 Robotprototyp - ett bygge av Svante Johansson - Sida 1/27

Innehållsförteckning Robotprototyp... 1 Innehållsförteckning... 2 Inledning... 5 Min idé... 6 Kostnad och Tid... 7 Kostnad Budget Utfall... 7 Tidplan Budget Status Utfall... 7 Chassiet... 8 Drivhjul... 8 Stödhjul... 8 Drivmotorer... 8 Hjulupphängning och transmission... 8 Framdrivning... 8 Energiförsörjning... 9 Logiken/hårdvaran... 9 Motorerna... 9 Hårdvarumoduler...10 Arduino uno microcontroller...10 IR...10 Ultraljud...10 Temperatursensor...11 Energiövervakning...11 Motorstyrning...12 Portkonfiguration...13 Digitalt 11 portar...13 Analogt 5 portar...13 Programfunktioner...14 Motor...14 Kalibrera...14 Stå still...14 Hålla konstant hastighet...14 Accelerera/retardera framåt/bakåt...14 Bromsa till stillastående...14 Rotera x grader med radie y mm höger/vänster, fram/back...14 Infra red...14 Kalibrera...14 Scanna...14 Ultra sonic...14 Kalibrera...14 Scanna...14 Servo...14 Defautpattern...14 Energikontroll...14 Mät batteriströmmen under drift...14 Mät motorspänning under drift...14 Mät motorspänning vid stopp...14 Mät logikspänning under drift...14 Robotprototyp - ett bygge av Svante Johansson - Sida 2/27

Mät logikspänning vid stopp...14 Användningsfall...15 Användningsfall...15 Åk rakt fram till en vägg och stanna...15 Stanna nära ett föremål...15 Åk runt ett föremål...15 Vinkla upp parallellt med en vägg...15 Hitta ett hörn...15 Kom ur ett hörn...15 Fiska upp en tennisboll...15 Hitta hem...15 Åka hem och ladda upp batterierna...15 Fel- och statuskoder...16 Felkoder...16 Statuskoder...16 Program...17 Programmeringsmodell...17 Huvudprogram...17 Teknisk specifikation...18 Motor...18 Batterier 2 enheter enligt nedan...18 Fordonet...18 Chassiet...18 Materiallista...19 Elektronik Totalpris Vikt/st...19 Mekanik...19 Strömförsörjning...19 Övrigt...20 Appendix A Kopplingsscheman...21 Ultrasonic...21 IR...21 Motor...21 Temperatur...21 Motorbatteri...21 Huvudbatteri...21 Laddning av batterierna...21 Appendix B Bilder och skisser...22 Chassiet...22 Motor och upphängning...22 Elektronikmodulerna...23 Batterier 12 stycken...23 Batterihållare - logik...23 Batterihållare motor...23 Ultraljudenheten (som ska lödas på ett kort)...23 H-Bryggan, kretsen som hanterar motorerna...24 Strömförsörjningskablar...24 Infrarödenheten, fast i detta utförande, bara röd...24 Energiövervakningsenheten...24 ServoAppendix C Programmoduler...24 Appendix C Programmoduler...25 Robotprototyp - ett bygge av Svante Johansson - Sida 3/27

CommonConst...25 DCMotor...25 InfraRed...25 UltraSonic...25 Servomotor...25 DCMotorControl...25 IRDistance...25 USDistance...25 TempMeasure...25 BatteryMainPower...25 BatteryMotorPower...25 BatteryMotorCurrent...25 Apendix D Beräkningar...26 Appendix E Länkar...27 Motor...27 Robot/Motor...27 Diverse...27 Elektronik...27 Batteriladdare...27 Robotprototyp - ett bygge av Svante Johansson - Sida 4/27

Inledning Som sedan barnsben elektronikintresserad person har jag nyligen insett att saker och ting inte ser ut som det gjorde för fyrtio år sen. Då var allt som hade med digitalteknik i princip otillgängligt för privatpersoner. Idag finns det en uppsjö av mikroprocessorer och labsatser till överkomliga priser. Detta fick mig att införskaffa en labsats av märket Arduino och det har lett till att jag har blivit intresserad av att se vad jag kan skapa med ganska enkla medel. Två tydliga begränsningar finns - tid och pengar. Labbandet får inte kosta skjortan och jag har inte särskilt gott om tid. Labbandet skall enbart ses som en hobby som jag gör för att det är roligt och om det leder fram till något konkret får vi se, jag har i alla fall en idé. Robotprototyp - ett bygge av Svante Johansson - Sida 5/27

Min idé Min idé är att bygga en mekaniskt framdriven farkost som kan röra sig på golv inomhus helt själv och på olika sätt erinra sig saker i sin omgivning så att den, i bästa fall inte krockar med väggar, möbler eller levande varelser. När detta är genomfört kommer jag att ha ett redskap för att kunna forska vidare på hur jag kan utveckla denna modell till någonting mera. Men det är ett annat steg som inte inkluderas i denna prototyps första steg. Min idé är inte tänkt att ha någon kommersiell framgång, tvärt om så är den långt ifrån unik och det är en medveten strategi eftersom det då kommer att finnas massor med information om hur andra har löst olika problem jag kommer att stöta på. Dessutom är grundproblemet, att få en maskin att undvika hinder i sin omgivning, så centralt och grundläggande när det gäller automatisering av människans omgivning att det i sig är intressant. I idén ligger också att jag ska försöka genomföra detta projekt så genomarbetat och väldokumenterat som möjligt så att jag skapar nödvändiga dokument och förutsättningar och undviker onödiga genvägar. Detta dels för att det kommer att vara en förutsättning att gå vidare efter första genomförandet med efterföljande idéer dels för göra det möjligt för mig att dela med sig av de erfarenheter jag gjort med andra. Någon tycker kanske då att jag borde ha skrivit detta på engelska, ja det har fått mig att tveka och fundera men i min önskan att komma snabbt framåt har det hindrat mig samtidigt som det tyvärr resulterat i svengelska i vissa fall. I ett senare skede om jag lyckades åstadkomma något intressant kan jag komma att översätta dokumenten. Robotprototyp - ett bygge av Svante Johansson - Sida 6/27

Kostnad och Tid Jag har tänkt mig att detta projekt inte ska kosta mer är 1 500 kronor och inte ska ta mer än 150 timmar att genomföra. Kostnad Budget Utfall - Elektronik 500 kr 470 kr - Mekanik 500 kr 400 kr - Strömförsörjning 400 kr 340 kr - Summa 1400 kr 1210 kr Tidplan Budget Status Utfall - Skriva specifikation 30 t 35 t - Göra återst. grundtest 10 t 5 t - Konstruera chassi 5 t OK 5 t - Göra inköp 5 t 3 t - Bygga chassiet 10 t -- - Konstruera kretsar 5 t OK 5 t - Löda kretsar 15 t 10 t - Montera kretsar 5 t 2 t - Testa kretsar 3 t 1 t - Montera batterier 1 t OK 1 t - Designa program 10 t 3 t - Skriva program 10 t 4 t - Testa program 5 t -- - Kalibrera 5 t -- - Dokumentera 15 t -- - Summa 134 t 74 t Robotprototyp - ett bygge av Svante Johansson - Sida 7/27

Chassiet Chassiet måste vara konstruerat så att dess konstruktion kan bära motorer, hjul batterier och elektronik. Den totala vikten kommer troligtvis att hamna på ca 2 kg beroende på val av batterier och chassi. Jag utgår ifrån en platta med diameter 200 mm. 20 mm från periferin och in, kapas två parallella ytor (cirkelsegment) bort. Drivhjul Två 90 mm hjul med tillhörande motor och upphängning placeras på mittlinjen under bottenplattan så att axlarna sticker ut mitt i det cirkelsegment som tagits bort på de två sidorna. Stödhjul Ett länkhjul placeras på mitten i längdled och så långt bak det går utan att hjulet sticker ut utanför chassiet. Framhjulets storlek blir ca 38 mm i diameter. Drivmotorer Två motorer, ett per drivhjul. En bra val av motor finns som är nedväxlad till 220 rpm i 6 V. Denna motor kan även drivas med 7,2 volt vilket passar bra med tanke på mitt val av batteripack. Maxhastigheten på motorerna kommer dock att öka med ca 20% om spänningen höjs. Hjulupphängning och transmission Motorn fästs med hjälp av ett i som skruvas fast med två skruvar direkt i chassiet. Hjulen fästes direkt på motoraxlarna. Motorerna innehåller inbyggd växel som ger dem utväxlingen 1:100. Framdrivning Styrning sker med hjälp av styrning motorernas riktning och hastighet, så kallad differentialstyrning. Robotprototyp - ett bygge av Svante Johansson - Sida 8/27

Energiförsörjning Logiken/hårdvaran Ett uppladdningsbart batteripack à 7,2 volt som består av 6 stycken seriekopplade 1,2 volts AA batterier à 2000 mah, ska försörja enheten med energi i åtminstone 10 timmar. Motorerna Ett uppladdningsbart batteripack à 7,2 volt som består av 6 stycken seriekopplade 1,2 volts AA batterier à 2000 mah, ska försörja enheten med energi i cirka 5 timmar i marschfart. Robotprototyp - ett bygge av Svante Johansson - Sida 9/27

Hårdvarumoduler Arduino uno microcontroller Denna enhet har 8 analoga portar och 14 digitala. Processorn är på 16 MHz och flashminnet som man programmerar mot är på 32 kb. IR IR-enheten består av en Infraröd LED och en LDR dess främsta uppgift är att mäta avstånd i intervallet 0-2 dm. IR-led:en behöver förkopplingsmotstånd 220 ohm på minussidan och positiva sidan kopplad till 5 V. LDR:en kopplas mellan 5 V och jord med ett motstånd på 10 k mellan LDR och jord. Den analoga signalen tas ut mellan LDR och motståndet. Ultraljud Ultraljudsenheten finns att köpa färdig. Den består av separat sändare och mottagare. Mätaren klarar att mäta från någon decimeter till ca 4 meter med god precision, åtminstone om den befinner sig rakt framför t. ex. en vägg. Ett problem uppstår på korta avstånd beror sannolikt på att sändare mottagare är placerade en bit ifrån varandra. Man kan lösa detta genom att applicera Pythagoras sats på beräkningen. Men det återstår att se om det är värt det beroende på hur bra irenheten klarar att ta över ansvaret för korta avstånd. En ultraljudsenhet behöver två digitala portar (en in och en ut) samt spänningsmatning 5 volt. Robotprototyp - ett bygge av Svante Johansson - Sida 10/27

Temperatursensor En sak man måste ta hänsyn till är att ljudets hastighet i luft (V T ) är temperaturberoende. Den är lika med kvadratroten ur temperaturen i kelvin gånger en konstant. (V=20,055 x T ½ ) Om man alltid använder systemet inomhus kan man kanske klara sig utan hårdvara för detta men så fort temperaturen börjar variera kommer man få avvikelser. Temperaturen i kelvin T K är lika med 273,15 + T C (Temperaturen i Celsius). Den valda sensorn måste hantera temperaturintervall +50-50 grader Celsius. Den medlevererade enheten i startboxen har en stigning på 10 mv/grad Celsius där offset (0 C) låg på 500 mv, Det teoretiska intervallet blir då - 50 +450 grader Celsius. Med 1024 bitar över 5 volt blir upplösningen 500/1023 grader, alltså cirka en halv grad/bit. Denna upplösning duger fint i mitt fall. Energiövervakning Spänning hos batterierna måste övervakas så att systemet vet när det är dags att ladda batterierna. Detta kan ske genom att högohmiga motstånd delar spänningen så att den mätbara delen ryms mellan 0 och 5 volt som ju är maxspänning för de analoga inportarna. NiHM-batterier har normalspänningen 1,2 V Men nyladdade och obleastade har de en spänning på 1,4 V. Så i mitt fall blir det 8,4 volt som är maxspänningen. Om 9 volt är max och man vill ligga under 5 volt med lite säkerhetsmariginal så kan lämplig dimension vara R1 = 4x och R mät = 5x, R sum = 9x. Då blir spänningsfallet vi mäter 5/9 av totalspänningen. Om spänning t. ex. är 8 volt kommer mätvärdet bli 8/9*5 = 4,4 volt. Mäter vi t. ex upp 2,7 volt så är den verkliga spänningen 2,7/5*9 = 4,86 volt. Två motstånd ska alltså väljas 4/9 (0,44x) och 5/9 (0,56x). Vid val av motstånd måste högohmiga (MΩ) motstånd väljas för att hålla nere strömförbrukningen. Vid totalt 9 Megaohm blir strömförbrukningen 1 µa. Motstånden skall också mätas upp och användas som konstanter i programmet som räknar ut spänning. Robotprototyp - ett bygge av Svante Johansson - Sida 11/27

Motorstyrning Motorerna måste kunna styras synkroniserat. Fordonet skall kunna: köra rakt fram, rakt bakåt, svänga höger och svänga vänster. En modul baserad på en så kallad H- brygga ska skapas. Bryggan är en integrerad krets med 16 ben som digitalt kan kontrollera riktning och varvtal (baserat på PWM) för två motorer i två riktningar. Modulen består av en DIL-hållare med 16 ben. 3 logikkablar och 2 outputkablar (motorspänning) per sida (höger/vänster). 4 jordben som sätts samman i en gemensam jord, 1 matarkabel 12 V och en logikreferens (5 V). Totalt 13 kablar. Vilken H-brygga som väljs beror på vilka strömmar som den måste hantera. Eftersom kretesn är monterad i en hållare kan man enkelt uppgradera den om en annan modell behövs. Robotprototyp - ett bygge av Svante Johansson - Sida 12/27

Portkonfiguration Digitalt 11 portar Servosteering Motorsteering Left Forward Motorsteering Left Backward Motorsteering Left Enable Motorsteering Right Forward Motorsteering Right Backward Motorsteering Right Enable Supersonic Trig Supersonic Echo IR Trig Statusled Analogt 5 portar Battery voltage Main Battery voltage Motor Battery current Motor Temperature Front IR Echo 03 OUT 04 OUT 05 OUT 06 OUT PWM 07 OUT 08 OUT 09 OUT PWM 10 OUT 11 IN 12 OUT 13 OUT 00 IN 01 IN 02 IN 03 IN 04 IN Robotprototyp - ett bygge av Svante Johansson - Sida 13/27

Programfunktioner Motor Kalibrera Stå still Hålla konstant hastighet Accelerera/retardera framåt/bakåt Bromsa till stillastående Rotera x grader med radie y mm höger/vänster, fram/back Infra red Kalibrera Scanna Ultra sonic Kalibrera Scanna Servo Defautpattern 0, -45, -90, -45, 0, +45, +90, +45, 0 grader. Energikontroll Mät batteriströmmen under drift Mät motorspänning under drift Mät motorspänning vid stopp Mät logikspänning under drift Mät logikspänning vid stopp Robotprototyp - ett bygge av Svante Johansson - Sida 14/27

Användningsfall Åk rakt fram till en vägg och stanna Stanna nära ett föremål Åk runt ett föremål Vinkla upp parallellt med en vägg Hitta ett hörn Kom ur ett hörn Fiska upp en tennisboll Hitta hem Åka hem och ladda upp batterierna Robotprototyp - ett bygge av Svante Johansson - Sida 15/27

Fel- och statuskoder Alla felsituationer borde redovisas. Hur detta ska göras i detta fall är inte givet. Felsituationer som identifierat och vilka resultat dessa skall visa redovisas nedan. Vilken teknik som kommer att användas när fel redovisas är inte helt klart. Förslag: En blinkande LED som rapporterar ett fel kan blinka med 250 ms mellanrum, för att visa siffran, och sedan med uppehåll 1 sekund i en loop. Även andra meddelande gällande enhetens status kan redovisas här. En status kan redovisas med snabbare blink exempelvis med 125 ms mellanrum följt av 500 ms uppehåll. Felkoder För låg motorspänning 01 För låg logikspänning 02 För hög motorström 03 För hög temperatur 04 Ingen kontakt med IR-givare 05 Ingen kontakt med US-givare 06 Ingen kontakt med temp-givare 07 Ingen kontakt med spänningsgivare 08 Statuskoder Kalibrerar 01 Står still 02 Ökar hastighet 03 Minskar hastighet 04 Kör rakt framåt 05 Kör bakåt 06 Svänger höger 07 Svänger vänster 08 Bromsar 09 Hinder inom US range 10 Hinder inom IR range 11 Robotprototyp - ett bygge av Svante Johansson - Sida 16/27

Program Programmeringsmodell En övergripande struktur behövs med avseende på befintliga lösningar, egen kodmassa och prestanda. Arduinon har en 16 MHz processor och all vår övervakning och styrning måste dela på den kapaciteten. Vidare så är flashminnet endast på 32 kb vilket förmodligen kommer att spela en avgörande roll för vad roboten kommer att kunna prestera. Därför måste vi se till att vi i detta fall optimerar koden så att allt kan fungera som det är tänkt. Huvudprogram Aurdoinos programmeringsmodell innehåller metoderna Setup() och Loop(). Setupdelen genomlöps en gång och används till att initiera programmet. Loop genomlöps kontinuerligt. Uppgiften för detta block kommer i vårt fall vara att validera metodernas output gällande tillstånd och status och därifrån bedöma vad som är nästa steg samt bedöma när viss modul inte ska agera. Robotprototyp - ett bygge av Svante Johansson - Sida 17/27

Teknisk specifikation Motor Maxrotation utaxel Spänning Ström obelastad Ström vid max marschhastighet Ström stall Vikt 250 RPM 7,2 V 50 ma (250 RPM) 200 ma (125 RPM) 700 ma (0 RPM) 9,6 g Batterier 2 enheter enligt nedan Batterityp 1,2 V (AA) Antal celler 6 Spänning 7,2 Volt Energimängd 2000 mah Vikt 560 g Fordonet Maxhastighet Räckvidd 1,18 m/s (250 RPM) 10060 m (125 RPM, 2 Ah) Chassiet Hjulstorlek Bak Hjulstorlek Fram Avstånd mark bottenplatta 90 mm 38 mm 53,75 mm Robotprototyp - ett bygge av Svante Johansson - Sida 18/27

Materiallista Elektronik Totalpris Vikt/st 1 st Arduino uno 210,00 kr 1 st Ultrasonic sändare/mottagare 50,00 kr 1 st IR sändare (LED) 5,00 kr 1 st IR mottagare (LDR) 5,00 kr 1 st H-brygga L293B 35,00 kr 1,0 g 1 st Stripboard 30,00 kr Motstånd 25,00 kr Lysdioder 10,00 kr 2x40 Kablar 80,00 kr 2x40 Kontaktstift 40,00 kr Mekanik 2 st chassiplatta 10,00 kr 1 st torn 10,00 kr 2 st DC-motorer 220,00 kr 9,6 g 1 st servomotor 35,00 kr 3,7 g 2 st hjulupphängning 35,00 kr 1,4 g 2 st 90 mm hjul 70,00 kr 22,6 g 1 st 38 mm länkhjul 30-9744 (CO) 20,00 kr Strömförsörjning 12 st uppladdningsbara 7,2 volts batteri 270,00 kr 540,0 g 2 st batterihållare 6 pack 70,00 kr Robotprototyp - ett bygge av Svante Johansson - Sida 19/27

Övrigt Målarfärg Lim Kantlister Skruv Mutter Buntband Kardborreband Trälister 0,00 kr 0,00 kr 0,00 kr 10,00 kr 10,00 kr 15,00 kr 10,00 kr 10,00 kr Robotprototyp - ett bygge av Svante Johansson - Sida 20/27

Appendix A Kopplingsscheman Ultrasonic IR Motor Temperatur Motorbatteri Huvudbatteri Laddning av batterierna Robotprototyp - ett bygge av Svante Johansson - Sida 21/27

Appendix B Bilder och skisser Chassiet Motor och upphängning Robotprototyp - ett bygge av Svante Johansson - Sida 22/27

Elektronikmodulerna Batterier 12 stycken Batterihållare - logik Batterihållare motor Ultraljudenheten (som ska lödas på ett kort) Robotprototyp - ett bygge av Svante Johansson - Sida 23/27

H-Bryggan, kretsen som hanterar motorerna Strömförsörjningskablar Infrarödenheten, fast i detta utförande, bara röd Energiövervakningsenheten Servo Robotprototyp - ett bygge av Svante Johansson - Sida 24/27

Appendix C Programmoduler CommonConst DCMotor InfraRed UltraSonic Servomotor DCMotorControl IRDistance USDistance TempMeasure BatteryMainPower BatteryMotorPower BatteryMotorCurrent Robotprototyp - ett bygge av Svante Johansson - Sida 25/27

Apendix D Beräkningar Robotprototyp - ett bygge av Svante Johansson - Sida 26/27

Appendix E Länkar Motor http://www.alibaba.com/product-gs/422936089/12mm_3v_6v_dc_micro_gear.html Robot/Motor http://www.pololu.com/catalog/product/1599 Diverse http://www.clasohlson.com/se/l%c3%a4nkhjul/pr309743000?gclid=co7arjkoxrocf fn4caodmzuadg Elektronik https://www.elfa.se/elfa3~se_sv/elfa/init.do?item=73-132- 23&toc=19785&name=motordrivkrets_dil-16,_l293b Batteriladdare http://193.12.121.112/laddare/index.htm http://adamone.rchomepage.com/guide3_s.htm Robotprototyp - ett bygge av Svante Johansson - Sida 27/27