Difference between revisions of "CRF Linjeföljare"

From Chalmers Robotförening
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Komponenter=
==Resurser==
https://chalmersrobotics.se/wiki/images/5/50/Line_Follower_v1.zip


{| class="wikitable"
==Komponenter och verktyg==
{| class="wikitable" style="float:right; margin-left: 40px;" margin-bottom: 20px;"
|+ style="caption-side:bottom;"| Komponentlista för linjeföljaren
|-
|-
! scope="col"|Nummer
! scope="col"|Nummer
Line 72: Line 75:
|}
|}


=Montering=
I tabellen till höger på denna sida kan du se vilka komponenter som behövs för att bygga denna linjeföljare. Utöver detta behövs också följande verktyg
När man har sett till att man har alla delarna som krävs för att bygga sin linjeföljare är det bara att sätta igång!
* Liten skruvmejsel
* Limpistol
* Lödkolv
* Avbitare
* Kabelskalare
* 3D-skrivare eller Laserskärare eller Bandsåg och borrmaskin


==Chassi==
==Tillverkning av chassi==
All delar på denna linjeföljare är egentligen färdiga förutom chassit. Det utgörs av
All delar på denna linjeföljare är egentligen färdiga förutom chassit. Det utgörs av
* en basplatta som motorer, sensorer, batteri och mikrokontroller monteras på
* en basplatta som motorer, sensorer, batteri och mikrokontroller monteras på
Line 81: Line 89:
Detta kan tillverkas på (minst) tre olika sätt:
Detta kan tillverkas på (minst) tre olika sätt:


===Laserskärare===
'''Laserskärare'''
 
Det absolut smidigaste sättet att tillverka dessa delar är genom att använda den färdiga filen som finns tillgänglig här och laserskära bitarna i CRF:s [[Laserskärare]]. Förslagsvis används antingen 4- eller 5-mm akryl eller plywood för detta.
Det absolut smidigaste sättet att tillverka dessa delar är genom att använda den färdiga filen som finns tillgänglig här och laserskära bitarna i CRF:s [[Laserskärare]]. Förslagsvis används antingen 4- eller 5-mm akryl eller plywood för detta.


===Bandsåg och pelarborr===
'''Bandsåg och pelarborr'''
 
Ett annat smidigt sätt att tillverka delarna är genom att använda CRF:s [[Bandsåg]] och pelarborr. En ritning för delarna finns här. Skriv ut denna och klipp sedan ut konturerna av de olika delarna och limma sedan på pappersbitarna på en bit plywood med limstift eller trälim. Används sedan pappersbitarna som en guide när du sågar delarna och borrar ut hålen.  
Ett annat smidigt sätt att tillverka delarna är genom att använda CRF:s [[Bandsåg]] och pelarborr. En ritning för delarna finns här. Skriv ut denna och klipp sedan ut konturerna av de olika delarna och limma sedan på pappersbitarna på en bit plywood med limstift eller trälim. Används sedan pappersbitarna som en guide när du sågar delarna och borrar ut hålen.  


===3D-skrivare===
'''3D-skrivare'''
 
Man kan även skriva ut delarna med en [[3D-skrivare]] med hjälp av de färdiga filerna som finns här. Detta tar dock ganska långt tid.
Man kan även skriva ut delarna med en [[3D-skrivare]] med hjälp av de färdiga filerna som finns här. Detta tar dock ganska långt tid.


[[File:Line_follower_l298n_v1_bb.png|thumb|Kopplingsschema för CRF:s linjeföljare v1.|200px]]
==Montering==
[[File:Line_follower_l298n_v1_bb.png|thumb|<strong>Kopplingsschema för CRF:s linjeföljare v1.</strong>|475px]]
 
Efter att delarna till chassit har tillverkats är det dags att börja montera komponenterna på linjeföljaren. I denna version av linjeföljaren görs detta främst med smältlim vilket kan tyckas vara lite [[Böp|böpigt]], men det går faktiskt väldigt fort och håller bra nog för detta syfte. Vill man lyxa till det och göra det lite mer proffsigt i framtiden uppmuntras detta!
# Tag de två IR-sensorerna och se till att de passar i hålen på basplattan. Det finns lite giv i IR-diodernas ben, men om det går trögt kan du behöva göra hålen lite större med borr. Lägg undan dioderna igen.
# Montera fast kupolmuttern med skruven i fram på basplattan enligt bilden.
# Löd på två ~8 cm kablar på varje motorenhet. Se till att det i andra änden av dessa kablar finns exponerad ledare. Förslagsvis skalar du kabeln och "tinnar" den i denna änden.
# Montera motorenheterna med smältlim. Montera sedan fast hjulen på motorenheternas axlar. Se till att enheterna hamnar åt rätt håll!
# Placera temporärt batteriet mellan motormodulerna så du kan se att det får plats
# Montera kopplingsplattan med den dubbelhäftande tejpen (eller smältlim)
# Om du behöver löda på stiftlisterna till arduinon själv så rekomenderas det att man använder sig av kopplingsplattan för att positionera stiftlisterna rätt. Sätt stiftisterna i kopplingsplattan och lägg sedan på arduinon (med ovansidan upp) så att hålen matchar stiften. Du kan sedan helt enkelt bara löda på stiften och garantera att de hamnar rakt nog för att passa i kopplingsplattan.
# Placera sedan arduino nanon enligt kopplingsschemat. Se till att det hamnar på exakt samma sätt som i bilden.
# Placera sedan hyllan på motorenheterna. Om batteriet inte får plats undertill får du ta spillbitar av trä eller liknande och lägga emellan. Tag sedan bort batteriet och smältlimma sedan fast hyllan på motorenheterna.
# Smältlimma nu fast motordrivaren ovanpå hyllan så att kylflänsen hamnar i bak på roboten.
# Se till att jumpern för +12V eller lägre sittter i. Se även till att plocka bort båda jumpers vid ENA och ENB om de sitter i (se bild).
# Löd på JST-kontaktens röda kabel på en av knappens stift. Tag sedan en en bit röd kabel och skala båda dess ändar. Löd fast ena änden på knappens andra stift och tinna den andra änden. Skruva sedan fast den tinnade änden av den röda kabeln i kopplingsplinten +12V och den svarta i GND på motodrivaren.
# Prova nu att koppla in batteriet (och tryck på knappen om det behövs). Se till att motordrivaren lyser och att inget har gått fel (än så länge). Koppla ur batteriet.
# Koppla in varje motor i motsvarande kopplingsplint på motordrivaren. Polariteten är inte viktig här då det värsta som kan hända är att hjulet snurrar åt fel håll. Detta kan vi fixa senare.
# Tag en röd och en svart M-M dupont-kabel. Koppla in den svarta tillsammans med den förra i kopplingsplinten GND (det ska nu vara två kablar här) och koppla den andra änden till GND på arduinon med hjälp av kopplingsplattan enligt bilden. Koppla sedan den röda dupontkabeln från kopplingsplintens +5V till arduinons 5V på samma sätt. '''Var noggrann med att du väljer rätt rad på kopplingsplattan! Väljer du fel kommer sannolikt något att gå sönder här. Fråga om du är osäker.'''
# Koppla åter igen in batteriet. Nu ska både motordrivaren och arduinon lysa. Gör den inte det har något gått fel på vägen. Koppla ur batteriet.
# Koppla nu de sex signalkablarna från motordrivaren till arduinon enligt bilden.
# Montera nu åter igen fast de två IR-dioderna. Om de inte sitter tajt nog kan du använda lite smältlim. Var bara försiktigt så att du inte råkar bränna någon komponent på sensorerna. Koppla nu resterande kablar från sensorerna till kopplingsplattan enligt kopplingsschemat. Var noggrann med att sensorernas GND och VCC kopplas till rätt rad i kopplingsplattan. Här finns det åter igen en risk att något kan gå sönder.
# Koppla in batteriet en sista gång för att kolla så att IR-sensorerna nu också lyser. Koppla ur batteriet.
# Ibland kan vissa underlag vara lite för hala för robotens hjul. Man kan då ta gummiband och trä över varje hjul för att öka greppet.
# Nu är vi färdiga med monteringen!
 
==Programmering==
I zip-filen till detta projekt finns det färdigkommenterad kod som kan köras på robotplattformen du precis har byggt! För att installera denna gör du följande:
 
# Se till att batteriet är urkopplat från roboten (eller att knappen är avstängd) och koppla in din robot till datorn med Mini USB-kabeln
# Se till att arduinon samt sensorerna börjar lysa (dock inte motordrivaren)
# Starta Arduino på din dator
# Välj Tools -> Board -> Arduino Nano
# Välj Tools -> Processor -> ATmega238
# Välj Tools -> Programmer -> AVR ISP
# Välj Tools -> Port-> Antagligen den enda porten som är tillgänglig (finns det flera kan du testa dig fram)
# Välj File -> Open och navigera till det extraherade innehållet från zip-filen. Gå in i program-mappen och välj main.ino
# Du borde nu kunna trycka på Upload-knappen (ser ut som en pil som pekar åt höger) och ladda upp koden till roboten!
## Skulle detta inte fungera kan du prova att koppla in och ut USB-kabeln ett par gånger och prova att ändra Port om möjligt.
# Koppla ur USB-kabeln och koppla in batteriet igen. När du nu startar roboten borde hjulen snurra runt en del!
 
==Testning==
Det är nu dags att testa och trimma in sensorerna på roboten.
 
# Först ska vi kolla så att sensorerna faktiskt reagerar på undderlaget på banan. Koppla ur motorerna och ställ ner roboten på planen så att båda sensorerna är över det vita underlaget. Flytta sedan roboten så att sensorerna hamnar ovanför det svarta underlaget och kolla om de reagerar genom att LED:en tänds eller släcks på sensorns kretskort. Trimma in så att detta fungerar bra genom att skruva på potentiometern som finns på sensorernas kretskort.
# Sedan ska vi lista ut om motorerna snurrar åt rätt håll. Koppla in motorerna igen. Om du provar att hålla roboten så att det vita området hamnar under sensorerna och startar roboten borde hjulen snurra frammåt. Gör de inte det kan du helt enkelt byta polariteten på kopplingsplintarna på motordrivaren.
# Se till att roboten är avstängd och placera den nu så att den svarta linjen ligger mellan sensorerna. Starta den och se om den lyckas hålla sig på banan hela vägen!
 
Här återstår sedan bara lite fintrimmning av hastighetsvariablerna i koden, potentiometrarna och möjligtvis lite viktfördelning på roboten. Här gäller det att testa sig fram och få en så låg bantid som möjligt utan att köra av banan. Må bäste robot vinna!

Latest revision as of 15:28, 17 March 2019

Resurser

https://chalmersrobotics.se/wiki/images/5/50/Line_Follower_v1.zip

Komponenter och verktyg

Komponentlista för linjeföljaren
Nummer Del Antal Kostnad [kr]
1 Arduino Nano 1 30
2 L289N dual channel motor driver 1 20
3 IR Obstacle Avoidance Sensor Module 2 40
4 Smart Car Robot Wheel and Motor 2 40
5 2C 7.4V LiPo battery 1 100
6 Chassis base 1 10
7 Chassis shelf 1 5
8 Tiny breadboard 1 5
9 Domed nut 1 2
10 M5 10mm screw 1 1
11 JST female contact 1 2
12 Wiring N/A 10
Total kostnad 265

I tabellen till höger på denna sida kan du se vilka komponenter som behövs för att bygga denna linjeföljare. Utöver detta behövs också följande verktyg

  • Liten skruvmejsel
  • Limpistol
  • Lödkolv
  • Avbitare
  • Kabelskalare
  • 3D-skrivare eller Laserskärare eller Bandsåg och borrmaskin

Tillverkning av chassi

All delar på denna linjeföljare är egentligen färdiga förutom chassit. Det utgörs av

  • en basplatta som motorer, sensorer, batteri och mikrokontroller monteras på
  • samt en liten hylla som motordrivaren monteras på

Detta kan tillverkas på (minst) tre olika sätt:

Laserskärare

Det absolut smidigaste sättet att tillverka dessa delar är genom att använda den färdiga filen som finns tillgänglig här och laserskära bitarna i CRF:s Laserskärare. Förslagsvis används antingen 4- eller 5-mm akryl eller plywood för detta.

Bandsåg och pelarborr

Ett annat smidigt sätt att tillverka delarna är genom att använda CRF:s Bandsåg och pelarborr. En ritning för delarna finns här. Skriv ut denna och klipp sedan ut konturerna av de olika delarna och limma sedan på pappersbitarna på en bit plywood med limstift eller trälim. Används sedan pappersbitarna som en guide när du sågar delarna och borrar ut hålen.

3D-skrivare

Man kan även skriva ut delarna med en 3D-skrivare med hjälp av de färdiga filerna som finns här. Detta tar dock ganska långt tid.

Montering

Kopplingsschema för CRF:s linjeföljare v1.

Efter att delarna till chassit har tillverkats är det dags att börja montera komponenterna på linjeföljaren. I denna version av linjeföljaren görs detta främst med smältlim vilket kan tyckas vara lite böpigt, men det går faktiskt väldigt fort och håller bra nog för detta syfte. Vill man lyxa till det och göra det lite mer proffsigt i framtiden uppmuntras detta!

  1. Tag de två IR-sensorerna och se till att de passar i hålen på basplattan. Det finns lite giv i IR-diodernas ben, men om det går trögt kan du behöva göra hålen lite större med borr. Lägg undan dioderna igen.
  2. Montera fast kupolmuttern med skruven i fram på basplattan enligt bilden.
  3. Löd på två ~8 cm kablar på varje motorenhet. Se till att det i andra änden av dessa kablar finns exponerad ledare. Förslagsvis skalar du kabeln och "tinnar" den i denna änden.
  4. Montera motorenheterna med smältlim. Montera sedan fast hjulen på motorenheternas axlar. Se till att enheterna hamnar åt rätt håll!
  5. Placera temporärt batteriet mellan motormodulerna så du kan se att det får plats
  6. Montera kopplingsplattan med den dubbelhäftande tejpen (eller smältlim)
  7. Om du behöver löda på stiftlisterna till arduinon själv så rekomenderas det att man använder sig av kopplingsplattan för att positionera stiftlisterna rätt. Sätt stiftisterna i kopplingsplattan och lägg sedan på arduinon (med ovansidan upp) så att hålen matchar stiften. Du kan sedan helt enkelt bara löda på stiften och garantera att de hamnar rakt nog för att passa i kopplingsplattan.
  8. Placera sedan arduino nanon enligt kopplingsschemat. Se till att det hamnar på exakt samma sätt som i bilden.
  9. Placera sedan hyllan på motorenheterna. Om batteriet inte får plats undertill får du ta spillbitar av trä eller liknande och lägga emellan. Tag sedan bort batteriet och smältlimma sedan fast hyllan på motorenheterna.
  10. Smältlimma nu fast motordrivaren ovanpå hyllan så att kylflänsen hamnar i bak på roboten.
  11. Se till att jumpern för +12V eller lägre sittter i. Se även till att plocka bort båda jumpers vid ENA och ENB om de sitter i (se bild).
  12. Löd på JST-kontaktens röda kabel på en av knappens stift. Tag sedan en en bit röd kabel och skala båda dess ändar. Löd fast ena änden på knappens andra stift och tinna den andra änden. Skruva sedan fast den tinnade änden av den röda kabeln i kopplingsplinten +12V och den svarta i GND på motodrivaren.
  13. Prova nu att koppla in batteriet (och tryck på knappen om det behövs). Se till att motordrivaren lyser och att inget har gått fel (än så länge). Koppla ur batteriet.
  14. Koppla in varje motor i motsvarande kopplingsplint på motordrivaren. Polariteten är inte viktig här då det värsta som kan hända är att hjulet snurrar åt fel håll. Detta kan vi fixa senare.
  15. Tag en röd och en svart M-M dupont-kabel. Koppla in den svarta tillsammans med den förra i kopplingsplinten GND (det ska nu vara två kablar här) och koppla den andra änden till GND på arduinon med hjälp av kopplingsplattan enligt bilden. Koppla sedan den röda dupontkabeln från kopplingsplintens +5V till arduinons 5V på samma sätt. Var noggrann med att du väljer rätt rad på kopplingsplattan! Väljer du fel kommer sannolikt något att gå sönder här. Fråga om du är osäker.
  16. Koppla åter igen in batteriet. Nu ska både motordrivaren och arduinon lysa. Gör den inte det har något gått fel på vägen. Koppla ur batteriet.
  17. Koppla nu de sex signalkablarna från motordrivaren till arduinon enligt bilden.
  18. Montera nu åter igen fast de två IR-dioderna. Om de inte sitter tajt nog kan du använda lite smältlim. Var bara försiktigt så att du inte råkar bränna någon komponent på sensorerna. Koppla nu resterande kablar från sensorerna till kopplingsplattan enligt kopplingsschemat. Var noggrann med att sensorernas GND och VCC kopplas till rätt rad i kopplingsplattan. Här finns det åter igen en risk att något kan gå sönder.
  19. Koppla in batteriet en sista gång för att kolla så att IR-sensorerna nu också lyser. Koppla ur batteriet.
  20. Ibland kan vissa underlag vara lite för hala för robotens hjul. Man kan då ta gummiband och trä över varje hjul för att öka greppet.
  21. Nu är vi färdiga med monteringen!

Programmering

I zip-filen till detta projekt finns det färdigkommenterad kod som kan köras på robotplattformen du precis har byggt! För att installera denna gör du följande:

  1. Se till att batteriet är urkopplat från roboten (eller att knappen är avstängd) och koppla in din robot till datorn med Mini USB-kabeln
  2. Se till att arduinon samt sensorerna börjar lysa (dock inte motordrivaren)
  3. Starta Arduino på din dator
  4. Välj Tools -> Board -> Arduino Nano
  5. Välj Tools -> Processor -> ATmega238
  6. Välj Tools -> Programmer -> AVR ISP
  7. Välj Tools -> Port-> Antagligen den enda porten som är tillgänglig (finns det flera kan du testa dig fram)
  8. Välj File -> Open och navigera till det extraherade innehållet från zip-filen. Gå in i program-mappen och välj main.ino
  9. Du borde nu kunna trycka på Upload-knappen (ser ut som en pil som pekar åt höger) och ladda upp koden till roboten!
    1. Skulle detta inte fungera kan du prova att koppla in och ut USB-kabeln ett par gånger och prova att ändra Port om möjligt.
  10. Koppla ur USB-kabeln och koppla in batteriet igen. När du nu startar roboten borde hjulen snurra runt en del!

Testning

Det är nu dags att testa och trimma in sensorerna på roboten.

  1. Först ska vi kolla så att sensorerna faktiskt reagerar på undderlaget på banan. Koppla ur motorerna och ställ ner roboten på planen så att båda sensorerna är över det vita underlaget. Flytta sedan roboten så att sensorerna hamnar ovanför det svarta underlaget och kolla om de reagerar genom att LED:en tänds eller släcks på sensorns kretskort. Trimma in så att detta fungerar bra genom att skruva på potentiometern som finns på sensorernas kretskort.
  2. Sedan ska vi lista ut om motorerna snurrar åt rätt håll. Koppla in motorerna igen. Om du provar att hålla roboten så att det vita området hamnar under sensorerna och startar roboten borde hjulen snurra frammåt. Gör de inte det kan du helt enkelt byta polariteten på kopplingsplintarna på motordrivaren.
  3. Se till att roboten är avstängd och placera den nu så att den svarta linjen ligger mellan sensorerna. Starta den och se om den lyckas hålla sig på banan hela vägen!

Här återstår sedan bara lite fintrimmning av hastighetsvariablerna i koden, potentiometrarna och möjligtvis lite viktfördelning på roboten. Här gäller det att testa sig fram och få en så låg bantid som möjligt utan att köra av banan. Må bäste robot vinna!