Skocz do zawartości
michcioh

Joystick maksymalna wartość przy połowie wychylenia

Pomocna odpowiedź

Cześć,

to mój pierwszy post, poza powitalnym. Przechodząc do rzeczy: problem dotyczy zakupionego joysticka (link https://allegro.pl/show_item.php?item=5152872458). Chcę stworzyć sterowany joystickiem samochód, dlatego potrzebuję odczytu analogowego osi joysticka w zakresie 0 - 1023 na Arduino, To udało mi się uzyskać, tzn program odczytuje wartości w tym zakresie. Problem polega na tym, że wartości skrajne 0 lub 1023 (w zależności od strony wychylenia) uzyskuję przy połowie wychylenia joysticka. Czyli przykładowo dla osi Y: gdy joystick jest w naturalnej pozycji środkowej, odczyt wynosi 470. Wraz z (bardzo bardzo!) delikatnym  ruszeniem joysticka w górę, wartość ta rośnie stopniowo aż wychylam do połowy możliwego wychylenia i uzyskuję odczyt 1023. Dalsze zwiększanie wychylenia nic nie zmienia, pozostaje wartość 1023. Tak dzieje się w każdym kierunku (ewentualnie wartość zamiast rosnąć maleje do 0 w połowie wychylenia, w przypadku przeciwnych kierunków).

I teraz pytanie: czy ja coś źle podłączyłem? Co robię źle? Kupiłem dwie sztuki tych joysticków i obie identycznie się zachowują, co sugeruje, że błąd może leżeć po mojej stronie.

Pozdrawiam serdecznie,
Michał

Udostępnij ten post


Link to post
Share on other sites
8 minut temu, michcioh napisał:

I teraz pytanie: czy ja coś źle podłączyłem? Co robię źle?

Nie pokazałeś jak podłączyłeś joysticki, więc ciężko ocenić czy wszystko jest poprawnie 😉 Opis działania wskazuje jednak, że chyba jest dobrze. Obawiam się, że te tanie joysticki zwyczajnie tak już mają. Najprostsze rozwiązanie to wstawić całość w obudowę, która będzie blokowała ruchy joysticka, które wychodzą poza zakres.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

No nie pokazałem 😉 ale pokazać mogę i to uczynię 🙂 no właśnie, możliwe, że taniość nie poszła za jakością, ale chciałbym mieć pewność. Jestem w stanie zapłacić więcej za dobry joystick, tylko musiałbym mieć gwarancję, że po A) obecny jest ... "mało precyzyjny", po B) droższy nie będzie tak samo działał 😉 

Odezwę się z jakimś zdjęciem, schematem, filmem. 

Dzięki, pozdrawiam!

Udostępnij ten post


Link to post
Share on other sites

W ostateczności pozostają zwykłe niezawodne potencjometry. Jako podstawka pod jakąś kierownicę (nie znalazłem jeszcze takiej, ale może coś wymyślę) jak znalazł dla kierunku lewa prawa 😉

 

Udostępnij ten post


Link to post
Share on other sites

Wbrew pozorom duże wychylenia joysticków nie są ergonomiczne. Zarówno te dorosłe, przemysłowe, te do gier, do zdalnego sterowania modeli jak i te chińskie maluchy posługują się niewielkim wycinkiem kąta, bo zwyczajnie ludzie tak lubią. "Joystick" w notebookach (ten mały pypeć po środku klawiatury) nie rusza się przecież w ogóle a da się go używać tylko przy pomocy siły nacisku. Klasa manipulatora nie polega na tym, że ma mniejszy czy większy kąt tylko na precyzji. Dobry joystick będzie wracał zawsze do tej samej pozycji w obu osiach po 100 tys. wychyleń, nie będzie miał histerezy mechanicznej i szumów powodowanych zużyciem ścieżki czy wręcz brakiem kontaktu. Wszelkie taniości skutkują cherlawą mechaniką a więc luzami (brak powtarzalności) i histerezą a słabe potencjometry to szumy i szybkie zużywanie się.

Normalny potencjometr ma drogę ok 270° więc aby wykorzystać go w joysticku trzeba by używać tylko małego wycinka jego rezystancji. Wtedy zamiast odczytów 0-1023 dostaniesz np. 410-620 co wymaga dużo bardziej stabilnej mechaniki by zachować sensowną rozdzielczość.

A jeśli potrzebujesz manipulatora dwu-trzystanowego to jest cała masa przełączników dwu- i trzypozycyjnych, stabilnych i niestabilnych w wielu wykonaniach. Także takich pasujących do kierunkowskazów.

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

Dziękuję za te informacje. Co do moich potrzeb, to potrzebuję tak na prawdę analogowego odczytu zakresu (nie stopniowania) przy zachowaniu wygody użytkowania. Myślę, że zwykły potencjometr może posłużyć za kierownicę bez problemu. Ustawiony na środku zakresu ma całkiem niezły zapas do kręcenia w lewo - prawo, zdecydowanie większy niż obecny joystick w zakresie mającym sens odczytu. Co do przyspieszenia i hamowania lepszy byłby jednak joystick niż drugi potencjometr ustawiony tak by kręcić góra - dół. Ale w ostateczności takie rozwiązanie też nie będzie bez sensu. Alternatywy są dla joysticka, tylko muszę się upewnić, że to ja czegoś nie schrzaniłem 😉

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Z pierwszego posta zrozumiałem, że chcesz na joysticku zrobić przełącznik kierunkowskazów. Trochę dziwne, ale wiesz, ludzie tu mają różne pomysły.. Do kierownicy to oczywiście zwykły potencjometr (3/4 obrotu) się nada, choć na rynku jest wiele tzw. potencjometrów precyzyjnych. Zwykle mają one 10 obrotów (z ciekawości sprawdź gdzieś jak one są zrobione) więc trochę bardziej przypominają kierownicę normalnego samochodu. Nie musisz oczywiście korzystać z pełnych 10 obrotów (bo to jednak przesada i niewygodnie), ale po "elektronicznym" ograniczeniu zakresu do powiedzmy 3-4 obrotów (np. 2 w lewo i 2 w prawo od neutrum) dostajesz całkiem zgrabną kierownicę. Inna sprawa, że sportowe wozy mają ten kąt ograniczony i inne przełożenia, żeby niepotrzebnie nie kręcić kółkiem i nie odrywać rąk od kierownicy - i tam zwykłe 270° wystarczy. Pomyśl też nad rozwiązaniem stosowanym w aparaturach do zdalnego sterowania modeli. Tam możesz włączyć (i ustawić "głębokość" efektu) tzw. EXP polegający na wprowadzeniu nieliniowości w funkcji kąt obrotu -> wielkość wyjściowa. Dzięki temu możesz bardzo precyzyjnie ustawiać pozycję (w samolocie: sterów. lotek) wokół pozycji centralnej co przydaj się w czasie normalnego lotu (a w samochodzie podczas wyścigu) a im bliżej końca zakresu tym wychylenia rosną szybciej. To z kolei pomaga przy pewnych figurach akrobacji (w samochodzie: parkowanie czy zawracanie).

Pedał (lub manetkę) gazu możesz zrobić na potencjometrze suwakowym i sprężynie.

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
4 minuty temu, marek1707 napisał:

Z pierwszego posta zrozumiałem, że chcesz na joysticku zrobić przełącznik kierunkowskazów. Trochę dziwne, ale wiesz, ludzie tu mają różne pomysły.. Do kierownicy to oczywiście zwykły potencjometr (3/4 obrotu) się nada, choć na rynku jest wiele tzw. potencjometrów precyzyjnych. Zwykle mają one 10 obrotów (z ciekawości sprawdź gdzieś jak one są zrobione) więc trochę bardziej przypominają kierownicę normalnego samochodu. Nie musisz oczywiście korzystać z pełnych 10 obrotów (bo to jednak przesada i niewygodnie), ale po "elektronicznym" ograniczeniu zakresu do powiedzmy 3-4 obrotów (np. 2 w lewo i 2 w prawo od neutrum) dostajesz całkiem zgrabną kierownicę. Inna sprawa, że sportowe wozy mają ten kąt ograniczony i inne przełożenia, żeby niepotrzebnie nie kręcić kółkiem i nie odrywać rąk od kierownicy - i tam zwykłe 270° wystarczy. Pomyśl też nad rozwiązaniem stosowanym w aparaturach do zdalnego sterowania modeli. Tam możesz włączyć (i ustawić "głębokość" efektu) tzw. EXP polegający na wprowadzeniu nieliniowości w funkcji kąt obrotu -> wielkość wyjściowa. Dzięki temu możesz bardzo precyzyjnie ustawiać pozycję (w samolocie: sterów. lotek) wokół pozycji centralnej co przydaj się w czasie normalnego lotu (a w samochodzie podczas wyścigu) a im bliżej końca zakresu tym wychylenia rosną szybciej. To z kolei pomaga przy pewnych figurach akrobacji (w samochodzie: parkowanie czy zawracanie).

Pedał (lub manetkę) gazu możesz zrobić na potencjometrze suwakowym i sprężynie.

O wielkie dzięki, to trochę mój problem, że sięgam po rozwiązania znane mi a nie rozglądam się za możliwościami, jak w przypadku potencjometrów suwakowych. Choć zwykły potencjometr tu może wystarczyć. Tak na marginesie: kierunkowskazy i pełne oświetlenie (światła stopu, wsteczny, przednie, a może i "długie") też będą, a kierunkowskazy będą zapalały się wraz ze skrętem by nie angażować dodatkowo rąk 😉 mam dużo rzeczy przemyślanych do przodu, a dopiero podwozie zamówione 😉

Udostępnij ten post


Link to post
Share on other sites
35 minut temu, michcioh napisał:

kierunkowskazy będą zapalały się wraz ze skrętem

To jedna z najgłupszych rzeczy jakie robią kierowcy a dla mnie jako rowerzysty rzecz skrajnie niebezpieczna. Gdy już skręcasz to nikt Twojego kierunkowskazu nie potrzebuje - przecież widać, że skręcasz. Te pomarańczowe lampki służą do sygnalizacji zamiaru skręcenia. Gdy stoję na światłach przy krawężniku i po zapaleniu się zielonego samochód obok mnie rusza, skręca i wtedy zapala prawy kierunkowskaz to zwykle żałuję, że nie mam pod ręką tuby z ketchupem. Może robisz tylko zabawkę, ale z czegoś ten pomysł się wziął, prawda?

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
5 minut temu, marek1707 napisał:

To jedna z najgłupszych rzeczy jakie robią kierowcy a dla mnie jako rowerzysty rzecz skrajnie niebezpieczna. Gdy już skręcasz to nikt Twojego kierunkowskazu nie potrzebuje - przecież widać, że skręcasz. Te pomarańczowe lampki służą do sygnalizacji zamiaru skręcenia. Gdy stoję na światłach przy krawężniku i po zapaleniu się zielonego samochód obok mnie rusza, skręca i wtedy zapala prawy kierunkowskaz to zwykle żałuję, że nie mam pod ręką tuby z ketchupem. Może robisz tylko zabawkę, ale z czegoś ten pomysł się wziął, prawda?

Mam dokładnie takie samo zdanie na temat kierunkowskazów, niektórzy źle rozumieją ich znaczenie. Dlatego jak ktoś nie ma włączonego kierunkowskazu, to dla mnie nie zmienia pasa, a stój ile chcesz na pasie do włączania się 😉 natomiast tak, w przypadku mojej zabawki będzie to znaczne uproszczenie. Czemu? Dla frajdy mojego 5-cioletniego dzieciaka. Samemu nie będzie mu się chciało włączać ich, a na pewno go ucieszy, że miga. 

Gdyby wejść było duuużo do najtańszego klono-Arduino (wiem, są takie wypaśne, droższe, z wieloma wejściami) to Panie, co ja bym tam nie umieścił 😉 Co najmniej kilka trybów sterowania samochodem. Np. że kierunkowskazy są przełącznikiem, albo właśnie "z automatu". Byłem programistą przez całe moje zawodowe życie. Napisanie kodu, który robi to i owo to dla mnie nie problem, a nawet radocha. Tylko boję się, że wejścio/wyjść mi zabraknie 😉 Do rozważenia, policzenia, sprawdzenia, zaprojektowania.

Udostępnij ten post


Link to post
Share on other sites
3 minuty temu, michcioh napisał:

Tylko boję się, że wejścio/wyjść mi zabraknie

Ekspander?

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
1 minutę temu, ethanak napisał:

Ekspander?

Widzę, że świat się przede mną otwiera. Dzięki!

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Dzięki za informacje. Tu jest filmik, w którym chciałem pokazać (nie wiem na ile mi to wyszło) ideę problemu. Podpiąłem też woltomierz - wtedy, gdy Arduino mówi, że ma wartość 3 lub 4 na woltomierzu jest 0V, więc Arduino nie przekłamuje wyników... To co, joystick do dupy? 😉

 

Edytowano przez michcioh

Udostępnij ten post


Link to post
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!

Gość
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...