- Linijos sekėjo sąvokos
- Grandinės paaiškinimas
- Roboto „Linijos sekėjas“ darbas naudojant „Arduino“
- Grandinės schema
- Programos paaiškinimas
- Reikalingi komponentai
Linijos sekėjas robotas yra labai paprastas robotas, kuris eina linija, arba juoda, arba balta. Tokio tipo robotai yra labai lengvai pastatomi ir dažnai yra pirmas pasirinkimas pradedantiesiems, kurie pradeda robotizuoti. Iš esmės yra dviejų tipų linijų sekėjų robotai: vienas yra juodos linijos sekėjas, kuris seka juodą liniją, o antrasis yra baltos linijos sekėjas, kuris seka baltą liniją. Linijos sekėjas iš tikrųjų nujaučia liniją ir jos laikosi. Nors idėja skamba paprastai, šiek tiek daugiau tobulinant, panašūs robotai praktiškai naudojami daugelyje programų, pavyzdžiui, gamyklos aukšto valdymo robotai ar sandėlio robotai.
Linijos sekėjo sąvokos
Linijos pasekėjo darbo samprata yra susijusi su šviesa. Čia mes naudojame šviesos elgesį ties juodais ir baltais paviršiais. Kai šviesa patenka ant balto paviršiaus, ji beveik visiškai atsispindi, o juodo paviršiaus atveju šviesa visiškai absorbuojama. Šis šviesos elgesys naudojamas kuriant linijos sekėjo robotą.
Šiame „ Arduino“ pagrindu veikiančiame linijos sekimo robote mes panaudojome IR siųstuvus ir IR imtuvus, dar vadinamus fotodiodais. Jie naudojami šviesai siųsti ir priimti. IR perduoda infraraudonųjų spindulių šviesas. Kai infraraudonieji spinduliai patenka ant balto paviršiaus, jie atsispindi atgal ir juos sugauna fotodiodai, kurie sukelia tam tikrus įtampos pokyčius. Kai IR šviesa patenka į juodą paviršių, šviesą sugeria juodas paviršius ir jokie spinduliai neatsispindi atgal, todėl fotodiodas negauna jokios šviesos ar spindulių. Čia šiame „Arduino“ linijos sekėjo robote, kai jutiklis pajunta baltą paviršių, „Arduino“ gauna 1 kaip įvestį, o kai pajunta juodą liniją, „Arduino“ gauna 0 kaip įvestį.
Kadangi „Line follower“ robotas yra įdomus pradedančiųjų projektas, mes taip pat jį sukūrėme naudodami kitas, išskyrus „Arduino“, kūrimo lentas, jei norite, jas taip pat galite patikrinti naudodamiesi žemiau esančia nuoroda.
- Linijos sekėjo robotas, naudojant 8051 mikrovaldiklį
- Linijos sekėjo robotas, naudojant Raspberry Pi
- Teksaso „MSP430 Launchpad“ pagrįstas linijos sekėjas
- Paprasta linijos sekėja naudojant PIC mikrovaldiklį
- Linijos sekėjas, naudodamas mikrovaldiklį „ATmega16 AVR“
Grandinės paaiškinimas
Visą „ Arduino“ linijos sekimo robotą galima suskirstyti į 3 sekcijas: jutiklio sekciją, valdymo sekciją ir vairuotojo sekciją.
Jutiklio skyrius:
Šiame skyriuje yra IR diodai, potenciometras, komparatorius (Op-Amp) ir šviesos diodai. Potenciometras naudojamas nustatant etaloninę įtampą komparatoriaus viename gnybte, o IR jutikliai naudojami linijai pajusti ir įtampos pokyčiams antrojo komparatoriaus gnybte nustatyti. Tada palygintuvas palygina abi įtampas ir sukuria skaitmeninį signalą išvestyje. Čia šioje linijos sekėjų grandinėje dviem jutikliams naudojome du lygintuvus. LM 358 naudojamas kaip lyginamasis. LM358 pastatė du mažo triukšmo „Op“ stiprintuvus.
Valdymo skyrius:
„Arduino Pro Mini“ naudojamas valdyti visą linijos sekėjo roboto procesą. Komparatorių išėjimai yra prijungti prie „Arduino“ skaitmeninių kaiščių numerių 2 ir 3. „Arduino“ perskaitė šiuos signalus ir išsiuntė komandas į vairuotojo grandinę pavaros sekėjui.
Vairuotojo skyrius:
Vairuotojo skyrių sudaro variklio vairuotojas ir du nuolatinės srovės varikliai. Variklio vairuotojas naudojamas varikliams vairuoti, nes „Arduino“ tiekia nepakankamai įtampos ir srovės. Taigi, kad gautume pakankamai įtampos ir srovės, pridedame variklio tvarkyklę. „Arduino“ siunčia komandas šiam variklio vairuotojui ir tada varo variklius.
Roboto „Linijos sekėjas“ darbas naudojant „Arduino“
Sukurti „ Line“ sekėjo robotą naudojant „Arduino“ yra įdomu. Linijos sekimo robotas naudoja juodą liniją naudodamas jutiklį ir tada siunčia signalą „Arduino“. Tada „Arduino“ variklį varo pagal jutiklių išvestį.
Šiame projekte mes naudojame du IR jutiklių modulius, būtent kairįjį ir dešinįjį jutiklius. Kai kairysis ir dešinysis jutikliai pajunta baltą spalvą, robotas juda į priekį.
Jei kairysis jutiklis yra ant juodos linijos, robotas pasuka kairę pusę.
Jei dešinysis jutiklis pajunta juodą liniją, robotas pasisuka į dešinę, kol abu jutikliai patenka į baltą paviršių. Kai atsiranda baltas paviršius, robotas vėl pradeda judėti į priekį.
Jei abu jutikliai patenka į juodąją liniją, robotas sustoja.
Grandinės schema
Visa „Arduino“ linijos sekėjo roboto schema parodyta aukščiau pateiktame paveikslėlyje. Kaip matote, komparatorių išvestis yra tiesiogiai prijungta prie „Arduino“ skaitmeninių kaiščių 2 ir 3. O variklio vairuotojo įvesties kaiščiai 2, 7, 10 ir 15 yra prijungti prie „Arduino“ skaitmeninių kaiščių numerių atitinkamai 4, 5, 6 ir 7. Vienas variklis prijungtas prie 3 ir 6 variklių vairuotojų išėjimo kaiščių, o kitas variklis prijungtas prie 11 ir 14 kaiščių.
Programos paaiškinimas
Pirmiausia programoje apibrėžėme įvesties ir išvesties kaiščius, o tada cikle patikriname įėjimus ir pagal įėjimus siunčiame išvestį į varančiojo variklio išvesties kaištį. Norėdami patikrinti įvesties kaištį, mes naudojome sakinius „jei“. Visą eilutės sekėjo roboto kodą galite rasti šio puslapio apačioje.
Šioje eilutėje yra keturios sąlygos, susijusios su robotu, kurias perskaitėme naudodami „Arduino“. Mes naudojome du jutiklius, būtent kairįjį ir dešinįjį jutiklius.
Įvestis |
Rezultatas |
Judėjimas Roboto |
||||
Kairysis jutiklis |
Dešinysis jutiklis |
Kairysis variklis |
Dešinysis variklis |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Sustabdyti |
0 |
1 |
1 |
0 |
0 |
0 |
Pasukite į dešinę |
1 |
0 |
0 |
0 |
1 |
0 |
Pasukite į kairę |
1 |
1 |
1 |
0 |
1 |
0 |
Persiųsti |
Mes rašome „ arduino“ sekėjo kodą pagal sąlygas, pateiktas aukščiau esančioje lentelėje.
Reikalingi komponentai
Arduino
Savo projekte mes naudojome mikrovaldiklį, kad valdytume visą sistemos, kuri yra ARDUINO, procesą. „Arduino“ yra atviro kodo aparatinė įranga ir labai naudinga kuriant projektus. Rinkoje yra daugybė „arduino“ tipų, tokių kaip „Arduino UNO“, „arduino mega“, „arduino pro mini“, „Lilypad“ ir kt. Čia mes panaudojome „arduino pro mini“ šiame projekte, nes „arduino pro mini“ yra mažas ir todėl suderinamas su duona. Norėdami įrašyti linijos sekėjo roboto „Arduino“ kodą, mes panaudojome FTDI degiklį.
L293D variklio tvarkyklė
L293D yra variklio vairuotojo IC, turintis du kanalus dviem varikliams vairuoti. L293D turi dvi įmontuotas tranzistoriaus Darlingtono poras, skirtas stiprinti srovę, ir atskirą maitinimo kaištį, skirtą išoriniam variklių tiekimui.
IR modulis:
IR modulis yra jutiklio grandinė, kurią sudaro IR LED / fotodiodų pora, potenciometras, LM358, rezistoriai ir LED. IR jutiklis perduoda infraraudonąją šviesą, o fotodiodas gauna infraraudonąją šviesą.
Maitinimas
Aš pridėjau įtampos reguliatorių, kad gautų 5 voltus „Arduino“, lyginamajam ir variklio vairuotojui. Grandinei maitinti naudojama 9 voltų baterija.