[PROJEKT] KAmodQTR8A + KAmduino UNO – wykrywanie linii dla robotów Linefollower

Moduł KAmodQTR8A to czujnik do wykrywania linii lub przepaści dla robotów klasy Linefollower. Został zbudowany w oparciu o 8 transoptorów odbiciowych KTIR0711S. Informacja o wykrytej powierzchni, z każdego transoptora jest w postaci analogowej. Układ wykrywający linię w konstrukcji typu Linefollower powinien mieć możliwość pomiaru wartości napięcia sygnału, którego to wartość jest proporcjonalna do powierzchni odbijającej światło podczerwone. Jest to zadanie dla typowego przetwornika ADC (ang. Analog to Digital Converter). Drugim sposobem na wykrycie linii z użyciem naszego modułu jest zastosowanie komparatorów (po jednym do każdego czujnika) z dobranymi nastawami przełączania stanu niskiego na wysoki i odwrotnie. Listwa została tak zaprojektowana, aby z łatwością dało się odłamać dwa z ośmiu czujników i użyć ich w innej konfiguracji.

Podczas montażu czujnika w robocie należy zwrócić uwagę na wysokość montażu listwy z czujnikami nad podłożem. Zalecana odległość czujnika od podłoża to 6 mm. Dodatkowo zaleca się osłonięcie czujnika przed wpływem światła zewnętrznego, mogącego doświetlać badaną przez czujniki powierzchnię. Daje to o wiele lepszy efekt działania czujników. W module zostały przewidziane otwory montażowe o średnicy 3 mm. Zarówno przy części „odłamywanej”, jak i przy pozostałych 6 czujnikach. Wymiary modułu (bez złączy) to: 75 mm x 13 mm x 3,2 mm.

Moduł można zasilać napięciem 3,3 V oraz 5 V. Przy zasilaniu napięciem 3,3 V wymagane jest założenie zworki BYPASS. Moduł pobiera prąd o wartości około 90 mA.

Poniższy przykładowy program pozwala na sprawdzenie poprawności montażu i działania czujników na robocie. Konstrukcja testowa została wykonana z płytki prototypowej do której została zamocowana listwa z czujnikami. Wartości napięć zwracanych przez transoptory mierzone są za pomocą przetwornika ADC wbudowanego w mikrokontroler ATmega328 z płytki KAmduino UNO.

Fot. 2. Układ testowy z modułem KAmodQTR8A i KAmduino UNO
Fot. 2. Układ testowy z modułem KAmodQTR8A i KAmduino UNO

Program wykorzystuje bibliotekę QTRSensors.h do kalibracji i odczytywania parametrów powierzchni. Przez pierwsze 10 sekund program wykonuje kalibrację każdego z podłączonych czujników i określa maksymalną oraz minimalną odczytaną wartość. Po wyświetleniu danych kalibracyjnych program przechodzi do pobierania wartości z czujników oraz wyświetlenia ich w postaci danych RAW (surowych i nie obrobionych żadnym algorytmem) w terminalu programu Arduino.

Test polegał na przesuwaniu układu testowego po kartce z namalowaną linią koloru czarnego. Na rysunku 3 widać kolejne zarejestrowane zmiany przemieszczenia układu. Wartość 0 reprezentuje kolor tła w tym przypadku biały, natomiast 1000 oznacza wykrycie czarnej linii.

Rys. 3. Efekt działania programu
Rys. 3. Efekt działania programu

Do pobrania

O autorze