Skocz do zawartości

Robot kołowy lub gąsienicowy - zestaw dla początkującego


pudelosha

Pomocna odpowiedź

Witam wszystkich,

Jestem nowy na forum i nie ukrywam ze jestem zielony z tematu robotyki. Poza dwoma robotami sprzątającymi moje mieszkanie niewiele miałem stycznosci z tym tematem 🙂

Ale właśnie te roboty pracujące w pocie czoła oraz po cześci moje zainteresowania sprawiły ze postanowiłem skosztować trochę tej materii.

Jestem obecnie na etapie czytania poradników o podstawach elektroniki oraz Arduino ale mimo to chciałbym abyście doradzili mi w paru kwestiach. Temat elektorniki jakoś ogarne, mimo że w liceum nie byłem orłem z fizyki 🙂 Z programowaniem nie bedzie problemów bo to moj codzienny chleb w pracy.

W czym konkretnie potrzebuje pomocy? Chciałbym zbudować i oprogramować robota kołowego lub gąsienicowego. Najbardziej zależy mi na samym programowaniu niż bawieniu sie z elektroniką wiec skłaniałbym sie bardziej ku nabyciu zestawu z którego można zbudować robota. Chciałbym aby posiadał sensor odległosci aby moć pobawić sie z proramowaniem jego sposobu poruszania sie. Nie wiem na ile zaawansowane są takie zestawy ale byłoby dobrze aby robot komunikował sie jakoś ze światem (piszczał, migał, zapisywał dane w logu lub wysyłał jakieś informacje w świat).

Poki co ciekawie wygląda ten stwór ale szukam także innych opcji.

https://www.parallax.com/product/32500

W przypadku powyższego robota troche boli cena oraz dostepnośc tlko w USA.

Chciałbym także aby platforma dawała pewne możliwości rozwojowe tj dodanie nowych modułów czy sensorów.

Pozdrawiam i z góry dziekuje za porady 🙂

Link do komentarza
Share on other sites

Witamy 🙂

Śmigiełka nie są u nas zbyt popularne. Przede wszystkim przejrzyj oferty sklepów krajowych, np. tych:

http://botland.com.pl/345-roboty

https://kamami.pl/13355-roboty

http://abc-rc.pl/Zestawy-Robotow

http://www.tme.eu/pl/katalog/#id_category=113330

http://www.trobot.pl/kategoria-produktu/podwozia-robot-w/

Koledzy na pewno coś dorzucą - jest tego trochę. Zbudowanie jednak czegoś samemu daje na pewno dużo większą frajdę. Nie wiem czy jest tańsze, ale gdy trochę się rozejrzysz, popytasz i obmyślisz jakiś plan to jest szansa, że nie wyrzucisz pieniędzy i jednocześnie powstanie coś unikalnego. Na tym Forum jest wiele worklogów ludzi, którzy zaczynali praktycznie od zera a możliwości rozwiązań takiej własnej platformy jeżdżącej jest teraz praktycznie nieskończenie wiele.

Link do komentarza
Share on other sites

Dziekuje za odpowiedź 🙂

Czy piszac "zbudowac coś samemu" miałeś na myśli zbudowanie robota z modółów dostepnych w sklepach czy dłubiąc samemo i tworząc wszystko praktycznie od zera? Troche sie boje budować robota od podstaw bo nie mam w tym praktycznie żadnego doświadczenia. W składaniu gotowej elektroniki pomógłby mi ojciec który jest elektrykiem z zawodu 🙂

Znalazłem natomiast coś takiego:

http://botland.com.pl/zestawy-startowe-dla-arduino/3539-podstawy-arduino-zestaw-elementow-z-arduino-uno-bezplatny-kurs-on-line.html

Może to być ciekawe bo w oparciu o ćwiczenia online rozwinąłbym swoja wiedze, sprawdził czy mnie to wciągnie a potem myślał nad stworzeniem platformy 🙂

Czy takie podejscie ma sens?

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

Jeszcze mam jedno pytanie. W tym zestawie dolaczony jest modul Arduino Uno.

Po tym co przeczytalem wnioskuje ze jest to dosc popularny modul. Gdybym jednak chcial zbudowac na jego podstawie cos bardziej zaawansowanego to jakie sa jego mozliwosci rozwojowe? Chodzi mi tutaj np o skonstruowanie robota, ktory komunikuje sie przez WiFi albo mozna nim sterowac za pomoca komorki (totaj chyba bardziej podchodzi Blutooth). Na poczatek chcialbym sie pobawic z diodami, czujnikiem odleglosi oraz wyswietlaczem, pytanie tylko jak duzo jest w stanie uciagnac Arduino Uno?

Link do komentarza
Share on other sites

Małe kontrolery pokroju AVR, używane w podstawowych wersjach Arduino mają swoje ograniczenia związane głównie z tym, że są.. małe. Poruszasz się więc w kilkudziesięciu kbajtach pamięci programu, kilku kbajtach RAMu a dogadujesz z otoczeniem za pomocą prostych interfejsów szeregowych typu UART, SPI czy (czasem) USB FS. To od razu definiuje zakres zastosowań. Taki procesor poradzi sobie pod warunkiem, że większość szybkich i/lub pamięciochłonnych zadań zostanie wyniesiona na zewnątrz.

Dołączając gotowy moduł Bluetooth zwalasz całość operacji związanych z obsługą protokołów radiowych, kodowaniem, kontrolą poprawności, przydziałem kanałów, buforowaniem itd na procesor modułu. Dostajesz tylko sygnały UART i czyste dane, które wepchnąłeś do podobnego modułu z drugiej strony łącza.

Jeżeli weźmiesz shield ethernetowy to tak naprawdę dostajesz dużo potężniejszy procesor który załatwi całość ruchu po sieci LAN, obsłuży UDP, TCP/IP a czasem nawet coś rzadszego typu SNMP czy DHCP. I znów dostaniesz jedynie 2 linie UART lub kilka SPI, po których będziesz z przyjemnie niewielką prędkością przesyłał dane w obie strony nie myśląc jak wiele kodu i RAMu jest potrzebne by utrzymać połączenie z innym komputerem w sieci.

To samo z czujnikami. Dopóki robią wszystko same, możesz ich podłączać bez liku. Wszelkie akcelerometry, termometry, barometry itp rzeczy możesz używać bezkarnie prawie w nieograniczonych ilościach. Jeśli natomiast czujnik będzie produkował duże ilości danych: mikrofon to już ok. 8k próbek/s, prosta kamera idzie w miliony bajtów/s - to już z pewnością AVR zapchasz. Możesz co prawda zgromadzić troszkę danych w RAMie a potem je powolutku przeliczać, ale nie będzie to działanie w czasie rzeczywistym a ograniczone możliwości arytmetyczne rozciągną obliczenia do sekund. To samo w druga stronę: jeśli chcesz odgrywać na Arduino dźwięk z sampli - możesz to zrobić, ale zużyjesz prawie całą moc obliczeniową na kotłowanie danych i niewiele zostanie na inne rzeczy. Tak więc o ile odtwarzanie z prostego pliku wav jeszcze wchodzi w grę, o tyle przy plikach mp3 nie masz żadnych szans. Musisz wtedy użyć zewnętrznego scalaka-dekodera.

Możliwości obliczeniowe i wielkość (małość?) RAMu będą też ograniczeniem gdy będziesz chciał zrobić zaawansowane sterowania z interakcją ze środowiskiem. Np. prosta mysz poruszająca się po określonym ścisłymi regułami labiryncie jest do zrobienia, ale już autonomiczny robot wykrywający kształt otoczenia na podstawie odczytów np. z dookólnego dalmierza laserowego (ilość danych + algorytmy mapowania) jest już daleko poza zasięgiem małego Arduino. Na pewno możesz sterować (czytaj: generować sygnały sterowania położeniem) dla wielu serwomechanizmów, ale już obróbka sygnałów z czujników orientacji 3D i wyznaczanie położeń kolejnych serw gdy czas nagli (a robot chodzi samodzielnie i właśnie się przewraca) też raczej będzie trudne. W tym kontekście np. robot kroczący, który jest stabilny statycznie a algorytm łażenia ma wbudowany na stałe w kod można na AVR zrobić. To samo z dwukołowym dziwadłem samodzielnie utrzymującym równowagę i zdalnie sterowanym przez jakieś łącze radiowe typu RC, BT czy WiFi.

Sterowanie prędkością i kierunkiem nawet kilku silników DC nie będzie problemem, bo sygnały PWM potrzebne do wysterowania mostków generowane są sprzętowo. W przypadku silników krokowych komutacje musisz już robić programowo więc dwa-cztery silniki i ograniczenie do kilkuset kroków/s jest już bolesne. Silniki BLDC to jeszcze większe potrzeby i jeszcze wyższa szkoła jazdy - dlatego prawie nikt nie podłącza ich wprost tylko przez dodatkowe regulatory/falowniki 3-fazowe.

Wyświetlacze są obecnie coraz tańsze i coraz większe. O ile zwykły, znakowy LCD (np. 2 linie po 16 znaków) obsłużysz nie poświęcając na to nawet 1% mocy procesora, o tyle graficzne mogą pochłonąć ją całą. Na malucha 84x42 czy nawet 128x64 można napisać całkiem dynamiczną grę, ale już zamalowanie całego 2.4 calowego TFT (320x200) prostą bitmapą z karty SD może zająć na AVR ponad sekundę a wtedy nic dynamicznego zrobić się nie da. Rysowanie wykresów przebiegu temperatury czy wilgotności albo kilkanaście liczb stanu jakiegoś procesu - w to bym celował. Ostatnio pojawiły się tanie(?) i całkiem duże wyświetlacze mające wbudowany inteligentną kartę graficzną (EVE od Maxima) w siebie. To umożliwia rysowanie, przesuwanie, skalowanie i przenikanie obiektów ekranowych nawet przez proste Arduino - wciąż pod warunkiem, że nie chcesz tam wyświetlić filmu, bo ograniczeniem jest ilość danych/s.

Podsumowując: obciążenie procesora jest sumą wszystkiego co ma zrobić. Dopóki wszystkie elementy systemu będa jakoś zrównoważone, będzie dobrze. Żeby nabrać wyczucia najlepiej poprzeglądaj projekty dostępne w sieci. Jeśli wymyślisz coś, czego jeszcze nikt na Arduino nie zrobił, to na 95% tego się zrobić nie da 🙂

Link do komentarza
Share on other sites

Dziekuje za wyczerpująca odpowiedź 🙂

Czyli wnioskuje ze na poczatek ta platforma w pelni mi wystarczy. Oglądałem wczoraj na YouTube poradniki jak bawić sie z czujnikiem odleglosci oraz jak łączyć to z brzeczykiem oraz diodami. To na poczatek powinno mi wystarczyć w celu okreslenia czy w ogole nadaje sie do tego sportu 🙂

Potem myśle nad jakąs platforma, najprawdopodobniej gąsienicową.

Widziałem też na tym forum fajny projekt w którym facet steruje robotem z komórki.

Czy takie coś to już poziom zaawansowany czy średnio ogarniety człowiek ma szanse to ogarnąć?

Znalazlem tez projekt w którym robot miał port USB a do niego wsadzony nano adapter WiFi.

Rozumiem ze w przypadku takiego rożwiazania Arduino One tez znajdzie zastosowanie jako ze transferem danych zajmie sie sam adapter?

Czy poza zestawem z linka kilka postów wyżej polecacie coś jeszcze na start?

Link do komentarza
Share on other sites

Z USB nie będzie tak prosto. To nie jest interfejs symetryczny: musi tam być ktoś, kto zarządza transferami danych (tzw. host) i ktoś kto tylko potulnie słucha (tzw. device). Hostem jest oczywiście duży komputer (np. PC) ale może to być też coś mniejszego np. linuxowa Malina Pi. Jest tak dlatego, że bycie hostem USB jest wymagające. Trzeba mieć dużo pamięci i być w miarę szybkim. Wszystko co wtykasz do gniazdek hosta jest typem device. Tutaj jest znacznie łatwiej i taniej: wszystkie pamięci Flash-drive, kamerki internetowe, moduły WiFi, drukarki itd są właśnie takie. O ile pamiętam żaden AVR nie umie być hostem - po prostu brakuje mu pamięci i mocy, a do urządzenia typu device nie podłączysz drugiego takiego samego. Tak więc skoro Arduino jest na USB typem device to nie dogada się z niczym, co możesz wepchnąć w gniazdo USB w komputerze. Na szczęście są już dostępne moduły WiFi które dogadują się przez UART i takiego będziesz musiał szukać gdybyś chciał ten interfejs wykorzystać.

Istnieją scalaki które są gotowymi hostami USB, ale nie są ani tanie ani popularne. Da się je podłączyć do procesora AVR, ale to już chyba prościej wymienić Arduino na coś większego, co jest hostem USB od urodzenia.

Link do komentarza
Share on other sites

Witam,

Z góru przepraszam za post pod postem.

Dziś dotarł do mnie zamówiony zestaw i po paru godzinach zabawy i czytania poradnika doszedłem do migającej diody 🙂

Jaki jest najlepszy dział na tym forum aby założyć wątek o swoim projekcie? Forum jest troche duże i nie chciałbym wylądować pośród tematow dla zaawansowanych 🙂

Link do komentarza
Share on other sites

Witam po dluzszej przerwie 🙂

Mialem troche zastoju z zabawa z robotem ale ostatnio wrocilem do tematu.

Przerobilem intreresujace mnie kursy oraz poogladalem troche materiaow na YouTube, ktore uswiadomily mnie w przekonaniu ze bardziej ciagnie mnie programowanie niz zabawa z plytka i kablami 🙂

Kolejny krok to zwodowanie robota. Najprawdopodobniej wybor padnie na to cudo:

http://botland.com.pl/podwozia-robotow/3384-devastator-gasienicowe-podwozie-robota-dfrobot.html

Rozumiem ze do kontrolowania silnikow potrzebuje jeszcze sterownika (przyjmuje taki wariant jako ze nie czuje sie na silach aby zbudowac taki modul samodzielnie).

Czy taki sterownik bedzie wystarczajacy zeby napedzac wspomniana wczesniej platforme?

http://botland.com.pl/sterowniki-silnikow-moduly/3164-l298-dwukanalowy-sterownik-silnikow-modul.html

Czy poza okablowanien powinienem pamietac jeszcze o jakims elemencie, ktorego nie znajde w zestawie startowym dla Arduino?

Link do komentarza
Share on other sites

Wiesz dlaczego ten sterownik ma radiator i ogólnie jest duży? Nie, wcale nie dlatego że ma potężne możliwości. Dlatego że jest stary i kiepski. Scalak L298 to prehistoria. Dziś sam chip jest względnie tani, ale moim zdaniem to nie rekompensuje jego podstawowej wady: ogromnych strat. Przy zasilaniu sieciowym jeszcze można przełknąć notoryczne grzanie się radiatora, ale gdy na pokładzie masz baterię lub akumulator to świadomość puszczania z dymem połowy mocy zasilania jest dość przygnębiająca, nie sądzisz? Wybierz coś, co zbudowane jest na nowoczesnym układzie z kluczami MOSFET. Popatrz, nawet leżący na półce obok ten moduł:

http://botland.com.pl/sterowniki-silnikow-dc/851-drv8835-dwukanalowy-sterownik-silnikow-modul.html

ma praktycznie ten sam prąd wyjściowy a scalak jest objętościowo pewnie ze sto razy mniejszy tylko dlatego, że się nie grzeje. Nie potrzebuje więc wielkiej blachy a to oznacza, że nie marnuje prądu na grzanie okolicy. Dodatkowa rezystancja szeregowa mostka jaką "zobaczą" siniki to tylko 0.3Ω na kanał, więc przy 0.5A prądu stracisz zaledwie 0.15V napięcia akumulatora, co przekłada się na niecałe 0.1W strat na ciepło w scalaku.

Na L298 tracisz zawsze >2V - sam sobie porównaj.

Jeżeli miałbym wywalić kilkaset zł na podwozie, nie wahałbym się i kupił dużo lepszy driver silników niż L298 z wykopalisk. Być może nawet taki który posłużyłby do wielu innych, nawet mocniejszych projektów:

http://botland.com.pl/arduino-shield-kontrolery-silnikow-i-serw/1417-mc33926-podwojny-sterownik-silnikow-dla-arduino-modul.html

Nie wiem co dokładnie planujesz zbudować (tzn. co ten robot ma robić), ale na pewno potrzebujesz zasilania i jego dobrego podłączenia (akumulatory+ładowarka+odpowiednie złącze w samym robocie), jakichś czujników, być może odbiornika podczerwieni, diodek LED do sygnalizacji i trochę kabli. Wyświetlacz na pokładzie to też dobry pomysł - dużo więcej widać co się dzieje w programie.

Link do komentarza
Share on other sites

Ogolnie to jestem dalej laikiem w dziedzinie elektroniki. 🙂 Jezeli chodzi o programowanie to wszystko poki co jest dla mnie zrozumiale.

Jakis czas temu kupilem taki zestaw startowy i wykonalem czesc cwiczen z poradnika na Forbocie.

http://botland.com.pl/zestawy-startowe-dla-arduino/3539-podstawy-arduino-zestaw-elementow-z-arduino-uno-bezplatny-kurs-on-line.html

Troche mnie jednak przeraza kombinowanie z ukladami na plytce stykowej tak jak w poradniku stad tez bedac elektronicznym mongolem optowalbym bardziej za opcja plug and play 🙂

Czy modul DRV8835 postawiony na plytce stykowej i spiety jak na schemacie ponizej bedzie mial prakycznie taka sama funkcjonalnosc co prehistoryczny L298?

http://botland.com.pl/img/p/851-6079.jpg

Co do samego robota to na chwile obecna chcialbym stworzyc pojazd gasienicowy ktory jezdzi i omija przeszkody. Wczoraj bawilem sie z czujnikiem odleglosci i to akurat jest dla mnie w 100% zrozumiale. Teraz pozostaje kwestia wyboru platformy oraz sterownika napedu.

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.