Turinys:

Sukurkite labirinto bėgimo robotą: 3 žingsniai (su nuotraukomis)
Sukurkite labirinto bėgimo robotą: 3 žingsniai (su nuotraukomis)

Video: Sukurkite labirinto bėgimo robotą: 3 žingsniai (su nuotraukomis)

Video: Sukurkite labirinto bėgimo robotą: 3 žingsniai (su nuotraukomis)
Video: Дневник хранящий жуткие тайны. Переход. Джеральд Даррелл. Мистика. Ужасы 2024, Liepa
Anonim
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą
Padarykite labirinto bėgimo robotą

Labirintą sprendžiantys robotai atsirado aštuntajame dešimtmetyje. Nuo tada IEEE rengia labirinto sprendimo konkursus, vadinamus „Micro Mouse Contest“. Konkurso tikslas - sukurti robotą, kuris kuo greičiau surastų labirinto vidurį. Algoritmai, naudojami greitai išspręsti labirintą, paprastai skirstomi į tris kategorijas; atsitiktinės paieškos, labirinto kartografavimo ir dešinės arba kairės sienos metodai.

Pats funkcionaliausias iš šių metodų yra sienų sekimo metodas. Taikant šį metodą, robotas seka labirinto dešinę arba kairę šoninę sieną. Jei išėjimo taškas yra prijungtas prie išorinių labirinto sienų, robotas suras išėjimą. Šioje programos pastaboje naudojamas dešinės sienos sekimo metodas.

Techninė įranga

Ši programa naudoja:

  • 2 „Sharp“analoginiai atstumo jutikliai
  • Sekimo jutiklis
  • Kodavimo priemonė
  • Varikliai ir variklio vairuotojas
  • Silego GreenPAK SLG46531V
  • Įtampos reguliatorius, roboto važiuoklė.

Mes naudosime analoginį atstumo jutiklį, kad nustatytume atstumus iki dešinės ir priekinės sienos. „Sharp“atstumo jutikliai yra populiarus pasirinkimas daugeliui projektų, kuriems reikia tikslių atstumo matavimų. Šis IR jutiklis yra ekonomiškesnis nei sonaro nuotolio ieškikliai, tačiau jis užtikrina daug geresnį našumą nei kitos IR alternatyvos. Tarp jutiklio išėjimo įtampos ir išmatuoto atstumo yra netiesinis atvirkštinis ryšys. Siužetas, rodantis ryšį tarp jutiklio išėjimo ir išmatuoto atstumo, parodytas 1 paveiksle.

Tikslas yra balta linija prieš juodos spalvos pagrindą. Baltai linijai aptikti naudosime sekimo jutiklį. Sekimo jutiklis turi penkis analoginius išėjimus, o išvestiems duomenims įtakos turi atstumas ir aptikto objekto spalva. Aptikti taškai su didesniu infraraudonųjų spindulių atspindžiu (balta) sukels didesnę išvesties vertę, o mažesnis infraraudonųjų spindulių atspindys (juodas) - mažesnę išvesties vertę.

Norėdami apskaičiuoti roboto nuvažiuotą atstumą, naudosime pololu rato kodavimo įrenginį. Ši kvadratinio kodavimo plokštė skirta darbui su pololu mikro metalo pavaros varikliais. Jis veikia laikydamas du infraraudonųjų spindulių atspindžio jutiklius „Pololu 42 × 19mm“rato stebulės viduje ir matuoja dvylikos dantų judėjimą išilgai rato ratlankio.

Varikliams valdyti naudojama variklio tvarkyklės plokštė (L298N). INx kaiščiai naudojami varikliams nukreipti, o ENx kaiščiai - variklių greičiui nustatyti.

Be to, įtampos reguliatorius naudojamas akumuliatoriaus įtampai sumažinti iki 5 V.

1 žingsnis: Algoritmo aprašymas

Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas
Algoritmo aprašymas

Ši instrukcija apima tinkamą sienos sekimo metodą. Tai grindžiama krypties prioriteto organizavimu, teikiant pirmenybę teisingiausiai įmanomai krypčiai. Jei robotas negali aptikti sienos dešinėje, jis pasisuka į dešinę. Jei robotas aptinka dešinę sieną ir priekyje nėra sienos, jis eina į priekį. Jei roboto dešinėje ir priekyje yra siena, ji pasisuka į kairę.

Svarbi pastaba yra tai, kad robotui tik pasukus į dešinę, nėra sienos, į kurią būtų galima kreiptis. Todėl „sukimasis į dešinę“atliekamas trimis etapais. Eikite į priekį, pasukite į dešinę, pirmyn.

Be to, judėdamas į priekį robotas turi išlaikyti atstumą nuo sienos. Tai galima padaryti sureguliavus vieną variklį, kad jis būtų greitesnis arba lėtesnis už kitą. Galutinė schemos būsena parodyta 10 paveiksle.

„Maze Runner Robot“galima labai lengvai įgyvendinti naudojant vieną „GreenPAK“konfigūruojamą mišraus signalo IC (CMIC). Galite atlikti visus veiksmus, kad suprastumėte, kaip „GreenPAK“lustas buvo užprogramuotas valdyti „Maze Runner Robot“. Tačiau jei norite lengvai sukurti „Maze Runner Robot“nesuprasdami visos vidinės grandinės, atsisiųskite „GreenPAK“programinę įrangą, kad peržiūrėtumėte jau užbaigtą „Maze Runner Robot GreenPAK“dizaino failą. Prijunkite kompiuterį prie „GreenPAK Development Kit“ir paspauskite programą, kad sukurtumėte pasirinktinį IC, kad galėtumėte valdyti „Maze Runner Robot“. Kitame žingsnyje bus aptariama „Maze Runner Robot GreenPAK“dizaino failo logika tiems, kurie nori suprasti, kaip veikia grandinė.

2 žingsnis: „GreenPAK“dizainas

„GreenPAK“dizainas
„GreenPAK“dizainas
„GreenPAK“dizainas
„GreenPAK“dizainas
„GreenPAK“dizainas
„GreenPAK“dizainas

„GreenPAK“dizainas susideda iš dviejų dalių. Šitie yra:

  • Duomenų iš atstumo jutiklių aiškinimas / apdorojimas
  • ASM būsenos ir variklio išėjimai

Duomenų iš atstumo jutiklių aiškinimas / apdorojimas

Svarbu interpretuoti atstumo jutiklių duomenis. Roboto judesiai yra apgalvoti pagal atstumo jutiklių išėjimus. Kadangi atstumo jutikliai yra analoginiai, mes naudosime ACMP. Roboto padėtis sienos atžvilgiu nustatoma lyginant jutiklių įtampą su iš anksto nustatytomis slenksčio įtampomis.

Mes naudosime 3 ACMP;

  • Norėdami aptikti priekinę sieną (ACMP2)
  • Norėdami aptikti dešinę sieną (ACMP0)
  • Siekiant apsaugoti dešinės sienos atstumą (ACMP1)

Kadangi ACMP0 ir ACMP1 priklauso nuo to paties atstumo jutiklio, abiem lyginamosioms medžiagoms naudojome tą patį IN+ šaltinį. Nuolatinio signalo keitimo galima išvengti, suteikiant ACMP1 25 mv histerezės.

Mes galime nustatyti krypties signalus pagal ACMP išėjimus. 12 paveiksle pavaizduota grandinė vaizduoja 7 paveiksle pavaizduotą srauto schemą.

Panašiai schema, rodanti roboto padėtį dešinės sienos atžvilgiu, parodyta 13 paveiksle.

ASM būsenos ir variklio išėjimai

Ši programa naudoja asinchroninę būsenos mašiną arba ASM, kad valdytų robotą. ASM yra 8 būsenos, o kiekvienoje - 8 išėjimai. Išvesties RAM gali būti naudojama šiems išėjimams reguliuoti. Žemiau išvardytos valstijos:

  • Pradėti
  • Kontrolė
  • Atsitraukite nuo dešinės sienos
  • Netoli dešinės sienos
  • Pasukite į kairę
  • Judėti pirmyn-1
  • Pasukite į dešinę
  • Judėti pirmyn-2

Šios būsenos nustato išėjimą į variklio vairuotoją ir nukreipia robotą. Kiekvienam varikliui yra 3 „GreenPAK“išėjimai. Du nustato variklio kryptį, o kitas išėjimas nustato variklio greitį. Variklio judėjimas pagal šiuos išėjimus parodytas šiose lentelėse:

Iš šių lentelių gaunama ASM išvesties RAM. Tai parodyta 14 paveiksle. Be variklių tvarkyklių, yra dar du išėjimai. Šie išėjimai patenka į atitinkamus uždelsimo blokus, kad robotas galėtų nuvažiuoti tam tikrą atstumą. Šių uždelsimo blokų išėjimai taip pat yra prijungti prie ASM įėjimų.

Variklių greičiui reguliuoti buvo naudojami PWM. ASM buvo naudojamas norint nustatyti, kokia PWM variklis veiks. PWMA-S ir PWMB-S signalai yra nustatyti kaip „mux“pasirinkimo bitai.

3 žingsnis:

Vaizdas
Vaizdas

Šiame projekte sukūrėme labirintą sprendžiantį robotą. Mes aiškinome kelių jutiklių duomenis, valdėme roboto būseną naudodami „GreenPAK“ASM ir varėme variklius su variklio tvarkykle. Paprastai tokiuose projektuose naudojami mikroprocesoriai, tačiau „GreenPAK“turi keletą privalumų, palyginti su MCU: jis yra mažesnis, pigesnis ir gali apdoroti jutiklio išvestį greičiau nei MCU.

Rekomenduojamas: