Indholdsfortegnelse:

PID Line Follower Atmega328P: 4 trin
PID Line Follower Atmega328P: 4 trin

Video: PID Line Follower Atmega328P: 4 trin

Video: PID Line Follower Atmega328P: 4 trin
Video: Ардуино Уно | Робот, следящий за линией Arduino, с 8 линейными датчиками, использующий мультиплексор и ПИД-регулятор 2024, Juli
Anonim
Image
Image

INTRODUKTION

Denne instruktive handler om at lave en effektiv og pålidelig Line Follower med PID (proportional-integral-derivat) Control (matematisk), der kører inde i hjernen (Atmega328P).

Line follower er en autonom robot, der følger enten sort linje i hvid er eller hvid linje i sort område. Robotten skal kunne registrere en bestemt linje og blive ved med at følge den.

Så der vil være få dele/trin til at lave en LINEFØLGER Jeg vil diskutere dem alle trin for trin.

  1. Sensor (øje for at se stregen)
  2. Mikrokontroller (hjerne til at foretage nogle beregninger)
  3. Motorer (muskelkraft)
  4. Motor driver
  5. Chassis
  6. Batteri (energikilde)
  7. Hjul
  8. Diverse

Her er VIDEOEN AF LINEFØLGEREN

I de næste trin vil jeg diskutere i detaljer om hver komponent

Trin 1: Sensor (øje) QTR 8RC

Sensor (øje) QTR 8RC
Sensor (øje) QTR 8RC
Sensor (øje) QTR 8RC
Sensor (øje) QTR 8RC
Sensor (øje) QTR 8RC
Sensor (øje) QTR 8RC

Tak tilPolufor fremstilling af denne fantastiske sensor.

Modulet er en praktisk bærer til otte IR -emitter og modtager (fototransistor) par jævnt fordelt med intervaller på 0,375 (9,525 mm). For at bruge en sensor skal du først oplade outputnoden (Opladning af kondensatoren) ved at anvende en spænding til dens OUT -pin. Du kan derefter aflæse reflektansen ved at trække den eksternt leverede spænding og timing, hvor lang tid det tager udgangsspændingen til at henfalde på grund af den integrerede fototransistor. Kortere henfaldstid er en indikation på større refleksion. Denne måling har flere fordele, især når det er kombineret med QTR-8RC-modulets evne til at slukke for LED-strøm:

  • Der kræves ingen analog-til-digital-konverter (ADC).
  • Forbedret følsomhed over spændingsdeler analog udgang.
  • Parallel læsning af flere sensorer er mulig med de fleste mikrokontrollere.
  • Parallel læsning muliggør optimeret brug af LED -strømaktivering

specifikationer

  • Dimensioner: 2,95 "x 0,5" x 0,125 "(uden overskriftsstifter installeret)
  • Driftsspænding: 3,3-5,0 V
  • Forsyningsstrøm: 100 mA
  • Outputformat: 8 digitale I/O-kompatible signaler, der kan læses som en timet høj puls
  • Optimal sanseafstand: 0,125 "(3 mm) Maksimal anbefalet sanseafstand: 0,375" (9,5 mm)
  • Vægt uden hovedstifter: 3,11 g

Grænseflade mellem QTR-8RC-udgange og digitale I/O-linjer

QTR-8RC-modulet har otte identiske sensorudgange, der ligesom Parallax QTI kræver en digital I/O-linje, der er i stand til at drive outputlinjen højt og derefter måle tiden for udgangsspændingen til at henfalde. Den typiske sekvens for aflæsning af en sensor er:

  1. Tænd IR -lysdioder (valgfrit).
  2. Indstil I/O -linjen til en output, og kør den højt.
  3. Tillad mindst 10 μs for sensorens output at stige.
  4. Gør I/O -linjen til et input (høj impedans).
  5. Mål tiden for spændingen til at henfalde ved at vente på, at I/O -linjen går lavt.
  6. Sluk IR -lysdioder (valgfrit).

Disse trin kan typisk udføres parallelt på flere I/O -linjer.

Med en stærk refleksans kan henfaldstiden være så lav som flere dusin mikrosekunder; uden refleksion kan henfaldstiden være op til et par millisekunder. Det nøjagtige tidspunkt for henfaldet afhænger af din mikrocontrollers I/O -linjeegenskaber. Meningsfulde resultater kan være tilgængelige inden for 1 ms i typiske tilfælde (dvs. når man ikke forsøger at måle subtile forskelle i lavreflektans-scenarier), hvilket giver mulighed for op til 1 kHz sampling af alle 8 sensorer. Hvis sampling med lavere frekvens er tilstrækkelig, kan der opnås betydelige strømbesparelser ved at slukke for LED'erne. For eksempel, hvis en 100 Hz samplingshastighed er acceptabel, kan lysdioderne være slukket 90% af tiden, hvilket sænker det gennemsnitlige strømforbrug fra 100 mA til 10 mA.

Trin 2: Mikrokontroller (hjerne) Atmega328P

Mikrokontroller (hjerne) Atmega328P
Mikrokontroller (hjerne) Atmega328P
Mikrokontroller (hjerne) Atmega328P
Mikrokontroller (hjerne) Atmega328P

Tak til Atmel Corporation Til fremstilling af denne fantastiske mikrokontroller AKA Atmega328.

Nøgleparametre for ATmega328P

Parameter Værdi

  • Flash (Kbytes): 32 Kbytes
  • Antal stifter: 32
  • Maks. Driftsfrekv. (MHz): 20 MHz
  • CPU: 8-bit AVR
  • Maks. I/O -ben: 23
  • Ext Interrupts: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ADC -kanaler: 8
  • ADC -opløsning (bits): 10
  • SRAM (Kbytes): 2
  • EEPROM (Bytes): 1024
  • I/O -forsyningsklasse: 1,8 til 5,5
  • Driftsspænding (Vcc): 1,8 til 5,5
  • Timere: 3

For detaljerede oplysninger, gå gennem databladet for Atmega328P.

I dette projekt bruger jeg Atmega328P af få årsager

  1. Billig
  2. Har nok RAM til beregning
  3. Tilstrækkelige I/O -pins til dette projekt
  4. Atmega328P bruges i Arduino…. Du bemærker muligvis i billedet og videoen en Arduino Uno, men nighter jeg bruger Arduino IDE eller enhver Arduino.. Jeg har kun brugt hardware som et interfacekort. Jeg har slettet bootloaderen og brugt USB ASP til programmering af chippen.

Til programmering af chippen har jeg brugt Atmel Studio 6

Alle KILDEKODEN ER I GitHub Download den og tjek test.c -filen.

For at kompilere denne pakke skal du downloade og installere POLOLU AVR LIBRARY SETUP Kontroller vedhæftede filer …

Jeg UPLOADER også en Atmega328P Development Board skematisk og bestyrelsesfil … Du kan fremstille den selv …

Trin 3: Motor og motordriver

Motor og motordriver
Motor og motordriver
Motor og motordriver
Motor og motordriver
Motor og motordriver
Motor og motordriver

Jeg har brugt 350RPM 12V BO Type Geared DC motor som aktuator. For at vide mere info … MOTOR LINK

Som motorfører har jeg brugt L293D H- bridge IC.

Jeg vedhæfter skematisk og bestyrelsesfil for det samme.

Trin 4: Chassis og diverse

Chassis og diverse
Chassis og diverse
Chassis og diverse
Chassis og diverse
Chassis og diverse
Chassis og diverse

Bot er lavet af Ply Wood af 6 mm tykkelse.

Anbefalede: