Skocz do zawartości

RetroBot


kamdz

Pomocna odpowiedź

Witam wszystkich.

Po paru latach od mojej rejestracji na tym forum, mam w końcu przyjemność przedstawić Wam mojego pierwszego poważnego robota - linefollower'a. Na początek trochę o nim: Projekt został w całości sfinansowany przez moją szkołę, ma służyć jako pokaz na dni otwarte, ale planujemy także wybrać się z nim na parę konkursów. 2 płytki, główna i ta z czujnikami zostały zaprojektowane i wykonane przeze mnie. Ścieżki rysowałem 2 pisakami PCB: Edding 1mm i 0,3mm. Z racji, iż jest to moja pierwsza tego typu konstrukcja, to odpuściłem sobie projektowanie całości układu - nie czułem się na siłach żeby zrobić taką skomplikowaną jak dla mnie płytkę - zdecydowałem, że skorzystam ze wszelakich możliwych gotowych modułów, a tylna płytka będzie tylko łączyła poszczególne moduły. Zdaję sobie sprawę, że zyskałem przez to dużo wagi, a także straciłem aerodynamikę, ale tak jak mówiłem: nie liczę na pierwsze miejsca, ta konstrukcja miała mnie przede wszystkim nauczyć trochę o linefollower'ach, pokazać mi pułapki, które mogą gdzieś być. I spełniła tą funkcję. Ze względu na swój przepiękny wygląd płytek domowej roboty, linefollowera nazwałem RetroBot 😉

Budowa:

Robot został złożony z następujących części:

  • 2 * Silnik Pololu HP 10:1
  • 2 * Pololu TB9051FTG - jednokanałowy sterownik silników 28V/2,6A
  • 2 * Mocowania do micro silników Pololu 
  • 2 * Koło Solarbotics RW2 - mocowanie zewnętrzne
  • Moduł STM32F103C8T6 ARM Cortex-M3
  • Moduł zasilający 3,3V / 5V z gniazdem DC
  • Moduł Bluetooth 2.1 XM-15B 3,3V/5V
  • 9 * Czujnik transoptor odbiciowy KTIR0711S

Do budowy użyłem też laminatu, markerów PCB, lakieru izolacyjnego PVB 16, wytrawiacza, listewki węglowej 1 x 5mm, Taśmy i 2 złącz IDC 14, goldpinów, wtyków JST, rezystorów i reszty drobnicy takiej jak np. śrubki 2mm. Rezystory do czujników KTIR zostały dobrane eksperymentalnie, na wartości 560ohm do diody i 10K do kolektora. Ślizgacze natomiast zrobiłem z 2 spiłowanych kulek BB.

Masa robota z pakietem wynosi 152g, a bez pakietu 140g.

Efekt końcowy:

Program, który miałby podążać za linią nie jest jeszcze gotowy, ale robota przetestowałem na programie, dzięki któremu działał jako auto RC. Najlepsze wrażenia były, gdy koła już oblepiły się kurzem - robot ślizgał się ze 2 sekundy zanim ruszył, a driftowanie nim po szkolnym korytarzu to bajka 😉 Już nie wspomnę o zainteresowaniu wszystkich, którzy go zauważyli -  to chyba niecodzienny widok w szkole 😉 Dobry efekt tworzył się również wtedy, kiedy jedno koło kręciło się do przodu a drugie do tyłu, robot wyglądał wówczas jak jakiś wirujący krąg światełek 😄 Nie mam niestety filmu z tych wyczynów, ponieważ mój telefon służył do sterowania robotem przez BT, jednak postaram się je nagrać w najbliższym czasie. Myślałem też, żeby zrobić drugą wersję przedniej płytki: taką, na której byłby tylko jeden ballcaster i krótsza listewka węglowa, wówczas mógłbym szaleć robotem bez obawy, że zepsuję płytkę z czujnikami 🙂 

Podziękowania:

Chciałem również serdecznie podziękować kolegom z tego forum, którzy pomogli mi w budowie tego robota, a więc: 

@marek1707, za pomoc w temacie https://forbot.pl/forum/topic/12264-podlaczenie-czujnikow-ktir0711s-do-line-followera/, a także starszym: https://forbot.pl/forum/topic/11090-jakie-czujniki-do-linefollowera-pomoc-w-wyborze/?page=1

@Treker, za pomoc w temacie https://forbot.pl/forum/topic/12239-kola-do-line-followera/, a także: https://forbot.pl/forum/topic/12264-podlaczenie-czujnikow-ktir0711s-do-line-followera/

@Nawyk, za pomoc w temacie https://forbot.pl/forum/topic/12264-podlaczenie-czujnikow-ktir0711s-do-line-followera/

 

Galeria: 

Czyli to, na co pewnie każdy czekał 😉 Pierwsze kilka zdjęć to te z budowy przedniej płytki, potem już niestety nie pamiętałem i zrobiłem zdjęcia tylko ostatecznego wyniku 🙂

PS: Koniecznie dajcie znać w komentarzach, co myślicie o tej konstrukcji i co można by poprawić w kolejnej wersji 🙂

20181006_200015.jpg 20181006_200049.jpg 20181007_143547.jpg

20181007_190039.jpg 20181007_190050.jpg 20181102_181047.jpg

20181102_181058.jpg 20181110_100946.jpg 20181110_100954.jpg

20181110_101006.jpg 20181110_101029.jpg 20181110_101042.jpg

20181110_101052.jpg 20181110_101207.jpg 20181110_101216.jpg

20181110_101224.jpg 20181110_101230.jpg 20181110_101256.jpg

  • Lubię! 2
Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@kamdz, gratuluję pierwszej tego typu konstrukcji! Jak na ręczne malowanie płytki mazakiem to wyszło bardzo ładnie 🙂 Czekam na filmiki z pierwszej jazdy po trasie.

Jak będziesz programował podążanie za linią to wtedy nauczysz się najwięcej i sam zaczniesz zauważać co warto poprawić w całej konstrukcji. Jeśli chodzi o brak przyczepności przy brudnych kołach to jest to normą. Musisz sobie przygotować szmatkę i izopropanol. Podczas zawodów koła czyści się praktycznie przed każdym przejazdem. Ewentualnie zainteresuj się jeszcze rolkami do czyszczenia ubrań, też sprawdzają się bardzo dobrze przy czyszczeniu kół w robotach.

Link do komentarza
Share on other sites

7 godzin temu, Treker napisał:

Czekam na filmiki z pierwszej jazdy po trasie.

No właśnie z tym może być problem bo ciągle nie mam trasy i myślę z czego ją można by zrobić 😉

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Jak już dojdzie co do czego i będziesz gotowy do prób na torze, nie musisz mieć przecież całej trasy od razu. Wystarczy, że będziesz ad hoc budował akurat testowane fragmenty. Możesz po prostu na kawałku w miarę płaskiej podłogi (panele? PCV? wykładzina plastikowa? szlifowany beton na korytarzu?) wykleić to co akurat chcesz sprawdzać. Możesz np. zacząć od prostej lub lekko pofalowanej linii, wystarczy nawet 1.5-2m. Taśma izolacyjna jest tania - gdy już to będzie działać i będziesz adowolony z zachowania/prędkości pojazdu na tak łatwych fragmentach, zrywasz tę trasę i w tym samym miejscu wyklejasz 1m prostą startową i np. dwa łagodne zakręty: lewy i prawy. Potem coś ostrzejszego, potem kąt prosty, może jakieś skrzyżowanie (kawałek taśmy w poprzek) itd.. Cały skomplikowany tor może być trudny w realizacji, bo linie nie mogą być zbyt blisko siebie więc może to zająć sporo miejsca. Popatrz na zdjęcia z zawodów: to nigdy nie wygląda tak jak na brystolu pietraska. Może taki zwijany tor jest fajny do jeżdżącej mydelniczki, ale prawdziwe LFy są szybkie i wcale niemałe (kartka A4). Przecież nie robisz zabawki z LEGO więc i trasa nie może wyglądać jak kłębek sznurka. Moim zdaniem trzeba zachować min 30cm odstępu od sąsiedniej linii, bo roboty czasem wyjedżdżają nosami poza trasę a niepowinny łapać obcej, równoległej taśmy. To chyba nawet jest w przepisach niektórych zawodów.

  • Lubię! 2
Link do komentarza
Share on other sites

Dokładnie tak, ten tor ze zdjęcia @pietrasek to już wersja "hard". Można trenować, ale na zawodach takiego czegoś nie znajdziesz. Możesz zaczynać od testów na podłodze o jednolitym kolorze. Pamiętaj tylko, aby szybko zrywać wtedy taśmę (im dłużej jest przyklejona do podłogi tym ciężej pozbyć się śladów kleju). Papier też jest dobry, ale raczej szybko staraj się zdobyć fragment HDF/MDF, na którym będziesz mógł trenować. Każde podłoże ma inną przyczepność. Robot, który będzie dobrze jechał po panelach na zawodach z inną trasą może jeździć tragicznie. Najlepiej załatw sobie arkusz białego HDF (to co jest z tyłu mebli). Droższe, ale łatwiejsze w zdobyciu rozwiązanie to MDF do kupienia np. w OBI jako gotowe, oklejone już płyty do budowy mebli. Sam zaczynałem od dwóch takich kawałków (stary filmik):

  • Lubię! 1
Link do komentarza
Share on other sites

Dzięki za rady. Jak będę miał trochę więcej czasu (szkoła 😉 )to na pewno rozpocznę testy i dam znać jak się sprawuje mój robot 🙂. Osobna sprawa, że zanim zabiorę się za pisanie jakiegoś dobrego algorytmu jazdy, to chyba muszę w końcu przeczytać i przerobić jakąś mądrą książkę o C 😉

Link do komentarza
Share on other sites

Niekoniecznie, Arduino jest bardzo proste, a do napisania pierwszych programów do LineFollowera nie potrzeba żadnych zaawansowanych zagadnień. Książka o C na pewno się przyda, ale nie wiem czy w tym momencie jest najważniejsza 😉

Edycja:

Dobra... teraz zauważyłem, że to przecież nie małe Arduino tylko STM32F103C8T6 - mój błąd 😉

Link do komentarza
Share on other sites

4 minuty temu, Treker napisał:

Arduino jest bardzo proste

Tylko właśnie ja chciałem coś ambitniejszego niż arduino 😉 Czyli programuję to w System Workbench for STM32 wg. kursu HAL F1 🙂

6 minut temu, Treker napisał:

do napisania pierwszych programów do LineFollowera

No do takich pierwszych testowych itp to pewnie nie 😉 ale na moim poziomie znajomości C to PD nie zaprogramuję 😕

Link do komentarza
Share on other sites

Właśnie edytowałem moja wiadomość, bo zauważyłem, że to nie jest Arduino 😉 W takim razie spokojnie dasz radę nauczyć się wszystkiego z kursu F1.

3 minuty temu, kamdz napisał:

na moim poziomie znajomości C to PD nie zaprogramuję

Książka o C wcale nie nauczy cie implementacji PD. Regulatory PID to właściwie tylko działania matematyczne typu dodaj/odejmij/pomnóż/podziel - nic więcej tam nie potrzeba. Może warto jeszcze umieć tworzyć własne funkcje, ale to tyle 😉

Link do komentarza
Share on other sites

@Trekertu się nie zgodzę. Aby zaimplementować jakiś algorytm w jakimś języku należy znać ów język - bez tego będziemy skazani na domysły, bezsensowne próby i niekończące się pytania na forum typu "dlaczego nie działa funkcja if".

Do C polecam na początek przeczytanie sobie do poduszki klasyki - czyli "Język C" K&R (czyli autorów tego języka). Nie mówię tu o uczeniu się z tego już historycznego podręcznika - tylko właśnie o przeczytaniu zamiast najnowszego romansu Nory Roberts... 

Link do komentarza
Share on other sites

(edytowany)
17 minut temu, ethanak napisał:

Nie mówię tu o uczeniu się z tego już historycznego podręcznika

Nie rozumiem... Mam go czytać ale się z niego nie uczyć? To z czego się mam uczyć? Możecie mi polecić jakąś dobrą książkę do nauki C?

17 minut temu, ethanak napisał:

bez tego będziemy skazani na domysły, bezsensowne próby i niekończące się pytania na forum

Oj coś o tym wiem. Próbowałem już emulacji eeprom w stm32 (zresztą właśnie do tego LF'a - żeby móc zmieniać i zapisywać różne stałe bez wgrywania nowego programu) i nawet założenie tematu na elektrodzie nie pomogło... Dotarło do mnie jak bardzo jeszcze nie rozumiem tego języka i tego co się tam dzieje. Apropos jakby ktoś miał działającą implementację emulacji eeprom na F1 i zechciałby się nią podzielić, to byłbym bardzo wdzięczny.

Edytowano przez kamdz
Link do komentarza
Share on other sites

Dlaczego masz przeczytać... po to, aby zrozumieć ten język. Dlaczego nie uczyć się... bo to książka sprzed 50 lat, od tego czasu język nieco wyewoluował, niektóre konstrukcje są już przestarzałe, powstało wiele nowych, w związku z tym pisanie w standardzie K&R chociaż dopuszczalne - nie ma dziś większego sensu.

Zresztą - jak nie chcesz to nie musisz. Ale pamiętaj: jeśli chcesz zrobić dobre pierogi, powinieneś przeczytać Ćwierciakiewiczównę. Nieważne, że nie kupisz takich samych produktów, jakie były dostępne 150 lat temu... ważne, że się dowiesz. jak się robi te pierogi 🙂

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.