Skocz do zawartości

Sterowanie RC + arduino


intelek10

Pomocna odpowiedź

Witam,

w projekcie swojego robota postanowiłem zastosować zdalne sterowanie poprzez aparaturę RC. Posiadam do niej również odbiornik 5cio kanałowy.

Problem jest jednak sposób, w jaki miałbym połączyć arduino, aparaturę oraz sterownik silników L298n w taki sposób, aby móc sterować ruchem robota.

Dodatkowo, nie bardzo wiem jaki program napisać, by mógł spełniać te funkcję.

Za okazaną pomoc z góry dziękuję i pozdrawiam!

Link do komentarza
Share on other sites

Zacząłbym od wyczytania w dokumentacji odbiornika jaki sygnał wyjściowy on daje, a następnie napisałbym prosty program w Arduino który ten sygnał odbiera i zamienia na jakieś liczby. (Na 90% to będzie sygnał PWM, a informacja będzie w długości impulsu.)

Jednocześnie poczytałbym sobie notę katalogową tego mostka, podłączył wszystko tak jak jest to pokazane tam w przykładowym zastosowaniu, i napisał jakiś prosty program na Arduino który tymi silnikami steruje -- na przykład puszcza oba w jednym kierunku na 5 sekund, zwalnia, zatrzymuje, puszcza w kierunku przeciwnym na 5 sekund, itd.

Na koniec zastanowiłbym się jak te dwa programy połączyć ze sobą.

Link do komentarza
Share on other sites

Już wiem jak sterować tym mostkiem, spróbuję odczytać wartości z odbiornika.

Zastanawiam się również, w jaki sposób za pomocą jednego kanału sterować równocześnie dwoma kołami, by ruch robota był płynny.

Link do komentarza
Share on other sites

To na szczęście nie jest problemem, bo Arduino ma sprzętowe PWM, więc robisz tylko analogWrite i nie musisz się dalej przejmować -- Arduino samo będzie podawać na tej nóżce ustawiony sygnał, dopóki go nie przestawisz. Więc możesz ustawiać te sygnały po kolei.

W sumie, to nawet dałoby się podłączyć PWM z nadajnika bezpośrednio do mostka, z pominięciem Arduino. Tylko co to wtedy za robot 😉

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

W sumie, to nawet dałoby się podłączyć PWM z nadajnika bezpośrednio do mostka, z pominięciem Arduino.

Na pewno? Jeżeli to standardowy odbiornik RC i na wyjściu jest impuls 1-2ms co 20ms to chyba nie bardzo jest jak sterować bezpośrednio mostkiem za pomocą takiego sygnału.

EDIT: i jak rozumiem chodzi Ci o odbiornik, a nie nadajnik jak napisałeś?

Link do komentarza
Share on other sites

Bezpośrednio to raczej nie zadziała, bo z odbiornika wychodzi sygnał taki jak do typowego serwa: impuls 1..2ms co 20ms więc wypełnienie jest bardzo marne, zakres zmian od 5 do 10% i częstotliwość tylko 50Hz.

Dlaczego tylko jeden kanał? Skoro masz dwa silniki to potrzebujesz dwóch kanałów, bo w jednym nie przeniesiesz informacji o prędkości i skręcaniu.

Wersji "czołgowej" po prostu jeden kanał to jeden silnik a drugi to drugi. To niestety wymaga użycia dwóch drążków w nadajniku, ale jest dość intuicyjne i proste pojęciowo w samym programie. Dwa drążki do przodu: jazda prosto, jeden trochę mniej wychylasz: skręt, jeden do przodu a drugi do tyłu: obrót w miejscu, czyli jak czołg.

W wersji alternatywnej korzystasz tylko z jednego drążka, gdzie wychylanie przód tył (czyli jeden kanał radiowy) jest odpowiedzialne za sumę obu silników - czyli jakby prędkość - im bardziej popchniesz drążek do przodu tym szybciej jedziesz, a przechylanie go na boki (czyli drugi kanał radiowy) mówi o różnicy prędkości silników czyli o promieniu skrętu. Im bardziej przechylisz drążek w bok tym ciaśniejszy zakręt. Wystarczy chwilę się zastanowić jak wyliczać z dwóch kanałów prędkość każdego silnika i gotowe.

Link do komentarza
Share on other sites

"Dodatkowo, nie bardzo wiem jaki program napisać, by mógł spełniać te funkcję"

Coś mi tu nie pasuje. Naprawdę po tych kilku banałach jakie Ci zapodaliśmy już wiesz jak napisać program? Albo mogłeś tego się sam z łatwością domyślić po trzech minutach zastanowienia, albo nadal jesteś w czarnej dziurze.

Z drugiej strony "mądrej głowie dość dwie słowie". Jeśli naprawdę od zera do bohatera przeszedłeś w godzinę, to szacun.

Link do komentarza
Share on other sites

Z drugiej strony "mądrej głowie dość dwie słowie". Jeśli naprawdę od zera do bohatera przeszedłeś w godzinę, to szacun.

Ja wierzę w Autora i liczę, że za kilka dni pochwali się rezultatami. Dodatkowo jakby np. dodał z przodu pojazdu sonar i dodał automatyczne hamowanie przy zbliżaniu się do przeszkody (mimo "wciśniętego gazu") to mógłby założyć osobny temat z opisem konstrukcji 🙂

Link do komentarza
Share on other sites

Chciałem pokazać, że czasem zadajemy pytania nie potrzebując tak naprawdę odpowiedzi. Dziwnie czuję, że to właśnie taki przypadek i intelek10 niedługo pokaże nam całkiem zgrabny programik mierzący długość impulsów w dwóch kanałach RC, przeliczający to na wysterowanie PWM silników (i ich kierunek) plus filmik z pierwszych jazd po dywanie 🙂 Jeśli tak, to niczego od nas nie potrzebował - może oprócz moralnego wsparcia i upewnienia się, że nie brnie w bezsensowne rozwiązania. Do tego co napisaliśmy doszedłby sam po 5 minutach sam na sam z kartką i ołówkiem.

Link do komentarza
Share on other sites

Na początku nie wiedziałem totalnie jak się za to zabrać. Teraz mam mniej więcej plan w głowie jak to ma wyglądać, postaram się krok po kroku go zrealizować. Jednak moje umiejętności programowania są trochę ograniczone więc w razie potrzeby znów poproszę o pomoc w tym poście.

Moim celem jest zbudowanie autonomicznego odkurzacza. Posiadam używaną obudowę, sprawne silniki. Ogólnie wykorzystam istniejącą już konstrukcje.

Pierwszym etapem będzie odkurzacz zdalnie sterowany, następnie hybryda a w finalnej wersji pełna autonomia.

Dodam, że posiadam już jakieś małe doświadczenie w robotyce z wykorzystaniem arduino. Zbudowałem już omijacza przeszkód oraz line followera.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.