- Linijos sekėjo roboto samprata
- Grandinės paaiškinimas
- Linijos sekėjo roboto darbas naudojant 8051
- 8051 pagrįstos linijos sekėjo roboto grandinė
- Programavimo paaiškinimas
- PCB išdėstymas
Linijos sekėjas robotas yra mašina, sekanti liniją, tai gali būti juoda arba balta linija. Iš esmės dviejų tipų linijų sekimo robotai yra: vienas yra juodos linijos sekėjas, kuris seka juodą liniją, ir antras yra baltos linijos sekėjas, kuris seka baltą liniją. Linijos sekėjas iš tikrųjų nujaučia liniją ir pervažiuoja ją. Ankstesniuose projektuose mes sukūrėme juodosios linijos sekimo robotą naudodami „arduino“, tačiau šį kartą mes padarysime baltos linijos sekėją naudodami 8051 mikrovaldiklį. Šioje pamokoje taip pat aptarsime, kaip namuose už žemą kainą pagaminti spausdintinę plokštę, skirtą linijos sekimo robotui.
Linijos sekėjo roboto samprata
Linijos pasekėjo samprata yra susijusi su šviesa. Mes naudojome š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 paaiškintas šviesos elgesys naudojamas šiame linijos sekimo robote.
Šiame linijos sekėjo roboto projekte šviesai siųsti ir priimti naudojome IR siųstuvus ir IR imtuvus, dar vadinamus fotodiodais. IR perduoda infraraudonųjų spindulių šviesas. Infraraudonieji spinduliai nukrinta ant balto paviršiaus, jie atsispindi atgal ir sulaikomi fotodiodo bei sukelia tam tikrus įtampos pokyčius. Kai IR šviesa patenka į juodą paviršių, šviesą sugeria juodas paviršius, o ne spinduliai atsispindi atgal, todėl fotodiodas negavo jokios šviesos ar spindulių. Čia šios linijos sekėjo robotas, kai jutiklis pajunta baltą paviršių, mikrovaldiklis gauna 0 kaip įvestį, o kai pajunta juodosios linijos mikrovaldiklis - 1 įvestį.
Grandinės paaiškinimas
Mes galime suskirstyti visą sekimo robotą į įvairias sekcijas, pvz., 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 suvokia liniją ir suteikia įtampos pokytį antrame komparatoriaus gnybte. Tada palygintuvas palygina abi įtampas ir sukuria skaitmeninį signalą išėjimo metu. Čia šioje grandinėje dviem jutikliams naudojome du lygintuvus. LM358 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. Taigi mes pridėjome variklio tvarkyklę, kad gautume pakankamai įtampos ir srovės. Mikrovaldiklis siunčia komandas šiam variklio vairuotojui ir tada varo variklius.
Linijos sekėjo roboto darbas naudojant 8051
Linijos sekimo robotas naudoja baltą liniją naudodamas jutiklį ir tada siunčia signalus į mikrovaldiklį. Tada mikrovaldiklis valdo variklį pagal jutiklių išvestį.
Šiame projekte mes naudojame dvi IR jutiklių poras. Tarkime, kad mes vadiname kairįjį ir dešinįjį IR jutiklio jutiklį Pair, tada tiek kairysis, tiek dešinysis jutikliai nieko nejaučia arba juodos linijos, tada robotas juda į priekį.
Kai kairysis jutiklis pajunta baltą liniją, robotas pasisuka į kairę.
o kai kairysis jutiklis pajunta baltą liniją, robotas pasisuka į dešinę pusę, kol abu jutikliai atsiduria juodoje linijoje arba nejunta nieko paviršiaus.
Ir kai abu jutikliai atsiduria baltoje linijoje, robotas sustoja.
8051 pagrįstos linijos sekėjo roboto grandinė
Šio linijos sekėjo roboto grandinė yra labai paprasta. 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.
Programavimo paaiškinimas
Pirmiausia programoje apibrėžiame įvesties ir išvesties kaiščius. Tada atlikdami pagrindinę funkciją, mes patikriname įėjimus ir siunčiame išvestį pagal įėjimus į variklio išvesties kaištį. Tikrindami įvesties smeigtuką naudojome sakinius „jei“.
Šioje linijoje yra keturios sąlygos. Mes naudojome du jutiklius, būtent kairįjį ir dešinįjį.
Į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 |
Pasukite į dešinę |
1 |
0 |
0 |
0 |
1 |
0 |
Pasukite į kairę |
1 |
1 |
0 |
0 |
0 |
0 |
Sustabdyti |
Mes parašėme programą pagal aukščiau pateiktas lentelės sąlygas. Norėdami suprasti sąvoką, žiūrėkite visą šio 8051 pagrindu veikiančio robotų kodo kodą šio puslapio apačioje.
PCB išdėstymas
Čia yra „ Dip Trace“ programinėje įrangoje sukurtas linijos sekimo roboto PCB išdėstymas.
Šiame PCB išdėstyme mes sukūrėme grandinės plokštę linijos sekėjui ir 2 lazdeles IR jutikliams įdėti. Patikrinkite čia žingsnis po žingsnio pamoką, kad padarytumėte linijos sekėjo robotą PCB: Kaip padaryti PCB namuose