Kazalo:

PID Line Follower Atmega328P: 4 koraki
PID Line Follower Atmega328P: 4 koraki

Video: PID Line Follower Atmega328P: 4 koraki

Video: PID Line Follower Atmega328P: 4 koraki
Video: DIY Fast PID line follower with code **PART 2** 2024, Julij
Anonim
Image
Image

UVOD

Ta pouk govori o učinkovitem in zanesljivem sledilniku linij s PID (proporcionalno-integralno-izpeljano) kontrolo (matematično), ki teče v njegovih možganih (Atmega328P).

Sledilec črte je avtonomen robot, ki sledi črni črti v beli barvi ali beli črti v črnem območju. Robot mora biti sposoben zaznati določeno črto in ji slediti.

Tako bo nekaj delov/korakov za izdelavo LINE FOLLOWER -ja. O vseh bom govoril korak za korakom.

  1. Senzor (Oko za ogled črte)
  2. Mikrokrmilnik (možgani za nekaj izračunov)
  3. Motorji (mišična moč)
  4. Voznik motorja
  5. Podvozje
  6. Baterija (vir energije)
  7. Kolo
  8. Razno

Tukaj je VIDEO ZLEDNIKA LINE

V NASLEDNJIH KORAKIH bom v podrobnostih razpravljal o vseh sestavinah

Korak: 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

Zahvaljujoč Pololuforju za izdelavo tega čudovitega senzorja.

Modul je priročen nosilec za osem parov IR oddajnika in sprejemnika (fototranzistorja), ki so enakomerno razporejeni v intervalih 9755 mm. Za uporabo senzorja morate najprej napolniti izhodno vozlišče (polnjenje kondenzatorja) z napetostjo njegov OUT pin. Nato lahko odčitate odbojnost tako, da prekličete zunanjo napajalno napetost in določite, koliko časa traja, da se izhodna napetost zmanjša zaradi vgrajenega fototranzistorja. Krajši čas upadanja je znak večje refleksije. Ta merilni pristop ima več prednosti, še posebej, če je skupaj z zmožnostjo modula QTR-8RC izklop napajanja LED:

  • Analogno-digitalni pretvornik (ADC) ni potreben.
  • Izboljšana občutljivost na analognem izhodu delilnika napetosti.
  • Vzporedno branje več senzorjev je možno pri večini mikrokrmilnikov.
  • Vzporedno branje omogoča optimizirano uporabo možnosti omogočanja napajanja LED

Specifikacije

  • Mere: 2,95 "x 0,5" x 0,125 "(brez nameščenih zatičev za glavo)
  • Delovna napetost: 3,3-5,0 V
  • Napajalni tok: 100 mA
  • Izhodni format: 8 digitalnih V/I-kompatibilnih signalov, ki jih je mogoče prebrati kot časovno visok impulz
  • Optimalna razdalja zaznavanja: 0,125 "(3 mm) Največja priporočena razdalja zaznavanja: 0,375" (9,5 mm)
  • Teža brez zatičev glave: 3,09 g

Povezovanje izhodov QTR-8RC z digitalnimi V/I linijami

Modul QTR-8RC ima osem enakih senzorskih izhodov, ki tako kot Parallax QTI zahtevajo digitalno V/I linijo, ki lahko visoko dvigne izhodno linijo in nato izmeri čas, ko izhodna napetost propade. Tipično zaporedje za branje senzorja je:

  1. Vklopite IR LED (neobvezno).
  2. Vhodno/izhodno linijo nastavite na izhodno napetost.
  3. Pustite vsaj 10 μs, da se izhod senzorja dvigne.
  4. Vhodno/izhodna linija naj bo vhod (visoka impedanca).
  5. Izmerite čas, da napetost pade, tako da počakate, da se I/O linija zniža.
  6. Izklopite IR LED (neobvezno).

Ti koraki se običajno lahko izvajajo vzporedno na več V/I linijah.

Ob močni odbojnosti je lahko čas razpadanja celo nekaj deset mikrosekund; brez odbojnosti je lahko čas razpada do nekaj milisekund. Natančen čas razpada je odvisen od značilnosti V/I linije vašega mikrokrmilnika. Pomembni rezultati so lahko na voljo v 1 ms v tipičnih primerih (tj. Ko ne poskušate izmeriti subtilnih razlik v scenarijih z nizko odbojnostjo), kar omogoča vzorčenje do 1 kHz vseh 8 senzorjev. Če zadošča nizkofrekvenčno vzorčenje, je mogoče z izklopom LED doseči znatne prihranke energije. Na primer, če je sprejemljiva hitrost vzorčenja 100 Hz, so lahko LED diode 90% časa izklopljene, s čimer se povprečna poraba toka zniža s 100 mA na 10 mA.

2. korak: Mikrokrmilnik (možgani) Atmega328P

Mikrokrmilnik (možgani) Atmega328P
Mikrokrmilnik (možgani) Atmega328P
Mikrokrmilnik (možgani) Atmega328P
Mikrokrmilnik (možgani) Atmega328P

Zahvaljujoč Atmel Corporation za izdelavo tega čudovitega mikrokrmilnika AKA Atmega328.

Ključni parametri za ATmega328P

Vrednost parametra

  • Flash (Kbajti): 32 Kbajtov
  • Število pin: 32
  • Maks. Delovne frekvence (MHz): 20 MHz
  • CPU: 8-bitni AVR
  • Največji V/I zatiči: 23
  • Zunanji prekinitve: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • Kanali ADC: 8
  • Ločljivost ADC (bitov): 10
  • SRAM (Kbajti): 2
  • EEPROM (bajti): 1024
  • Razred napajanja I/O: 1,8 do 5,5
  • Delovna napetost (Vcc): 1,8 do 5,5
  • Časovniki: 3

Za podrobne informacije preglejte podatkovni list Atmega328P.

V tem projektu uporabljam Atmega328P zaradi nekaj razlogov

  1. Poceni
  2. Ima dovolj RAM -a za izračun
  3. Zadostna številka V/I za ta projekt
  4. Atmega328P se uporablja v Arduinu…. Na sliki in videoposnetku lahko opazite Arduino Uno, vendar ponoči uporabljam Arduino IDE ali kateri koli Arduino. Uporabil sem samo strojno opremo kot vmesno ploščo. Izbrisal sem zagonski nalagalnik in uporabil USB ASP za programiranje čipa.

Za programiranje čipa sem uporabil Atmel Studio 6

VSA KODA VIRA JE V GitHubu Prenesite in preverite datoteko test.c.

Če želite sestaviti ta paket, morate prenesti in namestiti NASTAVITEV KNJIŽNICE POLOLU AVR Preverite priloge …

Prav tako nalagam shemo in datoteko razvojne plošče Atmega328P … Lahko jo izdelate sami …

3. korak: Motor in gonilnik motorja

Motor in voznik motorja
Motor in voznik motorja
Motor in voznik motorja
Motor in voznik motorja
Motor in voznik motorja
Motor in voznik motorja

Kot pogon sem uporabil motor z enosmernim tokom z vrtljivim motorjem 350RPM 12V BO. Če želite izvedeti več … MOTOR LINK

Kot gonilnik motorja sem uporabil L293D H-bridge IC.

Prilagam shemo in datoteko plošče za isto.

4. korak: Podvozje in drugo

Podvozje in drugo
Podvozje in drugo
Podvozje in drugo
Podvozje in drugo
Podvozje in drugo
Podvozje in drugo

Bot je izdelan iz lesa debeline 6 mm.

Priporočena: