Krašto vengimo robotas yra gana panašus į mano ankstesnį projektą „Linijos sekėjo robotas“. Šis robotas 8051 pagrįstas mikrovaldikliu aptinka kraštą ir jo išvengia sukdamasis ar sustodamas. Pažiūrėkime, kaip mes galime lengvai suprojektuoti krašto vengiantį robotą.
„Edge Avoider Robot“ koncepcija
„Edge Avoider“ roboto koncepcija yra tokia pati kaip linijos sekėjo. Šio tipo robotuose mes paprastai naudojame šviesos elgesį juodai baltame paviršiuje. Kai šviesa patenka ant balto paviršiaus, ji beveik visiškai atsispindi, o juodojo paviršiaus atveju šviesą sugeria juodas paviršius. Šis šviesos elgesys naudojamas linijos sekimo robote, taip pat krašto vengiančiame robote.
Čia mes panaudojome IR siųstuvą ir imtuvą, dar vadinamą fotodiodais, naudojamais šviesai siųsti ir priimti. IR perduoda infraraudonųjų spindulių šviesas. Kai infraraudonieji spinduliai krinta ant bet kokio paviršiaus, išskyrus juodus ar daug tamsius paviršius, jie atsispindi atgal ir sulaikomi fotodiodo bei sukelia tam tikrus įtampos pokyčius. Kai IR šviesa patenka ant juodo paviršiaus, šviesa sugeria juodą paviršių ir jokie spinduliai neatsispindi atgal, todėl fotodiodas negauna jokios šviesos ar spindulių.
Čia, šiame „ Edge Avoider“ robote, kai jutiklis pajunta baltą paviršių, mikrovaldiklis gauna 0 kaip įvestį, o kai pajunta juodos linijos valdiklis - 1 kaip įvestį.
Grandinės schema ir darbo paaiškinimas
„Edge Avoider Robot“ projektą galime suskirstyti į tris skirtingas dalis, kurios yra jutiklio, valdymo ir vairuotojo dalys.
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čiui antrame komparatoriaus gnybte nustatyti. Tada palygintuvas palygina abi įtampas ir sukuria skaitmeninį signalą išėjimo metu. Čia šioje grandinėje mes naudojame du lygintuvus dviem jutikliams. LM 358 naudojamas kaip lyginamasis. LM358 pastatė du mažo triukšmo Op stiprintuvus.
Valdymo skyrius: 8051 mikrovaldiklis naudojamas valdyti visą linijos sekėjo roboto procesą. Komparatorių išėjimai yra prijungti prie 8051 kaiščių P0.0 ir P0.1. 8051 nuskaito šiuos signalus ir siunčia komandas į vairuotojo grandinę, kad pavaros linijos sekėjas.
Vairuotojo skyrius: Vairuotojo skyrių sudaro variklio tvarkyklė ir du nuolatinės srovės varikliai. Variklio variklis naudojamas varikliams vairuoti, nes mikrovaldiklis nepateikia pakankamai įtampos ir srovės varikliui varyti. Taigi pridedame variklio tvarkyklę, kad gautume pakankamai įtampos ir srovės. Mikrovaldiklis siunčia komandas šiam variklio vairuotojui ir tada varo variklius.
Dirba
Šio krašto vengiančio roboto darbas yra gana įdomus ir toks pat, kaip ir linijos sekėjas, tačiau operacijų skirtumas jaučiant įvestis. Šiame robote, pajutęs baltą paviršių, jis eina į priekį, o kai kuris nors jutiklis arba abu jutikliai nejaučia jokio signalo ar juodo paviršiaus, jis sustoja ir juda atgal ir keičia savo kryptį, o jei vėl pajunta baltą paviršių, nei eina į priekį.
Šio krašto vengiančio roboto schema parodyta. Komparatorių išvestis yra tiesiogiai sujungta su mikrovaldiklio kaiščių numeriais P0.0 ir P0.1. Variklio vairuotojo įvesties kaiščiai 2, 7, 10 ir 15 yra prijungti atitinkamai kaiščių numeriais P2.3, P2.2, P2.1 ir P2.4. Vienas variklis prijungtas prie 3 ir 6 variklio vairuotojo išvesties kaiščių, o kitas variklis prijungtas 11 ir 14.
Programuodami pirmiausia nustatėme įvesties ir išvesties kaiščius. Tada atlikdami pagrindinę funkciją, mes patikrinome įėjimus ir atitinkamai siunčiame išvestį į variklio išvesties kaiščius. Šiame krašto vengialyje yra keturios sąlygos, kurias perskaitėme naudodami 8051 mikrovaldiklį. Mes naudojome du jutiklius, būtent kairįjį ir dešinįjį jutiklius.
Sąlygos:
Įvestis |
Rezultatas |
Roboto judėjimas |
||||
Kairysis jutiklis |
Dešinysis jutiklis |
Kairysis variklis |
Dešinysis variklis |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Persiųsti |
0 |
1 |
1 |
0 |
0 |
0 |
Sustokite / atgal / pasukite į dešinę |
1 |
0 |
0 |
0 |
1 |
0 |
Sustokite / atgal / pasukite į kairę |
1 |
1 |
0 |
0 |
0 |
0 |
STOP / atgal / pasukti į kairę |
Mes parašėme programą pagal aukščiau pateiktas lentelės sąlygas.
PCB išdėstymas