Cuprins:

Faceți un robot Maze Runner: 3 pași (cu imagini)
Faceți un robot Maze Runner: 3 pași (cu imagini)

Video: Faceți un robot Maze Runner: 3 pași (cu imagini)

Video: Faceți un robot Maze Runner: 3 pași (cu imagini)
Video: PERCY JACKSON: SEA OF MONSTERS Clip - "Percy Kills Colchis Bull" (2013) 2024, Noiembrie
Anonim
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner
Faceți un robot Maze Runner

Roboții de rezolvare a labirintului provin din anii 1970. De atunci, IEEE organizează concursuri de rezolvare a labirintului denumite Concurs Micro Mouse. Scopul concursului este de a proiecta un robot care să găsească punctul de mijloc al unui labirint cât mai repede posibil. Algoritmii utilizați pentru rezolvarea rapidă a labirintului se încadrează de obicei în trei categorii; căutare aleatorie, mapare labirint și peretele din dreapta sau din stânga urmând metode.

Cea mai funcțională dintre aceste metode este metoda de urmărire a peretelui. În această metodă, robotul urmează peretele lateral drept sau stâng al labirintului. Dacă punctul de ieșire este conectat la pereții exteriori ai labirintului, robotul va găsi ieșirea. Această notă a aplicației folosește metoda de urmărire a peretelui potrivit.

Hardware

Această aplicație folosește:

  • 2 senzori analogici de distanță ascuțiți
  • Senzor de urmărire
  • Codificator
  • Motoare și șofer de motor
  • Silego GreenPAK SLG46531V
  • Regulator de tensiune, șasiu robot.

Vom folosi senzorul analogic de distanță pentru a determina distanțele față de pereții din dreapta și din față. Senzorii de distanță Sharp sunt o alegere populară pentru multe proiecte care necesită măsurători precise de distanță. Acest senzor IR este mai economic decât telemetrele sonare, dar oferă performanțe mult mai bune decât alte alternative IR. Există o relație inversă neliniară între tensiunea de ieșire a senzorului și distanța măsurată. Graficul care arată relația dintre ieșirea senzorului și distanța măsurată este prezentat în figura 1.

O linie albă pe un fundal de culoare neagră este setată ca țintă. Vom folosi senzorul de urmărire pentru a detecta linia albă. Senzorul de urmărire are cinci ieșiri analogice, iar datele transmise sunt influențate de distanță și de culoarea obiectului detectat. Punctele detectate cu reflectanță mai mare în infraroșu (alb) vor provoca o valoare de ieșire mai mare, iar reflectanța mai mică în infraroșu (negru) va provoca o valoare de ieșire mai mică.

Vom folosi codorul roții pololu pentru a calcula distanța parcursă de robot. Această placă de codificare în cuadratură este concepută pentru a funcționa cu motoare cu angrenaj pololu micro. Funcționează ținând doi senzori de reflectanță în infraroșu în butucul unei roți Pololu 42 × 19mm și măsurând mișcarea celor doisprezece dinți de-a lungul jantei roții.

Pentru controlul motoarelor se utilizează o placă de circuit a driverului motorului (L298N). Pinii INx sunt folosiți pentru a direcționa motoarele, iar pinii ENx sunt folosiți pentru a seta viteza motoarelor.

De asemenea, un regulator de tensiune este utilizat pentru a reduce tensiunea de la baterie până la 5V.

Pasul 1: Descrierea algoritmului

Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului
Descrierea algoritmului

Acest instructabil încorporează peretele potrivit, urmând metoda. Aceasta se bazează pe organizarea priorității direcției, preferând cea mai dreaptă direcție posibilă. Dacă robotul nu poate detecta peretele din dreapta, acesta se rotește spre dreapta. Dacă robotul detectează peretele drept și nu există perete în față, acesta merge înainte. Dacă există un perete în dreapta robotului și în față, acesta se rotește spre stânga.

O notă importantă este că nu există perete de referință după ce robotul tocmai s-a întors spre dreapta. Prin urmare, „virarea la dreapta” se realizează în trei pași. Mergeți înainte, faceți dreapta, mergeți înainte.

În plus, robotul trebuie să-și păstreze distanța de perete atunci când se deplasează înainte. Acest lucru se poate face reglând un motor pentru a fi mai rapid sau mai lent decât celălalt. Starea finală a diagramei este prezentată în figura 10.

Un robot Maze Runner poate fi implementat foarte ușor cu un singur IC cu semnal mixt configurabil GreenPAK (CMIC). Puteți parcurge toți pașii pentru a înțelege cum a fost programat cipul GreenPAK pentru a controla robotul Maze Runner. Cu toate acestea, dacă doriți doar să creați cu ușurință Maze Runner Robot fără a înțelege toate circuitele interioare, descărcați software-ul GreenPAK pentru a vizualiza deja completat Maze Runner Robot GreenPAK Design File. Conectați computerul la setul de dezvoltare GreenPAK și apăsați programul pentru a crea un IC personalizat pentru a vă controla robotul Maze Runner. Următorul pas va discuta despre logica din fișierul de proiectare Maze Runner Robot GreenPAK pentru cei care sunt interesați să înțeleagă modul în care funcționează circuitul.

Pasul 2: Proiectare GreenPAK

Proiectare GreenPAK
Proiectare GreenPAK
Proiectare GreenPAK
Proiectare GreenPAK
Proiectare GreenPAK
Proiectare GreenPAK

Designul GreenPAK constă din două părți. Acestea sunt:

  • Interpretarea / prelucrarea datelor de la senzorii de distanță
  • Stări ASM și ieșiri ale motorului

Interpretarea / prelucrarea datelor de la senzorii de distanță

Este important să interpretați datele de la senzorii de distanță. Mișcările robotului sunt deliberate în funcție de ieșirile senzorilor de distanță. Deoarece senzorii de distanță sunt analogici, vom folosi ACMP-urile. Poziția robotului față de perete este determinată prin compararea tensiunilor senzorilor cu tensiunile de prag predeterminate.

Vom folosi 3 ACMP-uri;

  • Pentru a detecta peretele frontal (ACMP2)
  • Pentru a detecta peretele drept (ACMP0)
  • Pentru a proteja distanța peretelui drept (ACMP1)

Deoarece ACMP0 și ACMP1 depind de același senzor de distanță, am folosit aceeași sursă IN + pentru ambii comparatori. Schimbarea constantă a semnalului poate fi prevenită oferind ACMP1 25mv de histerezis.

Putem determina semnalele de direcție pe baza ieșirilor ACMP. Circuitul prezentat în figura 12 prezintă diagrama de flux prezentată în figura 7.

În același mod, circuitul care indică poziția robotului față de peretele din dreapta este prezentat în figura 13.

Statele ASM și ieșirile motorului

Această aplicație utilizează mașina de stat asincronă sau ASM pentru a controla robotul. Există 8 stări în ASM și 8 ieșiri în fiecare stare. Memoria de ieșire poate fi utilizată pentru a regla aceste ieșiri. Statele sunt enumerate mai jos:

  • start
  • Control
  • Îndepărtați-vă de peretele din dreapta
  • Aproape de peretele din dreapta
  • Viraj la stânga
  • Mutați înainte-1
  • Obligatoriu Dreapta
  • Mutați înainte-2

Aceste stări determină ieșirea către șoferul motorului și direcționează robotul. Există 3 ieșiri de la GreenPAK pentru fiecare motor. Doi determină direcția motorului, iar cealaltă ieșire determină viteza motorului. Mișcarea motorului conform acestor ieșiri este prezentată în următoarele tabele:

RAM-ul de ieșire ASM este derivat din aceste tabele. Este prezentat în figura 14. În plus față de driverele de motor există încă două ieșiri. Aceste ieșiri merg la blocurile de întârziere corespunzătoare pentru a permite robotului să parcurgă o anumită distanță. Ieșirile acestor blocuri de întârziere sunt, de asemenea, conectate la intrările ASM.

PWM-urile au fost folosite pentru a regla viteza motoarelor. ASM-ul a fost folosit pentru a determina pe ce PWM va funcționa motorul. Semnalele PWMA-S și PWMB-S sunt setate pe biții de selectare mux.

Pasul 3:

Imagine
Imagine

În acest proiect, am creat un robot de rezolvare a labirintului. Am interpretat date de la mai mulți senzori, am controlat starea robotului cu ASM-ul GreenPAK și am condus motoarele cu un driver de motor. În general, microprocesoarele sunt utilizate în astfel de proiecte, dar un GreenPAK are câteva avantaje față de un MCU: este mai mic, mai accesibil și poate procesa ieșirea senzorului mai repede decât un MCU.

Recomandat: