Bilen som inte kan krocka

Relevanta dokument
JOFEN-Prototypes. Målsökande pansarvagn. Projektarbete i Kursen EITA15. Jonatan Claesson, Olle Jonasson, Felix Rödén, Edvin Rossi & Nils Olén

Digitala projekt Linjeföljande bil

Projektrapport - RoboWalter

Från idé till skapelse av en äkta RoomBot

Thunder s Truck projektrapport

Växtviskaren EITF11 Digitala projekt VT15, I12

Rapport. Fyra i rad-spel. Rapport Digitala Projekt EITF11 Grupp 9 Emma Rasmusson & Louise Ragnarsson Handledare: Bertil Lindvall

ETSA01 Digitala Projekt (I) VT- 13. Projektarbete AC Handledare Bertil Lindvall

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)

Lunds Tekniska Högskola EITF11 Digitala projekt. Bandspelaren

EITF11: Bandkanon Grp 05

TEMPERATURMÄTARE MED GRAFRITARE

Pulsmätare med varningsindikatorer

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

LTH. EITF11- Digitalaprojekt. Projektrapport WEB

Linjeföljare Digitala projekt Johan Engström e02je Henrik Persson e02hp

Digitala System Projekt - EITA15 VT *SUPER DUPER KLOCKAN*

Liftmaestro. Lunds Tekniska Högskola Elektro- och informationsteknik. Olle Gemfors, I13 Dayanand Sagar, I13 Mattias Wendler, I13

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Projektrapport - Roterande digital LED-klocka

Feeding Daisy. EITF11 Lunds Tekniska Högskola. Grupp 12: Pontus Akervall Louise Landare Anton Schölin. En automatisk blomvattnare

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA

Digitala Projekt(EITF40) - Larm

Pulsmätare Digitala Projekt EITF11

Avståndsmätare. Digitala System EITA Grupp 7. Abdelsalem Yabrag, Abdulhadi kikar, Fredrik Peterson, Jesper Annefors

Digitala Projekt(EITF40) - Larm

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

EITF11 Digitala Projekt TIC TAC TOE. Lukas Ljungblom & Johan Lyckenvik I-13 Handledare: Bertil Lindvall

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

High Core Remote Car X8000 Cool

WALL E. WALL EVADER EDI021 DIGITALA PROJEKT

EITF11 - Digitala projekt. Hastighetsmätare. Hugo Backmyr Mattias Karlsson

Självgående fordon Rapport i kursen digitala projekt, EDI021

Digitala Projekt (EITF11)

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

The Phenomenal Doorbell Bilaga 2. Källkod

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

DANCING ROBOT. EITF11, Grupp 10. Kajsa Salomonsson, Hugo Hedin och Petter Mårtensson

Projektrapport i Digitala System

Rapport Digitala Projekt EITF Grupp 12 Elin Blomstergren, Victor Sundgren Handledare: Bertil Lindvall. Fyra i rad

Projektrapport - Feststation

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Digitala projekt - Radiostyrd bil

Gustaf Backman, Anton Nystedt, Nicholas Peebo Battleships. Lunds tekniska högskola. EITF11 Digitala projekt

The Intelligent Timer

LOOKY LUKE. Caroline Hellström och Ville Orlander Arvola Industriell ekonomi I10. - Att välja en lyckosam väg EITF11 Digitala projekt

Rafiki Wa Kupanda. EITF11, Digitala projekt VT18. Linnea Håkansson, Anton Gunneberg, Ruben Schultz

EITF40 - RFID-terminal. Joakim Marculescu (dt08jm6), Eric Johansson (dt08ej6)

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Servicemanual. Autonomous Pallet System 800 Prototyp. Utfärdat:

DIGITALA PROJEKT (EITF40) Fartmätare

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

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

Rapportsammanfattning. Optima Sous Vide

Effektpedal för elgitarr

Väderstation. Digitala Projekt EITF11 Institutionen för Elektro- och Informationsteknik Lunds Tekniska Högskola

Tidsstyrd persiennöppnare

Lunds Tekniska Högskola. I-10 Grupp 11: David Sundström Max Schulz Albert Lundberg Handledare: Bertil Lindvall

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Digitala Projekt (EITF11) Hemlarm

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

RAPPORT: DIGITALA PROJEKT

Projektrapport Målgång

Projekt Digitala system. Rörelsekänsligt Larmsystem

Källkod. #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define green_diode PD5. #define RS PD4

Projektrapport i Digitala projekt EITF11. Institutionen för Elektro- och informationsteknik, Lunds tekniska högskola

Linjeföljare. Digitala projekt

EITF11. WormFight. Axel Eriksson, Felix Geuken Handledare: Bertil Lindvall EITF11

Institutionen för informationsteknologi

Digitala Projekt EITF11 Grupp 9 Projektarbete Hanna Bondesson Marcus Skog. Reaktionsspel EITF11

Digitala Projekt: Digitala Projekt, EITF11 - VT17 Oscar Ahlgren, Patrik Lorentsson och Sten Hellberg Handledare: Bertil Lindvall

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Robotfotboll med Arduino

LTH Ingenjörhögskolan vid Campus Helsingborg. Mastermindspel

/* * dancing3.c * * Created: :53:20 * Author: digpi10 */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.

Laboration 5 C-programmering på AVR TSEA57 Datorteknik I

DIGITALA PROJEKT Väderstation

Digitala Projekt VT13. PING-Pong

ELEKTRO- OCH INFORMATIONSTEKNIK. Radiostyrd bil. EITF11 Digitala Projekt. Thomas Bergsten & Marcus Halbauer

Projektrapport Digitala System

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Pulsmätare. EITF11 Digitala Projekt VT15. Grupp 9: Emma Albertz, Mathilde Hagander & Alexandra Mansner Handledare: Andreas Johansson & Bertil Lindvall

Kla ggvisarskylt. -med en underton av rassel. av Jonathan So nnerup & Gabriel Jo nsson

EITF11 - Digitala Projekt

Digitala Projekt (EITF11) Larmanläggning

PROJEKTTYP: Rapportsammanfattning STUDENTER: Larsson, J. ( ) och Oredsson, J. ( ) DATUM: 26 april, 2015

Rapport i Digitala Projekt (EDI021)

1 Bakgrund 4. 2 Kravspecifikation Definitioner Grundläggande krav Användarfall 5

#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num;

Design vid utveckling av inbyggda system

EIT. Digitala projekt EITF11. Larmanläggning. Handledare Bertil Lindvall Anna Lindberg I-11 Caroline Vitasp I-11 Eric Eliason I-10

Innehåll. 1 Inledning 3

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

AVR Studio 4 Och AVRFLASH

Aml Abbas, Ali Darwish, Ehsanolah Hafezi, Fatima Zahra Doussi Grupp 15

Makeriet Lärarhandledning 6. Sensorer

Rapport: Väderstation

Projektrapport. Till Projektet Bluetoothstyrd bil

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Transkript:

Projektrapport Digitala system EITA15 Bilen som inte kan krocka Gruppmedlemmar: Oscar Skarler, Jonathan Persson, Erik Schiemann och Mohammed Abou Naasa vt 2019

Sammanfattning Inom kursen Digitala system har vi genomfört ett projektarbete, där syftet var att tillverka en prototyp, som är baserad på mikroprocessorn AT Mega 1284. Vi valde att bygga en bil med en ultraljudssensor placerad fram på bilen. Målet var att få bilen att köra rakt fram tills den upptäckte ett hinder/en vägg framför sig, då svänga åt sidan och sedan fortsätta i den nya riktningen. Projektet genomfördes genom att göra en planering, välja ut lämpliga komponenter, rita ett kopplingsschema, programmera processorn, bygga ihop bilen, testa och revidera. Resultatet av arbetet blev en bil som kunde köra med bestämd hastighet rakt fram, eller upptäcka hinder via ultraljudssensorn. Projektgruppen har förutom det praktiska arbete med bilen lärt sig att programmering kan ta längre tid än planerat, att det är viktigt att stämma av planeringen med samtliga gruppmedlemmar och att fler hållpunkter i en planering kan vara bra att ha.

Innehållsförteckning Sammanfattning 2 1 Inledning 4 1.1 Syfte 4 1.2 Målformulering 4 1.3 Problemformulering 4 1.4 Motivering av projektarbetet 4 1.5 Avgränsningar 4 2 Teori 5 3 Metod 6 4 Resultat 6 5 Slutsats 6 5.2 Framtida utvecklingsmöjligheter 6 6 Källförteckning - datablad 7 7 Appendix 7

1 Inledning Detta projekt genomförs inom kursen Digitala system. I projektet görs en valfri prototyp, kopplingsschema ritas, programmering görs, prototypen byggs samt testas. Felsökning och revideringar testas, och hela projektet redovisas genom en skriftlig rapport, en hemsida samt muntlig redovisning. Som prototyp valdes en självkörande bil med en avståndsmätare i form av ultraljudssensor. 1.1 Syfte Syftet med detta arbete är att tillverka en prototyp av något slag, som är baserad på mikroprocessorn AT Mega 1284. Prototypen ska fås att fungera med hjälp av programmering. Projektarbetet är också en träning i att genomföra en uppgift i en mindre grupp, och att kunna redovisa ett gemensamt projekt. 1.2 Målformulering Projektgruppen valde att bygga en bil, som när den kör framåt, ska kunna upptäcka något större föremål framför sig och då svänga åt sidan, för att fortsätta i denna riktning. För att upptäcka föremål framför bilen, användes en avståndsmätare i form av en ultraljudssensor. Målet är att kunna göra en ritning, bygga ihop komponenter enligt ritningen, programmera mikroprocessorn så att bilen kan köra framåt och upptäcka hinder och då svänga åt sidan. 1.3 Problemformulering Prototypen, bilen, ska kunna: 1. Startas då power switchen slås på. 2. Bilen kör tills den upptäcker en vägg/hinder, via ultraljudssensorn. 3. Bilen ska kunna svänga åt sidan, och fortsätta i den nya riktningen. 1.4 Motivering av projektarbetet Valet av att bygga en bil med inte allt för många, olika funktioner gjordes utifrån gruppmedlemmarnas kompetens, intresse och tidsramen för projektet inom kursen. 1.5 Avgränsningar Avståndsmätaren ( HC-sr04) kan fästas på en servomotor för att få en större vinkel på avståndsmätningen. Projektgruppen valde dock att inte göra detta, utan fäste mätaren direkt på bilens front.

2 Teori Följande komponenter användes för att bygga bilen: ATmega 1284 En 8-bitars mikroprocessor som programmerades för att få övriga komponenter att utföra önskade funktioner. DRV8833 Dual Motor Driver Carrier H-brygga som användes för att styra motorerna. Bryggan har två ingångar/utgångar per motor, vilka kan styras var för sig. Motorerna kan fås att snurra åt olika håll beroende på om signalen som skickas till bryggan är låg/hög eller hög/låg, vilket gör att man kan styra bilen. HC-sr04 En ultraljudssensor som användes för att bestämma avstånd. Sensorn sattes fast längst fram på bilen. Sensorn fungerar genom att skicka ut ljudvågor och registrerar de vågor som studsar tillbaka, varpå tidsskillnaden används för att beräkna avståndet. JTAG Användes för att föra in kod i processorn. Lawicel Zumo Chassis Kit Bilens chassi med 2 stycken inbyggda DC-motorer, för att driva bilen framåt. Strömkälla Fyra stycken 1,5 V batterier användes för att förse komponenterna med ström. Strömbrytare En strömbrytare för att slå på och av strömmen. Mjukvara Programmering gjordes med hjälp av Atmel studio 7, i programmeringsspråk C (se appendix). Programmeringen gjordes stegvis; motorerna drivs genom pulsbreddsmodulering (PWM), där bredden på vågorna ger spänningens storlek och därmed hastigheten på bilen. Ultraljudssensorn startar när den får en puls och samtidigt startar en timer. Timern stoppar när sensorn skickar tillbaka en signal då den tagit emot den studsande ljudvågen. Tiden används för att beräkna avstånd till ett hinder/vägg.

3 Metod Projektarbetet har omfattat olika faser. Först gjordes en planering, där idén till att bygga någon slags bil bestämdes. En kravspecifikation på komponenter togs fram, och efter att ha fått information via datablad, så ritades ett kopplingsschema. Viss revidering gjordes efter handledarens förslag; vissa komponenter byttes ut och nytt kopplingsschema ritades ( se appendix). Efter att kopplingsschemat godkänts, så påbörjades konstruktionen. Samtliga komponenter sattes fast på ett mönsterkort. Kopplingen mellan komponenterna gjordes med koppartråd som virades runt pinnarna. Två hål gjordes i mönsterkortet, som sattes fast på chassits två gängade metallstavar. Avståndssensorn sattes fast längst fram på bilen. Sedan kodades processorn i programspråk C. Genom kunskaper från kursens tidigare laborationer och genom att söka information om respektive komponent, så programmerade projektgruppen stegvis för att få bilen att uppfylla målbeskrivning. 4 Resultat Komponenterna byggdes ihop enligt kopplingsschemat, programmeringen genomfördes och bilen testades ett antal gånger. Kodningen tog mer tid är vad projektgruppen hade planerat, men gruppen lyckades få bilen att köra framåt; det går att bestämma hastigheten på motorerna med hjälp av pulsbreddsmodulering. Ultraljudssensorn skickar och tar emot ljudvågor, och signalen till processorn hanteras med hjälp av avbrott, och avståndet beräknas. Sensorn fungerar för sig, bilen kör framåt för sig, men båda delar har inte fåtts att fungera samtidigt. 5 Slutsats Efter detta projekt kan vi konstatera att bilen kan: Starta då power switchen slås på. Bilen kan köra med en bestämd hastighet. Bilen kan upptäcka en vägg/ett hinder via ultraljudssensorn, och då räkna ut avståndet. Bilen kan inte köra och använda ultraljudssensorn samtidigt. Bilen kan ännu inte svänga åt sidan. 5.2 Framtida utvecklingsmöjligheter Projektgruppen valde att inte fästa avståndsmätaren ( HC-sr04) på en servomotor. Detta hade gruppen kunnat göra för att för att få en större vinkel på avståndsmätningen, så att bilen upptäcker hinder även på stora infallsvinklar. Vid stora infallsvinklar kommer inte ljudvågorna att studsa tillbaka och registreras om sensorn sitter fast. Gruppen valde nu att fästa mätaren direkt på bilens front.

När det gäller arbetsprocessen, har gruppen lärt sig att det behövs hållpunkter där processen utifrån tidsplaneringen checkas av, så att alla gruppmedlemmar har hunnit med. Om man inte har hunnit med, är det viktigt att kunna be om hjälp så fort som möjligt, så att övriga i gruppen kan hjälpa till med arbetsuppgifter. 6 Källförteckning - datablad AT Mega 1284: https://www.microchip.com/wwwproducts/en/atmega1284 H-brygga: https://www.pololu.com/product/2130 Ultraljudssensor: https://www.mouser.com/ds/2/813/hcsr04-1022824.pdf 7 Appendix Kopplingsschema för bilen:

Kod: PWM: #include <avr/io.h> void timer3_init(){ TCCR1A = (1 << WGM11) ( 1 << COM1A1 ); TCCR1B = (1 << WGM13) (1 << WGM12 ) (1 << CS12) (1 << CS10); // ERSÄTT KODEN HÄR NEDAN MED TCCR3x TCCR2A = (1 << COM2A1) (1 << WGM20) (1 << WGM21); TCCR2B = (1 << WGM22) (1 << CS20) (1 << CS21) (1 << CS22); void set_pulse(uint16_t verb){ OCR1A = verb; OCR1B = verb; void set_period(uint16_t adj){ ICR1 = adj; int main(void) { timer3_init(); set_pulse(156); set_period(200); DDRD = (0b00000000); /* Replace with your application code */ while (1) {

SENSORN: #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> void ul_init(); uint16_t us_measurement(); void timer3_init(); void set_pulse(uint16_t pulse); void set_period(uint16_t period); uint16_t dist; int main(void) { ul_init(); timer3_init(); set_period(0xffff); while (1) { dist = us_measurement(); set_pulse(dist); _delay_ms(60); void ul_init(){ DDRB = (1 << PINB4); uint16_t us_measurement(){ PORTB = (1 << PINB4); _delay_us(10); PORTB &= ~(1 << PINB4); while(!(pind & (1 << PIND2))); TCCR2B = (1 << CS20); TCNT2 = 0; while((pind & (1 << PIND2))); TCCR2B &= ~(1 << CS20); return TCNT2; void timer3_init() { DDRB = (1 << PORTB6); TCCR3A = (1 << COM3A1) (1 << WGM31); TCCR3B = (1 << WGM33) (1 << WGM32) (1 << CS30); void set_pulse(uint16_t pulse){ OCR3A = pulse;

void set_period(uint16_t period){ ICR3 = period;