Robot unikający krawędzi jest bardzo podobny do mojego poprzedniego projektu „Line Follower Robot”. Ten robot oparty na mikrokontrolerze 8051 wykrywa krawędź i unika jej, obracając lub zatrzymując się. Zobaczmy, jak możemy łatwo zaprojektować robota unikającego krawędzi.
Koncepcja robota Edge Avoider
Koncepcja robota Edge Avoider jest taka sama jak line follower. W robotach tego typu generalnie używamy zachowania światła na czarno-białej powierzchni. Kiedy światło padnie na białą powierzchnię, będzie prawie całkowicie odbijać, aw przypadku czarnej powierzchni jest absorbowane przez czarną powierzchnię. To zachowanie światła jest wykorzystywane w robotach śledzących linię, a także robotach omijających krawędzie.
Tutaj zastosowaliśmy nadajnik i odbiornik podczerwieni zwany także fotodiodami służącymi do wysyłania i odbierania światła. Podczerwień przesyła światło podczerwone. Kiedy promienie podczerwone padają na jakąkolwiek powierzchnię z wyjątkiem czarnych lub bardzo ciemnych powierzchni, są odbijane i wychwytywane przez fotodiodę i generują pewne zmiany napięcia. Kiedy światło podczerwone pada na czarną powierzchnię, światło jest pochłaniane przez czarną powierzchnię i żadne promienie nie odbijają się, w wyniku czego fotodioda nie otrzymuje żadnego światła ani promieni.
Tutaj, w tym robocie Edge Avoider, gdy czujnik wykryje białą powierzchnię, mikrokontroler otrzyma 0 jako wejście, a kiedy wykryje, kontroler czarnej linii otrzyma 1 jako wejście.
Schemat obwodu i objaśnienie robocze
Możemy podzielić projekt Edge Avoider Robot na trzy różne sekcje, czyli sekcję czujnika, sekcję sterowania i sekcję sterownika.
Sekcja czujnika: ta sekcja zawiera diody IR, potencjometr, komparator (wzmacniacz operacyjny) i diody LED. Potencjometr służy do zadawania napięcia odniesienia na jednym zacisku komparatora, a czujniki podczerwieni służą do wykrywania linii i zapewnienia zmiany napięcia na drugim zacisku komparatora. Następnie komparator porównuje oba napięcia i generuje sygnał cyfrowy na wyjściu. Tutaj w tym obwodzie używamy dwóch komparatorów dla dwóch czujników. Jako komparator zastosowano LM 358. LM358 ma wbudowane dwa niskoszumowe wzmacniacze operacyjne.
Sekcja sterowania: mikrokontroler 8051 służy do sterowania całym procesem robota śledzącego linię. Wyjścia komparatorów są podłączone do pinów P0.0 i P0.1 z 8051. 8051 odczytuje te sygnały i wysyła komendy do obwodu sterownika do popychacza.
Sekcja sterownika: Sekcja sterownika składa się ze sterownika silnika i dwóch silników prądu stałego. Sterownik silnika jest używany do sterowania silnikami, ponieważ mikrokontroler nie dostarcza wystarczającego napięcia i prądu do napędzania silnika. Więc dodajemy obwód sterownika silnika, aby uzyskać wystarczające napięcie i prąd dla silnika. Mikrokontroler wysyła polecenia do tego sterownika silnika, a następnie steruje silnikami.
Pracujący
Praca tego robota unikającego krawędzi jest dość interesująca i taka sama jak śledząca linię, ale różnica w działaniach po wykryciu wejść. W tym robocie, gdy wykryje białą powierzchnię, porusza się do przodu, a gdy którykolwiek z czujników lub oba czujniki nie wykryją żadnego sygnału lub czarnej powierzchni, zatrzymuje się i porusza się do tyłu i zmienia kierunek, a jeśli ponownie wyczuje białą powierzchnię, rusza do przodu.
Schemat obwodu jest pokazany dla tego robota unikającego krawędzi. Wyjście komparatorów jest bezpośrednio podłączone do pinów P0.0 i P0.1 mikrokontrolera. A styki wejściowe sterownika silnika 2, 7, 10 i 15 są podłączone odpowiednio do pinów P2.3, P2.2, P2.1 i P2.4. Jeden silnik jest podłączony do styku wyjściowego sterownika silnika 3 i 6, a drugi silnik jest podłączony do 11 i 14.
W programowaniu mamy zdefiniowane piny wejściowe i wyjściowe. A następnie w funkcji głównej sprawdziliśmy wejścia i odpowiednio wysyłamy wyjście do pinów wyjściowych do napędu silnika. Istnieją cztery warunki w tym unikaniu krawędzi, które czytamy za pomocą mikrokontrolera 8051. Użyliśmy dwóch czujników, a mianowicie lewego i prawego.
Warunki:
Wejście |
Wynik |
Ruch robota |
||||
Lewy czujnik |
Prawy czujnik |
Lewy silnik |
Właściwy silnik |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Naprzód |
0 |
1 |
1 |
0 |
0 |
0 |
Zatrzymaj / cofnij / skręć w prawo |
1 |
0 |
0 |
0 |
1 |
0 |
Zatrzymaj / cofnij / skręć w lewo |
1 |
1 |
0 |
0 |
0 |
0 |
STOP / wstecz / skręć w lewo |
Napisaliśmy program zgodnie z powyższymi warunkami tabeli.
Układ PCB