Innehållsförteckning:

Line Follower Robot With PICO: 5 steg (med bilder)
Line Follower Robot With PICO: 5 steg (med bilder)

Video: Line Follower Robot With PICO: 5 steg (med bilder)

Video: Line Follower Robot With PICO: 5 steg (med bilder)
Video: Amazing arduino project 2024, December
Anonim
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO
Line Follower Robot Med PICO

Innan du kan skapa en robot som kan avsluta civilisationen som vi känner den och som kan avsluta mänskligheten. Du måste först kunna skapa de enkla robotarna, de som kan följa en linje som dras på marken, och här tar du ditt första steg mot att avsluta oss alla>. <

Först och främst är en linje som följer en robot en robot som kan följa en linje på marken, och denna linje är vanligtvis en svart linje ritad på en vit bakgrund eller tvärtom; och det beror på att det är lättare för roboten att se skillnad mellan mycket kontrasterande färger, som svart och vitt. Där roboten ändrar vinkel beroende på vilken färg den läser.

Tillbehör

  1. PICO
  2. Tvåhjulsdriven robotchassi, som har följande:

    • Akrylchassi
    • 2 likströmsmotorer med hjul och pulsgivare
    • Hjul med metallavstånd
    • 4 -kanals batterihållare
    • Några skruvar och muttrar
    • På / Av knapp
  3. L298N motor drivrutin modul
  4. 2 linjespårningssensorer
  5. 7,4v batteri

Steg 1: Förbered DC -motorerna

Förbereda DC -motorerna
Förbereda DC -motorerna
Förbereda DC -motorerna
Förbereda DC -motorerna
Förbereda DC -motorerna
Förbereda DC -motorerna

Du kan använda det tvåhjulsdrivna "2WD" -chassit för att göra det här projektet enklare, eftersom det sparar tid och ansträngning när det gäller att bygga ditt eget chassi. Ger dig mer tid att fokusera på projektets elektronik.

Låt oss börja med likströmsmotorerna, eftersom du kommer att använda motorerna för att styra rörelsehastigheten och riktningen för din robot, beroende på sensorernas avläsningar. Det första du ska göra är att börja kontrollera motorernas varvtal, vilket är direkt proportionellt mot ingångsspänningen, vilket innebär att du måste öka spänningen för att öka hastigheten och vice versa.

PWM "Pulse Width Modulation" -tekniken är idealisk för jobbet, eftersom den låter dig justera och anpassa medelvärdet som går till din elektroniska enhet (motor). Och det fungerar genom att använda de digitala signalerna "HIGH" och "LOW" för att skapa analoga värden, genom att växla mellan de 2 signalerna med en mycket snabb takt. Där den "analoga" spänningen beror på procentandelen mellan de digitala HIGH till digitala LOW -signalerna som är närvarande under en PWM -period.

Observera att vi inte kan ansluta PICO direkt till motorn, eftersom motorn behöver minst 90mA som inte kan hanteras av PICOs stift, och det är därför vi använder L298N -motordrivmodulen, vilket ger oss möjlighet att både skicka tillräckligt med ström till motorerna och ändra dess polaritet.

Låt oss nu löda en tråd till var och en av motorns terminaler, enligt dessa steg:

  1. Säkra lite lödmotor på motorns terminal
  2. Sätt trådspetsen ovanför motorterminalen och värm den med lödkolven tills lödet på terminalen smälter och ansluter till tråden, ta sedan bort lödkolven och låt anslutningen svalna.
  3. Upprepa föregående steg med de återstående terminalerna på båda motorerna.

Steg 2: Använda L298N -motordrivrutinmodulen

Använda L298N -motordrivrutinmodulen
Använda L298N -motordrivrutinmodulen
Använda L298N -motordrivrutinmodulen
Använda L298N -motordrivrutinmodulen
Använda L298N -motordrivrutinmodulen
Använda L298N -motordrivrutinmodulen

Motordrivmotorn L298N har förmågan att öka signalen från PICO och ändra polariteten för strömmen som passerar genom den. Låter dig styra både hastigheten och riktningen som dina motorer roterar med.

L298N Pin Outs

  1. DC -motor A: s första terminal
  2. Likströmsmotor A: s andra terminal
  3. Inbyggd 5v regulatorbygel. Ta bort den här bygeln om du ansluter motorns matningsspänning på mer än 12v, så att spänningsregulatorn inte blir hård.
  4. Motorns matningsspänning in. Maximalt är 35v, och glöm inte att ta bort spänningsregulatorn om du använder mer än 12v.
  5. GND
  6. 5v utgång. Denna utgång kommer från spänningsregulatorn om den fortfarande är ansluten, och den ger dig möjlighet att driva din PICO från samma källa som motorn.
  7. Likströmsmotor A aktivera bygel. Om denna bygel är ansluten går motorn med full hastighet antingen framåt eller bakåt. Men om du vill kontrollera hastigheten, ta bara bort bygeln och anslut en PWM -stift istället.
  8. I 1 hjälper det till med att kontrollera strömens polaritet och därmed rotationsriktningen för motor A.
  9. In2, det hjälper till att kontrollera strömens polaritet, och därmed rotationsriktningen för motor A.
  10. In3, det hjälper till att kontrollera strömens polaritet, och därmed rotationsriktningen för motor B.

  11. In4, det hjälper till att kontrollera strömens polaritet, och därmed rotationsriktningen för motor B.
  12. DC -motor B aktiverar bygel. Om denna bygel är ansluten går motorn med full hastighet antingen framåt eller bakåt. Men om du vill kontrollera hastigheten, ta bara bort bygeln och anslut en PWM -stift istället.
  13. DC -motor B: s första terminal

    DC -motor B: s andra terminal

Antalet stift som L298N -drivmotorn har gör att det verkar svårt att använda. Men det är faktiskt ganska enkelt, och låt oss bevisa det med ett fungerande exempel, där vi använder det för att styra rotationsriktningen för båda våra motorer.

Anslut PICO till motorföraren enligt följande "du hittar diagrammet ovan":

  • I1 → D0
  • In2 → D1
  • I3 → D2
  • I4 → D3

Motorns riktning styrs genom att skicka ett HÖGT och LÅTT logiskt värde mellan varje par In1/2 och In3/4 drivstift. Till exempel, om du skickar HIGH till In1 och LOW till In2 får det motorn att rotera i en riktning och att sända LOW till In1 och HIGH till In2 roterar motorn i motsatt riktning. Men om du skickar samma HIGH eller LOW signaler samtidigt till både In1 och In2, kommer motorerna att stanna.

Glöm inte att ansluta PICO: s GND till batteriets GND, och ta inte bort hopparna Enable A och Enable B.

Du hittar också det här exemplets kod ovan.

Steg 3: Lägga till PWM till L298N -drivrutinsmodulen

Lägger till PWM till L298N -drivrutinsmodulen
Lägger till PWM till L298N -drivrutinsmodulen
Lägger till PWM till L298N -drivrutinsmodulen
Lägger till PWM till L298N -drivrutinsmodulen

Vi kan nu styra rotationsriktningen för våra motorer. Men vi kan fortfarande inte kontrollera deras hastigheter, eftersom vi har en konstant spänningskälla som ger dem maximal effekt de kan ta. Och för att göra det behöver du två PWM -stift för att styra båda dina motorer. Tyvärr har PICO bara 1 PWM -utgång, som vi behöver utöka med PCA9685 OWM -modulen, och denna fantastiska modul kan utöka din PWM från 1 till 16!

PCA9685 Pinouts:

  1. VCC → Detta är din logiska effekt, med 3-5v max.
  2. GND → Den negativa stiftet måste vara anslutet till GND för att slutföra kretsen.
  3. V+ → Denna stift fördelar kraften från en extern strömkälla, den används främst med motorer som behöver stora mängder ström och behöver en extern strömkälla.
  4. SCL → Seriell klockstift, som du ansluter till SCL för PICO.
  5. SDA → Seriell datastift, som du ansluter till SDA för PICO.
  6. OE → Utgångsaktiveringsstift, denna pin är aktiv LÅG, vilket betyder att när stiften är LÅG är alla utgångar aktiverade och när den är HÖG är alla utgångar inaktiverade. Detta är en valfri stift, med standard som dras LÅG.

PCA9685 PWM -modulen har 16 PWM -utgångar, var och en med sin egen V+, GND och PWM -signal som du kan styra oberoende av de andra. Varje PWM klarar 25mA ström, så var försiktig.

Nu kommer delen där vi använder PCA9685 -modulen för att styra hastigheten och riktningen på våra motorer, och så här ansluter vi PICO till PCA9685- och L298N -modulerna:

PICO till PCA9685:

  1. D2 (PICO) SDA (PCA9685)
  2. D3 (PICO) SCL (PCA9685)

PCA9685 till L298N:

  1. PWM 0 (PCA9685) → In1 (L298N), för att styra motorriktningen A
  2. PWM 1 (PCA9685) → In2 (L298N), för att styra motorriktningen A
  3. PWM 2 (PCA9685) → In3 (L298N), för att styra motorns riktning B
  4. PWM 3 (PCA9685) → In4 (L298N), för att styra motorns riktning B
  5. PWM 4 (PCA9685) → enableA (L298N), för att sända PWM -signalen som styr motor A: s hastighet.
  6. PWM 5 (PCA9685) → enableB (L298N), för att sända PWM -signalen som styr motor B: s hastighet.

Du hittar koden för alla dessa delar bifogade ovan.

Steg 4: Använda linjespårningssensorn

Använda linjespårningssensorn
Använda linjespårningssensorn
Använda linjespårningssensorn
Använda linjespårningssensorn

Linjespåraren är ganska enkel. Denna sensor har förmågan att skilja mellan två ytor, beroende på kontrasten mellan dem, som i svartvitt.

Linjespårningssensorn har två huvuddelar, IR -LED och fotodiod. Den kan berätta färgerna genom att avge IR -ljus från lysdioden och läsa reflektionerna som kommer tillbaka till fotodioden, sedan matar fotodioden ut ett spänningsvärde beroende på det reflekterade ljuset (HÖG värde för en ljus "glänsande" yta och ett LÅGT värde för en mörk yta).

Linjespårarens pinouts:

  1. A0: detta är den analoga utgångsstiften, och vi använder den om vi vill ha en analog ingångsavläsning (0-1023)
  2. D0: Detta är den digitala utgångsstiften, och vi använder den om vi vill ha en digital ingångsavläsning (0-1)
  3. GND: Detta är jordstiftet, och vi ansluter det till PICO: s GND -stift
  4. VCC: Detta är strömstiften, och vi ansluter den till PICO: s VCC -stift (5v)
  5. Potentiometer: Detta används för att kontrollera sensorns känslighet.

Låt oss testa linjespårningssensorn med ett enkelt program som tänder en lysdiod om den upptäcker en svart linje och stänger av lysdioden om den upptäcker en vit yta medan du skriver ut sensorns avläsning på seriemonitorn.

Du hittar koden till detta test bifogad ovan.

Steg 5: Att sätta ihop allt

Image
Image
Att sätta ihop allt
Att sätta ihop allt

Det sista vi behöver göra är att sätta ihop allt. Eftersom vi har testat dem alla individuellt och alla fungerar som förväntat.

Vi behåller PICO, PCA9685- och L298N -modulerna anslutna som de är. Sedan lägger vi till linjeföljarsensorerna i vår befintliga installation, och det är enligt följande:

  1. VCC (alla linjespårningssensorer) → VCC (PICO)
  2. GND (alla linjespårningssensorer) → GND (PICO)
  3. D0 (höger linjespårningssensor) → A0 (PICO)
  4. D0 (Center line tracker sensor) → A1 (PICO)
  5. D0 (Vänster linjespårningssensor) → A2 (PICO)

Detta är den sista koden som kommer att styra din bil och säga att den ska följa en linje, svart linje på en vit bakgrund i vårt fall.

Rekommenderad: