Autor Wątek: Mjoy  (Przeczytany 168950 razy)

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

damos

  • Gość
Odp: Mjoy
« Odpowiedź #375 dnia: Marca 10, 2009, 10:03:13 »
Jeszcze jedna prośba o schemat podłączeń układu HCF 4066 - bo widzę, że jest inaczej niż w transoptorach i muszę trochę przeprojektować PCB, bo HCF 4066 ma obudowę DIL 14.
pozdrawiam
Zając
Mówisz_i_masz:

zrobiłem schemat, ale tam nie ma opcji exportu do pliku graficznego, więc masz tu screenshoty:
http://www.damos.k11.pl/LO/encoder/schemat_left.JPG (tam jest złącze ISP)
http://www.damos.k11.pl/LO/encoder/schemat_rightdown.JPG
http://www.damos.k11.pl/LO/encoder/schemat_rightup.JPG

oraz pliki KiCad'a: (ale nie sądzę, byś go używał)
http://www.damos.k11.pl/LO/encoder/v2/

Sorry za pajęczynę, ale było już późno :)
Oczywiście znów odwieczny problem przy niesymetrycznym układzie - jak połączyć który z 4 kluczy w każdym 4066 ze złączem wyjściowym i uP - tam masz naturalnie dowolność ! :)

P.S.
Jak zauważył Vito_zm: kondensatory blokujące na zasilaniu są potrzebne. I to najlepiej osobny na każdego scalaka. Pomyślał bym również nad umożliwieniem wstawienia kondensatorków na przewodach z encoderów (długie przewody mogą indukować sygnał w-cz. i małą pojemność zwierała by go do masy, jednak impulsy z encoderów też są krótkie...) Ja testowo wstawiłem u siebie, ale z braku innych były to 33n i to stanowczo za dużo :) - układ przestawał pracować - więc równie dobrze można o nich zapomnieć i ekranować przewody?

Odp: Mjoy
« Odpowiedź #376 dnia: Marca 10, 2009, 10:33:15 »
33nF całkuje impulsy wejściowe.Myślę,że jeśli będą problemy z długimi przewodami to można użyć przewody 3 żyły w ekranie to powinno wystarczyć.

Odp: Mjoy
« Odpowiedź #377 dnia: Marca 10, 2009, 15:18:53 »
Dzięki za schemat, już go sobie złożyłem w całość. Mam dwa pytania :
1. Programator isp ma 6 połączeń czyli jest to inny programator niż do Mjoy-a, więc będę musiał sobie złożyć drugi, a może da się zastosować ten poprzedni.
2. Doczytałem, że będą jeszcze użyte kondensatory, więc mam prośbę o info gdzie będą umieszczone, abym przygotował miejsce na pcb - później nie będzie trzeba przeprojektowywać całej płytki

pozdrawiam i dzięki za schemat

Zając

PS. Byłem dzisiaj na zakupach kupiłem drugą atmegę i znowu to samo  :015: / problem opisany parę postów wyżej / nie wiem gdzie mam szukać błedu.
Zapraszam na stronę projektu www.simproject.zajac.waw.pl

Odp: Mjoy
« Odpowiedź #378 dnia: Marca 10, 2009, 15:51:23 »
Najlepszym rozwiązaniem co do gniazda programatora to zastosowaniu obydwu. Dzięki temu użytkownicy MJoy'i którzy robili tylko programator do niego nie będą musieli dorabiać dodatkowej wtyczki (sam tak mam).

zajac - może coś z napięciem USB (używasz HUB'a ?) albo sterownikami (zakładając, że płytka MJoy'a jest oka i nie żadnych zwarć lub coś nie styka) a może po prostu Atmega nie styka (miałem tak i po mocniejszym dociśnięciu było oka).

damos

  • Gość
Odp: Mjoy
« Odpowiedź #379 dnia: Marca 10, 2009, 16:59:08 »
1. Programator isp ma 6 połączeń czyli jest to inny programator niż do Mjoy-a, więc będę musiał sobie złożyć drugi, a może da się zastosować ten poprzedni.
Programator jest ten sam :) Jedyna różnica polega na tym, że "poprawny" slot ISP powinien podawać VCC aby programator mógł dostosować poziomy logiczne do programowanego układu: ATmega może być zasilana różnymi napięciami - od 2,7V do 5,5V. Prosty programator dla MJoy'a zakłada zasilanie 5V i nie ma peryferiów dostosowujących napięcia - więc nie potrzebuje 6-go wyjścia. Złącze, które umieściłem na schemacie jest standardowym złączem ISP i proponuję zostawić je i dodać drugie - "zgodne" z MJoy'em.

2. Doczytałem, że będą jeszcze użyte kondensatory, więc mam prośbę o info gdzie będą umieszczone, abym przygotował miejsce na pcb - później nie będzie trzeba przeprojektowywać całej płytki
IMHO - powinny blokować zasilanie każdego układu scalonego - jak najbliżej VCC i GND.

PS. Byłem dzisiaj na zakupach kupiłem drugą atmegę i znowu to samo  :015: / problem opisany parę postów wyżej / nie wiem gdzie mam szukać błedu.
Jaką ATmegę kupiłeś (dokładnie) - albowiem:
Cytat: datasheet
• Operating Voltages
– 2.7 - 5.5V for ATmega16L
– 4.5 - 5.5V for ATmega16
• Speed Grades
– 0 - 8 MHz for ATmega16L
– 0 - 16 MHz for ATmega16
a MJoy jest taktowany zegarem 12MHz... dla ATmega16L to może być "ciut" za dużo.

Odp: Mjoy
« Odpowiedź #380 dnia: Marca 10, 2009, 17:56:24 »
Czy działa u kogoś MJoy pod systemem Vista x64 ?

damos

  • Gość
Odp: Mjoy
« Odpowiedź #381 dnia: Marca 10, 2009, 18:50:40 »
Czy działa u kogoś MJoy pod systemem Vista x64 ?
Powinien działać. MJoy jest urządzeniem HID i nie posiada swoich własnych sterowników. Jeśli tylko jest odpowiednio kompatybilny ze standardem (głównie timingi) to nie powinien mieć problemów z działaniem pod każdym systemem wspierającym urządzenia HID. (XP/Vista/Linux/Mac)

http://pl.wikipedia.org/wiki/HID
http://en.wikipedia.org/wiki/Human_interface_device

Odp: Mjoy
« Odpowiedź #382 dnia: Marca 10, 2009, 18:56:18 »
U mnie jest ozn.16 PU.Zachowanie uP w moim przypadku było następujące.Zapisał się prawidłowo,odczyt kość o.k,weryfikacja o.k.ale w WinXP po paru sek.znika.Ten sam scalak w innej płycie MJoya jest o.k.Płyty mogą się różnić ponieważ są na druku uniwersalnym.To co pisze Damos ma sens chodzi o częstotliwość pracy uP.W MJoyu są kondensatory korygujące połączone z kwarcem.W moim przypadku może pojemność rozproszona plus kond.korygujące dają tę różnicę,może układ jest na granicy.Jest to moje tylko przypuszczenie.Nie znam tego uP i nie wiem co ozn.PU.
Dodatkowa uwaga uP nie lubiący WinXP zaprogramowany na program Damosa działa bez problemu (częstotliwość 1MHz).Tyle moich spostrzeżeń.

damos

  • Gość
Odp: Mjoy
« Odpowiedź #383 dnia: Marca 10, 2009, 21:17:29 »
U mnie jest ozn.16 PU.
16-maksymalna częstotliwość zegara w MHz
PU - rodzaj obudowy: 40P6 (40-pin, 0.600” Wide, Plastic Dual Inline Package (PDIP))

Dodatkowa uwaga uP nie lubiący WinXP zaprogramowany na program Damosa działa bez problemu (częstotliwość 1MHz).Tyle moich spostrzeżeń.
Na 1MHz to nie sztuka ;) Pojawienie się na początku i późniejsze "zniknięcie" może oznaczać, że urządzenie "nie wyrabia się" na magistrali USB. (za długie czasy odpowiedzi? Błędy w transmisji? )

Odp: Mjoy
« Odpowiedź #384 dnia: Marca 10, 2009, 22:23:04 »
Jeśli można panowie to mam pewne sugestie dotyczące programowania kości.
1. Przyjmując, że będzie dodatkowe złącze dla programatora kości AtMega16 - wykonać je analogicznie jak w Mjoy16 - ta sama kolejność pinów. Będzie można wykorzystać programator już raz wykonany.
2. Skoro ten układ jest rozszerzeniem funkcjonalności Mjoya może nie ma potrzeby wsadzania złącza do programowania - samą kość można zaprogramować na płycie Mjoya, a cały układ i tak bez niego nie będzie działał.

Sensowniejsze jest rozwiązanie z pkt1 z zachowaniem reżimu kompatybilności programatorów.

PS. Jeśli bredzę - oszczędźcie moje kolana :004:
MJoy16.googlepages.com
... in the air.

Odp: Mjoy
« Odpowiedź #385 dnia: Marca 10, 2009, 22:26:48 »
Z tym niewyrabianiem lub błędami przy komunikacji z pc na USB to ma sens.Z moich doświadczeń oraz innych na tym forum można wysnuć wniosek,że MJoy czasem przekłamuje nazwę.Zamiast MJ16 jest wyświetlane coś innego np."..6 oś..."czy coś w tym stylu.Przy odczycie kości programem PonyProg nazwa jest prawidłowa.Próbowałem to kiedyś prześledzić,ale bez odpowiednich narzędzi jest to niemożliwe.PonyProg komunikuje się z MJoyem po LPT i to jest różnica.
Z drugiej strony są chyba jakieś znormalizowane protokoły komunikacyjne pc sterownik po USB.Ponieważ nie jesteśmy projektantami tego sterownika to nic nie wymyślimy,prawdopodobnie program MJoya jest na granicy możliwości uP z zegarem 12MHz.
Moja metoda jest następująca.Mam uruchomione 2 płyty Mjoy(pracują w kokpicie),jeśli potrzebuję nową płytę i mam problemy z WinXP to zamieniam kości w ramach dostępnych płyt.Przekłamaniem nazwy nie przejmuję się.
ps
Ja tak zrobiłem tzn.zaprogramowałem kość w MJoy
Damos czy zwiększenie częstotliwości zegara w MJoyu jest możliwe i czy to poprawiłoby sytuację?

damos

  • Gość
Odp: Mjoy
« Odpowiedź #386 dnia: Marca 10, 2009, 23:52:50 »
Z tym niewyrabianiem lub błędami przy komunikacji z pc na USB to ma sens.Z moich doświadczeń oraz innych na tym forum można wysnuć wniosek,że MJoy czasem przekłamuje nazwę. Zamiast MJ16 jest wyświetlane coś innego np."..6 oś..."czy coś w tym stylu.
O tym nie wiedziałem i przyznam się, ze jestem zaskoczony. To niepokojący objaw :(

Z drugiej strony są chyba jakieś znormalizowane protokoły komunikacyjne pc sterownik po USB.    Ponieważ nie jesteśmy projektantami tego sterownika to nic nie wymyślimy.
To nie wina sterownika. Jak już pisałem, MJoy pracuje jako urządzenie HID i bazuje na tym, że jest zdefiniowany protokół wymiany informacji między PC a urządzeniem HID. Protokół jest dobrze znany i bazuje (opiera się na) protokole USB. Jedynym wymogiem wobec urządzenia jest wysyłanie odpowiednio spreparowanych paczek danych (tzw. "raporty") i reagowanie na odbierane raporty. Windows posiada wbudowany sterownik do urządzeń HID i za pomocą tego samego sterownika obsługuje MJoy'a jak i inne, proste joysticki. Na pocieszenie mogę powiedzieć, ze niektóre płyty główne też mają problemy z obsługą USB X52 Saiteka :) (ale ten ma własne, natywne sterowniki) Scenariusz obsługi urządzenia HID wygląda tak, że najpierw urządzenie "melduje się" podając swój typ, później ma szansę podać różne inne parametry - jak ilość osi, sposób opisu ich wartości, przycisków itd. Ten pierwszy etap nie jest krytyczny czasowo. Następnie mamy do czynienia z normalną komunikacją - tzn: PC wysyła pytania do urządzenia (pyta się np. o wartości osi lub inne rzeczy) lub urządzenie sygnalizuje zmiany stanu. Wtedy dochodzi m.in. do obsługi raportów stanu poszczególnych parametrów: wartości osi X,Y itp. oraz stanów przycisków. Wystarczy, aby układ z powodu przedłużenia pomiarów nie zdążył na czas odpowiedzieć lub nie wysłał w odpowiednim "tempie" danych i już jesteśmy na granicy detekcji błędnego działania. Host (PC) może wtedy odłączyć urządzenie uznane za uszkodzone (odłącza mu zasilanie). Ponieważ ATmega nie ma dedykowanego hardware'u do obsługi USB - wszystko jest realizowane na portach - i za pomocą procesora. I tam może tkwić problem.
prawdopodobnie program MJoya jest na granicy możliwości uP z zegarem 12MHz.
Jest to bardzo możliwe.
Damos czy zwiększenie częstotliwości zegara w MJoyu jest możliwe i czy to poprawiłoby sytuację?
Absolutnie nie. Szyna USB jest interface'm szeregowym i wymaga dość precyzyjnego taktowania, ponieważ nie ma osobnej linii zegarowej. Do tego właśnie służy kwarc 12 MHz. Cały stack USB bazuje na assemblerowej implementacji zoptymalizowanej pod tą częstotliwość zegara i liczeniu cykli poszczególnych instrukcji. Zmiana kwarcu na inny rozłoży układ i USB przestanie działać.

Odp: Mjoy
« Odpowiedź #387 dnia: Marca 11, 2009, 07:20:43 »
Dziękuję Damos za wyjaśnienia.Ja od samego początku podejrzewałem,że coś jest nie tak właśnie z powodu przekłamań nazwy MJoy16,ale z braku wiedzy oraz możliwości ingerencji pogodziłem się z tym faktem.Nie mogłem się pogodzić z dwoma innymi parametrami tzn.vendor oraz IP.MJoy umożliwia zmianę nazwy,vendora oraz IP i ja to zmieniam.Powód jest prosty Cougar musi być na pierwszej opozycji przed MJoy,jeśli nie to mam problemy w Falconie.Nazwa była mniej istotna natomiast pozostałe dwa parametry były dla mnie ważne.Tak długo mazałem i zapisywałem kość,aż uzyskałam właściwą wartość oprócz oczywiście nazwy.Po kolejnym zapisie sprawdzałem w kontrolerze gier kolejność joyów.
Sprawdzałem także ile kontrolerów mogę podłączyć do pc.Miałem podłączone Cougara,Logitech  oraz 3 MJoye.Stwierdziłem,że mogę oprócz 2 joyów podłączyć dodatkowo tylko 2 MJoye,przy 3 MJoyach miałem problemy,dlatego w moim kokpicie mam tylko 2 MJoye,Cougara oraz kontroler OpenCockpits i nie ma konfliktu.Tyle moich doświadczeń z MJoyem.
Może inni koledzy potwierdzą moje wnioski.Wiem,że kilku miało problemy z nazwą MJoy.

Odp: Mjoy
« Odpowiedź #388 dnia: Marca 11, 2009, 12:27:43 »
Jeszcze jedna sprawa nie daje mnie spokoju.Będę próbował eksperymentować z małym przestrojeniem kwarcu przy pomocy c2 i c3.Mam jeden scalak,który nie chce współpracować z jednym z MJoyów.Dam znać o wynikach testów.

Odp: Mjoy
« Odpowiedź #389 dnia: Marca 11, 2009, 12:33:36 »
Witam

Przesyłam zrzuty płytki - mam prośbę o spojrzenie czy wszystko się zgadza. Brakuje jeszcze wykończenia ale wszystkie połączenia już są zrobione

1 Ścieżki od dolnej strony płytki


2 Ścieżki od górnej strony płytki


3. Wszystkie połączenia - na obu stronach


4. I oczywiście jak będzie wyglądała


Po południu więcej je opisze i jak będzie można je zamawiać

pozdrawiam

Zając
Zapraszam na stronę projektu www.simproject.zajac.waw.pl