Autor Wątek: Joystick USB - wersja profi  (Przeczytany 10116 razy)

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

Odp: Joystick USB - wersja profi
« Odpowiedź #30 dnia: Grudnia 24, 2016, 13:34:12 »
Zacząłem od zaprojektowania płytki modułu zewnętrznego, dostał nazwę "Copilot" :)
Wymiarami będzie kompatybilna z płytką w drążku Cougara:




Procesor posiada wbudowane dwa wzmacniacze operacyjne, wykorzystałem je i dwie z czterech osi dostały uproszczone wzmacniacze - tylko wzmocnienie i regulacja zera.

Pełne SPI + zasilanie to 6 linii, ale na ten czas nie wykorzystuję linii MOSI do komunikacji, więc zadziała również z oryginalnymi wtykami/gniazdami Cougara (5 linii).
STATUS LED informował będzie o prawidłowym połączeniu z bazą i pomoże zdiagnozować ewentualne problemy.
Prototypy już jadą z OSHPark.

Zastanawiam się czy w płytce bazowej nie dodać jakiejś uruchamianej zworką opcji diagnostycznej typu wysyłanie raportu o stanie wszystkich wejść np. przez UART. Chodzi mi głównie o sytuacje, gdy podłączając cały system kokpitu nie bardzo chce nam się latać co chwilę do komputera (albo go nawet nie mamy pod ręką, bo sprzęt jest budowany na warsztacie) i patrzeć, czy podłączony akurat przycisk, przełącznik, czy oś działa, czy numer wejścia jest właściwy itd.
Do UARTa można podpiąć tani moduł bluetooth i podglądać sobie cały system np. na telefonie z aplikacją terminala.

Odp: Joystick USB - wersja profi
« Odpowiedź #31 dnia: Grudnia 25, 2016, 02:02:28 »
Hehe... Już miałem pisać: Proszę o wymiary płytki, ale na szczęście przewinąłem na drugi obrazek :-) To teraz mogę dokończyć projektowanie gripa :-)

Odp: Joystick USB - wersja profi
« Odpowiedź #32 dnia: Grudnia 25, 2016, 04:39:57 »
Z opisu wynika, że moduł Copilot będzie połączony z baza przez 6 pin SPI oraz realizuje 2 HAT, 4 analogi oraz 32 przyciski. Czy do SWD będzie połączony moduł bluetooth do kontroli działania Copilota.  Po lewej stronie są 4 piny w ramce czy to jest masa.

Odp: Joystick USB - wersja profi
« Odpowiedź #33 dnia: Grudnia 25, 2016, 14:50:18 »
SWD to wejście programatora, układ oparty jest na mikrokontolerze, który trzeba również zaprogramować. To jedyne wejście o rastrze 2.54mm, bo takie akurat jest wyjście prgramatora. Reszta złącz to raster 2mm.
Moduł UART/Bluetooth do diagnostyki podłączany będzie do złącza UART w płytce bazowej (VCC,GND,TX,RX). Baza odczytuje dane z Copilota i wysyła raport całego systemu, od razu pokazując czy komunikacja działa prawidłowo.
Rząd 5 pinów po lewej to wszystko masa.

Odp: Joystick USB - wersja profi
« Odpowiedź #34 dnia: Grudnia 25, 2016, 16:48:39 »
Dzięki za wyjaśnienia, faktycznie zapomniałem o programowaniu.

Odp: Joystick USB - wersja profi
« Odpowiedź #35 dnia: Stycznia 08, 2017, 20:50:28 »
Lutowanie poszło nawet całkiem nieźle (pasta+topnik w żelu+gorące powietrze):



Odp: Joystick USB - wersja profi
« Odpowiedź #36 dnia: Stycznia 09, 2017, 05:11:26 »
Gratulacje.

Odp: Joystick USB - wersja profi
« Odpowiedź #37 dnia: Stycznia 23, 2017, 11:03:30 »
Pierwsza wersja płytki bazy właśnie przyjechała. Mam nadzieję, że nie strzeliłem jakiegoś błędu. Ma rozmiar 80x100mm i wygląda tak:




Gwoli wyjaśnienia, jedna baza może współpracować tylko z jednym modułem zewnętrznym. System modularny typu baza + ileś tam modułów zewnętrznych skomplikowałby sprawę na tyle, że nie wiem ile czasu zajęłoby mi jego zaprojektownie i napisanie całego softu.

Z nowości od odstatniego postu, wpadłem na pomysł, żeby dodać obsługę matrycy przycisków w przepustnicy Cougara (zworka Cougar Throttle). Tym samym możliwe będzie zastąpienie całej elektroniki Cougara jednym zestawem baza+moduł. Z jednym "ale": elektronika nie będzie kompatybilna z programem Target.

Płytkę starałem się zaprojektować w dość uniwersalny sposób. Gniazdo USB jest typu B, to duże i chyba najbardziej trwałe. Z drugiej strony, opcja montażu PCB przy ściance obudowy nie zawsze może być dostępna, dlatego USB dostępne jest też na dodatkowych pinach do których można podłączyć kabel z gniazdem montowanym już w docelowym miejscu.

Opcje zasilania są dwie:
  • USB - znajdzie zastosowanie przy budowie joysticków, albo podmianie orygnalnej elektroniki, jak w przypadku Cougara.
  • Zewnętrzny zasilacz 7-12VDC - które generalnie i tak bym polecał jeśli jeden dodatkowy kabel nie będzie wielkim problemem. Zasilacz dostarczy o wiele czystsze napięcie niż to podane przez USB z komputera.
Wyboru dokonuje się zworką.

Kolejna drobnostka to małe białe pola obok wejść dla osi i HATów. Można sobie tam mazaczkiem wpisać własne oznaczenia, które ułatwią identyfikację.

I2C wyprowadzone jest na dodatkowym złączu jako furtka dla ewentualnych rozszerzeń.

System ID to zworka, która ustawia nazwę wykrytego urządzenia USB HID - ułatwi identyfikację gdy w systemie będzie kilka urządzeń tego typu.

CoPILOT mode ustawia tryb obsługi modułu zewnętrznego: domyślny, czyli dodatkowy joystick lub oryginalna płytka Cougara z rejestrami 4021.

UART Report to wspomniana wcześniej opcja monitorowania stanu wejść przez UART.

STATUS to LED, który będzie informował o stanie urządzenia. Miał być SMD, ale w końcu zmieniłem go na klasyczny przewlekany - czasem zajdzie potrzeba zamontowania LEDa gdzieś w obudowie w dobrze widocznym miejscu.

BTN to dodatkowy przycisk, który narazie nie pełni żadnej funkcji. Może się przydać w przyszłości.

Odp: Joystick USB - wersja profi
« Odpowiedź #38 dnia: Stycznia 23, 2017, 13:43:53 »
Płyta wygląda  imponująco. Na tym etapie nie chcę wchodzić w szczegóły, ponieważ wyjdzie to w praktycznych testach. Chciałbym się odnieść do tego fragmentu:
 
Cytuj
Tym samym możliwe będzie zastąpienie całej elektroniki Cougara jednym zestawem baza+moduł.
Wiem, że masz Cougara i będzie możliwość jego testu z Twoim projektem. Z tego co pamiętam to faktycznie powinno wystarczyć Hatów oraz osi analogowych. Targetem oraz Foxy nie ma co się przejmować, ponieważ takie było założenie projektu. Musimy zrezygnować z modów, ale nie każdy z tego korzysta.
Na koniec pytanie związane z ID. Z opisu na płytce wynika , że można podłączyć 4 płyty główne A-C zwierając odpowiednie punkty 6 pin (SYSTEM ID).   

Odp: Joystick USB - wersja profi
« Odpowiedź #39 dnia: Stycznia 23, 2017, 14:05:52 »
SystemID zmienia tylko nazwę pod jaką urządzenie pojawi się w windows po podłączeniu do USB, np. JoystickA, JoystickB, ...C itd.
Ma to być lekarstwem na jedną z wad joysticków na Arduino - wszystkie pojawiają się pod taką samą nazwą w systemie, co wprowadza zamieszanie przy przypisywaniu osi i przycisków.

sunrrrise

  • Gość
Odp: Joystick USB - wersja profi
« Odpowiedź #40 dnia: Stycznia 23, 2017, 14:25:07 »
O matko, jak powiedział Vito - wygląda to imponująco. Po cichu śledzę ten wątek i trzymam kciuki za realizację.

Jedno pytanie: będzie możliwość zamówienia, odpłatnie oczywiście, gotowego polutowanego zestawu, takiego plug&play?

Odp: Joystick USB - wersja profi
« Odpowiedź #41 dnia: Stycznia 23, 2017, 20:08:23 »
Dzięki za wyjaśnienie, faktycznie jeśli jest kilka sterowników to musi być możliwość ich identyfikacji. Tak jest np. w DMKeys8, gdzie można zmieniać ID oraz nazwę.

Odp: Joystick USB - wersja profi
« Odpowiedź #42 dnia: Stycznia 23, 2017, 22:50:02 »
Dla mnie to co robicie to i tak czarna magia :) , ale widzę że robota świetna, pełna profeska.
Latamy dzisiaj?

Oficer polityczny Padi-Van. (Prostak-1)

Odp: Joystick USB - wersja profi
« Odpowiedź #43 dnia: Stycznia 24, 2017, 23:15:13 »
Cały czas czekam na każdą informację o progresie :-) I każdy post mnie cieszy :-)

Odp: Joystick USB - wersja profi
« Odpowiedź #44 dnia: Stycznia 25, 2017, 10:15:19 »
Udało mi się polutować jedną płytkę, jeszcze nie uruchamiałem.




Jeśli wszystko będzie działać w porządku, pozostanie mi "tylko" dopisać resztę softu i dopracować masę szczególików, na które zawsze można liczyć ;)

Przy okazji, gdyby ktoś chciał sobie zbudować wzmacniacze do osi analogowych, to projekt dostępny jest tutaj.