Zgodnie z obietnicą zamieszczam opis własnoręcznie zbudowanego joysticka, opartego na mikrokontrolerze Atmel ATMega8-16PI. Elementy układu elektronicznego skompletowałem na początku kwietnia, w połowie maja elektronika była gotowa, końcem czerwca ukończyłem mechanikę. W chwili obecnej jestem już po kilkunastu godzinach grania i zaczynam się przyzwyczajać do nowego joya. I powiem szczerze, z każdą godziną jestem coraz bardziej zadowolony

.

Co mnie skłoniło do zbudowania joysticka opartego na tym układzie?
Patrząc się na przeszłość moich joysticków można odnieść wrażenie że z każdym nowym modelem było gorzej – zaczynałem od magnum, potem windstorm (bo zachciało się USB) potem Logitech Wingman Force 3D (bo zachciało się forsa :570: ).

Ano grając pewnego razu online z jakimś ruskiem (ja na Hurrym, on na 109 chyba F4) zauważyłem że kilka razy pod rząd gościu zapalał mi silnik salwą ok. 5 pocisków. Tymczasem ja, grający wynalazkiem Logitecha nie miałem możliwości precyzyjnego przycelowania, nie mówiąc już o mierzeniu w pilota czy silnik. Wyglądało więc to tak, że po prostu czekałem aż odpowiedni fragment jego 109 wejdzie mi w celownik. Postanowiłem więc wywalić ten szmelc i zbudować precyzyjny joystick o 10-bitowych osiach. Jako układ wybrałem polecany na ruskich forach patent Mindaugas Milasauskas’a (korespondencji z autorem nie polecam – na pytania techniczne po 2 miesiącach przychodzi odpowiedź „sorry, don’t know”

)
Układ na pierwszy rzut oka wydaje się skomplikowany – ale gwarantuję że każdy może go zbudować. Co zyskujemy – 6 osi (X, Y, Throttle i Rudder 10 bitowe, Slider i Dial po 8 bit) 24 przyciski, HAT (ośmiopozycyjny, 4-o przyciskowy). Elektronika ograniczona jest do minimum w wersji podstawowej, a w wersji 1.4 (polecanej przeze mnie) różni się nieznacznie.
Schemat wersji 1.4 (czyli mojej

)
http://www.mindaugas.com/projects/MJoy/Schematics/1/4/MJoy_Schematic_v1.4.pdf (z tego co pamiętam to HAT wcale nie mieści się tam gdzie jest zaznaczony kwadracik, ale pod przyciskami D27, D28, D29, D30)

W drążku sterowym wykorzystałem jedynie połączenie PB3 dla 6 przycisków i PD7 dla HAT’a. W rękojeści znajduje się niewykorzystane połączenie PB4, zatem ilość przycisków pod kciukiem można rozszerzyć o kolejne 8 (tylko po jakiego grzyba :566: ).
Kwestia potencjometrów – autor zaleca 10 kiloomowe i przy takich pozostałem. Wersja 1.4 posiada wbudowaną autokalibrację, która działa perfekt, jeśli wykorzystujemy cały zakres potu – to znaczy 270 stopni. Nie zastosowałem przekładni (specem od tego rozwiązania jest kolega Boczek – zainteresowanych odsyłam do niego) i wykorzystuję ok. 100 stopni zakresu. Wówczas trzeba joystick skalibrować. Jest to jednak kalibracja typu „zrób i zapomnij”. Początkowo gdy podpięte miałem jedynie 3 osie, widoczne były lekkie drgania kursora kontrolnego. Po podpięciu dwóch kolejnych drganie ustąpiło. Jest płynne i co najważniejsze precyzyjne. Duże znaczenie ma tu też „ground” – w wersji zaawansowanej ATMega 16-16, Mindaugas zaleca podpięcie układu scalonego do metalowej płyty.
Wiem że mój joystick wygląda surowo i kanciasto („kanciak” buhahaha

). Wielkość obudowy jest wynikiem mojego błędnego założenia na samym początku – już przy budowaniu układu elektronicznego i mechanizmu. Swoją drogą może się mylę, ale uważam że im mniejszy mechanizm tym mniej precyzyjny i po prostu mniej odporny na uszkodzenia mechaniczne. Nie korzystałem zresztą ze stali ani łożysk – mój warsztat był bardzo ograniczony, a o czymś takim jak tokarka, w ogóle nie było mowy.
Mechanika jest bardzo prosta, trochę wzorowałem się na magnum – tak czy owak – mechanizm przytwierdzony jest do podstawy na 4 punktach, a nie jak w innych domowych konstrukcjach na dwóch.

Przymierzając się do projektowania mechanizmu powstało pytanie którą drogą pójść – długi drążek czy szerokie wychyły. Niestety jak już wspominałem – nie mam dostępu do możliwości obróbki stali. Przy joysticku z długim wolantem na mechanizm przenoszone są baaaardzo duże siły nacisku – nie ma mowy o innych materiałach jak brąz lub stal (łożyska zalecane). Mając do dyspozycji jedynie blachę mosiężną grubości 1mm (składałem części z dwóch warstw) wybrałem opcję z szerokim zakresem wychyłów. Przyznam się, że na początku przesadziłem - zakres między punktami skrajnymi sięgał prawie 120 stopni, co po prostu najnormalniej w świecie męczyło i utrudniało szybkie reagowanie. Zmniejszyłem ten zakres do ok. 100 stopni. W takiej postaci najbardziej mi spasował i przy takim już pozostałem. Zapewnia bardzo dużą precyzję, o którą mi przy tej konstrukcji najbardziej chodziło.
Gdy wszystko było gotowe, zastanawiałem się w jaki sposób przymocować sprężyny centrujące. Jednakże po kilkunastu dniach grania przyzwyczaiłem się do mechanizmu bez sprężyn. Przy dużych wychyłach nie ma problemu w znalezieniu centrum.
Kwestia podwójnego spustu pojawiła się w ostatniej chwili – jednak szybko się przyzwyczaiłem i uważam to rozwiązanie za trafne. Palcem wskazującym obsługuję każde działko z osobna bądź na raz obydwa.


Przyciski pod kciukiem które miały być bardzo wygodne, okazały się bardzo niewygodne – odwrotnie rzecz się ma z HAT’em. Znowu kwestia przyzwyczajenia.

Te pokrętła to prowizorka, które jednak tak mi spasowały że chyba już tak zostanie. Mam tu regulację ciągu, orczyka i skoku śmigła. Jakiś rok temu pracowałem nad analogową przepustnicą – być może w przyszłości połączę ją z moim joyem przeprowadzając tam dwie osie i kolejne 8 przycisków.

Na koniec zamieszczam wyniki testów przeprowadzonych na programiku otrzymanym od Josiva. Jak widać jest dobrze, a nawet b. dobrze (chodzi o zrobienie jak największej ilości okręgów nie dotykających się). Dla porównania test Sajtka X52.



X52:
Lista części niezbędnych do zbudowania wersji 1.4http://www.mindaugas.com/projects/MJoy/Schematics/1/4/PartsList_v1.4.htmCennik w przeciętnym sklepie elektronicznym:
Mikrokontroler ATMega 8-16PI – 24 zł (uwaga na wersję ATMega8-16AI – ma wielkość 5mm x 5mm i nie nadaje się do lutowania w warunkach domowych)
Kwarc 12.000 MHz - 1,80 zł
Diody zenera 1,3W 3v3 – 0,50 zł (2 sztuki)
Rezystor 0,25W – 0,09 zł (2 sztuki)
Rezystor 0,5W – 0,31 zł (6 sztuk) – wartości rezystancji w powyższym linku
Kond. Mon 100n 50V – 0,40 zł (3 sztuki)
Kond. Ceramiczny – 0,20 zł (2 sztuki)
Dławik mocy DLCW-8A-100u 400mA – 0,81 zł (element zbędny:])
10uF/25V kondensator el_105’C – 0,24 zł
Gniazdo USB do druku typu B USB-G – 2,40 zł
Wtyk CANON 25pin DB25P – 1,20 zł
Laminat – płytka (np. 150x200 – 3,0dm2 – 5,29 zł)
Kabelek USB – 8,00 zł
Razem z gniazdkami BLS-3pin ML03s (ilość wedle uznania) – w/w elementy wychodzą coś koło 45 zł. Do tego doliczamy 6 potencjometrów 10 k.Ohm o charakterystyce liniowej. (po 3,50 zł)
Przyciski według uznania i upodobania – te które użyłem jako podwójny spust kosztowały po 1,50 zł każdy. Mikroprzyciski są w cenie ok. 30 gr.
Oczywiście ceny mogą się różnić i to bardzo - jednak nie kupuję w internecie.
Aby wszystko zadziałało za pierwszym razem , należy elektronikę zaprogramować dzięki osobnemu banalnemu w konstrukcji urządzeniu.

Dokładne dane dotyczące programatora i kolejności programowania joya:
http://www.mindaugas.com/projects/MJoy/Programmer.phpNieodległa przyszłość, czyli zaawansowana wersja układu – ATMega 16-16 (mój plan na rok 2006;))
http://www.mindaugas.com/projects/MJoy16/http://www.mindaugas.com/products/MJoy16-C1/MJoy16-C1%20Users%20Manual_v1.1.ziptutaj możliwości będą już kosmiczne:
- 64 pushbuttons support
- 16 double-action toggle switches support
- 4 double-action rotary switches support for convenient frequency control
- 1 8-position hatswitch
- 2 controls mapping modes
- Axes centering disabling possibility ( osiem osi 10-bitowych !!! )
- Auto calibration
- Additional support options for multiple MJoy16-C1 controllers on one computer
Na koniec dzięki wielkie dla Boczka i Sundownera, których często zasypywałem pytaniami na gg

.
Podsumowując – gorąco namawiam do budowania własnych konstrukcji. Daje to niesamowitą satysfakcję. A przy odrobinie zapału jesteśmy w stanie zbudować kontroler o niebo lepszy od Sajtków, Logitechów i Sidewinderów.
Pozdrawiam.