Uruchomienie RoboKita

RoboKit: Mając zmontowane podwozie i zlutowany moduł czujników, możemy przystąpić do uruchomienia robota.

Podłączenie modułu czujników

Kiedy już zlutowany został moduł czujników, podwozie robota zmontowane, czas podłączyć płytkę czujników do naszego robota. Zdjęcia w tym artykule pokazują wytrawioną płytkę prototypową, do zestawów dołączona jest czarna płytka z seryjnej produkcji. Sposób podłaczenia jest identyczny w obu przypadkach.

Widok na płytkę czujników

W poprzednich artykułach został poruszony montaż czujników na płytce uniwersalnej oraz dwa programy umożliwiające wykonanie robota w wersji „beam follower” lub „line follower”. W celu łatwiejszego szukania poniżej znajdują się linki do poprzednich artykułów, tak aby wszystko co potrzebne do złożenia robota było w jednym miejscu.

Podłączenie do robo kit’a

Na płytce mamy wyprowadzone trzy złącza, jedno oznaczone jako “line”, drugie jako “beam”, natomiast trzecie to zasilanie. W zależności od funkcji jakie ma nasz robot pełnić będziemy podłączać odpowiednie złącze. Jeśli planujemy wykonać beam follower’a będziemy się podłączać do wyjścia beam, obsługującego fototranzystory. Złącze “line” obsługuje cztery transoptory CNY70. Numerek przy pierwszym pinie oznacza numer transoptora.

Spójrzmy jeszcze na złącze zasilania. Są tam trzy piny, ale pierwszy i ostatni to masa. Środkowy pin to +5V. Pamiętajmy, aby odwrotnie nie podłączyć zasilania, gdyż może się to skończyć uszkodzeniem czujników.

Kiedy już zapoznaliśmy się z płytką przejdźmy do jej montażu w robocie. Do tego celu wykorzystamy tulejki dystansowe o długości 30mm. Tak przygotowaną płytkę musimy zamontować na przodzie robota.

Montaż płytki za pomocą tulejek dystansowych

Mocowanie płytki do tulejek dystansowych

Kolejnym krokiem jest podłączenie czujników do Arduino. Tu mamy dwa wyjścia, możemy sami wykonać kable o odpowiadającej nam długości lub skorzystać z gotowych. Jeśli planujemy skorzystać z gotowych musimy się liczyć z tym, że będą one za krótkie i trzeba będzie ją ze sobą łączyć. Poniższe zdjęcia pokazują wykorzystanie gotowych łączonych ze sobą kabli.

Robot przedstawiony na zdjęciach to line follower, czyli podłączyliśmy tylko transoptory CNY70. Do tego celu użyliśmy taśmy z kolorami odpowiadającymi numerom czujników. Poniżej znajduje się tabelka pokazująca jak podłączyliśmy CNY70 z wykorzystaniem łączonych kabli.

UWAGA Kolory kabli w Waszym zestawie sa pewnie inne, ta tabelka jest po to, byście nie mieli wątpliwości, które wejście Arduino jest podłączone do którego wejścia na płytce z czujnikami.


CNY70

kolor 1

kolor 2 (do Arduino)

pin w Arduino

1

czarny

niebieski

A5

2

biały

zielony

A4

3

szary

żółty

A3

4

fioletowy

pomarańczowy

A2



Połączenie Arduino i płytki czujników

Zasilanie płytki czujników

Do tego celu również użyliśmy dwóch połączonych kabli o tych samych kolorach. Brązowy kolor odpowiada masie, a czerwony +5V. Na złączu PWR na płytce środkowy pin to 5V a dwa boczne to masa, taki układ ułatwia podłączenie. Wystarczy pamiętać, że zasilanie (+5V) do środka, a masę do jednego z zewnętrznych.

Pozostało nam jeszcze podłączyć napęd. Silniki będą podłączone do motor shield’a do wejść A (silnik prawy) i B (silnik lewy). Pamiętajmy o odpowiednim podłączeniu silników. Kolor czarny to masa (-), a czerwony to plus (+). Jeśli zrobimy inaczej, to silnik będzie się kręcić w przeciwną stronę. Jeżeli tak zrobimy, trzeba będzie poprawić kod szkicu działającego na Arduino.

Motor Shield połączony z silnikami

Podłączenie silników

Montaż płytki L293d do Robo Kit v3

W związku z wprowadzonymi zmianami w wersji 3 naszego Robo Kita MotorShield został zastąpiony modułem z układem L293d. Będąc w tym etapie mamy już zlutowaną płytkę i na pewno chcielibyśmy ją przetestować bądź zamontować w naszym robocie. Poniżej przedstawimy przykładowy montaż dla RoboKita, a na ostatniej stronie będzie można pobrać kod źródłowy robota obsługujący moduł L293D wraz z niezbędną biblioteką.

Opis płytki modułu L293d

Spójrzmy od góry na płytkę. Od lewej strony mamy dwa piny podpisane PWR. Jest to zasilanie, które doprowadzamy do naszych silników. Oznacza to, że silniki możemy zasilać odrębnym źródłem zasilania niż cały układ. Pierwszy pin jest podpisany jako +, drugi jest masą. Kolejny zestaw pinów, to M1. Do tych pinów podłączony zostanie jeden z silników dc. Wyjście M1 nie posiada żadnych innych dodatkowych oznaczeń, ponieważ nawet jeśli podłączymy silnik odwrotnie, to będzie się on kręcił w innym kierunku. Trzy ostatnie piny oznaczone 2A, 1A, E1 to wejścia sterujące. Te 3 piny zostaną podłączone do Arduino. Na dolnej części płytki PCB od lewej strony mamy tak samo jak powyżej zestaw 3 pinów sterujących. Zmieniając ich stany jesteśmy w stanie regulować pracą silnika. Złącze M2 służy do podłączenia drugiego silnika, natomiast złącze PWR dostarcza zasilanie do L293d.

Opis mamy za sobą, czas na podłączenie i testową jazdę. Do tego wykorzystamy bibliotekę DCmotorBOT. Jest ona dostępna na Github jak i na ostatniej stronie.

Widok na zamontowany i podłączony moduł L293d

Podłączenie modułu nie jest czymś skomplikowanym dlatego też, wystarczy poniższa tabelka, a każdy powinien sobie z tym poradzić.

Tabela z połączeniami Arduino i modułu L293d

Silniki w robocie trzeba podłączyć testowo i sprawdzić czy się kręcą tak jak chcemy (jeśli chcemy żeby robot jeździł do przodu czy do tyłu, oprócz skręcania), silniki trzeba połączyć na przemian, czyli tak żeby jeden kręcił się zgodnie z ruchem wskazówek zegara, a drugi przeciwnie.

W powyższej tablece zdecydowaliśmy się na zasilanie silników bezpośrednio z Arduino. Jeśli ktoś planuje zastosować inne silniki, albo chce zasilać silniki bezpośrednio z baterii/akumulatorów, wystarczy piny PWR podłączyć do zewnętrznego źródła zasilania (pamiętając o polaryzacji).

Ostatnim krokiem jest wgranie kodu źródłowego robota. W stosunku do V2 RoboKita nie zmienił się on bardzo. Jedynie obsługa motorshielda została zastąpiona sterowaniem modułu L293d.

void setup()
{
bot.setEnablePins(10, 11);
bot.setControlPins(9, 8, 12, 13);
Serial.begin(57600);
bot.moveForward();
bot.stop();
}

Jak widać w powyższym kodzie, w funkcji setup definiujemy piny Enable (EN1, EN2) oraz piny Control (1A, 2A, 3A, 4A). Domyślnie w kodzie tak to jest zdefiniowane i ma to pokrycie z tym co podane jest w tabelce informacyjnej.

Jeśli wgracie kod, to po podłączeniu zasilania Wasz robot powinien zacząć jeździć po czarnej linii. Jeśli nie macie toru dla line followera, nic nie szkodzi, weźcie czarną taśmę izolacyjną, trochę białych kartek i naklejcie paski czarnej folii w kształt jakiegoś toru. Od tego momentu Wasz robot powinien “śledzić” czarną linię.

Zmontowany robot gotowy do podłączenia zasilania

Zasilanie

Na sam koniec pozostała kwestie zasilania. Jak zapewne zauważyliście w zestawie znajdują się dwa koszyki na baterie. W sumie  mamy możliwość zasilenia naszego robota z sześciu baterii/akumulatorków. Oczywiście istnieje też możliwość zasilania poprzez zasilacz sieciowy, ale raczej małowygodnie będzie biegać za robotem ciągnąc przedłużacz.

Koszyki pozwalają na szeregowe połączenie baterii, czyli np. wkładając 4 baterie do koszyczka na jego wyjściu dostaniemy napięcie 6V (zakładając, że włożyliśmy baterie,a nie akumulatorki, bowiem akumulatorek po naładowaniu daje napięcie 1.2V).

W zestawie znajduje się koszyczek na 4 baterie z pokrywą i wyłącznikiem, oraz koszyk 2 dwie baterie. Wyłącznik w koszyku pozwala włączać i wyłączać robota, bez konieczności wyciągania wtyczki z gniazda Arduino. Jest to dużo wygodniejsze.

Nie wgłębiając się w szczegóły, możemy przyjąć, że szeregowe łączenie powoduje sumowanie się napięć. Natomiast gdybyśmy chcieli połączyć baterie tak jak na drugim schemacie, czyli równolegle, wtedy otrzymamy te same napięcie, ale pojemność takiego pakietu będzie równa czterokrotnej pojemności jednej baterii (pojemności w połączeniu równoległym sumują się, a napięcie pozostaje stałe).

Łączenie baterii

Wsadzając do koszyczków zwykłe baterie AA uzyskamy łacznie napięcie 9V (6 1.5V), zaś korzystając z akumulatorkó w AA uzyskamy napięcie 7.2V (6 1.2V - akumulatorki mają niższe napięcie niż zwykłe baterie).

Pozostaje połączyć oba koszyczki by wszystkie baterie były połaczone w szereg. W tym celu lutujemy razem czarny przewód z jednego koszyczka z czerwonym przewodem z drugiego. Zostają dwa wolne przewody, czarny i czerwony, które trzeba przylutować do wtyczki - czerwony do centralnego złącza, czarny do zewnętrznego (po rozkręceniu wtyku DC).

Połączenie koszyków

Tak przygotowany robot jest gotowy do wgrania programu ruszenia w swoją pierwszą podróż po torze. Nie zapomnijcie naładować baterii.

Pliki do pobrania