Chcesz zbudować najprawdziwszego robota? Nie wiesz od czego zacząć? Oto przepis, opisujący krok po kroku budowę programowalnego robota podążającego za czarną linią na białym tle. Zdziwisz się, jakie to proste! Przepis na robota.

Sercem każdego zaawansowanego robota jest układ zawierający przynajmniej jeden mikrokontroler. Programowanie pozwala na elastyczne dostosowywanie robota do konkretnych warunków, daje nam pełną kontrolę nad tym, co ma się dziać w jego „umyśle”, pozwala wprowadzać dowolne poprawki i rozwijać możliwości. Mikrokontrolery AVR są obecnie najpopularniejszą i najtańszą opcją na Polskim rynku.

Krótki film przedstawiający gotowego robota zaprogramowanego wsadem do procesora z załącznika (uproszczony kod, bez sterowania PWM):

Przepis na robota

Przybliżony kosztorys:

  • Płytka uniwersalna PDU27 – 8zł – sklep AVT
  • Mikroprocesor Atmega8 (7zł) wraz z podstawką (polecam precyzyjną – 1,70zł) – sklep AVT (podstawka)
  • Mostek H L293D lub L293DNE (10zł) również z podstawką (polecam precyzyjną) – 1,40zł – sklep AVTpodstawka) (
  • 3 transoptory odbiciowe CNY70 (czujniki linii) – 3×4,50zł – sklep AVT
  • 1 rezystor 470 Ohm (później nazywany 470R) – 0,25zł za 10 sztuk – sklep AVT
  • 3 rezystory 240 Ohm (240R) – 0,25zł za 10 sztuk – sklep AVT
  • 3 rezystory 10k Ohm (10K) – 0,60zł za 10 sztuk – sklep AVT
  • 1 dioda LED np. zielona  – 0,20zł – sklep AVT
  • 1 korpus złącza żeńskiego goldpin 5×1 (1,20zł) wraz z blaszkami (0,60zł za 10 sztuk) – sklep AVT (blaszki)
  • 1 dwurzędowa listwa goldpinów (0,80zł) – sklep AVT
  • 1 jednorzędowa, kątowa listwa goldpin (0,81zł) – sklep AVT
  • 2 metry 5-żyłowego przewodu wstążkowego, wielokolorowego (2×3,20zł za metr bieżący), można też przejść się do sklepu komputerowego i kupić dwa metry tzw. skrętki – sklep AVT
  • koszyk na 4 baterie AA z pokrywą i włącznikiem (2,81zł) – sklep AVT

Podsumowanie:55,52zł + koszty przesyłki (sklep AVT)

  • Koło podporowe – market budowlany (np. Leroy Merlin, dział meblowy);
    Koło podporowe, tzw. castor wheel

    Koło podporowe, tzw. castor wheel

  • Dwie śruby o średnicy 3 i 4mm (im dłuższe tym lepsze, polecam tak min. 3cm dla średnicy 3mm i 5,5cm dla średnicy 4mm) i do każdej po 3 nakrętki (w sumie ok. 2zł) – market budowlany;
  • 2 standardowej wielkości serwonapędy modelarskie (do 25zł/sztuka) – Allegro; czasami można dostać tanio używane. Zwrócie uwagę, by nie były to mikroserwa (możecie mieć problem z modyfikacjami – różnią się nieco mechanicznymi rozwiązaniami)! Zdjęcia przykładowych serw znajdują się w dalszej części artykułu;
  • 2 jednakowe nakrętki od słoików – kuchnia/piwnica;
    Dwie jednakowe nakrętki od słoików

    Dwie jednakowe nakrętki od słoików

  • Samoprzylepna guma do uszczelniania okien; powinna pasować szerokością do szerokości brzegów nakrętek – market budowlany, sklep wielobranżowy (np. Carrefour); ew. gumki-recepturki.

Narzędzia:

  • Piłka do metalu;
  • Wiertarka i wiertła o średnicy 3 i 4 mm;
  • Pistolet do klejenia na gorąco wraz z wkładami kleju uniwersalnego;
  • Zamiast piłki do metalu i wiertarki polecam zestaw miniwiertarki wraz z akcesoriami do wiercenia, cięcia i szlifowania (dostępne np. w Leroy Merlin i AVT, koszt: ok. 90zł);
  • Lutownica / stacja lutownicza (polecam stację Xytronic 369 – koszt ok. 130 zł, naprawdę warto) i spoiwo lutownicze z topnikiem (polecam cienkie, średnica w okolicach 0,38mm – dostępne w ofercie AVT);
  • Przydatna jest „ściągaczka” do izolacji (dostępna np. w Leroy Merlin i AVT, koszt ok. 15zł);
  • Cążki boczne (można dostać w AVT, koszt ok. 9 zł), ostatecznie mogą być mocne nożyczki;
  • Kombinerki i śrubokręt;
  • Programator ISP AVR, najlepiej na USB (wystarczy wpisać to na Allegro „Programator AVR ISP USB).

Powyższa lista może wydać się strasznie długa, ale podejrzewam, że część narzędzi znajdziecie w domu. Sporo elementów to groszowa sprawa, a elektronicy na pewno będą mieli coś z wymienionych elementów.

0. Schemat elektroniki robota:

Schemat elektroniki robota

Schemat elektroniki robota

1. Zaczniemy od przerobienia naszych serw modelarskich. Sterowanie nieprzerobionego serwa wymaga wysyłania określonych impulsów, a ich zakres obrotów ograniczony jest zwykle do ok. 120 stopni – celem modyfikacji jest pominięcie elektroniki, wyjęcie potencjometru i usunięcie mechanicznej blokady tak, by serwo zaczęło pracować jako zwykły silnik z przekładnią. Poniżej zamieszczam krótki wideo-tutorial mojego autorstwa, opisujący jak to zrobić.

2. Przecinamy płytkę wzdłuż linii zaznaczonej na rysunku, a następnie zaczynamy lutować elementy na większej części. Pod nazwami L293D i Atmega8 na rysunku należy rozumieć same podstawki. Lutowanie diody zostawimy na koniec – chcemy, żeby wystawała ponad plątaniną kabli.

Rozmieszczenie elementów na płytce uniwersalnej

Rozmieszczenie elementów na płytce uniwersalnej

Rozmieszczenie elementów na płytce uniwersalnej

Rozmieszczenie elementów na płytce uniwersalnej

Prawidłowo wykonane luty (druga strona płytki drukowanej)

Prawidłowo wykonane luty (druga strona płytki drukowanej)

Czerwone kropki na rysunkach będą oznaczały miejsca połączenia elementów z płytką przy pomocy cyny (czyli luty). Zwróćcie uwagę na to, żeby luty były błyszczące, spoiwo dokładnie rozlało się po padzie, ale nie było go zbyt dużo. Prawidłowe połączenia widać na zdjęciu powyżej –  pierwsze z prawej. Tzw. zimne luty są bardzo częstym powodem niedziałania układu – stąd moja uwaga. Zaczynamy od łączenia elementów i ścieżek przy pomocy tzw. zworek. Tam, gdzie pola lutownicze są w bezpośrednim sąsiedztwie, warto użyć kawałków drutu, np. z uciętych nóżek rezystorów (zaoszczędzimy na przewodach i zmniejszymy plątaninę kabli na płytce).

3. Zasilanie:

Rozmieszczenie połączeń linii zasilania na płytce drukowanej

Rozmieszczenie połączeń linii zasilania na płytce drukowanej

Rozmieszczenie połączeń linii zasilania na płytce drukowanej

Rozmieszczenie połączeń linii zasilania na płytce drukowanej

4. Złącze programatora

Rozmieszczenie połączeń linii programatora na płytce uniwersalnej

Rozmieszczenie połączeń linii programatora na płytce uniwersalnej

Rozmieszczenie połączeń linii programatora na płytce uniwersalnej

Rozmieszczenie połączeń linii programatora na płytce uniwersalnej

Opis pinów złącza typu KANDA - widok z góry na wlutowane złącze

Opis pinów złącza typu KANDA – widok z góry na wlutowane złącze

5. Połączenie Atmegi z L293D (mostkiem H):

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i mostkiem H na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i mostkiem H na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i mostkiem H na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i mostkiem H na płytce uniwersalnej

6. Połączenie mostka H i silników (przerobionych serw):

Połączenie linii zasilania silników

Połączenie linii zasilania silników

Połączenie linii zasilania silników

Połączenie linii zasilania silników

7. Połączenie ATmegi8 i złącza czujników linii:

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i czujnikami linii na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i czujnikami linii na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i czujnikami linii na płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych pomiędzy mikrokontrolerem i czujnikami linii na płytce uniwersalnej

8. Mniejszy kawałek płytki wykorzystamy do budowy modułu z czujnikami:

Rozmieszczenie elementów na mniejszej płytce uniwersalnej - przepis na robota

Rozmieszczenie elementów na mniejszej płytce uniwersalnej

Rozmieszczenie elementów na mniejszej płytce uniwersalnej - przepis na robota

Rozmieszczenie elementów na mniejszej płytce uniwersalnej

Rozmieszczenie połączeń linii sygnałowych na płytce czujników - przepis na robota

Rozmieszczenie połączeń linii sygnałowych na płytce czujników

Rozmieszczenie połączeń linii sygnałowych na płytce czujników - przepis na robota

Rozmieszczenie połączeń linii sygnałowych na płytce czujników

9. Na końcu taśmy 5-żyłowej zakładamy złącze goldpin żeńskie. Wiercimy w płytce dwa otwory o średnicy 4mm, wkładamy w nie dwie śruby i dokręcamy z drugiej strony nakrętką.

Złącze płytki czujników, śruby mocujące płytkę na robocie - przepis na robota

Złącze płytki czujników, śruby mocujące płytkę na robocie

10. Następnym krokiem jest wywiercenie otworów o tej samej średnicy i na tej samej szerokości w płycie głównej robota. Następnie przykładamy podstawę koła podporowego, oznaczamy położenie otworów i wiercimy – tym razem wiertłem o średnicy 3mm. Efekt końcowy powinien wyglądać tak:

Prawidłowo wywiercone otwory montażowe - przepis na robota

Prawidłowo wywiercone otwory montażowe

11. Przystępujemy do połączenia naszych przerobionych serw z „kołami”. Rozgrzewamy pistolet klejowy, kapiemy odrobiną kleju na środek nakrętek, przykładamy serwo orczykiem, centrujemy bardzo dokładnie (można wcześniej zaznaczyć obrysem miejsce gdzie przyłożyć orczyk) i mocno dociskamy czekając aż klej zacznie stygnąć i wiązać.

Sposób montażu kół na serwach - przepis na robota

Sposób montażu kół na serwach

Sposób montażu kół na serwach - przepis na robota

Sposób montażu kół na serwach

12. Następnie nakładamy trochę kleju z tyłu, na spodzie naszego modułu z mikroprocesorem i dociskamy serwa – dbając, by były równo rozmieszczone.

Sposób i miejsce montażu serw na płytce uniwersalnej - przepis na robota

Sposób i miejsce montażu serw na płytce uniwersalnej

13. Gdy klej stygnie, wkładamy dwie śruby (średnica 3mm) w koło podporowe, dokręcamy mocno, nakładamy na to jeszcze luźno po jednej nakrętce, wtykamy w wywiercone wcześniej otwory w module głównym i dokręcamy z góry, żeby koło nie wypadło. Gdy klej zastygnie, kapiemy nową porcją na górę płytki, kładziemy koszyk na baterie (tak, żeby klapka wysuwała się do tyłu, a włącznik był na spodniej jego części) i dociskamy mocno.

Montaż koła podporowego i pojemnika na baterie - widok z boku - przepis na robota

Montaż koła podporowego i pojemnika na baterie – widok z boku

Montaż koła podporowego i pojemnika na baterie - widok z przodu - przepis na robota

Montaż koła podporowego i pojemnika na baterie – widok z przodu

14. W podobny sposób jak przednie koło, zakładamy moduł z czujnikami pod modułem z mikroprocesorem, a następnie podłączamy czujniki do wyprowadzonego na płycie głównej złącza. Zastosowanie śrub pozwala na bardzo dokładną regulację położenia poszczególnych części względem siebie. Kładziemy robota na płaskiej powierzchni i odkręcając oraz dokręcając odpowiednio nakrętki dążymy do tego, żeby płyta z mikroprocesorem była idealnie do niej równoległa; czujniki natomiast powinny znajdować się około 3 mm nad podłożem. Wymaga to trochę cierpliwości i dokładności, ale na pewno się opłaci. Gdy uda nam się ta sztuka, pozostaje dokręcić wszystko do oporu i cieszyć skończonym „ciałem” robota 🙂

Gotowy robot - przepis na robota

Gotowy robot

Gotowy robot - przepis na robota

Gotowy robot

15. To jeszcze nie koniec! Teraz rzecz najważniejsza – programowanie. Póki tego nie zrobimy, nasz robot jest głuchy, niemy i sparaliżowany. W programie „za rączkę” przeprowadzimy go przez wszystkie możliwe zadania i problemy, jakie w przyszłości napotka.
Nauka programowania jest tematem na oddzielny wątek i nie będę tu się na ten temat rozwodził. Polecam artykuł Kurs BASCOM-AVR, który pomoże opanować podstawy w dość krótkim czasie. Gwarantuję, że nie jest to nic trudnego i że można się z tym uporać w parę godzin (jeśli wcześniej mieliśmy chociaż przelotny kontakt z programowaniem w jakimkolwiek języku). Dodałem przykładowy program w postaci pliku źródłowego (język BASCOM) oraz dwa skompilowane pliki (BIN oraz HEX – do wyboru) – wystarczy więc wgrać to do robota za pomocą programatora i cieszyć sztuczną „inteligencją” w naszym własnym domu. Polecam rozłożyć na stole/podłodze duże, białe arkusze papieru i czarną taśmą izolacyjną wyznaczyć robotowi trasę do pokonania. Im lepszy program, tym trudniejszą i bardziej skomplikowaną trasę będzie w stanie pokonać. Po dopracowaniu robota (napisanie zaawansowanego programu, wymiana serw na bardzo szybkie silniki z przekładniami, stabilizowane napięcie, dławik między AREF/AVCC a VCC, kondensatory filtrujące) nic nie stoi na przeszkodzie, by wyruszyć z nim na zawody z całkiem realną szansą na podium.
Życzę wszystkim powodzenia i dobrej zabawy 🙂

Plik źródłowy (*.bas) i dwa pliki skompilowane, gotowe do wgrania do pamięci mikrokontrolera (do wyboru *.bin i *.hex):

Pobierz “Przepis na robota - programowalny Linefollower” Przepis-na-robota-programowalny-Linefollower.zip – Pobrano 145 razy – 5 KB

Ten plik (i wiele innych ciekawych rzeczy) jest też dostępny na moim koncie Chomikuj.pl: