Skocz do zawartości

Sterowanie robotem podwodnym Arduino


jakitaki123

Pomocna odpowiedź

Witam,
zabieram się za budowę robota podwodnego wykorzystując Arduino, robot niewielki, 3 silniki DC i   mam kilka pytań co do kwestii komunikacji i sterowania:
1. Czy za pomocą arduino UNO oraz modułu sterowania silnikami 4-kanałowym uda mi się sterować silnikami DC ? I jak zasilić taki shield wraz z UNO czy wystarczy zasilanie z odpowiedniego akumulatora Li-lon ?
2. Jak rozwiązać kwestie sterowania robotem? Rozwiązanie bezprzewodowe wydaje mi się bezsensowne pod wodą przez zakłócenia fal ( może się mylę). Natomiast nie wiem do końca jak rozwiązać sterowanie przewodowe, czy za pomocą pada np. od PS2 i skrętki?
3. Czy jest kamera arduino która spełni swoje zadanie i jak przesłać dane do PC lub urządzenia? Czytałem, że wystarczy kamerka internetowa na USB przerobiona na RJ45 i podpięta do PC, ale do końca nie jestem pewny czy na długim kablu takie rozwiązanie się sprawdzi. Czy LAN będzie najlepszym rozwiązaniem czy też może inny pomysł? Jeśli ethernet to jaki moduł wystarczy ?

Dzięki za wszystkie rady :)

Link do komentarza
Share on other sites

Przed chwilą, Treker napisał:

@jakitaki123 witam na forum 🙂

Podaj trochę więcej informacji o swojej konstrukcji. O jakich rozmiarach mówimy? Jaki zasięg chcesz uzyskać? Od tego może sporo zależeć 🙂

Konstrukcja z możliwością zanurzenia do 5- 10 metrów, rozmiarowo wielkości odkurzacza domowego, wykonana z rurek PCV i pleksi. Waga do 10 kg, aby jak najbardziej zrównoważyć siły wyporu wody. Pływalność zakładam lekko ujemna, montaż silnika pionu z dołu konstrukcji ( możliwość sterowania kierunkiem obrotu - góra/dół).
Silniki 3xDC RC 7.4 V 16800 obr/min (znalazłem na Ali, podobno się nadają do takich niewielkich konstrukcji).

Link do komentarza
Share on other sites

37 minut temu, jakitaki123 napisał:

nie wiem do końca jak rozwiązać sterowanie przewodowe, czy za pomocą pada np. od PS2 i skrętki?

Jeśli odpowiesz na pytanie o zasięg to być może coś pokombinujemy...

39 minut temu, jakitaki123 napisał:

nie jestem pewny czy na długim kablu takie rozwiązanie się sprawdzi

Zdefiniuj pojęcie "długi kabel" (najlepiej w metrach).

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

7 minut temu, ethanak napisał:

Jeśli odpowiesz na pytanie o zasięg to być może coś pokombinujemy...

Zdefiniuj pojęcie "długi kabel" (najlepiej w metrach).

Zasięg pod wodę do 10 metrów, małe zbiorniki słodkowodne.

Kabel myślę z 15-20 metrów biorąc pod uwagę że musi pływać po powierzchni wody. 

Dodam że nie zakładam dużych głębokości zanurzania, także te 10 metrów to takie maksimum. Robot ma działać i spełniać swoje funkcje pod woda tzn pływać byc sterowalnym,przekazywać obraz 🙂

Link do komentarza
Share on other sites

Komunikacja to może być spory problem, ale jakoś budowane są urządzenia zdalnie sterowane - ryby, małe batyskafy itp.

Są urządzenia komunikacyjne wykorzystujące membrany piezo do generowania ultradźwięków. Np to wygląda dość profesjonalnie, komunikacja na kilometry, ale myślę że z prostych elementów da się zbudować podobne. Nawet nie wiem czy z czujników samochodowych nie zbudowałbyś nadajnika.

Gdybyś chciał ciągnąć za batyskafem kabel to może nie być zbyt dobry pomysł. Kabel na pewno będzie stawiał opór. A gdyby mieć boję która ma w sobie transmiter to już zyskujesz zasięg i swobodę sterowania robotem.

Tu jest przykładowe urządzono z remote control w opisie. Napisano też, że jest proste w budowie, składa się m.in. z układu 555. Także jest realna szansa na budowę własnego, bez wydawania fortuny na niszowy sprzęt.

Edytowano przez Gieneq
Link do komentarza
Share on other sites

@Gieneq - tyle że tam masz kamerę i podgląd na żywo, czyli bez kabla się raczej nie da. Jeśli to faktycznie ma być zasięg do 20 metrów to jakiś lepszy ethernet powinien wystarczyć (nie wiem jak to w wodzie wytrzyma, ale raczej nie powinno być problemów).

Ja bym w środku dał raczej jakiegoś małego RPi  (np. Zero + moduł ethernet), zajmie się przy okazji transmisją obrazu, a dużo droższy nie jest. Jako manipulator pad od PS2 (albo jakaś samodzielnie wykonana konstrukcja pozwalająca na większą precyzję) + mały arduino + moduł ethernet (taki sam jak w RPi).

(po chwili namysłu)

Zaraz - przecież i tak na czymś ten obraz z kamery będzie się oglądać - czyli pewnie jakiś laptop, wtedy po stronie manipulatora wystarczy pad na USB podpięty do laptopa.

Edytowano przez ethanak
Link do komentarza
Share on other sites

Do rpi - arduino raczej się do tego nie nadaje.

Oczywiście pozostaje napisanie jakiejś prostej aplikacji na peceta do przekazania danych z pada do rpi na pokładzie. Co do kamery - zwykła kamerka do rpi zero (nie na USB), malinka poradzi sobie bez problemu z obrazem w h264 i sterowaniem silnikami (i czym tam chcesz).

Link do komentarza
Share on other sites

25 minut temu, ethanak napisał:

Do rpi - arduino raczej się do tego nie nadaje.

Oczywiście pozostaje napisanie jakiejś prostej aplikacji na peceta do przekazania danych z pada do rpi na pokładzie. Co do kamery - zwykła kamerka do rpi zero (nie na USB), malinka poradzi sobie bez problemu z obrazem w h264 i sterowaniem silnikami (i czym tam chcesz).

Miałem nadzieję zrobić to na UNO z shieldem sterowania silnikami i dodatkowym modułem ethernet...:( 
A co do rpi....rozumiem że do rpi zero potrzebny jest dodatkowo również moduł ethernet no i ta kamera, czy mógłbyś podrzucić jakieś konkretne opcje?
Albo czy jest model który posiada od razu wbudowany moduł ethernet i pozwoli na sterowanie trzema silnikami ?  (dodam że jestem ciemny w rpi 0_0) 

Link do komentarza
Share on other sites

Kamerę możesz ewentualnie wstawić poza RPi. Są takie małe kamerki z kartą SD i wyjściem video. Testowaliśmy transmisję na 20m po kablu i jest to realne, a obraz zawsze będziesz miał nagrany. Kamerki takie kosztują od 50 do 200zł.

Jeżeli nie chcesz ethernetu to kup moduły UART-CAN i też da radę. Ekranowany kabel i nie powinno być zakłóceń. do sterowania arduino w łodzi, arduino w pilocie. Na ekranie z wejściem analogowym będziesz miał podgląd z kamery.

Kiedyś dla testu podłączyłem 2 Arduina przez UART po 20m kablu i też działało. Ale CAN będzie dużo lepszy.

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

Co do modułu to już link podałem (działa zarówno z RPi jak i Arduino), równie dobrze możesz zastosować jakąś kartę na USB.

Możesz oczywiście zastosować większy model, np 3B+ - odpada wtedy moduł ethernet bo masz go już na pokładzie. Do tego masz np. takiego shielda na cztery silniki (chociaż ja bym szukał czegoś na i2c), cały przegląd kamerek masz w Botlandzie.

Oczywiście możesz zrobić tak jak radzi @Gieneq - masz dwie możliwości do wyboru, nie wiem która jest lepsza. Moim zdaniem wersja z ethernetem i RPi daje dużo większe możliwości (np. łatwiejsze podłączenie dodatkowych czujników czy manipulatorów bez obawy o skończenie się pamięci w Arduino), no ale ja jestem trochę stronniczy 🙂

 

 

Link do komentarza
Share on other sites

Właśnie z tą kamerą to mam zagwozdkę...zależy mi na obrazie na żywo i rozumiem że to uzyskam z dedykowaną kamerą pod platformę i Ethernet, pisząc aplikacje.
Znalazłem w jakimś PDF o budowie podobnego robota że  możliwe jest podłączenie kamery , takiej internetowej przerabiając USB na RJ45 (schemat poniżej) ale to się wiąże z dodatkowym modułem i kablem ? Nie za bardzo rozumiem jak to jest rozwiązane...poniżej fragment ,pdf i schemat...
 

Cytat

Jako medium komunikacyjne zastosowano skrętkę UTP (ang. Unshielded Twisted Pair) o długości 16m, w której dwie pary przewodów odpowiadają za przesyłanie informacji o kącie wychylenia sterów, prędkości napędu głównego i z urządzeń pomiarowych, z mikrokontrolera do aplikacji wykorzystując protokół HTTP (ang. Hypertext Transfer Protocol). Przesyłanie wartości zadanych z aplikacji do pojazdu podwodnego odbywa się za pośrednictwem protokołu UDP. Aby możliwe było wykorzystanie kamery internetowej w odległości większej niż 5m, kabel łączący kamerę z komputerem został zmodyfikowany w sposób przedstawiony na rys. 5. Wykonanie takiego połączenia jest możliwe poprzez wykorzystanie minimalnej długości przewodu odpowiadającego za przesyłanie sygnału protokołu USB (ang. Universal Serial Bus) i zastąpienie go wtyczką RJ-45, którą należy połączyć z przewodem Ethernet.

 

schemat usb rj45.PNG

Projekt ROV.pdf

Link do komentarza
Share on other sites

1 minutę temu, jakitaki123 napisał:

przesyłanie informacji o kącie wychylenia sterów, prędkości napędu głównego i z urządzeń pomiarowych, z mikrokontrolera do aplikacji wykorzystując protokół HTTP

Ja to bym się od takich wynalazków trzymał z daleka.

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

(edytowany)

A co do zasilania to czy opcja z akumulatorem Li-lon (lub jakiś podobny)  jest dobra do zasilanie płytki wraz z shieldem silników ? Nie jestem przekonany do opcji przewodowej żeby dodawać dodatkowy kabel, ale też wiem że mógłbym podłączyć więcej elektroniki np. dodatkowe oświetlenie. Tylko nie wiem czy jest to konieczne aż tak.
Co sądzicie?

Edytowano przez jakitaki123
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.