- A vonalkövető fogalmai
- Áramkör magyarázat
- Vonalkövető robot működése az Arduino segítségével
- Kördiagramm
- A program magyarázata
- Szükséges alkatrészek
A vonalkövető robot egy nagyon egyszerű robot, amely egy vonalat követ, akár fekete, akár fehér vonalat. Az ilyen típusú robotok felépítése nagyon egyszerű, és gyakran az első választás azoknak a kezdőknek, akik kezdik a robotikát. Alapvetően kétféle vonalkövető robot létezik: az egyik egy fekete vonalkövető, amely a fekete vonalat követi, a másik pedig egy fehér vonalkövető, amely a fehér vonalat követi. A vonalkövető valóban érzékeli a vonalat, és követi azt. Bár az ötlet egyszerűnek hangzik, egy kicsit továbbfejlesztve, az ehhez hasonló robotokat gyakorlatilag sok alkalmazásban használják, például gyári padlókezelő robotokban vagy raktári robotokban.
A vonalkövető fogalmai
A vonalkövető munkájának fogalma a fénnyel kapcsolatos. Itt alkalmazzuk a fény viselkedését a fekete-fehér felületeken. Amikor a fény fehér felületre esik, szinte teljesen visszaverődik, és fekete felület esetén a fény teljesen elnyelődik. A fény ezen viselkedését használják egy vonalkövető robot felépítéséhez.
Ebben az Arduino-alapú vonalkövető robotban IR-adókat és IR-vevőket használtunk, amelyeket fotodiódáknak is nevezünk. Fény küldésére és fogadására használják. Az infravörös fényt sugároz. Amikor az infravörös sugarak a fehér felületre esnek, visszaverődnek és megfogják azokat a fotodiódákat, amelyek némi feszültségváltozást generálnak. Amikor az infravörös fény egy fekete felületre esik, a fényt elnyeli a fekete felület, és egyetlen fénysugár sem tükröződik vissza, így a fénydióda nem kap fényt vagy sugarakat. Ebben az Arduino vonalkövető robotban, amikor az érzékelő fehér felületet érzékel, akkor Arduino 1-et kap bemenetként, és amikor fekete vonalat érzékel, az Arduino 0-t kap bemenetként.
Mivel a Line követő robot egy érdekes kezdő projekt, ezért az Arduino-n kívül más fejlesztői táblák felhasználásával is felépítettük őket, ha érdekli, az alábbi linken is megnézheti őket
- Vonalkövető robot a 8051 mikrokontroller használatával
- Vonalkövető robot a Raspberry Pi használatával
- Texas MSP430 Launchpad alapú vonalkövető
- Egyszerű vonalkövető PIC mikrokontroller használatával
- Vonalkövető az ATmega16 AVR mikrokontroller használatával
Áramkör magyarázat
Az egész Arduino vonalkövető robot 3 szakaszra osztható: érzékelő részre, vezérlő szakaszra és vezető részre.
Érzékelő szakasz:
Ez a szakasz infravörös diódákat, potenciométereket, komparátorokat (Op-Amp) és LED-eket tartalmaz. A potenciométert a referenciafeszültség beállítására használják az összehasonlító egyik terminálján, az IR érzékelőket pedig a vonal érzékelésére és a feszültség változásának biztosítására a komparátor második kapcsainál. Ezután az összehasonlító összehasonlítja mindkét feszültséget, és digitális jelet generál a kimeneten. Ebben a vonalkövető áramkörben két komparátort használtunk két érzékelőhöz. Az LM 358-at használjuk összehasonlító anyagként. Az LM358 beépített két alacsony zajszintű Op erősítőt.
Vezérlő rész:
Az Arduino Pro Mini a vonalkövető robot egész folyamatának vezérlésére szolgál. Az összehasonlítók kimenetei az Arduino 2. és 3. digitális PIN-kódjához vannak csatlakoztatva. Az Arduino elolvassa ezeket a jeleket, és parancsokat küld a meghajtó áramkörének a hajtáslánc követőjének.
Illesztőprogram rész:
A vezető rész motor meghajtóból és két egyenáramú motorból áll. A motorvezérlőt motorok hajtására használják, mivel az Arduino nem szolgáltat elegendő feszültséget és áramot a motorhoz. Tehát hozzáadunk egy motor meghajtó áramkört, hogy elegendő feszültséget és áramot kapjunk a motorhoz. Az Arduino parancsokat küld ennek a motorvezérlőnek, majd meghajtja a motorokat.
Vonalkövető robot működése az Arduino segítségével
Érdekes egy vonalkövető robot építése az Arduino segítségével. A vonalkövető robot érzékelő segítségével érzékeli a fekete vonalat, majd elküldi a jelet Arduino-nak. Ezután Arduino hajtja a motort az érzékelők kimenete szerint.
Ebben a projektben két IR szenzor modult használunk, nevezetesen a bal és a jobb szenzort. Amikor a bal és a jobb oldali érzékelő egyaránt fehéret érzékel, akkor a robot előre lép.
Ha a bal érzékelő fekete vonalon áll, akkor a robot elfordítja a bal oldalt.
Ha a jobb érzékelő érzékeli a fekete vonalat, akkor a robot jobbra fordul, amíg mindkét érzékelő a fehér felületre nem kerül. Amikor a fehér felület eljön, a robot újra haladni kezd.
Ha mindkét érzékelő a fekete vonalra kerül, a robot leáll.
Kördiagramm
Az arduino vonalkövető robot teljes kapcsolási rajza a fenti képen látható. Amint láthatja, az összehasonlítók kimenete közvetlenül csatlakozik az Arduino 2. és 3. számú digitális csatlakozójához. A motorvezérlő 2., 7., 10. és 15. bemeneti csatlakozója pedig az Arduino 4., 5., 6. és 7. digitális csatlakozójához van csatlakoztatva. És egy motor a 3. és 6. motorvezérlő kimeneti tüskéjéhez, egy másik motor pedig a 11. és 14. csaphoz van csatlakoztatva.
A program magyarázata
A programban először is meghatároztuk a bemeneti és a kimeneti csapot, majd hurokban ellenőrizzük a bemeneteket, és a bemeneteknek megfelelően kimenetet küldünk a hajtómotor kimeneti csapjára. A bemeneti tű ellenőrzéséhez „if” utasításokat használtunk. A teljes sorkövető robot kód az oldal alján található.
Négy feltétel van ebben a sorban a robot után, amelyet az Arduino használatával olvastunk el. Két érzékelőt használtunk, nevezetesen a bal és a jobb oldali érzékelőt.
Bemenet |
Kimenet |
Mozgalom A robot |
||||
Bal érzékelő |
Jobb érzékelő |
Bal motor |
Jobb motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Álljon meg |
0 |
1 |
1 |
0 |
0 |
0 |
Jobbra |
1 |
0 |
0 |
0 |
1 |
0 |
Forduljon balra |
1 |
1 |
1 |
0 |
1 |
0 |
Előre |
Az arduino sorkövető kódot a fenti táblázatban bemutatott feltételek szerint írjuk.
Szükséges alkatrészek
Arduino
Projektünkben egy mikrovezérlőt alkalmaztunk az ARDUINO rendszer egész folyamatának ellenőrzésére. Az Arduino egy nyílt forráskódú hardver, és nagyon hasznos a projektfejlesztésekhez. Számos arduino típus létezik a piacon, például Arduino UNO, arduino mega, arduino pro mini, Lilypad stb. Itt az arduino pro mini-t használtuk ebben a projektben, mivel az arduino pro mini kicsi és így kenyérpapír kompatibilis. A vonalkövető robot arduino kódjának megírásához FTDI égőt használtunk.
L293D motorvezérlő
Az L293D egy motorvezérlő IC, amely két csatornával rendelkezik két motor vezetésére. Az L293D két beépített tranzisztoros Darlington párral rendelkezik az áramerősítéshez, és külön tápegységgel rendelkezik a motorok külső táplálásához.
IR modul:
Az IR modul egy érzékelő áramkör, amely IR LED / fotodióda párból, potenciométerből, LM358-ból, ellenállásokból és LED-ből áll. Az infravörös érzékelő továbbítja az infravörös fényt, a fotodióda pedig az infravörös fényt.
Tápegység
Hozzáadtam egy feszültségszabályozót, hogy 5 V-ot kapjak az Arduino, az összehasonlító és a motorvezérlőhöz. Az áramkör táplálásához 9 voltos akkumulátort használnak.