Sisukord:

PID -liini jälgija Atmega328P: 4 sammu
PID -liini jälgija Atmega328P: 4 sammu

Video: PID -liini jälgija Atmega328P: 4 sammu

Video: PID -liini jälgija Atmega328P: 4 sammu
Video: Õppemissioon 6. Joone jälgimine. Follow a Line. LEGO Space Challenge 2024, November
Anonim
Image
Image

SISSEJUHATUS

See juhend on mõeldud tõhusa ja usaldusväärse liinijälgija loomiseks, mille aju sees töötab PID (proportsionaalse integraali derivaat) kontroll (matemaatiline) (Atmega328P).

Joone järgija on autonoomne robot, mis järgib kas musta joont valgetes või valget joont mustas piirkonnas. Robot peab suutma teatud joont tuvastada ja seda jätkata.

Seega on LINE JÄRGIJA tegemiseks vähe osi/samme. Arutlen neid kõiki samm -sammult.

  1. Andur (silm, et näha joont)
  2. Mikrokontroller (aju teeb arvutusi)
  3. Mootorid (lihasjõud)
  4. Mootori juht
  5. Šassii
  6. Aku (energiaallikas)
  7. Ratas
  8. Muu

Siin on LINE JÄRGIJA VIDEO

JÄRGMISTES SAMMUTES ARUTAN IGAKS KOMPONENTIDE KOHTA ÜKSIKASJALIKULT

1. samm: andur (silm) QTR 8RC

Andur (silm) QTR 8RC
Andur (silm) QTR 8RC
Andur (silm) QTR 8RC
Andur (silm) QTR 8RC
Andur (silm) QTR 8RC
Andur (silm) QTR 8RC

Tänu Pololole selle suurepärase anduri valmistamiseks.

Moodul on mugav kandja kaheksale IR -kiirguse ja vastuvõtja (fototransistori) paarile, mis on ühtlaselt paigutatud 0,375 (9,525 mm) intervalliga. Anduri kasutamiseks peate esmalt laadima väljundsõlme (laadides kondensaatorit), rakendades pinget selle OUT -tihvt. Seejärel saate peegelduvust lugeda, eemaldades väljastpoolt saadud pinge ja ajastades, kui kaua väljundpinge laguneb integreeritud fototransistori tõttu. Lühem lagunemisaeg näitab suuremat peegeldust. Sellel mõõtmismeetodil on mitmeid eeliseid, eriti kui see on ühendatud QTR-8RC mooduli võimalusega LED-toide välja lülitada:

  • Analoog-digitaalmuundurit (ADC) pole vaja.
  • Parem tundlikkus pingejaguri analoogväljundi suhtes.
  • Enamiku mikrokontrollerite puhul on võimalik mitme anduri paralleelne lugemine.
  • Paralleellugemine võimaldab optimeerida LED -toite lubamise võimalust

Tehnilised andmed

  • Mõõtmed: 2,95 x 0,5 x 0,125 tolli (ilma päisetahvliteta)
  • Tööpinge: 3,3-5,0 V
  • Toitevool: 100 mA
  • Väljundvorming: 8 digitaalset I/O-ühilduvat signaali, mida saab lugeda ajastatud kõrge impulsi kujul
  • Optimaalne kaugus: 0,125 tolli (3 mm) Maksimaalne soovitatav kaugus: 0,375 tolli (9,5 mm)
  • Kaal ilma päisetahvliteta: 3,09 g

QTR-8RC väljundite liidestamine digitaalsete sisend-/väljundliinidega

QTR-8RC moodulil on kaheksa identset anduriväljundit, mis nagu Parallax QTI nõuavad digitaalset I/O liini, mis suudab väljundliini kõrgele ajada ja seejärel mõõta väljundpinge vähenemise aega. Tüüpiline anduri lugemise järjestus on järgmine:

  1. Lülitage sisse IR -valgusdioodid (valikuline).
  2. Seadke I/O liin väljundisse ja tõstke see kõrgele.
  3. Anduri väljundi tõusmiseks laske vähemalt 10 μs.
  4. Muutke I/O liin sisendiks (kõrge takistus).
  5. Mõõtke pinge alanemise aega, oodates, kuni I/O -liin läheb madalaks.
  6. Lülitage infrapuna LED -id välja (valikuline).

Neid samme saab tavaliselt teha paralleelselt mitmel I/O liinil.

Tugeva peegelduvuse korral võib lagunemisaeg ulatuda mitukümmend mikrosekundit; ilma peegelduseta võib lagunemisaeg olla kuni paar millisekundit. Täpne lagunemisaeg sõltub teie mikrokontrolleri I/O liini omadustest. Tüüpilistel juhtudel (st kui ei üritata mõõta väikese peegeldusega stsenaariumide peeneid erinevusi) on võimalik saada olulisi tulemusi 1 ms jooksul, võimaldades kuni 8 kHz proovide võtmist kõigist 8 andurist. Kui madalama sagedusega proovide võtmine on piisav, saab LED-de väljalülitamisega saavutada märkimisväärset energiasäästu. Näiteks kui 100 Hz diskreetimissagedus on vastuvõetav, võivad LED -id 90% ajast välja lülituda, vähendades keskmist voolutarbimist 100 mA -lt 10 mA -ni.

2. samm: mikrokontroller (aju) Atmega328P

Mikrokontroller (aju) Atmega328P
Mikrokontroller (aju) Atmega328P
Mikrokontroller (aju) Atmega328P
Mikrokontroller (aju) Atmega328P

Tänu Atmel Corporationile Selle vinge mikrokontrolleri AKA Atmega328 tootmiseks.

ATmega328P põhiparameetrid

Parameetri väärtus

  • Välk (baiti): 32 baiti
  • Nööpnõelte arv: 32
  • Max Töösagedus (MHz): 20 MHz
  • CPU: 8-bitine AVR
  • Maksimaalsed I/O kontaktid: 23
  • Lisakatkestused: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • ADC kanalid: 8
  • ADC eraldusvõime (bitti): 10
  • SRAM (baiti): 2
  • EEPROM (baiti): 1024
  • I/O toite klass: 1,8 kuni 5,5
  • Tööpinge (Vcc): 1,8 kuni 5,5
  • Taimerid: 3

Üksikasjaliku teabe saamiseks külastage Atmega328P andmelehte.

Selles projektis kasutan vähe põhjustel Atmega328P

  1. Odav
  2. Arvutamiseks on piisavalt RAM -i
  3. Selle projekti jaoks piisavalt I/O kontakte
  4. Atmega328P kasutatakse Arduinos … U võib pildil ja videos märgata Arduino Unot, kuid öösel kasutan Arduino IDE -d või mis tahes Arduinot. Olen kasutanud liidesetahvlina ainult riistvara. Kustutasin alglaaduri ja kasutasin kiibi programmeerimiseks USB ASP -d.

Kiibi programmeerimiseks olen kasutanud Atmel Studio 6

Kogu ALLIKAKOOD ON GitHubis. Laadige see alla ja kontrollige test.c -faili.

Selle paketi koostamiseks peate alla laadima ja installima POLOLU AVR RAAMATUKOGU SEADISTUS Kontrollige manuseid …

Laadin üles ka Atmega328P arendusnõukogu skeemi ja tahvli faili … saate seda ise valmistada …

Samm: mootor ja mootorijuht

Mootor ja mootorijuht
Mootor ja mootorijuht
Mootor ja mootorijuht
Mootor ja mootorijuht
Mootor ja mootorijuht
Mootor ja mootorijuht

Olen ajamina kasutanud 350RPM 12V BO tüüpi hammasülekandega alalisvoolumootorit. Lisateabe saamiseks… MOTOR LINK

Mootorijuhina olen kasutanud L293D H-silla IC-d.

Lisan selle jaoks skeemi ja tahvli faili.

4. samm: šassii ja muu

Šassii ja muu
Šassii ja muu
Šassii ja muu
Šassii ja muu
Šassii ja muu
Šassii ja muu

Bot on valmistatud 6 mm paksusest kihist.

Soovitan: