Spisu treści:

Stwórz robota biegacza labiryntu: 3 kroki (ze zdjęciami)
Stwórz robota biegacza labiryntu: 3 kroki (ze zdjęciami)

Wideo: Stwórz robota biegacza labiryntu: 3 kroki (ze zdjęciami)

Wideo: Stwórz robota biegacza labiryntu: 3 kroki (ze zdjęciami)
Wideo: TYPOWA KŁÓTNIA Z RODZICAMI JEST JAK... - Butterfly Soup 2 #07 2024, Listopad
Anonim
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu
Stwórz robota biegacza labiryntu

Roboty rozwiązujące labirynty pochodzą z lat 70-tych. Od tego czasu IEEE organizuje konkursy rozwiązywania labiryntów zwane Micro Mouse Contest. Celem konkursu jest zaprojektowanie robota, który jak najszybciej znajdzie środek labiryntu. Algorytmy używane do szybkiego rozwiązania labiryntu zwykle dzielą się na trzy kategorie; losowe wyszukiwanie, mapowanie labiryntu i następujące metody prawej lub lewej ściany.

Najbardziej funkcjonalną z tych metod jest metoda podążania za ścianą. W tej metodzie robot podąża za prawą lub lewą boczną ścianą labiryntu. Jeśli punkt wyjścia jest połączony z zewnętrznymi ścianami labiryntu, robot znajdzie wyjście. Ta notatka aplikacji używa właściwej metody podążania za ścianą.

Sprzęt komputerowy

Ta aplikacja wykorzystuje:

  • 2 ostre analogowe czujniki odległości
  • Czujnik śledzenia
  • Koder
  • Silniki i sterownik silnika
  • Silego GreenPAK SLG46531V
  • Regulator napięcia, podwozie robota.

Użyjemy analogowego czujnika odległości do określenia odległości do prawej i przedniej ściany. Czujniki odległości Sharp są popularnym wyborem w wielu projektach, które wymagają dokładnych pomiarów odległości. Ten czujnik podczerwieni jest bardziej ekonomiczny niż dalmierze sonarowe, ale zapewnia znacznie lepszą wydajność niż inne alternatywy IR. Istnieje nieliniowa, odwrotna zależność między napięciem wyjściowym czujnika a zmierzoną odległością. Wykres przedstawiający zależność między wyjściem czujnika a zmierzoną odległością pokazano na rysunku 1.

Biała linia na tle czarnego koloru jest ustawiona jako cel. Do wykrycia białej linii użyjemy czujnika trackera. Czujnik trackera ma pięć wyjść analogowych, a na dane wyjściowe wpływa odległość i kolor wykrytego obiektu. Wykryte punkty o wyższym współczynniku odbicia podczerwieni (biały) spowodują wyższą wartość wyjściową, a niższy współczynnik odbicia podczerwieni (czarny) spowoduje niższą wartość wyjściową.

Użyjemy enkodera koła polo, aby obliczyć odległość, jaką pokonuje robot. Ta płytka enkodera kwadraturowego jest przeznaczona do współpracy z motoreduktorami z mikrometalowymi silnikami pololu. Jego działanie polega na utrzymywaniu dwóch czujników odbicia podczerwieni wewnątrz piasty koła Pololu 42×19mm i mierzeniu ruchu dwunastu zębów wzdłuż obręczy koła.

Do sterowania silnikami używana jest płytka drukowana sterownika silnika (L298N). Kołki INx służą do kierowania silnikami, a kołki ENx służą do ustawiania prędkości silników.

Również regulator napięcia służy do obniżenia napięcia z akumulatora do 5V.

Krok 1: Opis algorytmu

Opis algorytmu
Opis algorytmu
Opis algorytmu
Opis algorytmu
Opis algorytmu
Opis algorytmu
Opis algorytmu
Opis algorytmu

Ten Instruktaż zawiera odpowiednią metodę po ścianie. Opiera się to na zorganizowaniu priorytetu kierunku poprzez preferowanie najbardziej właściwego możliwego kierunku. Jeśli robot nie może wykryć ściany po prawej stronie, skręca w prawo. Jeśli robot wykryje prawą ścianę, a przed nią nie ma ściany, porusza się do przodu. Jeśli na prawo od robota i od przodu znajduje się ściana, skręca w lewo.

Ważną uwagą jest to, że po tym, jak robot właśnie skręcił w prawo, nie ma ściany do odniesienia. Dlatego „skręcenie w prawo” odbywa się w trzech krokach. Idź do przodu, skręć w prawo, idź do przodu.

Ponadto robot musi zachować odległość od ściany podczas poruszania się do przodu. Można to zrobić, dostosowując jeden silnik, aby był szybszy lub wolniejszy od drugiego. Ostateczny stan schematu blokowego przedstawiono na rysunku 10.

Robota Labirynt Runner można bardzo łatwo wdrożyć za pomocą jednego konfigurowalnego układu scalonego sygnału mieszanego GreenPAK (CMIC). Możesz przejść przez wszystkie kroki, aby zrozumieć, w jaki sposób chip GreenPAK został zaprogramowany do sterowania robotem Labirynt. Jeśli jednak chcesz po prostu łatwo stworzyć robota Maze Runner bez zrozumienia wszystkich wewnętrznych obwodów, pobierz oprogramowanie GreenPAK, aby wyświetlić już ukończony plik projektu Maze Runner Robot GreenPAK. Podłącz komputer do zestawu rozwojowego GreenPAK i naciśnij program, aby utworzyć niestandardowy układ scalony do sterowania robotem Maze Runner. Następnym krokiem będzie omówienie logiki zawartej w pliku projektowym Maze Runner Robot GreenPAK dla tych, którzy są zainteresowani zrozumieniem działania obwodu.

Krok 2: Projekt GreenPAK

Projekt GreenPAK
Projekt GreenPAK
Projekt GreenPAK
Projekt GreenPAK
Projekt GreenPAK
Projekt GreenPAK

Projekt GreenPAK składa się z dwóch części. To są:

  • Interpretacja / przetwarzanie danych z czujników odległości
  • Stany ASM i wyjścia silników

Interpretacja / przetwarzanie danych z czujników odległości

Ważna jest interpretacja danych z czujników odległości. Ruchy robota są celowane na podstawie sygnałów z czujników odległości. Ponieważ czujniki odległości są analogowe, użyjemy ACMP. Pozycja robota względem ściany jest określana przez porównanie napięć czujników z ustalonymi napięciami progowymi.

Użyjemy 3 ACMP;

  • Wykrywanie przedniej ściany (ACMP2)
  • Wykrywanie prawej ściany (ACMP0)
  • Aby chronić odległość od prawej ściany (ACMP1)

Ponieważ ACMP0 i ACMP1 zależą od tego samego czujnika odległości, użyliśmy tego samego źródła IN+ dla obu komparatorów. Stałej zmianie sygnału można zapobiec podając ACMP1 25mv histerezy.

Sygnały kierunkowe możemy określić na podstawie wyjść ACMP. Obwód pokazany na rysunku 12 przedstawia schemat blokowy przedstawiony na rysunku 7.

W ten sam sposób obwód wskazujący pozycję robota względem prawej ściany pokazano na rysunku 13.

Stany ASM i wyjścia silnika

Ta aplikacja wykorzystuje Asynchroniczną Maszynę Stanową (ASM) do sterowania robotem. W ASM jest 8 stanów i 8 wyjść w każdym stanie. Do regulacji tych wyjść można użyć pamięci wyjściowej RAM. Stany są wymienione poniżej:

  • Początek
  • Kontrola
  • Odsuń się od prawej ściany
  • Blisko prawej ściany
  • Skręć w lewo
  • Przesuń do przodu-1
  • Skręć w prawo
  • Przesuń do przodu-2

Stany te określają dane wyjściowe do sterownika silnika i kierują robotem. Istnieją 3 wyjścia z GreenPAK dla każdego silnika. Dwa określają kierunek silnika, a drugie wyjście określa prędkość silnika. Ruch silnika zgodnie z tymi wyjściami przedstawiono w poniższych tabelach:

Pamięć RAM wyjściowa ASM pochodzi z tych tabel. Pokazuje to rysunek 14. Oprócz sterowników silników są jeszcze dwa wyjścia. Wyjścia te trafiają do odpowiednich bloków opóźnień, aby umożliwić robotowi pokonanie określonej odległości. Wyjścia tych bloków opóźniających są również podłączone do wejść ASM.

Do regulacji prędkości silników wykorzystano PWM. ASM został użyty do określenia, na jakim PWM będzie działał silnik. Sygnały PWMA-S i PWMB-S są ustawione na bity selekcji multipleksera.

Krok 3:

Obraz
Obraz

W tym projekcie stworzyliśmy robota rozwiązującego labirynt. Interpretowaliśmy dane z wielu czujników, kontrolowaliśmy stan robota za pomocą ASM GreenPAK i sterowaliśmy silnikami za pomocą sterownika silnika. Ogólnie rzecz biorąc, w takich projektach stosuje się mikroprocesory, ale GreenPAK ma kilka zalet w porównaniu z MCU: jest mniejszy, bardziej przystępny cenowo i może przetwarzać dane wyjściowe czujnika szybciej niż MCU.

Zalecana: