Difference between revisions of "Byggbeskrivning introARM"

From Chalmers Robotförening
m
 
(11 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[File:IntroARMRev3 3D Pose.jpg|400px]]<br>
Detta är bygg-guiden till Chalmers Robotförenings nybörjarrobot [[IntroARM]]. Tanken är att guiden ska läsas från början till slut. Ifall du stöter på problem är det bara att fråga. Du hittar kontaktinformation [http://chalmersrobotics.se/?page_id=465 här]. Tänk på att gå lugnt och metodiskt fram. Det är enklare och går snabbare att tänka en extra gång än att göra fel och och tvingas göra om. Titta gärna även igenom listan med förslag på förbättringar och hårdvarubuggar innan du börjar. Den finns [[IntroARM#F.C3.B6rb.C3.A4ttringsf.C3.B6rslag | här.]]
Detta är bygg-guiden till Chalmers Robotförenings nybörjarrobot [[IntroARM]]. Tanken är att guiden ska läsas från början till slut. Ifall du stöter på problem är det bara att fråga. Du hittar kontaktinformation [http://chalmersrobotics.se/?page_id=465 här]. Tänk på att gå lugnt och metodiskt fram. Det är enklare och går snabbare att tänka en extra gång än att göra fel och och tvingas göra om. Titta gärna även igenom listan med förslag på förbättringar och hårdvarubuggar innan du börjar. Den finns [[IntroARM#F.C3.B6rb.C3.A4ttringsf.C3.B6rslag | här.]]


Line 134: Line 135:


==Bilder på komponenter==
==Bilder på komponenter==
''Todo: Uppdatera med bilder på nya komponenter och ta bort gamla som inte ska finnas med. 5V-regulatorn ser inte ut som på bilden.''
[[File:Alla komponenterRev3.jpg|Thumb|600px|Test|]]<br>
[[File:Alla komponenterRev3.jpg|Thumb|600px|Test|]]<br>
Bild över alla komponenter som ingår. Tyvärr syns inte vilka motstånd eller kondingar som är vilka.
Bild över alla komponenter som ingår. Tyvärr syns inte vilka motstånd eller kondingar som är vilka.
Line 143: Line 142:
File:IntroARM2012_Component_-_Capacitor_10u.jpg|Konding, 10uF. Bruna och tjockare. Saknar polaritet.
File:IntroARM2012_Component_-_Capacitor_10u.jpg|Konding, 10uF. Bruna och tjockare. Saknar polaritet.
File:IntroARM2012_Component_-_Capacitor_18p.jpg|Konding, 18pF. Gråa och tunna. Saknar polaritet.
File:IntroARM2012_Component_-_Capacitor_18p.jpg|Konding, 18pF. Gråa och tunna. Saknar polaritet.
File:IntroARM2012_Component_-_Capacitor_tantal.jpg|Tantalkonding, 100uF. Orange med ett brunt streck. Polkänslig där strecket är plus. Den nyare har dock inget streck, utan en liten plupp (topp) på ena sidan som markerar plus. ''Todo: uppdatera med nya komponenten.''
File:IntroARMRev3 Component - Capacitor tantal.jpg|Tantalkonding, 100uF. Orange med ett brunt streck. Polkänslig där strecket är plus. Den nyare har dock inget streck, utan en liten plupp (topp) på ena sidan som markerar plus.
</gallery>
</gallery>


Line 155: Line 154:
<gallery heights=75px>
<gallery heights=75px>
File:IntroARM2012_Component_-_LED.jpg|Lysdiod. Den gröna markeringen visar vart katoden (negativa sidan) är. Den gröna markeringen pekar på katoden. ''Notera att det de röda ledsen som skickas med är felmärkta. Dessa ska sitta "bak-och-fram". Testa gärna ledsen med en multimeter innan du löder på dem.''
File:IntroARM2012_Component_-_LED.jpg|Lysdiod. Den gröna markeringen visar vart katoden (negativa sidan) är. Den gröna markeringen pekar på katoden. ''Notera att det de röda ledsen som skickas med är felmärkta. Dessa ska sitta "bak-och-fram". Testa gärna ledsen med en multimeter innan du löder på dem.''
</gallery>
<gallery heights=75px>
File:IntroARMRev3 Component - 5V Regulator.jpg|Regulator. Linjär 5V-regulator. Kännetecknas av tre ben undertill, varav det mittersta är något kortare.
</gallery>
</gallery>


Line 237: Line 240:
Här visas vart komponenterna i del 1 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan. För de blå komponenterna, läs "Att tänka på" för detta segment.
Här visas vart komponenterna i del 1 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan. För de blå komponenterna, läs "Att tänka på" för detta segment.
<br>[[File:IntroARM2013v3KomponentplaceringDel1.png|800px]]<br>
<br>[[File:IntroARM2013v3KomponentplaceringDel1.png|800px]]<br>
[[File:IntroARMRev3_Buildinstruction_-_Part1_MCU_and_Regulator_Top.jpg|400px]]
[[File:IntroARMRev3_Buildinstruction_-_Part1_MCU_and_Regulator_Bottom.jpg|400px]]


==Att tänka på==
==Att tänka på==
Line 286: Line 291:
Här visas vart komponenterna i del 2 sitter på kortet (de rödmarkerade).  De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.  
Här visas vart komponenterna i del 2 sitter på kortet (de rödmarkerade).  De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.  
<br>[[File:IntroARM2013v3KomponentplaceringDel2.png|800px]]<br>
<br>[[File:IntroARM2013v3KomponentplaceringDel2.png|800px]]<br>
[[File:IntroARMRev3_Buildinstruction_-_Part2_Motors_Top.jpg|400px]]
[[File:IntroARMRev3_Buildinstruction_-_Part2_Motors_Bottom.jpg|400px]]


==Att tänka på==
==Att tänka på==
Line 343: Line 350:
Här visas vart komponenterna i del 3 sitter på kortet (de rödmarkerade).  De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.  
Här visas vart komponenterna i del 3 sitter på kortet (de rödmarkerade).  De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.  
<br>[[File:IntroARM2013v3KomponentplaceringDel3.png|800px]]<br>
<br>[[File:IntroARM2013v3KomponentplaceringDel3.png|800px]]<br>
[[File:IntroARMRev3_Buildinstruction_-_Part3_Sensors_Top.jpg|400px]]
[[File:IntroARMRev3_Buildinstruction_-_Part3_Sensors_Bottom.jpg|400px]]
[[File:IntroARMRev3_Buildinstruction_-_Part3_Sensors_Front.jpg|400px]]


==Att tänka på==
==Att tänka på==
Line 418: Line 428:


=Del 5 - Extra interface=
=Del 5 - Extra interface=
''Todo: Fyll i vad dom olika pinheader:na gör i tabellen.''
Kontakter för de extra interface som finns utdraget på IntroARM (t.ex. extra UART, SPI, I2C, DAC, ADC)
Kontakter för de extra interface som finns utdraget på IntroARM (t.ex. extra UART, SPI, I2C, DAC, ADC)
VIKTIGT! Montera enbart dessa stiftlister vid behov, de kan vara ivägen för batteriet. Vid normalt användande behövs de ej. Motstånden pullup för I2C.
VIKTIGT! Montera enbart dessa stiftlister vid behov, de kan vara ivägen för batteriet. Vid normalt användande behövs de ej. Motstånden pullup för I2C.
Line 448: Line 459:
|}
|}
<br>[[File:IntroARM2013v3KomponentplaceringDel5.png|800px]]<br>
<br>[[File:IntroARM2013v3KomponentplaceringDel5.png|800px]]<br>
=Bilder på en färdig IntroARM=
<gallery heights=75px>
File:IntroARMRev3_3D_Pose.jpg
File:IntroARMRev3_3D_Top.jpg
File:IntroARMRev3_Top.jpg
File:IntroARMRev3_Front.jpg
File:IntroARMRev3_Bottom.jpg
File:IntroARMRev3_Front_Upsidedown.jpg
File:IntroARMRev3_Left.jpg
File:IntroARMRev3_Right.jpg
File:IntroARMRev3_Back.jpg
</gallery>
[[Category:Guider]]

Latest revision as of 20:12, 7 March 2022

IntroARMRev3 3D Pose.jpg
Detta är bygg-guiden till Chalmers Robotförenings nybörjarrobot IntroARM. Tanken är att guiden ska läsas från början till slut. Ifall du stöter på problem är det bara att fråga. Du hittar kontaktinformation här. Tänk på att gå lugnt och metodiskt fram. Det är enklare och går snabbare att tänka en extra gång än att göra fel och och tvingas göra om. Titta gärna även igenom listan med förslag på förbättringar och hårdvarubuggar innan du börjar. Den finns här.

Guiden är upplagd som förberedelser plus ett flertal steg. Läs igenom hela steget innan du börjar löda, det blir lättare att göra rätt då. Varje steg består av:

  • Lite allmän information om steget (t.ex. vad som ska uppnås efter steget)
  • En lista över de komponenter som ingår i steget
  • Lite att tänka på (t.ex. specialprocedurer för vissa komponenter). Efter detta är tanken att du ska montera de komponenter som anges, vilket primärt innehåller lödning men också lite skruvande, pressande, klippande osv.
  • Testning, där du laddar in ett program som gör olika saker och testar de olika delarna. Det uppmuntras att man försöker komma på lite egna program att för att testa sin hårdvara i syfte att lära sig. Detta gör att man har en ände att börja i så att det inte blir alltför överväldigande att börja programmera när allt är hopmonterat. Det är också lättare att upptäcka fel ifall man testar ofta.
  • Vanliga fel, som innehåller lite vanliga fel som brukar uppkomma (typiska symptom och åtgärder)


Revisionhistorik

Denna revisionshistorik gäller kretskort och komponenter (d.v.s. endast hårdvara). En major revision (2 till 3) innebär byte av mönsterkort, medan en minor (t.ex. 2.1 innebär komponentuppgradring). Denna guide ska alltid försöka spegla den senaste revisionen. Mjukvarurevisioner hittas på mjukvarusidan.

Rev 3

  • Ny layout på mönsterkortet.
  • Borttagning av switchregulatorn. Denna är ersatt med en större (DPAK), linjär 5V-regulator samt en mindre (SOT-223) 3V3-regulator.
  • Slutlig borttagning av bootkretsen.
  • Framåtsensorerna är flyttade längre bakåt, för att det ska bli enklare att montera en plog
  • Nu finns en stor jord-pad att sätta oscilloskopsklämman på
  • Mindre uppdateringar av vilka pinnar som går vart Todo: Skriv vilka

Rev 2.1

Byggbeskrivningen för Rev2.1 och tidigare finns här.

  • Borttagning av bootkretsen. Istället för att endast styra på en pinne anvädner man två pinnar för programmera. Följande instruktioner används för att skippa denna:
    • Löd inte C15, R10 och Q3
    • Istället för D1, kortslut detta med ett komponentben eller liknande (du får sådana från en IR-mottagare eller IR-led)
    • Löd ett kontaktstift (stiftlist) till plus-polen på C15 eller den R10-padden som är närmast motorerna.
    • Pinnen som kallas för boot är kopplad mot reset och den extrapinnen du lödade är kopplad mot boot0.

Rev2

  • Mindre uppdatering av kortets layout och silkscreen.
  • Tachometrarna är numera kopplade till ADC istället för timers. Endast en sensor per hjul.

Förberedelser

Rekommenderat är att du skriver ut komponentkartorna till varje steg då det är lättare att hitta var vilka komponenter skall sitta med hjälp av dem. Du det är också rekommenderat att du kontrollerar att allt finns med mot den fullständiga komponentlistan:

Denna finns också som ods-fil för att enklare kunna skrivas ut: File:Krysslista IntroARM - v3.ods.zip

Komponent Artikelnr Referens Antal Finns med
100R resistor 660-RK73B2BTTD101J R1-R5, R7, R8, R10, R12, R14, R16, R18, R22-R33 24
10k resistor 660-RK73B2BTTD103J R6, R11, R13, R15, R17, R19, R20 7
3k3 resistor 660-RK73B2BTTDD332J R9, R21, R34-R37 6
3v3-regulator (1117-33) 863-NCP1117ST33T3G U2 1
5V-regulator (LD2908) 511-LD29080DT50R U1 1
Buzzer 254-PB1440-ROX SP1 1
H-brygga, DRV8833 595-DRV8833PWPR U4 1 Förmonterad
IMU MPU6050 U5 1 Förmonterad
IR-LED 78-TSUS5400 LED8-LED11 4
IR-mottagare 782-TSOP4138 IRMOT1-IRMOT5 5
Knappar, små 688-SKHRAB SW1-SW3 3
Konding 100nF, 50V 80-C1206C104K5R C3, C6, C8-C12, C14, C18, C21-C26, C31-C36 21
Konding 10uF, 25V 963-TMK316BJ106KLHT C2, C4, C5, C13, C15, C19, C20, C27-C30 11
Konding Tantal, 100uF, 10V 647-F951A107MAAAQ2 C1, C7 2
Kristall 8 MHz 815-ABL-8-B2 X1 1
Lastkapacitans Kristall 18pF 77-VJ1206A180JXXPBC C16, C17 2
LED Grön 720-LGN971-KN-1 LED1, LED2, LED4, LED6 4
LED Röd 720-LHN974-KN-1 LED3, LED5, LED7 3
Mikrokontroller 511-STM32F100C8T6B U3 1 Förmonterad
Mostfet (P-kanal) 771-PMV65XP-T/R Q1, Q2, Q4, Q5 4
Reflexdetektor 638-ITR8307TR8 REF1-REF4 4
SD-socket 688-SCHD3A0100 U6 1
Stiftlister Pin headers 1
PCB By CRF 1

Hårdvara som inte ska lödas på kortet

Komponent Artikelnr Referens Antal Finns med
Micro metal gear, 100:1 HP 1101 2
Motorbrackets, par 1089 1
Hjul, par 1090 1
CP2102/CP2104 CP2102 1
Lipo, 2s 9210000005 1

Schema

Ett kopplingsschema för IntroARM hittas här: File:IntroARM schematic v3.pdf. Den är bra att använda för att kolla upp hur de olika komponenterna är kopplade elektriskt.

Bilder på komponenter

Alla komponenterRev3.jpg
Bild över alla komponenter som ingår. Tyvärr syns inte vilka motstånd eller kondingar som är vilka.

Utrustning

För att bygga ihop din IntroARM krävs en del utrustning. All utrustning finns i föreningens lokal, så det är rekommenderat att du sitter där och arbetar ifall du har möjlighet.

Nödvändig utrustning

Denna utrustning är i princip helt nödvändig för att du ska kunna bygga ihop IntroARM (är du väldigt duktig kan du klara dig utan en del av dessa saker)

  • Dator med en ledig usb-port samt programvara för att programmera STM32
  • Lödstation
  • Lödtenn (Använd blyat lödtenn, då blyfritt är hälsofarligt)
  • Pincett
  • Avbitartång
  • Liten kryssmejsel

Bra-och-ha-utrustning

Denna utrustning är inte nödvändig att ha, men underlättar en del i ditt byggande.

  • Flussmedel förenklar lödningen, men inte helt nödvändigt. Det är mer viktigt att ha ifall man är nybörjare.
  • Värmepistol, Varmluftsstation eller Cigarettändare (för krympslangen)
  • Någonting att hålla fast kretskortet med under lödningen (t.ex. en s.k. Tredje hand)
  • Multimeter rekommenderas till felsökning
  • Ett spänningsaggregat med strömbegränsning

LiPo-batteriet

Detta borde vara en egen artikel. Den ligger här tills vidare.
Till din IntroARM har du fått ett s.k. LiPo-batteri (Lithium-Polymer). Dessa batterier är vida använda av hobbyister för sin prestanda, men medför vissa risker:

  • Lipot har väldigt hög energitäthet. Detta innebär att, trots sin låga vikt innehåller mycket energi. Lipot kan också släppa ifrån sig denna energi mycket snabbt.
  • Lipot är ömtåligt, så var försiktig när du hanterar det (du behöver inte vara överdrivet försiktig). Stick aldrig vassa saker i lipot, undvik att tappa det och elda inte på det. Om det blir varmt, koppla ur det och låt det svalna.
  • Spänningen får inte bli för låg. Detta lipo har två celler i serie. Varje cell har en maxspänning på 4.2V och en "nominell" spänning på 3.7V. Detta medför att total spänningen över lipot är 8.4V som max och 7.4V nominellt. Exakt vilken cellspänning som är dålig för lipot är lite oklart, men se till att spänningen aldrig understiger 3.0V per cell (för 2 i serie blir det som väntat 6.0V).
  • Används endast en lipoladdare. Lipo-batterier måste laddas på ett speciellt sätt, annars kan dom ta skada (ofta i form av försämrad kapacitet, men kan det kan även gå värre). Använd endast en laddare avsedd för lipon, och ladda inte med för mycket ström. Alla lipos går att ladda med en upp till ström motsvarande 1C. 1C motsvarar lipots kapacitet i ström, d.v.s. om ett lipo har kapaciteten 1000mAh, så är 1C=1000mA=1A. På samma sätt är 2C=2A för detta lipo.
  • Lipot säger inte nej. Ifall lipot kopplas in på någonting som vill ha väldigt mycket ström (t.ex. om det är en korslutning) kommer lipot inte begränsa strömmen. Detta kan medföra att nånting går sönder (typiskt börjar ryka). Lipot kan dock inte ge hur mycket ström som helst. Vanligen står det en kontinuerlig maxurladdning och en kortvarig (burst) maxurladdning uttryckt i C på batteriet. Typiska värden är 15C kont och 25C burst (man skriver ofta 15-25C) för lågspec-lipos. Bra lipos kan ha rating upp till 70-130C. Burst brukar man säga är "några sekunder".

Komma igång med programmeringen

Detta ska du göra först efter att du börjat löda ihop den, men du kan sätta igång det medan du börjar. Gå till artikeln Förberedelse programmering STM32 för en guide. Det finns även en snabbguide i den artikeln för dig som vill komma igång snabbt. Där finns även exempelkod för IntroARM.

Del 1 - Spänningsmatning och Microcontroller

Del 1 är framförallt mikrokontrollerns kringkomponenter, kraftförsörjning (5V och 3V3) och grundläggande funktioner som indikatorleds och användarknappar. Efter detta steg kan din robot blinka lite och ta in användarinputs (från knapparna). Den kan även kommunicera med datorn med UART.

Ingående komponenter del 1

Komponent Artikelnr Referens Antal Finns med
100R resistor 660-RK73B2BTTD101J R1-R5, R7, R8 7
10k resistor 660-RK73B2BTTD103J R6, R11, R20 3
3k3 resistor 660-RK73B2BTTDD332J R9, R21 2
3v3-regulator (1117-33) 863-NCP1117ST33T3G U2 1
5V-regulator (LD2908) 511-LD29080DT50R U1 1
Knappar, små 688-SKHRAB SW1-SW3 3
Konding 100nF, 50V 80-C1206C104K5R C3, C6, C8-C12, C14, C21 9
Konding 10uF, 25V 963-TMK316BJ106KLHT C2, C4, C5, C13, C15 5
Konding Tantal, 100uF, 10V 647-F951A107MAAAQ2 C1, C7 2
Kristall 8 MHz 815-ABL-8-B2 X1 1
Lastkapacitans Kristall 18pF 77-VJ1206A180JXXPBC C16, C17 2
LED Grön 720-LGN971-KN-1 LED1, LED2, LED4, LED6 4
LED Röd 720-LHN974-KN-1 LED3, LED5, LED7 3
Mikrokontroller 511-STM32F100C8T6B U3 1 Förmonterad
Mostfet (P-kanal) 771-PMV65XP-T/R Q1, Q2 2
Stiftlister Pin headers P1, P2 2+5
PCB By CRF 1

Komponentplacering

Här visas vart komponenterna i del 1 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan. För de blå komponenterna, läs "Att tänka på" för detta segment.
IntroARM2013v3KomponentplaceringDel1.png
IntroARMRev3 Buildinstruction - Part1 MCU and Regulator Top.jpg IntroARMRev3 Buildinstruction - Part1 MCU and Regulator Bottom.jpg

Att tänka på

  • LED1 - LED7 är lysdioder och har därmed polaritet, dvs att det spelar roll åt vilket håll de sitter åt. På LEDsen så finns det på ena kortänden lite grönt på ovansidan som markerar katoden (minus). På undersidan av leden så varierar det hur det är markerat, men generellt så är det en grön pil mot katoden eller ett streck som pekar mot katoden. Katoden är markerat med ett dubbelsträck på komponentavtrycket på kretskortet.
  • C1 och C7 är tantalkondensatorer och även dessa har polaritet. Komponenterna skall monteras med den lilla toppen mot plus. Detta är markerat med ett streck på komponenttrycket.
  • Lipo-batteriet har ingen strömbegränsning. Ifall det finns en kortslutning på kortet finns det risk att någonting går sönder. Var därför försiktig när du kopplar in det, och var säker på att du koppla in det åt rätt håll.

Hålmonterade:

  • Stiftlister P1-2
  • Knappar SW1-3
  • Kristall X1

Testning

När alla komponenter ovan är monterade är det dags att testa. Rekommenderat är följande procedur:

  • Ifall du har en multimeter, använd den och mät resistansen mellan V+ och GND, samt mellan VCC och GND. Där bör det inte vara någon nämnvärd kontakt (flertalet kohm).
  • Koppla in batteriet på Vin (precis bredvid buzzern). Tänk på att koppla åt rätt håll. Svart mot GND och röd mot Vin. Nu ska LED1 (power) börja lysa. Ifall den inte gör det, koppla snabbt ur

Du kan testa några program som gör följande:

  • Tänder LEDs
  • Tänder/släcker LEDs baserat på tid (delay)
  • Tänder slöcker LEDs baserat på knappar
  • Visar batteriets laddning (ADC)

Del 2 - Motorer

I detta steg kommer roboten att börja röra på sig. Motordrivaren översätter microcontrollers svaga signaler till starka signaler som orkar driva motorerna framåt och bakåt. Vidare finns det även tachometrar (REF1 och 2) som kan användas för att mäta motorernas (hjulens) hastigheter.

Komponentlista del 2

Komponent Artikelnr Referens Antal Finns med
100R resistor 660-RK73B2BTTD101J R12, R14 2
10k resistor 660-RK73B2BTTD103J R13, R15 2
H-brygga, DRV8833 595-DRV8833PWPR U4 1 Förmonterad
Konding 100nF, 50V 80-C1206C104K5R C18 1
Konding 10uF, 25V 963-TMK316BJ106KLHT C19, C20 2
Reflexdetektor 638-ITR8307TR8 REF1, REF2 2
Stiftlister Pin headers P3, P4 2+2

Komponentplacering

Här visas vart komponenterna i del 2 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.
IntroARM2013v3KomponentplaceringDel2.png
IntroARMRev3 Buildinstruction - Part2 Motors Top.jpg IntroARMRev3 Buildinstruction - Part2 Motors Bottom.jpg

Att tänka på

  • Montera de små komponenterna först och vänta med motorerna och motorfästena till sist.
  • För att sätta fast motorerna elektriskt, böj ut stiftlisterna P3 och P4 till motorkontakterna och löd fast dem.
  • Hjulet kan vara lite trögt att få på, men det går med milt våld. Det kommer att vara trögare att få av.

Testning

VIKTIGT! Roboten kommer att springa iväg ifall du inte förbereder för detta. Två saker bör man alltid ha med när man testar robotar som kan röra på sig:

  • I koden ska du inte låta motorer köra förrän du har givit startkommando (t.ex. via en knapp). Din kod bör se ut liknande som följer:

<syntaxhighlight lang="C"> init_stuff(); //Do normal init routines while(!SW1){} //Wait for input switch 1 to be true run_motors(); //Start your engines! </syntaxhighlight>

  • Palla upp roboten så att den är fysiskt förhindrar att åka iväg (t.ex. på en tejprulle, liten mugg eller liknande)

Todo: Ladda in program som kör motorerna. Tryck lite på knapparna för att köra motorerna i olika hastighet, framåt och bakåt. Beroende på hur du monterat motorerna kan dom gå åt "fel" håll. I filen motors.h finns parametrar som heter MC_RIGHT_DIR och MC_LEFT_DIR. Dessa ställer in motorernas riktning. Dessa ställer motorernas neutralriktning och ska vara -1.0 eller 1.0. Ifall någon motor går åt fel håll, byt denna parameter för motorn.

Del 3 - Sensorer

Här kan roboten börja ta intryck av omgivningen. Det finns ett par olika sensorer:

  • 4 st Hinderdetektorer - Består av IR-mottagare för fjärrkontroller samt lysdioder som pulsas enligt ett visst mönster. När ljuset studsar på ett hinder får mottagaren signal.
  • 2 st Reflexdetektorer - Känner av underlagets reflektivitet. Kan används för att hitta bordskanter eller en vit linje runt en sumoplan. Skickar ut ljus och mäter hur mycket som kommer tillbaka.
  • 1 st IMU (Inertial Measurement Unit) - En krets som innehåller en 3-axlig accelerometer och ett 3-axligt gyro. Kan användas om man vill balansera roboten.
  • 1st Fjärrkontrollsmottagare - Denna är likadan som hinderdektetorerna men riktad bakåt. Används för att ta emot kommandon från fjärrkontroller som använder RC5 (vanligt protokoll för TV-fjärrkontroller) t.ex. start/stopp och hastighetsinställningar.

Komponentlista del 3

Komponent Artikelnr Referens Antal Finns med
100R resistor 660-RK73B2BTTD101J R16, R18, R22-R28 7
10k resistor 660-RK73B2BTTD103J R17, R19 2
3k3 resistor 660-RK73B2BTTDD332J R34-R35 2
IMU MPU6050 U5 1 Förmonterad
IR-LED 78-TSUS5400 LED8-LED11 4
IR-mottagare 782-TSOP4138 IRMOT1-IRMOT5 5
Konding 100nF, 50V 80-C1206C104K5R C22-C26, C31-C34 21
Konding 10uF, 25V 963-TMK316BJ106KLHT C27-C30 11
Mostfet (P-kanal) 771-PMV65XP-T/R Q4 1
Reflexdetektor 638-ITR8307TR8 REF3-REF4 2

Komponentplacering

Här visas vart komponenterna i del 3 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.
IntroARM2013v3KomponentplaceringDel3.png
IntroARMRev3 Buildinstruction - Part3 Sensors Top.jpg IntroARMRev3 Buildinstruction - Part3 Sensors Bottom.jpg IntroARMRev3 Buildinstruction - Part3 Sensors Front.jpg

Att tänka på

  • Tänk på att inte löda IR-mottagarna och lysdioderna hela vägen ner. Spara en del av benen så att de kan böjas tillrätta. Detta beror såklart på hur du tänkte bygga chassit till din robot (det är inte nödvändigtvis fel att löda de ända ner på kortet så länge lysdioderna kan böjas framåt). Rekommenderat kan vara att löda de sensorer som tittar åt sidan längre ner.
  • IR-ledsen är polkänsliga. Det långa benet är plus (anod). Ifall någon har skojat och klippt av benen kan man titta i LEDen. Det ena benet går till en stor platta. Denna stora plattan är minus (katod).
  • IR-mottagarna och lysdioderna behöver mycket skärmning. Använd svart krympslang eller svart eltejp till detta. Här får man pröva sig fram lite (se Att skärma).
  • Reflexdetektorerna ska lödas från ovansidan tittandes nedåt i kortet. Matcha upp det avfasade hörnet med markeringen på kortet. Benen kan behöva böjas till lite. Se till att de når ända ut till paddarna.
  • Den bakre IR-mottagaren bör inte skärmas. Beroende på hur ditt chassi byggs kan det vara bra att löda denna på sladdar så att den kan placeras exponerat, så att signalerna från en fjärrkontroll enklare når fram till den.

Testning

  • Ett program som läser av framåtsensorerna och rapporterar på LEDs.
  • Ett program som skriver ut kantsensorererna på uarten samt tänder en LED vid en viss nivå.
  • Ett program för styrning med fjärrkontroll.

Att skärma av framåtsensorerna

Dessa sensorer är inte de allra bästa (tanken var aldrig att dessa komponenter skulle vara sensorer). Det krävs mycket skärmning på dem för att det ska bli bra. Både sändarna (IR-LEDsen) och mottgarna (IRMOT) behöver skärmas. Följande procedur är rekommenderad:

IR-LEDs

  • Böj de lite så att LEDsen pekar framåt
  • Ta den mindre av krympslangen "SÄTT IN STORLEK HÄR" klipp en liten reva i den
  • Trä den över LEDsen så att revan du klippte går över benen.
  • Krymp krympslangen (helst med varmluft) på inte alltför hög temperetaur (100-150C)
  • Ta en pincett och vik ihop den på baksidan av lysdioden (de läcker mycket ljus bakåt).
  • Vid behov, tejpa på baksidan lysdioden, gärna svart eltejp.

IR-mottagarna

Det finns två sätt att skärma dessa, beroende på hur du vill ha sensorerna. Antingen smalt eller brett synfält. VI skulle rekommendera smalt synfält, då detta är enklare att trimma in.

  • Klipp av en liten bit av krympslangen (9mm), c:a 10-15mm lång.
  • Skär en liten reva longitudinellt (längs med) krympslangen för smalt synfält eller lateralt för brett synfält (se bild nedan).
  • Trä den över mottagaren med revan över mottagarens lins. Se till så det finns lite krympslang ovanför mottagaren
  • Krymp krympslangen (helst med varmluft) på inte alltför hög temperetaur (100-150C)
  • Kläm ihop den överhänget medan krympslangen fortfarande är varm
  • Vid behov, pilla isär revan litegrann med en pincett

Trimma

  • Kör testprogrammet som visar sensorernas status på LEDsen.
  • Tryck på knapparna för att öka och minska känsligheten. SW2 gör den känsligare, SW1 gör den mindre känslig. (Det som egentligen händer är att frekvensen ändras)
  • Lägg roboten på en ganska öppen yta (gärna en sumoplan inklusive säkerhetsmarginal)
  • Ställ någon liten låda framför roboten och se vad den ser. Tänk på att inte ha din arm i närheten, då den är stor och reflekterar IR bra.
  • Ifall den ser för dåligt, klipp av små bitar av krympslangen på LEDsen.

Nedans finns en bild på hur skärmningen kan se ut. Den till vänster är för brett synfält, och den till höger är för smalt synfält.

Sensorskärmning.jpeg

Del 4 - Extrafunktioner

Dessa funktioner är inte nödvändiga för att din IntroARM ska kunna fungera som en robot, utan mer lite roliga extrafunktioner. Detta består av 2 funktioner:

  • Buzzer - Roboten låter! Rolig funktion med vilken roboten kan göra olika ljud och enklare spela musik. Kan vara bra som interface till roboten.
  • SD-sockel - En kontakt att montera SD-kort i (SD-kort medföljer ej) på vilket man kan spara t.ex. loggar eller musik med hjälp av Fat-FS.

Komponentlista del 4

Komponent Artikelnr Referens Antal Finns med
100R resistor 660-RK73B2BTTD101J R10, R33 2
Buzzer 254-PB1440-ROX SP1 1
Konding 100nF, 50V 80-C1206C104K5R 35, C36 2
Mostfet (P-kanal) 771-PMV65XP-T/R Q5 1
SD-socket 688-SCHD3A0100 U6 1

Här visas vart komponenterna i del 4 sitter på kortet (de rödmarkerade). De gråa komponenterna ska vara monterade innan detta steg. Separat bild för undersidan och ovansidan.
IntroARM2013v3KomponentplaceringDel4.png

Att tänka på

  • SD-sockeln kan vara lite lurig att löda. Den löds enklast genom sockeln med viss försiktighet.

Testning

Program för pipande. Kanske nåt enkelt program för att läsa en fil eller nåt (spara en logg). Kanske t.o.m. spela upp en ljudfil (wav) från SD-kortet.

Del 5 - Extra interface

Todo: Fyll i vad dom olika pinheader:na gör i tabellen. Kontakter för de extra interface som finns utdraget på IntroARM (t.ex. extra UART, SPI, I2C, DAC, ADC) VIKTIGT! Montera enbart dessa stiftlister vid behov, de kan vara ivägen för batteriet. Vid normalt användande behövs de ej. Motstånden pullup för I2C.

Komponentlista del 5

Komponent Antal Referens
Motstånd 3k3 2 R36, R37
Stiftlist (1x2) 2 P5, P6
Stiftlist (1x4) 1 P7
Stiftlist (1x5) 2 P8, P9
Stiftlist (1x8) 1 P10


IntroARM2013v3KomponentplaceringDel5.png

Bilder på en färdig IntroARM