Boris Servicemanual Grupp Amalthea Marcus Andrén Tobias Assarsson Robert Eriksson Almira Hamzic Isabella Mosquera Hollström Anna Stackelberg Handledare Fredrik Lundevall
Boris Projektarbete 2011 Grupp Amalthea 2011-05-10 Boris är en autonom robot vars främsta uppgift är att kontrollera om istjockleken på en sjö är tillräcklig för att bära en människa. Roboten tilldelas en karta över ett område som den sedan ska kontrollera genom att borra små hål i isen. Boris har två hjul fram som drivs av varsin motor, samt två hjul bak som agerar som stöd- och svänghjul. Svängning sker genom att rotera hjulen åt motsatt håll för att göra en 90 graders sväng runt sin axel. Fin och opåverkad kärnis bär en människa på upp till 100 kg. För att undersöka huruvida istjockleken på en isbelagd sjö är tillräcklig, borrar Boris 5 cm ner i isen. Knappsensorer ger signaler när roboten nått botten, det vill säga borrat klart, samt när borren återgott i sitt högsta läge och borrningen kan avslutas. Boris är än så länge bara en prototyp men har goda utvecklingsmöjligheter i framtiden. - 2 -
Innehållsförteckning 1. Mekanik och konstruktion... - 4-1.1 Chassi... - 4-1.2 Motorer... - 4-1.3 Hjul... - 4-2. Programmering och DE0-kortet... - 5-2.1 Programkod... - 5-2.2 Användargränssnitt... - 5-2.3 Anslutning till DE0-kortet... - 6-2.4 Kopplingsschema... - 7-3. Elektronik... - 8-3.1 Styrkrets driva hjul... - 8-3.2 Styrkrets driva borr... - 9-3.3 Styrkrets lysdioder... - 10-3.4 Pulsgivare... - 11-3.5 Stötfångare... - 12-3.6 Batteri och spänningsregulator... - 12-4. Borrkonstruktion...- 13-4.1 Borrstativ... - 13-4.2 Borr... - 13-4.3 Sensorknappar... - 13-5. Ritningar...- 14 - - 3 -
1. Mekanik och konstruktion Detta avsnitt beskriver hur Boris mekanik är uppbyggd. 1.1 Chassi Chassit är gjort av stålplåt som bockats och svetsats hos Sollentuna Smide. Stålplåt väger betydligt mer än t.ex. aluminium men är mer stabil. I mitten av lådan finns ett hål med måtten 50x50 mm där borren ska föras ner. Lådans mått är 500x350x100 mm. 1.2 Motorer Det finns tre motorer i roboten som kommer från skruvdragare, varav en är begagnad. Den begagnade motorn är fäst på ett borrstativ och driver en borr upp och ner. Borrstativets arm som höjer och sänker borren är alltså ersatt med en motor som driver borren upp och ner automatiskt. Motorn går på 18 V och drar ca 1,6 A. De andra två driver framhjulen och är fastspända mot lådans botten med stålband för att hållas på plats. Framtill i verktygshållaren är två kugghjul med axel fastdragna likt en borr. Motorerna går på 12 V vardera och drar ca 1,6 A. 1.3 Hjul Boris har två par hjul där de främre är universalhjul och de bakre är tagna från en kontorsstol. Hjulen från kontorsstolen, som har diametern 50 mm, fästes lätt på chassits undersida då hjulaxeln som gick rakt upp hade en platta vid hjulfästet. Dessa hjul kan rotera fritt kring hjulaxeln vilket gör att roboten kan svänga. Universalhjulen, med diametern 150 mm, är fästa i änden på varsitt kopparrör. Kopparrören går i sin tur genom hål i chassit och vinkeljärn för att hålla axlarna vertikalt. I kopparrörens andra ände är kugghjul fästa med en 3 mm gängad stång som går igenom kopparröret och hålls ihop med en mutter i vardera ände. Varje kugghjul passar ihop med kugghjulen som sitter i motorernas verktygshållare. Varje hjul drivs då av varsin motor för att kunna snurra åt olika håll vid svängning. Hålens insida i chassit täcks av ett plaströr för att minska friktionen mot kopparröret. Skiss av hjulfästningen på chassits insida. - 4 -
2. Programmering och DE0-kortet Detta avsnitt beskriver programkoden samt anslutningarna från komponenter till DE0-kortet. 2.1 Programkod BorisOS är skrivet i C och är ett realtidssystem som är händelsestyrt, mestadels baserat på AroraOS. Allt kretsar kring en funktion som lägger till en händelse i en kö samt en klocka och en loop som betar av händelser. Klockan tickar var tionde mikrosekund. Funktionen tar 5 argument; time, action, mode, value, repeat och "planerar" händelsen. Time är ett heltal som bestämmer hur lång tid det tar innan händelsen ska ske. Action är en funktionspekare som bestämmer vad som ska hända. Mode, value och repeat är tre heltal som är vidarebefordrade som parametrar till action. 2.2 Användargränssnitt Användaren styr Boris genom att toggla switcharna där varje switch har en förutbestämd uppgift som Boris ska utföra. Switch Händelse Kommentar 0 Kör rutin 1 1 Kör rutin 2 2 Prova borren, kör rakt upp Debug 3 Prova borren, kör rakt ner Debug 4 5 Avbryter och startar om Panikknapp 6 Utför en borrning Debug 7 Svänger höger en gång Debug 8 Svänger vänster en gång Debug 9 Kör rakt fram en gång Debug Tabell över switcharnas egenskaper - 5 -
2.3 Anslutning till DE0-kortet DE0-kortet är hjärnan i roboten, härifrån går kopplingar till en spänningsregulator, de tre styrkretsarna, sensorknapparna och pulsgivaren. Från spänningsregulatorn går en strömsladd direkt till strömkontakten på DE0-kortet. Styrkretsarna är endast kopplade till output-portar på DE0-kortet. Sensorknapparna och pulsgeneratorn är kopplade till varsin input-port och output-port. Bild över anslutningar till DE0-kortet - 6 -
2.4 Kopplingsschema Nedan ges en överblick över kopplingar till DE0-kortet. Kopplingsscheman för varje enskild komponent finns i kapitlet om elektronik. Kopplingsschema - 7 -
3. Elektronik I detta avsnitt beskrivs elektroniken i Boris. 3.1 Styrkrets driva hjul En styrkrets monteras mellan DE0-kortet och motorerna som driver hjulen. Detta för att kunna slå på och av motorerna digitalt. Styrkretsen är en såkallad L298N-krets. Kretsen har även åtta dioder för att skydda DE0- kortet från att få inducerad ström från motorerna när de stängs av eller byter håll, detta skulle kunna förstöra kretsarna på DE0-kortet. För att inte styrkretsen ska bli för varm sitter två kylflänsar fastmonterade. Kretsschema över styrkretsen för drivning av hjul - 8 -
3.2 Styrkrets driva borr För att parallellt styra och driva borren samt motorn som höjer och sänker borren används två reläer och två transistorer. Detta för att genom DE0-kortet kunna slå på och av bägge motorerna samtidigt, samt kunna driva dem i bägge riktningarna. Detta gör borren kan sänkas samtidigt som den snurrar åt ena hållet, och sedan höjas samtidigt som den snurrar åt andra hållet. De reläer som används är ett SRU-12VDC-SD-C 15A 12V (köpt på Kjell & Company) och ett JW1FSN-B 10A 12V (hittades i en gammal CRT-skärm). Kretsschema över styrkretsen för drivning av borren - 9 -
3.3 Styrkrets lysdioder Under borrstativet sitter fyra högintensiva blå lysdioder monterade som lyser när borren är igång. Dessa drar 20mA/st och drivs på 2.1 2.3V. Styrkretsen är en UDN2981A-krets och är till för att sätta på och stänga av lysdioderna. Detaljerat kretsschema över styrkretsen för lysdioder - 10 -
3.4 Pulsgivare En pulsgivare används för att mäta robotens körsträcka. Ett kugghjul är fäst på pulsgivaren som i sin tur ligger tätt mot en av motorernas kugghjul. Ett varv på pulsgivarens kugghjul ger ifrån sig 24 pulser. Roboten registrerar antalet pulser från pulsmätaren och på DE0-kortet visas totala antalet pulser. Detaljerat kretsschema över styrkretsen för pulsgivaren - 11 -
3.5 Stötfångare En stötfångare är monterad på robotens framsida för att kunna upptäcka hinder framför sig vid kollision. En plastskärm är fäst med skruvar och fjädrar i chassit. Vid en kollision trycks plastskärmen in och även två sensorknappar som sitter mellan skärmen och chassit. En signal om kollision skickas då till roboten. Detaljerat kretsschema över styrkretsen för stötfångare 3.6 Batteri och spänningsregulator Ett batteri med 12 V används för att driva DE0-kortet och motorerna. Batteriet kopplas via en spänningsregulator till DE0-kortet. Spänningsregulatorn behövs för att minska spänningen till DE0-kortet till 8 Volt istället för 12 Volt, som är den spänning batteriet levererar. På spänningsregulatorn sitter även en kylflens för att kyla den. - 12 -
4. Borrkonstruktion Boris ska kunna borra genom is för att mäta istjockleken på en sjö, i det här avsnittet beskrivs borrkonstruktionen. 4.1 Borrstativ Borrstativet är justerbar i höjd- och sidoled. Den hade en arm för att sänka och höja borren som nu är ersatt med en motor genom att fästa axeln för armen i motorns verktygshållare. Hela ställningen är fastmonterad på en stång som i sin tur står på en stödplatta. Stödplattan är fastskruvad i chassits botten med tre skruvar ovanför det utsågade hålet som borren ska åka genom. Borren som sitter fastspänd i stativet kan sänkas ca 5,5 cm från det högsta läget. 4.2 Borr En begagnad skruvdragare är fäst i det höj- och sänkbara borrstativet. En 15,2 mm lång träborr är fäst i skruvdragaren och ska utföra borrningen genom is. Skruvdragaren går på 12 V och drar 2,7 A. 4.3 Sensorknappar Två sensorknappar är monterade på borrstativet. Den ena under den höj- och sänkbara borren på borrstativets stödplatta. När borren når sitt lägsta läge trycks knappen på sensorn in, som i sin tur ger en signal om just detta. När borren når sitt lägsta läge har den borrat klart och har då gått 5 cm genom isen. På ställningen sitter en likadan sensor som fungerar på samma sätt förutom att den ger en signal när borren når sitt högsta läge istället. Bild på borrstativet och borren - 13 -
5. Ritningar Ritningar över roboten med mått mm. Ritning från ovan Ritning från sidan - 14 -