Sadržaj:

PID sledbenik Atmega328P: 4 koraka
PID sledbenik Atmega328P: 4 koraka

Video: PID sledbenik Atmega328P: 4 koraka

Video: PID sledbenik Atmega328P: 4 koraka
Video: Работа с программатором USBAsp в Arduino IDE 2024, Novembar
Anonim
Image
Image

UVOD

Ova instrukcija govori o stvaranju efikasnog i pouzdanog sljedbenika linije sa PID (proporcionalno-integralno-derivacionom) kontrolom (matematičkom) koja radi unutar njegovog mozga (Atmega328P).

Sljedbenik linija je autonomni robot koji slijedi crnu liniju u bijelom ili bijelu liniju u crnom području. Robot mora biti u stanju otkriti određenu liniju i nastaviti je pratiti.

Dakle, bit će nekoliko dijelova/koraka za izradu LINE FOLLOWER -a, o njima ću raspravljati korak po korak.

  1. Senzor (Oko da vidite liniju)
  2. Mikrokontroler (Mozak radi neke proračune)
  3. Motori (snaga mišića)
  4. Motor Driver
  5. Chassis
  6. Baterija (izvor energije)
  7. Točak
  8. Ostalo

Evo VIDEO LINE FOLLOWER -a

U Sljedećim koracima ću detaljno raspravljati o svakoj komponenti

Korak 1: Senzor (oko) QTR 8RC

Senzor (oko) QTR 8RC
Senzor (oko) QTR 8RC
Senzor (oko) QTR 8RC
Senzor (oko) QTR 8RC
Senzor (oko) QTR 8RC
Senzor (oko) QTR 8RC

Zahvaljujući Pololuforu za proizvodnju ovog sjajnog senzora.

Modul je prikladan nosač za osam parova IC odašiljača i prijemnika (fototranzistora) ravnomjerno raspoređenih u intervalima od 9,525 mm (0,375 ). Da biste koristili senzor, prvo morate napuniti izlazni čvor (Punjenje kondenzatora) primjenom napona na njegov OUT pin. Zatim možete očitati refleksiju povlačenjem vanjskog napajanog napona i određivanjem vremena koliko je potrebno da se izlazni napon smanji zbog integriranog fototranzistora. Kraće vrijeme opadanja pokazatelj je veće refleksije. Ovaj mjerni pristup ima nekoliko prednosti, posebno u kombinaciji sa sposobnošću QTR-8RC modula da isključi LED napajanje:

  • Nije potreban analogno-digitalni pretvarač (ADC).
  • Poboljšana osjetljivost preko analognog izlaza djelitelja napona.
  • Paralelno očitavanje više senzora moguće je kod većine mikrokontrolera.
  • Paralelno očitavanje omogućuje optimizirano korištenje opcije omogućavanja LED napajanja

Specifikacije

  • Dimenzije: 2,95 "x 0,5" x 0,125 "(bez igle zaglavlja)
  • Radni napon: 3,3-5,0 V
  • Napajanje: 100 mA
  • Izlazni format: 8 digitalnih I/O-kompatibilnih signala koji se mogu čitati kao tempirani visoki impuls
  • Optimalna udaljenost sensinga: 0,125 "(3 mm) Maksimalna preporučena udaljenost sensinga: 0,375" (9,5 mm)
  • Težina bez zaglavlja: 3,09 g

Povezivanje QTR-8RC izlaza s digitalnim I/O linijama

Modul QTR-8RC ima osam identičnih senzorskih izlaza koji, poput Parallax QTI-a, zahtijevaju digitalnu I/O liniju sposobnu da podigne izlaznu liniju visoko, a zatim mjeri vrijeme za slabljenje izlaznog napona. Tipičan slijed čitanja senzora je:

  1. Uključite IC LED diode (opcionalno).
  2. Postavite U/I liniju na izlaz i povežite je visoko.
  3. Dopustite najmanje 10 μs da izlaz senzora poraste.
  4. Neka U/I linija bude ulaz (visoka impedancija).
  5. Izmjerite vrijeme opadanja napona čekajući da se I/O linija smanji.
  6. Isključite IC LED diode (opcionalno).

Ti se koraci obično mogu izvesti paralelno na više I/O linija.

Uz jaku refleksiju, vrijeme opadanja može biti i do nekoliko desetina mikrosekundi; bez refleksije, vrijeme opadanja može biti i do nekoliko milisekundi. Tačno vrijeme opadanja ovisi o karakteristikama I/O linije vašeg mikrokontrolera. Značajni rezultati mogu biti dostupni unutar 1 ms u tipičnim slučajevima (tj. Kada ne pokušavate mjeriti suptilne razlike u scenarijima niske refleksije), dopuštajući uzorkovanje do 1 kHz svih 8 senzora. Ako je uzorkovanje na nižim frekvencijama dovoljno, značajne uštede energije mogu se postići isključivanjem LED dioda. Na primjer, ako je brzina uzorkovanja od 100 Hz prihvatljiva, LED diode mogu biti isključene 90% vremena, smanjujući prosječnu potrošnju struje sa 100 mA na 10 mA.

Korak 2: Mikrokontroler (mozak) Atmega328P

Mikrokontroler (mozak) Atmega328P
Mikrokontroler (mozak) Atmega328P
Mikrokontroler (mozak) Atmega328P
Mikrokontroler (mozak) Atmega328P

Zahvaljujući Atmel Corporation za proizvodnju ovog sjajnog mikrokontrolera zvanog Atmega328.

Ključni parametri za ATmega328P

Parameter Value

  • Flash (Kbajti): 32 Kbajta
  • Broj iglica: 32
  • Maks. Operating Freq. (MHz): 20 MHz
  • CPU: 8-bitni AVR
  • Maksimalni broj I/O pinova: 23
  • Vanjski prekidi: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ADC kanali: 8
  • Rezolucija ADC -a (bitovi): 10
  • SRAM (Kbajti): 2
  • EEPROM (bajtovi): 1024
  • I/O klasa napajanja: 1,8 do 5,5
  • Radni napon (Vcc): 1,8 do 5,5
  • Tajmeri: 3

Za detaljne informacije pogledajte tehnički list Atmega328P.

U ovom projektu koristim Atmega328P iz nekoliko razloga

  1. Cheap
  2. Ima dovoljno RAM -a za računanje
  3. Dovoljno I/O iglica za ovaj projekt
  4. Atmega328P se koristi u Arduinu…. Na slici i videu možete primijetiti Arduino Uno, ali noću koristim Arduino IDE ili bilo koji Arduino.. Koristio sam samo hardver kao ploču za povezivanje. Obrisao sam bootloader i koristio USB ASP za programiranje čipa.

Za programiranje čipa koristio sam Atmel Studio 6

Sav KOD IZVORA JE U GitHubu Preuzmite ga i provjerite datoteku test.c.

Za sastavljanje ovog paketa morate preuzeti i instalirati POLOLU AVR BIBLIOTEKU PODEŠAVANJE Provjerite priloge …

Također Učitavam shemu i datoteku ploče razvojne ploče Atmega328P … Možete je sami izraditi …

Korak 3: Motor i pokretač motora

Motor i vozač motora
Motor i vozač motora
Motor i vozač motora
Motor i vozač motora
Motor i vozač motora
Motor i vozač motora

Koristio sam kao pogon istosmjerni motor sa 350 stupnjeva u minuti 12V BO. Za više informacija… MOTOR LINK

Kao pokretač motora koristio sam L293D H-bridge IC.

Prilažem shemu i datoteku ploče za istu.

Korak 4: Šasija i ostalo

Šasija i ostalo
Šasija i ostalo
Šasija i ostalo
Šasija i ostalo
Šasija i ostalo
Šasija i ostalo

Bot je napravljen od slojevitog drveta debljine 6 mm.

Preporučuje se: