- Koncepti sledilca vrstic
- Pojasnilo vezja
- Delo linijskega sledilnega robota z uporabo Arduina
- Shema vezja
- Pojasnilo programa
- Zahtevane komponente
Robot, ki sledi liniji, je zelo preprost robot, ki sledi črti, bodisi črni ali beli črti. Tovrstne robote je zelo enostavno izdelati in so pogosto prva izbira za začetnike, ki začnejo z robotiko. V bistvu obstajata dve vrsti robotov, ki sledijo črti: eden je sledilnik črne črte, ki sledi črni črti, drugi pa sledilec bele črte, ki sledi beli črti. Sledbenik črte dejansko zazna črto in ji sledi. Čeprav ideja zveni preprosto, se z malo večjim razvojem podobni roboti praktično uporabljajo v številnih aplikacijah, kot so roboti za upravljanje tovarniških tal ali roboti v skladišču.
Koncepti sledilca vrstic
Koncept dela sledilca linije je povezan s svetlobo. Tu uporabljamo vedenje svetlobe na črno-belih površinah. Ko svetloba pade na belo površino, se skoraj v celoti odbije, v primeru črne površine pa se svetloba popolnoma absorbira. Takšno vedenje svetlobe se uporablja pri izdelavi robotskega sledilca.
V tem robotskem sledilnem robotu, ki temelji na Arduinu, smo uporabili IR oddajnike in IR sprejemnike, imenovane tudi fotodiode. Uporabljajo se za pošiljanje in sprejemanje svetlobe. IR oddaja infrardeče luči. Ko infrardeči žarki padejo na belo površino, se odbijejo nazaj in jih ujamejo fotodiode, ki ustvarjajo nekaj sprememb napetosti. Ko IR svetloba pade na črno površino, jo črna površina absorbira in nobeni žarki se ne odbijejo nazaj, zato foto dioda ne sprejme nobene svetlobe ali žarkov. Tu v tem robotskem sledilcu Arduino, ko senzor zazna belo površino, dobi Arduino 1 kot vhod in ko zazna črno črto Arduino dobi 0 kot vhod.
Ker je robotski sledilnik Line zanimiv projekt za začetnike, smo ga zgradili tudi na različnih razvojnih ploščah, ki niso Arduino, če jih zanima, pa si jih lahko ogledate tudi na spodnji povezavi
- Robot za sledenje linij z mikrokrmilnikom 8051
- Line Follower Robot z uporabo Raspberry Pi
- Teksas MSP430 Launchpad na osnovi sledilca
- Simple Line Follower z uporabo mikrokrmilnika PIC
- Sledilnik linij z mikrokrmilnikom ATmega16 AVR
Pojasnilo vezja
Celoten Arduino linijo sledilnik robota lahko razdelimo na 3 dele: profilnih senzor, prerez nadzor in oddelek voznika.
Odsek senzorja:
Ta odsek vsebuje IR diode, potenciometer, primerjalnik (Op-Amp) in LED diode. Potenciometer se uporablja za nastavitev referenčne napetosti na enem terminalu primerjalnika, IR senzorji pa za zaznavanje linije in zagotavljajo spremembo napetosti na drugem terminalu primerjalnika. Nato primerjalnik primerja obe napetosti in na izhodu generira digitalni signal. Tu v tem vezju sledilcev smo uporabili dva primerjalnika za dva senzorja. LM 358 se uporablja kot primerjalnik. LM358 ima vgrajena dva opompa z nizkim nivojem hrupa.
Nadzorni oddelek:
Arduino Pro Mini se uporablja za nadzor celotnega procesa robotskega sledilca. Izhodi primerjalnikov so povezani z digitalnima številkama 2 in 3 Arduino. Arduino bere te signale in pošilja ukaze voznikovemu vezju sledilcu pogonskega sklopa.
Oddelek za voznika:
Vozniški odsek je sestavljen iz voznika motorja in dveh enosmernih motorjev. Gonilnik motorja se uporablja za pogon motorjev, ker Arduino motorju ne dobavlja dovolj napetosti in toka. Torej dodamo vezje gonilnika motorja, da dobimo dovolj napetosti in toka za motor. Arduino pošlje ukaze temu gonilniku motorja in nato poganja motorje.
Delo linijskega sledilnega robota z uporabo Arduina
Gradnja Partizan robota linije s pomočjo Arduino je zanimivo. Robot, ki sledi liniji, s senzorjem zazna črno črto in nato signal pošlje Arduinu. Nato Arduino poganja motor glede na izhod senzorjev.
V tem projektu uporabljamo dva modula IR senzorja, in sicer levi senzor in desni senzor. Ko tako levi kot desni senzor zaznata belo, se robot premakne naprej.
Če je levi senzor na črni črti, potem robot obrne levo stran.
Če desni senzor zazna črno črto, potem robot zavijte desno, dokler oba senzorja ne prideta na belo površino. Ko pride bela površina, se robot spet začne premikati naprej.
Če oba senzorja prideta na črno črto, se robot ustavi.
Shema vezja
Na zgornji sliki je prikazan celoten diagram vezja za robota sledilca arduino. Kot lahko vidite, je izhod primerjalnikov neposredno povezan z Arduino digitalnima pinoma 2 in 3. In vhodni pin 2, 7, 10 in 15 gonilnika motorja je povezan z Arduinovim digitalnim pinom 4, 5, 6 in 7. In en motor je priključen na izhodni zatič gonilnikov motorjev 3 in 6, drugi motor pa na priključka 11 in 14.
Pojasnilo programa
V programu smo najprej definirali vhodni in izhodni zatič, nato pa v zanki preverimo vhode in pošljemo izhod glede na vhode na izhodni zatič pogonskega motorja. Za preverjanje vhodnega zatiča smo uporabili stavke "if". Celotno kodo sledilca vrstice najdete na dnu te strani.
V tej vrstici so naslednji roboti štirje pogoji, ki jih beremo z uporabo Arduina. Uporabili smo dva senzorja, in sicer levi in desni senzor.
Vhod |
Izhod |
Premikanje Robota |
||||
Levi senzor |
Desni senzor |
Levi motor |
Desni motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Nehaj |
0 |
1. |
1. |
0 |
0 |
0 |
Zavij desno |
1. |
0 |
0 |
0 |
1. |
0 |
Zavijemo levo |
1. |
1. |
1. |
0 |
1. |
0 |
Naprej |
Kodo sledilca vrstice arduino napišemo v skladu s pogoji, prikazanimi v zgornji tabeli.
Zahtevane komponente
Arduino
V našem projektu smo uporabili mikrokrmilnik za nadzor celotnega procesa sistema, ki je ARDUINO. Arduino je odprtokodna strojna oprema in zelo koristna za razvoj projektov. Na trgu je na voljo veliko vrst arduino, kot so Arduino UNO, arduino mega, arduino pro mini, Lilypad itd. Tu smo v tem projektu uporabili arduino pro mini, saj je arduino pro mini majhen in tako združljiv s ploščami. Za zapisovanje arduino kode sledilca vrstice smo uporabili gorilnik FTDI.
L293D Motor voznik
L293D je IC gonilnika motorja, ki ima dva kanala za pogon dveh motorjev. L293D ima dva vgrajena tranzistorska para Darlington za ojačanje toka in ločen napajalni zatič za zunanje napajanje motorjev.
IR modul:
IR modul je senzorsko vezje, ki vsebuje IR LED / fotodiodni par, potenciometer, LM358, upore in LED. IR senzor oddaja infrardečo svetlobo, fotodioda pa infrardečo svetlobo.
Napajanje
Dodal sem regulator napetosti, da dobim 5 voltov za Arduino, primerjalnik in gonilnik motorja. Za napajanje vezja se uporablja 9-voltna baterija.