Autor Wątek: Zagadnienia konstrukcji joysticka  (Przeczytany 51023 razy)

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

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #75 dnia: Listopada 04, 2011, 11:08:42 »
np. Allegro A1302, na wyjściu mamy ładną charakterystykę liniową, ale zakres zmiany napięć to 1,8V do 3,3V, co ogranicza możliwości uC, obcinając 2/3 zakresu

Nie wiem czy to wniesie coś znaczącego do rozważań ale ja mam zamontowane Allegro A1321. Pracują na napięciu 4.5V min-5.5V max, dokładność 5mV/G. Po odpowiednim dobraniu odległości czujnika od magnesu, maksymalne wychylenie osi daje napięcia bliskie 0V a w drugą stronę bliskie 5V, centrum ustawione mam na 2.5V).

- najpewniejszy bezkontaktowy sensor – enkoder magnetyczny, któryś z 12-bit serii czujników firmy Austriamicrosystems,  0,088° dokładności, sygnał wyjściowy – cyfrowy, mało wrażliwy na pola magnetyczne inne niż magnes który mierzy itp. itd. Dodatkowy plus, np. w wypadku sensora AS5045 – to enkoder absolutny, joystick nie wymagałby kalibracji!

Brzmi to nieźle. Czy jest jakaś orientacyjna cena?

Offline Sundowner

  • *
  • Chasing the sunset
Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #76 dnia: Listopada 04, 2011, 11:22:14 »
$7.28 przy zakupie tysiąca sztuk od producenta ;)
$13.44 przy zamawianiu detalicznym, dostępne na DigiKey.com, TME.pl też sprowadza komponenty tego producenta.


Allegro A1321 nie sprawdzałem, bo już nie jest produkowany.

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #77 dnia: Listopada 04, 2011, 11:41:48 »
A1321 są dostępne na stronie Farnell
Wg Allegro A1321 ma nowy zamiennik A1324. Ale na Farnell ich nie ma.
 Recommended Substitutions:
A1321
Currently available next generation replacement parts are available:
• for the A1321EUA-T and the A1321LUA-T use the A1324LUA-T
• for the A1321ELHLT-T and the A1321LLHLT-T use the A1324LLHLX-T

Jakbyś reflektował to mogę ci podesłać sztukę do testów, bo kupiłem ich 10.

Offline Sundowner

  • *
  • Chasing the sunset
Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #78 dnia: Listopada 04, 2011, 12:44:11 »
Czemu nie, jednakże 1321 jako już nie produkowane i coraz trudniej dostępne, więc niespecjalnie widzę potrzebę sobie nimi głowy zaprzątania. Swoją drogą ich zastępstwo też dostać ciężko ;)

Offline vowthyn

  • *
  • dziecko RoF'a
Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #79 dnia: Listopada 04, 2011, 13:18:14 »
Początkowo pamiętamy zmiany praktycznie binarne, albo 0V, albo 5V, gdy joysticki były analogowe i sensorem był po prostu mikroprzełącznik,
Chciałeś zapewne napisać cyfrowe.

Offline Sundowner

  • *
  • Chasing the sunset
Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #80 dnia: Listopada 04, 2011, 13:31:16 »
Tak, dzięki, poprawiłem.

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #81 dnia: Listopada 04, 2011, 14:23:39 »
Kości Austriamicrosystems, które Sun zamówił są o tyle interesujące, że komunikacja z nimi odbywa się już cyfrowo. Znaczy to, że cała część analogowa (układ ADC, wzmacniacze itp.) jest wbudowana w kość. Oznacza to wbudowaną kompensację driftu temperaturowego i wiele innych plusów. Dodatkowo długość kabli od czujnika do płytki nie ma wpływu na jakość i stabilność pomiarów.

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #82 dnia: Listopada 04, 2011, 14:43:57 »
A jak wyglądałaby współpraca tych kości z MJoy'em, jest to w ogóle możliwe?

Offline Sundowner

  • *
  • Chasing the sunset
Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #83 dnia: Listopada 04, 2011, 14:50:54 »
Trzeba by przeprogramować uC Mjoya (ktoś ma kod źródłowy ?), albo wstawić układ D/A.


Oba rozwiązania raczej nie warte zachodu, w porównaniu z możliwościami jakie będzie dawał DMJoy.


Jest jeszcze opcja wyjścia analogowego sensora... ale wtedy jego zastosowanie mija się z celem.

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #84 dnia: Listopada 04, 2011, 14:52:57 »
Damos projektuje nowy DMJoy, który będzie współpracował z wspomnianym prototypem.

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #85 dnia: Listopada 04, 2011, 14:59:28 »
Wiem, wiem śledzę pracę nad DMJoy'em.
Proponowałem kiedyś Damosowi nawet skrzyneczkę Budweiser'a aby wspomóc development ale nie odpowiedział. Może tym razem się skusi?  :020:
Swoją drogą jeśli Damos ukończy DMJoy'a to IMHO powinien zostać milionerem  :021:

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #86 dnia: Listopada 04, 2011, 15:20:27 »
Trzeba by przeprogramować uC Mjoya (ktoś ma kod źródłowy ?), albo wstawić układ D/A.
Nikt nie ma źródeł MJoya dla ATmega16, ponieważ nie zostały nigdy opublikowane. Mam(miałem?) źródła MJoya dla ATmega8 i stąd wiem co nieco o jego "bebechach".


Przed DMJoyem muszę skończyć DMkeys, ostatnio znalazłem na to kilka godzin i prace są bliskie ukończenia.
DMJoy będzie mniej skomplikowany ze względu na brak złożonego mappera. W momencie ukończenia DMkeys DMJoy będzie gotowy w 95%.


