Byggbeskrivning introARM

From Chalmers Robotförening
Revision as of 10:59, 21 February 2014 by Sterna (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Den här bygg-guiden till IntroARM är uppdelad i delar, varje del kommer innehålla två moment, ett lödning- och byggmoment samt ett programeringsmoment.

Byggmomentet involverar framförallt lödning men även lite skruvande och pressande. Vidare så ger kittet endast den elektriska och mekanska grunden och sedan är det upp till dig att lägga till din personliga finish.

Programmeringen under konstruktionen involverar framförallt att ladda upp ett färdigt program till microkontrollern som möjliggör testning av de komponenter som monterades i det tillhörande lödningsmomentet. Men vi ser gärna att ni lär er en liten del programmering i varje steg och kommer därför försöka förbereda några enkla övningar och länka till lämpliga läroresurser. Annars kan det lätt bli för mycket att ta in när du väl börjar programmera.

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:

Komponent Artikelnr Referens Antal Finns med
Mikrokontroller 511-STM32F100C8T6B U2 1 Förmonterad
H-brygga, DRV8833 595-DRV8833PWPR U3 1 Förmonterad
Switchregulator (3.3V) 595-TPS62056DGS U1 1 Förmonterad
IMU MPU6050 U4 1 Förmonterad
Knappar, små 688-SKHRAB SW1-SW3 3
Tantal, 100uF, 10V 581-TPSB107M010R0400 C7,C15,C39 3
Stor keram 10uF 963-TMK316BJ106KLHT C2-C5,C13,C19-C20,C27-C30,C37-C38,C40 14
Liten Keram 100nF 77-VJ1206Y104KXXPBC C1,C6,C8-C12,C14,C18,C21-C26,C31-C36 21
Lastkapacitans Kristall 18pF 77-VJ1206A180JXXPBC C16-C17 2
10k resistor 660-RK73B2BTTD103J R6, R11, R13, R15, R17, R19-R20, R27 8
3k3 resistor 660-RK73B2BTTDD332J R1-R5,R7-R9,R21,R33-R37 7
100R resistor 660-RK73B2BTTD101J R1-R5,R7,R8, R10,R12,R14,R16,R18,R22-R26,R28 18
10R 660-RK73B2BTTDD100J R29-R32 4
IR-LED 78-TSUS5400 LED8-LED11 4
IR-mottagare 782-TSOP38238 IRMOT1-IRMOT5 5
Mostfet (P-kanal) 771-PMV65XP-T/R Q1-Q5 5
LED Grön 720-LGN971-KN-1 LED1-LED2,LED4,LED6 4
LED Röd 720-LYN971-HL-1 LED3,LED5,LED7 3
Induktor (switchregulator) 963-NRS5020T100MMGJ L1 1
Reflexdetektor 638-ITR8307TR8 REF1-REF4 4
Kristall 8 MHz 815-ABL-8-B2 X1 1
5V-regulator (1117-5) 863-NCP1117ST50T3G U6 1
Diod 652-CD214A-B130LF D1 1
Buzzer 254-PB1440-ROX SP1 1
SD-socket 688-SCHD3A0100 U5 1
Stiftlister Pin headers P1, P3-P10 1
Stiftlister Vinklade Pin headers P2 1
Krympslang 8 mm 4
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

Bilder på komponenter

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

Nödvändig utrustning

  • Dator med en ledig usb-port
  • Lödstation
  • Lödtenn (Använd blyat lödtenn, då blyfritt är hälsofarligt)
  • Flussmedel är rekommenderat, men inte helt nödvändigt
  • Pincett
  • Avbitartång
  • Värmepistol, Varmluftsstation, Ciggaretttändare eller Lödstationen (för krympslangen)
  • Liten kryssmejsel
  • Någonting att hålla fast kretskortet med under lödningen
  • Multimeter rekommenderas till felsökning

Del 1- Spänningsmatning och Microcontroller

Del 1 är framförallt mikrokontrollerns kringkomponenter, kraftförsörjning och grundläggande funktioner som indikatorleds och användarknappar. Här ingår även den krets som styr bootloadern som används för programmering. De komponenter som behövs till denna del kan ses i tabell 1 nedan.

Ingående komponenter del 1

Komponent Antal Referens
Mikrokontroller 1 (färdigmonterad) U2
Switchregulator (3.3V) 1 (färdigmonterad) U1
Stor keram 10uF 5 C2, C3, C4, C5, C13
Liten Keram 100nF 7 C6, C8, C9, C10, C11, C12, C14
Tantal, 100uF, 10V 3 C1, C7, C15
Lastkapacitans Kristall 18pF 2 C16, C17
10k resistor 2 R6, R11
3k3 resistor 1 R9
100R resistor 8 R1, R2, R3, R4, R5, R7, R8, R10
Mosfet (P-kanal) 3 Q1, Q2, Q3
LED Grön 4 LED1, LED3, LED5, LED7
LED Röd 3 LED2, LED4, LED6
Induktor (switchregulator) 1 L1
Diod 1 D1
Kristall 8 MHz 1 X1
Stiftlist (1x2) 1 P1
Stiftlist vinklad (1x4) 1 P2
Knappar, små 3 SW1, SW2, SW3

Att tänka på

Viktiga saker att tänka på när du löder detta moment är följande (se även bilder på komponenter:
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.

D1 är en vanlig diod och har även den polaritet. Katodsidan är i detta fall markerad med ett svagt grått streck på ovansidan. Denna markering skall matchas mot dubbelstrecket i komponentavtrycket.

C1, C7 och C15 är tantalkapacitatorer och även dessa har polaritet. Komponenterna skall monteras med det bruna strecket mot det breda strecket utanför komponentens avtryck.

Hålmonterade:

  • Stiftlister
  • Knappar
  • Kristall

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)

Komponentlista

File:Dellistor.ods.zip

Del 2 - Motorstyrning

I detta steg kommer roboten att börja röra på sig. Motordrivaren översätter microcontrollers svaga signaler till starka signaler so morkar 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 Antal Referens
H-brygga, DRV8833 1 (färdigmonterad) U3
10k resistor 2 R15, R13
100R resistor 2 R12, R14
Reflexdetektor 2 REF1, REF2
Stor keram 10uF 2 C19, C20
Liten Keram 100nF 1 C18
Micro metal gear, 100:1 HP 2
Motorbrackets, par 1
Hjul, par 1
Stiftlist (1x2) 2 P3, P4

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.

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> 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.

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 (Inertia 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 Antal Referens
IMU 1 (färdigmonterad) U4
10k resistor 4 R17, R19, R21, R27
3k3 resistor 3 R21, R34, R35
100R resistor 8 R16, R18, R22, R23, R24, R25, R26, R28
22R resistor 4 R29, R30, R31, R32
Stor keram 10uF 4 C27, C28, C29, C30
Liten Keram 100nF 1 C21, C22, C23, C24, C25, C26, C31, C32, C33, C34
IR-mottagare 4 IRMOT1, IRMOT2, IRMOT3, IRMOT4, IRMOT5
IR-LED 4 LED8, LED9, LED10, LED11
Reflexdetektor 2 REF3, REF4
Mosfet (P-kanal) 1 Q4
Krympslang X mm 4

Att tänka på

  • R21 finns på två ställen. Den ena ska vara R20. Återkommer om vilken det är. Dessa ska även flyttas till att lödas i del 1
  • 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.
  • 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 lsydioderna behöver mycket skärmning. Använd krympslangen eller svart eltejp till detta. Här får man pröva sig fram lite.

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 3 funktioner:

  • 5V-regulator - Försörjer 5V till ev andra extra funktioner som du sätter dit själv (t.ex. extra sensorer)
  • 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 Antal Referens
5V-regulator (1117-5) U6 1
Buzzer 1 SP1
Mosfet (P-kanal) 1 Q5
Stor keram 10uF 3 C37, C38, C40
Liten Keram 100nF 2 C35, C36
Tantal, 100uF, 10V 1 C39
SD-sockel 1 U5

Att tänka på

Testning

Program för pipande. Kanske nåt enkelt program för att läsa en fil eller nåt (spara en logg)

Del 5 - Extra interface

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 kommer att vara ivägen för batteriet. Vid normalt användande behövs de ej.

Komponentlista del 5

Komponent Antal Referens
Stiftlist (1x2) 2 P5, P6
Stiftlist (1x4) 1 P7
Stiftlist (1x5) 2 P8, P9
Stiftlist (1x8) 1 P10


Kopplingsschema

File:IntroARM2012v2.pdf

Komponenters placering på PCB

ComponentMapP1.png
ComponentMapP2.png