Radiostyrd LEGO-bil

 

Digitala projekt

2002-05-15

 

Kristoffer Karlsson

Magnus Mathiasson

Tobias Åkesson

 

 

[referenser]

[bilder]

 

Sammanfattning

Vi valde att bygga en digital radiostyrd bil som styrs från en PC. Detta gav oss utmaningar inom digital konstruktion och programmering men ledde oss även in på områden som radio, seriell kommunikationon, analog elektronik och LEGO-konstruktion.

 

Vi strävade efter att få bilen att fungera ungefär som en vanlig radiostyrd bil. Den har därför styrning enligt rattprincipen, dvs genom att låta en motor vinkla framhjulen. För manövreringen används piltangenterna på PC:n, ungefär som när man spelar ett bilspel.

 

Projektet kan delas in i följande delar:

  • Styrgränssnitt
  • Sändarkrets
  • Bilens hårdvara
  • Bilens mjukvara
  • Bilens mekanik

 

Styrgänssnittet består av ett Java-program som körs på PC:n. Det har ett enkelt GUI och styrs som sagt med piltangenterna. Programmet skickar paket med information om hur bilen ska bete sig till sändarkretsen. Denna är kopplad till serieporten på PC:n och vidarebefordrar paketen via radio.

 

Bilens hårdvara bygger på enchipsdatorn HC11. Paketen tages emot via en radiokrets och tolkas i mjukvaran. Mjukvaran har även tillgång till framhjulens aktuella vinkel genom att en potentiometer är kopplad till HC11:ans A/D-omvandlaringång. Utifrån denna information avgörs vilka hastigheter motorerna ska ha. För att omvandla hastighetsvärdena till analoga spänningsnivåer till motorn använder vi en programmerbar logik-krets och H-bryggor.

 

Mekaniken består främst av utväxling mellan motorerna och de delar som ska drivas.

 

Vi uppnådde de mål vi hade föresatt oss i kravspecifikationen och anser därmed att projektet lyckades. Visserligen stötte vi på många problem under arbetets gång men inga som var värre än att de gick att lösa. Avslutningsvis bör sägas projektet var en intressant erfarenhet som på ett inspirerande sätt knöt samman många av de kurser vi tidigare läst på LTH.

 

Referenser

 

[1] Projektrapport (PDF)

 

[2] Källkod till gränssnitt (JAVA)

 

[3] Källkod till HC11 (C)

 

[4] Källkod till Lattice 1016E (VHDL)