Autor Wątek: STM-JOY - alternatywa dla MJOY  (Przeczytany 2866 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

STM-JOY - alternatywa dla MJOY
« dnia: Lutego 05, 2017, 00:01:41 »
Witam wszystkich pasjonatów lotnictwa wirtualnego i nie tylko.

Jestem z zawodu elektronikiem i jakiś czas temu stanąłem przed problemem konstrukcji własnego joysticka (a konkretniej ożywienia starszego sprzętu z dobrą mechaniką ale przestarzałą elektroniką).

Na drodze ewolucji powstał projekt STM-JOY - oparty o tanią (dostępna na zagranicznym serwisie aukcyjnym za 2-3 USD) płytkę z mikrokontrolerem STM32F103C8T6.

Obecnie wersja podstawowa układu pozwala na obsługę 10 osi oraz 17 przycisków.

Jeśli projekt będzie cieszył się pewnym zainteresowaniem - możliwe że będę realizować jego dalszy rozwój i dodanie dodatkowych funkcji.

Od strony elektronicznej projekt opisałem na forum elektronicznym elektroda: http://www.elektroda.pl/rtvforum/viewtopic.php?p=16253291#16253291

Źródła oraz instrukcje jak powielić projekt zamieszczam w repozytorium: https://gitlab.com/piotrva/STM-JOY
Jeśli czujecie się na siłach można w dowolny sposób zmodyfikować działanie urządzenia.

Nadmienię, że osobiście dodałem obsługę enkodera, dodatkowego joysticka do rozglądania się oraz pedałów (dzięki odrobinie obliczeń ze standardowych 2-osiowych pedałów od kierownicy osiągnąłem ster kierunku oraz hamulce różnicowe). Całość kosztowała mnie: Joystick 1 zł, płytka 9 zł, pedały 20 zł = 30 zł + trochę pracy.

Czekam na Wasze opinie o projekcie i sugestie co można by dodać - mam nadzieję, że moja praca komuś się przyda!

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #1 dnia: Lutego 05, 2017, 09:11:30 »
Witam na forum, przejrzałem linki o których wspomniałeś oraz korespondencję z kolegą 3.14ter. Cieszę się, że pojawił się na forum elektronik programista. Z tego co napisałeś wynika, że masz dużą wiedzę w dziedzinie elektroniki i nie tylko. Temat joysticka był i będzie zawsze aktualny. Na naszym forum w różnych wątkach jest na ten temat trochę informacji. Generalnie korzystamy do sterowania naszych kokpitów oraz paneli z różnych sterowników w tym także sterowników joysticków.
Twój projekt jest ciekawy i ma jedną ważna zaletę, jest stosunkowo tani. Można ma jego bazie modernizować joysticki. Jeśli chcemy budować własne joysticki to potrzebujemy trochę więcej np. 4 Haty. Z enkoderami nie ma problemu, ponieważ można to zrealizować na innym sterowniku np. DMKeys8.
Kolega 3.14ter projektuje swój sterownik, który będzie dużo droższy, ale będzie miał więcej możliwości w tym możliwość zastąpienia kontrolera dla Cougara. Nie jestem programistą i raczej starszej daty elektronikiem, dlatego proszę o wyrozumiałość jeśli piszę coś nie na temat lub nieprecyzyjnie. Mnie też interesują sterowniki ale raczej jako hobby. W kilku wątkach napisałem o swoich doświadczeniach.
Reasumując masz na naszym forum godnego partnera mam na myśli 3.14ter, który ma dużą wiedzę i jest także entuzjastą. Co do nas pozostałych to będziemy kibicować i jeśli to możliwe to coś sugerować.
Na koniec jeszcze jedna sprawa związana z rozpoznawaniem sterowników. Tak jak wspomniałem nie jestem programistą, ale można to zrobić na kilka sposobów. Dla użytkownika jest istotne aby przy mapowaniu wiedział jaki element przypisuje do jakiego sterownika. W DMKeys8 jest to realizowane na etapie konfigurowania sterownika, można zmienić nazwę, vendor ID oraz product ID. Z tego co zrozumiałem to w projekcie 3.14ter są na płycie zworki A, B, C, D (system ID), co powinno odróżnić sterowniki przy mapowaniu. Mam nadzieję, że koledzy z forum także wyrażą swoje uwagi.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #2 dnia: Lutego 05, 2017, 10:24:03 »
Ja również mogę li tylko kibicować. Sprawdź tylko jakość sygnału analogowego. Swój projekt oparłem o arduino i z tym właśnie miałem problemy - szumy i zakłócenia. Mój joystick w połączeniu z przedwzmacniaczami Piotra działa sprawnie, jednak jest to takie "łatanie dziur". Dlatego z niecierpliwością czekam na projekt Piotra. Ale każdy może iść własną drogą, dlatego z pewnością będę obserwował twoje działania. Powodzenia!

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #3 dnia: Lutego 05, 2017, 12:09:00 »
@vito_zm
Dzięki za miłe słowa!
Co do funkcjonalności układu i dodania np. dodatkowych hatów zamiast przycisków - to kwestia zmiany kilku linijek w oprogramowaniu. Podobnie można dodać więcej przycisków w połączeniu matrycowym. Udostępniam kody źródłowe oprogramowania, tak że każdy może zmodyfikować je tak, jak potrzebuje.
Oczywiście jeśli będą jakieś konkretne modyfikacje, które przydadzą się większej ilości osób - w ramach wolnego czasu wprowadzę takowe i udostępnię jako gotowe pliki binarne do zaprogramowania układu.
Co do zmiany nazwy układu mogę bez problemu dodać taką funkcję. Co więcej myślałem nawet nad tym, aby po programowaniu była możliwość przesłania komendy do urządzenia aby nadać mu dowolną nazwę (nie tylko ABCD, ale np. JOY-Przepustnice, JOY-Pedaly, JOY-Wolant).

Haha, też mam na imię Piotr i też w niektórych miejscach występuję z nickiem piotr314 :D Ale się dobraliśmy - jakby kiedyś powstało coś wspólnego to będzie Piotr & Piotr :D

@shopiK
Z zakłóceniami to w wypadku potencjometrów są ich 2 źródła: sam przetwornik ADC oraz sam potencjometr (wraz z kablami). Na szczęście zasilanie nie stanowi problemu, ponieważ o ile takie same zakłócenia dostaną się na zasilanie ADC (konkretnie napięcie referencyjne) i zasilanie potencjometru to... Same się wyeliminują.
Dodatkowo im większa wartość potencjometru - tym większe jego szumy. Z kolei za mała wartość będzie wydzielała sporo mocy i pobierała dużo prądu. Osobiście stosuję potencjometry 4.7-10 kOhm
Kolejna sprawa to jakość potencjometrów - nie oczekujmy od najtańszych za ok. 1 zł szałowej jakości.
Na pewno w przypadku mojego projektu można wprowadzić filtrowanie cyfrowe - układ pracuje na tyle szybko, że można wykonywać wiele pomiarów na jednej osi po czym uśredniać ich wyniki. Swego czasu dzięki takiemu rozwiązaniu na przetworniku 10-bitów osiągnąłem rozdzielczość 12 bitów z szumami na poziomie 1 LSB

Szczerze mówiąc charakterystyk szumów nie badałem na swoim rozwiązaniu - macie jakiś program, który czyta takie rzeczy z joysticka? Bo jak nie to będę musiał dopisać trochę linijek, żeby to wysłać do komputera i obrobić. Powie tylko, ze jakość którą mam na swoim sprzęcie mnie zadowala ;)

------
Co do dalszych modyfikacji na pewno największa motywacją będzie to, ze ktoś ze Społeczności wykorzysta projekt i będzie miał konkretne potrzeby - bo pisanie programu sztuka-dla-sztuki nie daje tyle frajdy, a swój cel - ożywienie swojego "staruszka" osiągnąłem.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #4 dnia: Lutego 05, 2017, 14:04:42 »
Zrobiłem szybki test i szumy są w granicach 1LSB przy 8 bitach. Przy próbkowaniu 120 kHz...

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #5 dnia: Lutego 05, 2017, 14:49:19 »
Wspomniałeś w którymś linku, że zajmowałeś się MMJoy. Czy miałeś na myśli MMJoy2.
Mnie zainteresował Arduino dopiero w 2016 i swoje problemy opisałem tutaj http://il2forum.pl/index.php/topic,17749.30.html
W tym wątku opisuję także moje testy z MMJoy2, który jest bardzo ciekawym rozwiązaniem i jest bardzo popularny. Są tam też dołączone w setup programy do testowania analogów oraz układów cyfrowych podłączonych do kontrolera. Jest to ciekawe rozwiązanie i łatwe w konfigurowaniu, ale w moim przypadku niektóre opisane funkcje nie działały. Nie chcę w to wnikać, ponieważ ja sobie ten kontroler odpuściłem. Można wykorzystać osie analogowe oraz niektóre układy cyfrowe, ale nie wszystkie.
Jeśli chodzi o Twoje rozwiązanie to prawdopodobnie za jakiś czas poproszę o szczegóły i wykonam model do testów. Tak jak wspomniałem jestem hobbistą i ciekawią mnie nowe rozwiązania. Tak jak wspomniałem każdy nowy projekt musi mieć jakiś cel. W przypadku sterowników dla joysticków to generalnie można założyć 3 cele: modyfikacja starego kontrolera (Twój przypadek), budowa własnego joysticka lub wymiana uszkodzonej elektroniki np sterownik do Cougara (nie do zdobycia na rynku). Niektórzy stosują kontrolery do joysticków np MMJoy2 do sterowanie paneli w kokpicie.
Wspomniałem o enkoderach. Zrobienie oprogramowania dla enkoderów dostępnych na naszym rynku (tych tańszych) nie jest łatwe  ale możliwe, zrobił to Piotr i działa bardzo dobrze. To co zrobiono w MMJoy2 jest atrakcyjne, ale moim zdaniem ryzykowne, ponieważ prostą elektroniką dokładnie uP chcą załatwić wszystko (analogi, układy cyfrowe w tym matryce, haty oraz enkodery). Tak się nie da co widać w projekcie Piotra, który ma bardziej zaawansowany uP oraz elektronikę. Trochę się rozpisałem  ale myślę , wyraziłem w ogólny sposób mój pogląd. Tak jak wspomniałem Twój układ jest bardzo tani, dlatego warto go zrobić i testować. Dam znać gdy będę na tym etapie i poproszę o pomoc.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #6 dnia: Lutego 05, 2017, 15:27:50 »
Miałem na myśli stary MJOY.

Co do projektu 3.14ter'a to aktualnie pracuję nad całym systemem cyfrowo-analogowym do symulacji lotniczych.



Całość ma 28 wejść/wyjść cyfrowych możliwych do połączenia w różnych konfiguracjach (także do zasilania elementów bardziej prądożernych) z czego 16 może służyć jako wejścia analogowe.

Dodatkowo do dyspozycji pozostaje 8 linii dedykowanych do sterowania wyświetlaczami (LCD alfanumeryczne, LED, ...) - te będą umieszczane na osobnych mini-modułach.

Prowadziłem już też testy obsługi nawet tanich enkoderów (generujących dużo szumów) - oprogramowanie daje ze wszystkim radę.

System docelowo nie będzie widoczny jako joystick, ale będzie integrował się z oprogramowaniem do symulacji (na razie pracujemy na FSX), dzięki czemu dane będą mogły być wymieniane w obu kierunkach.

Dodatkowo całe połączenie systemu odbywać się będzie za pomocą magistrali CAN odpornej na zakłócenia.

Wkrótce założę o tym projekcie osobny wątek.

PS. Jak coś to te płytki z Chin idą czasem nawet do miesiąca.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #7 dnia: Lutego 05, 2017, 16:17:49 »
Ciekawy projekt! Gratulacje!
Koncepcyjnie różni się sporo od mojego podejścia, i bardzo dobrze. Im więcej opcji i alternatyw, tym lepiej dla użytkowników.
W moim projekcie nacisk postawiłem głównie na to, żeby był prosty i intuicyjny w użytkowaniu, typu plug&play, bez konieczności używania dodatkowego programu po stronie PC. Tam ma być widoczny jako standardowy joystick HID. Konfiguracje i ustawienia przerzucone bedą na stronę sprzętową, ewentualnie wspomagane niewielkimi modułami spełniającymi dodatkowe funkcje.
Kto wie, może kiedyś otworzymy pomost pomiędzy projektami. W sumie na płytce mam wyprowadzony UART, SPI i I2C. Podłączenie CAN pod piny portu szeregowego nie stanowi żadnego problemu.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #8 dnia: Lutego 05, 2017, 16:46:47 »

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #9 dnia: Lutego 05, 2017, 17:35:03 »
Cytuj
System docelowo nie będzie widoczny jako joystick, ale będzie integrował się z oprogramowaniem do symulacji (na razie pracujemy na FSX), dzięki czemu dane będą mogły być wymieniane w obu kierunkach.
Zaczyna to ciekawie wyglądać. Wspomnę tylko, że taka próba integracji soft, hardware oraz różne symulatory już zrobił codeking. Program ma nazwę HSC a sterowniki to SimOUT oraz SimIN.
Tak jak wspomniał Piotr im więcej pomysłów tym lepsze rozwiązania. Życzę sukcesów i żałuję, że nie mam wystarczającej wiedzy aby pomóc.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #10 dnia: Lutego 06, 2017, 01:07:28 »
Mały update - zgodnie z sugestiami PIter'a pracuję nad joystickiem 16 bitowym.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #11 dnia: Lutego 06, 2017, 18:24:00 »
Na razie testowo z samymi tylko modyfikacjami programowymi udało się osiągnąć stabilne 10 bitów bez szumów.

Zastanawiam się nad kwestią konfiguracji urządzenia (zmiana nazwy, możliwość przełączenia między funkcjonowaniem pinów jako przyciski a enkodery, itp.) - przyszedł mi taki pomysł, aby za pomocą tej samej drogi, którą go programujemy (port szeregowy) udostępnić prosty "wiersz poleceń" i tam móc dokonać zmiany o których mowa.

Potem zawsze można napisać na to na komputer jakiś interface graficzny ;)

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #12 dnia: Lutego 07, 2017, 00:24:44 »
Opublikowana wersja z danymi 12 bitowymi. Szumy zmierzone na poziomie 2LSB przy nieekranowanych kablach (10cm) do potencjometrów 10k.

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #13 dnia: Lutego 07, 2017, 01:38:26 »
a na długości 50cm?

A Najfajniej jakbyś pokazał wykres np. z tego (bo liczby to mi nic nie mówią, oprócz tego, że jest dobrze :-) ):

www.mcd.ayz.pl/rozne/joy_zdjecia/VKB_JoyTester.zip

Odp: STM-JOY - alternatywa dla MJOY
« Odpowiedź #14 dnia: Lutego 07, 2017, 19:59:34 »
Fajna apka, niestety nie widzę nigdzie żadnej opcji analizy szumów np.