Do osób tutaj bawiących się oprogramowaniem Mjoya i tworzeniem do niego peryferiów, mam pytanie - czy w ogóle w simach możemy realnie wykorzystać więcej niż 10bit sygnał jaki on daje, czy przypadkiem sam Microsoft Direct Input nie obcina danych do 10 bit długości ?
ELEVATOR POSITION Percent elevator input deflection Position (-16K to 0) -16K = full down
Co do sprawdzania rozdzielczości joystick'a w Windows'ie, some1 napisał kiedyś programik do tego -> http://www.il2forum.pl/index.php?topic=11825.0 (http://www.il2forum.pl/%7Eapacz/smf/index.php?topic=11825.0) W tym wątku zobaczyć można, że Thrustmaster HOTAS Cougar ma rozdzielczość 15 bitów :) Więc widać, że można to osiągnąć. Jeśli sim to wykorzysta to chyba jest sens gonić królika :) Ale sim musi to wykorzystać. Moja posiadana wiedza nie pozwala na pomoc w takim projekcie ale kibicuje. Wiele osób na tym forum posiada odpowiednią wiedzę aby pomóc, poradzić itd.
Co do tego że Cougar ma taką precyzję, to nie do końca musi być tak. To jest tylko oszacowanie na podstawie najmniejszej różnicy pomiędzy wartościami zwracanymi z joysticka. Więc na przykład joy w pewnym punkcie jest bardziej precyzyjny, ale niekoniecznie w pełnym zakresie ruchu. Dla przykładu na osiach które teoretycznie mają 256 punktów, uzyskuję tylko około 240 unikalnych wartości.Zastanawiałem się właśnie nad tym, czy może lepiej zbierać próbki (kolejne położenia) a później obliczyć średnią różnicę pomiędzy kolejnymi położeniami (to wymaga jednak wolnego i równomiernego ruchu wajchą), później "rozpiętość" pozycji (obliczona na podstawie minimalnej zgłoszonej pozycji i maksymalnej) podzielić przez tą średnią. Wyjdzie mniej więcej rozdzielczość joystick'a - chyba że w moim rozumowaniu jest jakiś błąd.
Wiele osób na tym forum posiada odpowiednią wiedzę aby pomóc, poradzić itd.Hihi, tylko jakoś nie widzę tutaj żadnego praktykującego inżyniera mechaniki i budowy maszyn... a np przydałby się ktoś kto wie jak wyliczyć przekładnię planetarną w tak ograniczonej przestrzeni ;)
Na razie problemy są akademickie i kombinuje od kilku dni nad różnymi rozwiązaniami technicznymi i myślę, że zasadę działania podstawowych komponentów już rozgryzłem, teraz kwestia zaprojektowania tego żeby się kupy trzymało i nie kosztowało fortuny w wytworzeniu prototypów.Projekt zaczął rosnąć i rosnąć i rosnąć... aż zaczął ważyć 15kg. Od weekendu siedzę jak Tony Stark zaczynający nowy projekt pancerza - wyrzucając wszystko co jest zbędne ze starego :D
w granicznych pozycjach wychylenia siła na drążku nie będzie się tobie w zasadzie zmieniać bo masa samej wajchy bez dostatecznej siły przeciwnej "prostującej" będzie działać w tą sama stronę co i twoja łapa.
Możesz wyjaśnić co dokładnie dzieje się z punktem zamocowania sprężyn?Punkt mocowania każdej sprężyny (bądź zespołu) jest obracany wokoło osi joysticka, przez co punkt równowagi jest zmienny i w pełni sterowalny - ale to dodatkowo wymaga dobrego wyważenia całego joysticka, ze środkiem ciężkości zespołu ruchomego wypadającym na przecięciu osi obrotu. Taki układ też i może działać jak forcefeedback jaki znamy z komercyjnych joysticków - wszystko jest kwestią oprogramowania.
Dasz radę na takiej przekładni śrubowej skasować luz?Przekładnia śrubowa jest wykorzystywana w obrabiarkach właśnie z powodu bardzo prostego sposobu kasowania luzów na niej - wykorzystania innej geometrii zęba z jego jednej i drugiej strony:
EGHI pytał o czujnik:Dzięki, jestem ciekaw czy są podobne do tych które kupiłem od Leo Bodnar: http://www.leobodnar.com/
ALLEGRO A3516 jeszcze do niedawna do zdobycia w elfie, w chwili obecnej nie wiem kto tym handluje, ale zainteresowani sobie poradzą, dokumentacja bez problemu - pdf w google.
trochę czasu poszło na inne tematy związane z kokpitemModers czy możesz coś powiedziec na temat Twojego kokpitu?Może jakieś zdjęcie.
Częścią wskaźników już potrafię sterować, a resztę na tyle rozgryzłem że jestem pewien że się to uda po większej lub mniejszej walce.To mnie najbardziej intryguje.Ja robię swój kokpit pod dane z symulatora konkretnie Falcona.Natomiast na forum viperpits jest kilku informatyków,którzy potrafią zrobić elektronikę do prawdziwych paneli lub wskaźnikow i to zintegrować z wspomnianym symulatorem.Jak to robią to jest ich tajemnicą,ale to działa.Na rynku amerykańskim można kupić niektóre oryginalne panele lub wskaźniki,ale nie można ich przewieźć za granicę.
Zaniepokoiła mnie wymiana postów na temat luzów, siadłem więc i pomierzyłem te luzy na przekładniach, żeby mieć pewność i nie pisać "że mi się wydaje". I wychodzi po przeniesieniu na rączkę po 0,7mm w każdą stronę.Zależy jak dokładnie przenoszone są obciążenia, to u nas te luzy nie maja wpływu na precyzje samego joysticka, bo ten z czujnikiem jest połączony bezpośrednio. Problemem jest tylko odczuwalny skok oporu na drążku. Mam to u siebie w tej chwili, bo o ile zakresu pomiaru wychyleń drąga mogę spokojnie mieć 16 bitów (65535 pozycji) to już nastaw układu centrującego tyle raczej nie, bo to oznaczałoby układ sterujący z precyzją do 0,0003°, a to mniej niż o ile się wszystko będzie wyginać :121:
Jak myślicie, malować drąga czy zostawić "ślady mocnej eksploatacji"?
Osobiście bym zostawił. Dodają smaczku :). Wygląda rewelacyjnie.
Świetnie, a już się obawiałem, że projekt sobie odpuściłeś ;)
Ja teraz akurat eksperymentuję z MDFem i sposobami jego impregnacji - pod projekt orczyka DIY :121:
Moders - szacun, drąg pierwsza klasa
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
- 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!
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.
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".
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:
...zrobienie przełożenia (...) wnosi luzy lub znaczną komplikację konstrukcji.Niekoniecznie.
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.Ale wtedy wyrzucamy przez okno podstawową zaletę tych czujników - ich liniowość.
Ale wtedy wyrzucamy przez okno podstawową zaletę tych czujników - ich liniowość.I tu..... niestety masz rację. Sprawdziłem w moich halach obszar liniowy to będzie jakieś 8bitów :021:
czujnik proponowany przez Ciebie (AS5045). Diabelnie ciekawy. Daj znać jak go przetestujesz.Czujniki już dotarły. Sam jestem ciekaw, jak to wyjdzie.
wada jest taka, że jest to SSI (ale o tym kiedy indziej o ile będzie ktoś ciekawy).SSI? Interface Stegmanna? Napięcia różnicowe jak w ethernecie? :500: Pewnie jeszcze izolacja optyczna? Ja dziękuje. Nam wystarczą przewody 1m a tam I2C/TWI powinno zadziałać.
Czyli porównywalnie z halem a drożej.Cena porównywalna, odporność na zakłócenia większa, wewnętrzna kompensacja i interface cyfrowy - IMHO gra warta świeczki..
Skoro rozmawiamy o czujnikach to tytułem ciekawostki::118: Rozmawialiśmy o tym z Sundownerem kilka dni temu :) Enkodery optyczne nie mają (prawie) driftu temperaturowego i w dodatku są odporne na ścieranie :joy . Niestety - cena zabija.
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 (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.
SSI? Interface Stegmanna? Napięcia różnicowe jak w ethernecie? :500: Pewnie jeszcze izolacja optyczna? Ja dziękuje. Nam wystarczą przewody 1m a tam I2C/TWI powinno zadziałać.Komunikacja różnicowa jak RS422 na przykład. Ja używam „służbowo” do odczytu SSI układów MAX490 (zamiana poziomów) i uP lub FPGA (transmisja). Izolacja optyczna przydaje się w układach przemysłowych, tu przy takich zastosowaniach nie ma co się tym przejmować.
Cena porównywalna, odporność na zakłócenia większa, wewnętrzna kompensacja i interface cyfrowy - IMHO gra warta świeczki..Układ jest naprawdę interesujący. Trzymam kciuki żeby to była rewelacja.
Niestety - cena zabija.To była tylko ciekawostka, ale fakt, że jakbym miał takie dwa enkodery to byłbym szczęśliwy...
W przekładni sensora akurat mogę sobie po prostu obciążyć ostatni stopień momentem tak, że zęby wszystkich stopni będą zawsze w kontakcieNa takiej zasadzie miał u mnie właśnie układ centrujący pomagać w usuwaniu luzu układu FF. Miał ściągać drąga (czyli ostatnie koło zębate) w stronę środka i wybierać luz FF. Niestety okazało się, że przy przełożeniu 150 ma za małą moc. Żeby pokonać opory przekładni "od tyłu" i ruszyć koła przy silniku to sprężyna musiałby być silna jak diabli. Gdyby przełożenie było mniejsze to by mi to pewnie tak działało.
Temat dokładności tak mnie zainteresował, że postanowiłem bliżej przyjrzeć się swoim czujnikom Hall'a - A1321.
Pomiar wykonywałem z pozycji centralnej (0o) do maksymalnego wychylenia (25o) - z braku czasu tylko jedna strona i jedna oś.
Odczyt napięcia co jeden stopień wychylenia drążka. Dla mojego joya przy długości ramienia 390mm jest to liniowo 6.7mm (dla długości 200mm - 3.49mm)
http://imageshack.us/photo/my-images/546/a1321.jpg/][IMG]http://img546.imageshack.us/img546/2369/a1321.th.jpg
Na wykresie widać delikatne falowanie (czerwona linia to pomiar, czarna linia to prosta) to zapewne wina dokładności pomiaru i miernika (0.01V).
Jest też drobna nieliniowość w pobliżu skrajnych położeń, to może być wina zbyt dużego wychyłu (25o) (może przy 20o wykres byłby bardziej liniowy). Generalnie nie bardzo jest się do czego doczepić.
Teraz wnioski:
Ze względu na nieliniowość, dokładność pozycjonowania jest najmniejsza w centrum (0-1o) i wynosi 0.125o, co daje liniowo dla 390mm - 0,837mm, a dla 200mm - 0,436mm (przypominam, że mój miernik mierzy tylko do 0.01V, więc rzeczywista dokładność będzie większa - pytanie o ile?).
Średnio dokładność pozycjonowania wynosi - 0,1o, co daje liniowo dla 390mm - 0,67mm, a dla 200mm - 0,349mm.
Szkoda że nie mam lepszego miernika, bo miałbym bardziej konkretne wyniki ale i tak jestem zaskoczony dokładnością jaką dają czujniki Hall'a.
Nie jest to kosmos, ale poruszenie 20cm joyem o 0.35mm już jest rejestrowane, a z pewnością może być jeszcze dokładniej i to w czujnikach za ok 10zł/szt.
Muszę pożyczyć lepszy miernik :020:
Minęło prawie 24 godziny od tego posta i zero reakcji? Wszystkich fachowców i takich jak ja (amatorów) zatkało?Thrustmaster, Saitek, Logitech, robią elementy masowo, minimalnym możliwym kosztem. Jak wiesz, co robisz, to z drewna możesz lepiej wystrugać :121:
Facet zrobił cudo z dokładnością 1/100mm i nikt nie raczy napisać, że takie firmy jak np. Thrustmaster do pięt nie dorastają? :)
Okazało się, że rowek w wałku jest o 7/100mm większy od wpustu. Poprosiłem kolegę o wykonanie wpustu na wymiar. Muszę przyznać, że byłem pod wrażeniem, bo kolega wykonał mi nowy z wpust z dokładnością co do 1/100mm. Wpust musiałem wbijać w wałek młotkiem. Na wszelki wypadek w rowek dałem trochę "638". Niestety pojawił się następny problem. Rowek w piaście zębatki był o 7/100mm za wąski w stosunku do wpustu.
Udało mi się pożyczyć lepszy miernik i przeprowadzić bardziej dokładne pomiary.Czy ktoś skomentował gdzieś te wyniki?
Tym razem ramię joystika miało 1000mm a podziałka pomiarowa 0.1o (liniowo 1.75mm).
Dokładne pomiary (w podziałce 0.1o) wykonałem tylko w zakresie od 0 do 2o (ze względu na małą nieliniowość zakres o najmniejszej dokładności), mniej dokładne co 1o do 10o.
Zmiana napięcia co 0.1o na podziałce wynosi 0.011V, ale przesuwając ramię "o włos" (0.16mm) można zmieniać wartości o 0.001V na mierniku.
Wychodzi więc na to, że można podzielić 0.1o jeszcze na 11 podziałek czyli odczyt z dokładnością 0.009o. Podobnie jest w zakresie 2-10o.
Przedstawiając to obrazowo, na ramieniu joysticka o długości 20cm wychylenie o 0.009o - 0.0315mm liniowo, powoduje zmianę napięcia w czujniku o 1mV.
Niestety, nie mam fizycznie możliwości aby sprawdzić dokładnie czujnik na tak małej podziałce, po pomiarach co 0.1o jeszcze mnie bolą oczy :003:
Nie wiem czy w powyższych rozważaniach i pomiarze nie ma błędu logicznego, ale wychodzi na to, że czujnik Hall'a Allegro A1321 ma rozdzielczość 0.009o. Czy to możliwe?
Nie cytujemy obrazków. Mazak.