[PROJEKT] Romi Chassis – obsługa enkoderów
W projekcie Romi Chassis – montaż oraz sterowanie silnikami zostało pokazane, jak złożyć podwozie Romi Chassis i sterować silnikami przy użyciu wbudowanego w moduł zasilania sterownika silników. W tym artykule skupimy się na obsłudze enkoderów. Enkoder pozwoli na zmierzenie dystansu pokonanego przez naszą konstrukcję lub kontrolowanie prędkości obrotowej silników, czyli można wykonać kontroler szybkości poruszania się podwozia.
W projekcie będzie użyte podwozie, które było zbudowane w projekcie Romi Chassis – montaż oraz sterowanie silnikami.
Moduł enkodera znajduje się na płytce przylutowanej do silnika:
Rysunek 1. Płytka z enkoderem przylutowana do silnika
Enkoder umieszczony na płytce PCB, pozwala na uzyskanie 12 impulsów na jeden obrót wału silnika. Ponieważ używamy ich z silnikami prądu stałego z przekładnią 120:1 otrzymamy 1140 impulsów na jeden obrót koła naszego podwozia Romi Chassis.
Znając średnicę koła (70 mm) możemy ze wzoru na obwód koła (2 · π · R), obliczyć jaki dystans pokona nasze podwozie, gdy koło obróci się dokładnie jeden raz. Z obliczeń (2 · π · 35 mm) wynika, że pokona on dystans około 22 cm. Tą informację wykorzystamy podczas pisania programów.
Wyjścia enkodera zostały wyprowadzone jako złącza kątowe. Należy je podłączyć do pinów KAmduino Uno, na których może być generowane przerwanie, czyli piny 2 oraz 3. KAmduino UNO ma tylko dwa piny, na których może być wyzwolone przerwanie, dlatego podłączymy tylko jeden enkoder do naszego KAmduino. O działaniu enkoderów oraz o przewianiach można przeczytać również w artykule [PROJEKT] Obsługa enkodera – KAmduino UNO, enkoder oraz WS2812. Przerwanie będzie generowane, gdy sygnał na wyjściu enkodera zmieni swój stan (z niskiego na wysoki lub z wysokiego na niski). Przykładowy przebieg z obu kanałów enkodera został pokazany na rysunku 2.
Rysunek 2. Przebiegi z enkodera (kanał A i B) podczas pracy silnika z stałą prędkością