Dla chętnych do pomocy - jeszcze nie analizowałem zagadnienia interface'u do kalibracji osi analogowych - jeśli ktoś ma pomysły lub życzenia - proszę o sugestie :)

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #87 dnia: Listopada 04, 2011, 21:10:59 »
Dla chętnych do pomocy - jeszcze nie analizowałem zagadnienia interface'u do kalibracji osi analogowych - jeśli ktoś ma pomysły lub życzenia - proszę o sugestie :)
Jakiś trim, kalibracja centrum i martwa strefa może być bardzo przydatna. Coś w tym stylu:





Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #88 dnia: Listopada 05, 2011, 01:04:52 »
Myślałem raczej o sposobie zrealizowania kalibracji.

  • Czy ma być ciągła, czy jednorazowa (jednorazowa = wyzwalana w jakiś sposób przez usera) ?
  • Jeśli jednorazowa (wyzwalana przez usera) - to w jaki sposób wyzwalana? Dać osobny przycisk sprzętowy?
  • Jeśli ciągła - to wystarczy uruchomić Joy'a, poruszać we wszystkie strony a on sam znajdzie min i max oraz środek dla każdej z osi.
  • Czy ma zapamiętywać wewnątrz uC ustawienia dla każdej osi czy polegać na systemie operacyjnym?
  • Jaki algorytm autokalibracji zastosować?
  • Czy wymagać ustawienia joy'a w pozycji wycentrowanej i wtedy wciskać jakiś przycisk, czy po prostu wyliczać matematyczne max i min a zero umieszczać po środku?
  • Może jednak wymusić wskazanie zera a max i min wyliczać dynamicznie na podstawie największych zanotowanych odczytów?
  • Jednak w takim przypadku - brać pod uwagę wszystkie odczytane wartości, czy stosować filtr cyfrowy? (eliminacja pików)
  • Jeśli stosować filtr to jaki? (nie mamy tam mocnego CPU)
  • bazujący na odpowiednio dużej ilości identycznych odczytów następujących kolejno po sobie, czy uśredniający pewną ilość odczytów?
  • Czy umożliwić software'owe ustawienie pozycji "0" czy wymagać jej ustawienia za pomocą mikroregulacji mechanicznych?
  • Software'owe ustawianie zera brzmi ciekawie, ale grozi niesymetryczną czułością po obu stronach zera (przykład: zero dla potencjometru ustawionego w 1/3 zakresu: da to po jednej stronie 768 różnych wartości a po drugiej jedynie 256 - razem daje to 1024 więc 10 bitów). Wymuszenie mechanicznego ustawienia  "na środku" spowoduje że po jednej i po drugiej stronie będzie po 512 punktów.
Temat kalibracji wydaje się prosty... na początku :)


Krzywych nie da się umieścić w pamięci najtańszego układu. One będą mogły być dopiero w przypadku korzystania z droższych i większych uC (AT32UC3x).

Odp: Zagadnienia konstrukcji joysticka
« Odpowiedź #89 dnia: Listopada 06, 2011, 15:33:54 »
Ale mnie ciekawa dyskusja ominęła.

Sun, Twoje historyczne zestawienie sensorów i wyliczenia są ok, ale mam małe zastrzeżenia.

Faktycznie przy typowym czujniku typu „jednoobrotowy” i joy’u (zakres ruchu 40°) zrobienie przełożenia daje dodatkowe 3 bity (360°/40°), ale wnosi luzy lub znaczną komplikację konstrukcji. 3 bity to dużo, ale czy to warto? Nie wiem. Tym bardziej, że typowy czujnik Hala ma zalety, które można tu wykorzystać. Taką przekładnią, tyle że magnetyczną a nie mechaniczną, jest pole. Trzeba do czujnika tak dobrać pole z magnesu, żeby przy maksymalnym wychyleniu czujnika (załóżmy 40°) mierzone przez niego pole było równe jego zakresowi. Wtedy wykorzystamy cały zakres czujnika bez przekładni mechanicznej. Ile nam to da? Najlepszy do uzyskania wynik dla moich czujników (A3516) to
4,5V zakresu / 2,5mV czułości = 1800 czyli około 10bitów.
Niestety nie sprawdzałem tego jeszcze doświadczalnie. Ale faktycznie muszę pomyśleć jak to zrobić, będę miał wtedy pewność, że dobrze myślę.

Teraz czujnik proponowany przez Ciebie (AS5045). Diabelnie ciekawy. Daj znać jak go przetestujesz. Na pewno zaletą jest transmisja cyfrowa z czujnika, ale moim zdaniem wada jest taka, że jest to SSI (ale o tym kiedy indziej o ile będzie ktoś ciekawy).

O ile się nie mylę wykrywa on nie wielkość pola, tylko jego kierunek. Czyli przekładnią magnetyczną nic tu nie wskórasz. Ile na nim uzyskasz? Wykorzystasz tylko 40°/360° jego zakresu (jeżeli nie zrobisz przekładni mechanicznej której należy unikać). Tak naprawdę wykorzystasz więc tylko 9 z 12bitów czujnika. Czyli porównywalnie z halem a drożej.

Dajcie znać jak coś pokpiłem.


Skoro rozmawiamy o czujnikach to tytułem ciekawostki:

W pracy wykorzystuje enkodery optyczne 16 bitowe, o takie na przykład:
http://www.posital.com/us/products/POSITAL/AbsoluteEncoders/AbsoluteEncoders_OCD_SSI_base.html
Wykorzystując takie cudo bez przekładni mechanicznej w naszym przypadku uzyskujemy 13 z 16bitów. Precyzja absolutna, ale:
-   do joy’a żadną siłą się tego nie wciśnie,
-   do drążka jest szansa bo jest większy, ale 1500 PLN/sztukę czyni całe przedsięwzięcie kompletnie nieopłacalnym.