Autor Wątek: Mjoy  (Przeczytany 168996 razy)

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

Odp: Mjoy
« Odpowiedź #345 dnia: Marca 05, 2009, 00:50:06 »
Witam !

Jakiś czas temu zbudowałem coś na kształt panelu autopilota / http://www.forum.vatsim.pl/viewtopic.php?f=68&t=26955&sid=65c15931138fbfbc0372428cc1dac512 /  właśnie na bazie MJoya  Całość fajnie pracowała ale zawsze brakowało mi encoderów w tym projekcie musiałem zastosować przełącznik do zmiany vertical speed. Chciałem zbudować coś więcej / pedestal, overhead / - ale właśnie brakowało mi w Mjoy-u możliwości podłączenia większej ilości encoderów.
Bardzo się ciesze, że coś ruszyło się w tym temacie. Ja po zrobieniu poprzedniej "skrzyneczki", też szukałem w necie jakiegoś rozwiązania i natrafiłem na coś takiego / strony już nie ma ale skopiowałem ją do worda i zapisałem u siebie na dysku - to link do tego pliku http://file4u.pl/download/1340189/encoders.zip - jeżeli komuś się przyda to super
Ze swojej strony mogę pomóc przy projektowaniu płytki pcb oraz mogę zamówić ją w firmie GAMMA / gdzie też można kupić płytki do MJoja / wtedy każdy będzie mógł wykonać taki układ samodzielnie. Potrzebny mi tylko schemat i wykaz elementów.

pozdrawiam i życzę powodzenia

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

Odp: Mjoy
« Odpowiedź #346 dnia: Marca 05, 2009, 00:57:58 »
Witam jeszcze raz

Chciałbym dodać do poprzedniego postu informacje, że posiadam do projektu opisanego powyżej / Circuits for cheap mechanical rotary encoders / zrówno pliki hex jak i projekt pcb - gdyby ktoś potrzebował to proszę o kontakt

pozdrawiam

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

damos

  • Gość
Odp: Mjoy
« Odpowiedź #347 dnia: Marca 05, 2009, 01:06:33 »
O to mi chodziło,problem tylko w interpretacji.W MJoy jest zaznaczone tylko BOOTSZ1,BOOTSZ0,SUTO i to wszystko.Jest kwarc czyli zegar zewnętrzny.
U nas jest zegar wew.to jest zasadnicza różnica.
To by się zgadzało.
Z tego co przeczytałem w podanych przez Ciebie linkach.To puste pole ozn.niezaprogramowany czyli 1,zaznaczone pole (v) oznacza zaprogramowany czyli 0.
Jeśli podany screen jest z twojego programatora, to masz na nim opisane:
Cytuj
checked items means programmed (bit=0) unchecked items means unprogrammed (bit=1)
wtedy IMHO musisz mieć taki układ:

czyli tak, jak proponujesz:

Dla wew.zegara powinno być CLK3,2,1,0  0001,czyli zaznaczone CLK3,2,1 oraz niezaznaczone CLK0.

Co do pozostałych to nie wiem.W PonyProg jest taka sama tabela bitów jak przedstawiłeś w swoim post.
W takim razie proponuję to, co przedstawiłem na obrazku.

Jeszcze jedno pytanie.W manuale MJoy bity są ustawiane po komendzie write program (FLASH) a z tego co pisałeś wynika,że je ustawiasz przed zapisem FLASH.
IMHO - w twoim przypadku nie powinno mieć to znaczenia. Ja używam programatora AVR Dragon i jego opcje wyglądają tak:
do ustawiania prędkości programowania:

do ustawiania fuse-bitów: (zauważ, że jest tam opcja zapisu ustawień - bez zapisywania samego programu)

do zapisywania lock-bitów: (zauważ, że jest tam opcja zapisu ustawień - bez zapisywania samego programu)

 a w IDE mam na toolbarze odpowiedni przycisk do zaprogramowania kontrolera:
http://www.damos.k11.pl/LO/encoder/vito/moj_workspace.JPG
Jak widać - ja mam dużo łatwiej i nawet nie zdawałem sobie sprawy na jakie problemy Ty trafiasz :(

Jednak ogólna kolejność zapisów i weryfikacji danych jest zgodna z tą listą:

więc poprawna jest ta kolejność:
  • erase program (erase flash)
  • write program (flash)
  • write fuses

A więc dokładnie tak, jak masz w manualu do MJoy'a.
IMHO można pozwolić sobie na jednorazowe zapisanie fuse bits - one nie są kasowane w trakcie resetowania flash'a i nie ulegną zmianie.

damos

  • Gość
Odp: Mjoy
« Odpowiedź #348 dnia: Marca 05, 2009, 01:33:44 »
szukałem w necie jakiegoś rozwiązania i natrafiłem na coś takiego / strony już nie ma ale skopiowałem ją do worda i zapisałem u siebie na dysku
No proszę! bardzo podobne rozwiązanie :) Autor zastosował tam (tak, jak tu proponowałem z resztą ;) ) klucze analogowe CD4066 - prawdopodobnie tańsze niż transoptory i pobierające mniej prądu dla wysterowania. Zaletą tamtego rozwiązania (na PIC'u) jest to, że jest sprawdzone i działa. Zalety  "naszego" to brak rezystorów podciągających (które są wewnątrz ATmega), obsługa 8-miu encoderów za pomocą jednej kości oraz możliwość poprawy/rozbudowy.

Odp: Mjoy
« Odpowiedź #349 dnia: Marca 05, 2009, 07:17:24 »
Dziękuję Damos za pomoc,jestem w 100% pewien,że układ będzie działał.Transoptory są tanie 1 kanałowy kosztuje 80gr.W naszym przypadku potrzebujemy dwa 4 kanałowe.Zaletą tego rozwiązania jest separacja zasilania.Chociaż myślę,że USB MJoya pociągnie dodatkowy prąd.
Propozycja Zająca jest interesująca,są dwa rozwiązania.
Myślę,że przy pomocy Zająca można zrobić pcb na podstawie Twojego schematu i umieścić projekt na stronie MJoya.

Odp: Mjoy
« Odpowiedź #350 dnia: Marca 05, 2009, 08:07:07 »
Witam ponownie.Dobra wiadomość kość zaprogramowana i działa.Zrobiłem prosty test uP,enkoder oraz LED na wyjściu.Jest o.k,LED zapala.Wieczorem połączę układ Damosa z MJoyem i sprawdzę
pozdrawiam,vito_zm

damos

  • Gość
Odp: Mjoy
« Odpowiedź #351 dnia: Marca 05, 2009, 08:49:02 »
Witam ponownie.Dobra wiadomość kość zaprogramowana i działa.Zrobiłem prosty test uP,enkoder oraz LED na wyjściu.Jest o.k
Dobra robota  :010:  :023:

Odp: Mjoy
« Odpowiedź #352 dnia: Marca 05, 2009, 19:45:53 »
Próby wypadły pozytywnie w układzie docelowym tzn.układ Damosa,transoptory,enkoder oraz MJoy.Sprawdzałem pierwsze wyjście tzn.pin 40 i 39,pozostałe sprawdzę w sobotę,chociaż jeżeli Damos to sprawdził na LED-ach to będzie to formalność.
Dałem rezystor w szereg z diodą transoptora o wartości 460om.Co do pobieranego prądu to będzie on mniejszy o połowę z powodu jego charakteru tzn.przebiegi impulsowe o wypełnieniu 50%.Na wejściu będzie płynął prąd w zależności od położenia osi enkodera.Warość tego prądu wynika z rezystorów pull up co powinno być opisane w katalogu uP.Reasumując jest to bardzo ładne rozwiązanie,dodatkową zaletą jest to,że stosujemy ten sam sposób programowania co dla MJoya (PonyProg).
Co do dalszych prac związanych z tym projektem to jest prośba do Damosa aby uzupełnił swój schemat o układy PC 847 (4 kanały w scalaku).Jeśli znajdzie się na forum ochotnik do zrobienia pcb to będzie super,jeśli nie to pozostaje druk uniwersalny.Myślę,że można to rozwiązanie zamieścić na stronie MJoya (jeśli mnie pamięć nie myli to zrobił ją Noker).Jeszcze raz gratuluję Damos wspaniałego projektu,współpraca z Tobą była przyjemością.

Odp: Mjoy
« Odpowiedź #353 dnia: Marca 05, 2009, 20:24:15 »
Gratuluję Panowie.

Patrzę na to, czytam, oczy się uśmiechają a serce rośnie.
Jak już temat będzie ogarnięty po próbach Beta; jeśli będzie taka Wasza wola umieszczę wszystko na stronie projektu Mjoy16.

Pozdrawiam
Rafał
MJoy16.googlepages.com
... in the air.

Odp: Mjoy
« Odpowiedź #354 dnia: Marca 05, 2009, 21:53:39 »
Witam

Jak będzie gotowy schemat, to jak wcześniej pisałem zrobię projekt i płytkę w Gammie - będzie można ją zamówić analogicznie jak mjoy-a. W związku z tym mam pytanie czy złącza do encoderów zrobić na 3-pinowych złączach analogicznie jak pod potencjometry czy na wspólnej listwie / to drugie rozwiązanie daje możliwość zastosowania złącz na taśmę wielożyłową i dopiero przy samych encoderach ich rozszycie /. Co do podłączenia do płytki mjoy-a to mam pomysł właśnie przez taśmę wielożyłową na złączach 49-64 ostatnia listwa i analogicznie na nowej płytce - chyba najprostszy sposób. Jak będę miał pierwsze projekty to je pokaże. Mam też pytanie jak będzie wyglądała sprawa zasilania - czy osobny wtyk USB i podebranie samego zasilania czy może jest jakieś miejsce na płytce mjoy-a gdzie można je podebrać ?

To jeżeli chodzi o encodery, ale mam problem z samym mjoy-em. Wczoraj skończyłem lutować drugą płytkę wszystko dokładnie jak pierwsza / przynajmniej tak mi się wydaje  :006:. Programowanie wszystko ok. Podłączam do kompa po zaprogramowaniu a tu taki widok



pojawia sie zaraz po podłączeniu po około 2-3 sekundach i koniec. W menadżerze urządzeń jest taki komunikat "System Windows zatrzymał to urządzenie z powodu zaraportowanych problemów. (Kod 43)". Sprawdziłem czy nie pomyliłem się w częściach / rezystory, dławik, kondensatory / wszystko ok, z lupą obejrzałem całą płytkę i nic niepokojącego nie znalazłem. Sam Windows znajduje mjoy-a / co widać na obrazku, ale po chwili coś się z nim dzieje i nie mam pojęcia co jest. Chyba poproszę kumpla któremu sprezentowałem poprzednią "skrzyneczkę' aby mi pożyczył to sprawdzę na działającym urządzeniu. Może ktoś się spotkał z czymś takim, lub ma pomysł co może być przyczyną - będę wdzięczny.
Zapraszam na stronę projektu www.simproject.zajac.waw.pl

Odp: Mjoy
« Odpowiedź #355 dnia: Marca 05, 2009, 22:12:34 »
Miałem taki efekt gdy zwarłem "przypadkowo" jakieś PIN'y, nie pamiętam które, ale efekt identyczny - komunikat - mjoy znika z systemu.

Odp: Mjoy
« Odpowiedź #356 dnia: Marca 05, 2009, 23:02:03 »
Bardzo mnie cieszy,że będzie pcb.Łączówki z sygnałami wyjściowymi pod kątem MJoya,od strony enkoderów do zastanowienia.Jeśli można coś doradzić w sprawie zasilania to dobrze mieć alternatywę tzn.gniazdo USB jako zasilanie alternatywne.Może ktoś zrobił pomiar prądu MJoya w pełnym skompletowaniu.Gdy będziemy mieli prototyp nowej płyty interfejsu dla enkoderów z pełnym wyposażeniem to pomierzymy prąd i w zależności od wyniku podejmiemy decyzję z jakiego źródła pobierać prąd.Ja myślę,że MJoy ma jeszcze rezerwę prądową.
Co do programowania uP MJoya oraz problemów z WinXP to zdarzyło mi się to teraz przy okazji tego tematu.Programowałem co najmniej z 4 kości dla MJoya i nie miałem problemu.Teraz trafiłem na kość i Win XP nie widzi MJoya.Płyta jest sprawna ponieważ inna kość jest widziana w Win XP.Tę kość wykorzystałem do omawianego projektu i jest o.k.
Postaram się kupić nową kość i to sprawdzić.Mam jeszcze podejrzenie dotyczące tzw.fuse bits.
Programując kość dla MJoya zaznaczałem je zgodnie z manuale,ale przy ostatniej kości chyba o nich zapomniałem nie jestem pewien.
Mam w związku z czym pytanie do Damos jako do specjalisty od tych uP.W programatorze PonyProg jest opcja odczytu oraz zapisu tych bitów,co by sugerowało,że można to wykonać parę razy.Ty wspomniałeś,że jest to operacja jednorazowa,czy możesz to potwierdzić.

damos

  • Gość
Odp: Mjoy
« Odpowiedź #357 dnia: Marca 06, 2009, 00:31:14 »
Dałem rezystor w szereg z diodą transoptora o wartości 460om.Co do pobieranego prądu to będzie on mniejszy o połowę z powodu jego charakteru tzn.przebiegi impulsowe o wypełnieniu 50%.
Czy mogę ponownie, z uporem maniaka prosić o przetestowanie tego z CD4066 ?  :020: Układ posiada 4 klucze analogowe, kosztuje 50-80 groszy (http://www.seguro.pl/sklep/?zobacz=2641) przy wysterowaniu pobiera prąd rzędu uA (http://www.fairchildsemi.com/ds/CD/CD4066BC.pdf strona 2) a więc nie trzeba będzie stosować tych rezystorów 460om ( :010:) i układ się jeszcze bardziej uprości. Co Ty na to? IMHO - gra warta świeczki - będzie mniej o 16 elementów (chyba, że masz jeden rezystor dla wszystkich transoptorów ;)  ).

Co do dalszych prac związanych z tym projektem to jest prośba do Damosa aby uzupełnił swój schemat o układy PC 847 (4 kanały w scalaku).
raczej "aby zrobił schemat", bo to, co jest - to wstyd pokazać komukolwiek :) Ma ktoś gotowe biblioteki elementów do KiCad'a ? (tak, wiem - google ma :P
Jeszcze raz gratuluję Damos wspaniałego projektu,współpraca z Tobą była przyjemością.
Dziękuję - wzajemnie  :010: :002: Wstyd się przyznać, ale odnalezienie, wypakowanie i złożenie wszystkich komponentów do developmentu (testing board, programator, okablowanie, analizator logiczny, instalacja AVR Studio) zajęło 2  dni. Samo oprogramowanie układu + testy to ledwie kilka godzin. Teraz możemy pomyśleć o detekcji prędkości obracania itd. Jak widać mikrokontrolery mają pewien "power" i nadają się do wielu rzeczy, co przy cenie <10 PLN czyni je świetnym rozwiązaniem np. dla... realizacji dekodowania sygnałów i wyświetlania CMDS oraz Landing Gear (sic ! ;) ) Jeśli masz w planach kolejne dodatki do swojego kokpitu i myślisz o technice dyskretnej - daj znać. Na 90% da się to zrobić mikrokontrolerem, w czym chętnie pomogę: wyjdzie taniej, z mniejszą ilością elementów i bardziej "podatnie" na modyfikacje. :) A jak moduł się znudzi, to można z niego wyjąc ATmegę i zrobić kolejnego MJoya ;)
Mam w związku z czym pytanie do Damos jako do specjalisty od tych uP.W programatorze PonyProg jest opcja odczytu oraz zapisu tych bitów,co by sugerowało,że można to wykonać parę razy.Ty wspomniałeś,że jest to operacja jednorazowa,czy możesz to potwierdzić.
Można wielokrotnie zapisywać i odczytywać, jednak... jak mówi stare przysłowie: "wszystkie grzyby są jadalne, ale niektóre tylko raz" Podobnie jest z "fuse" i "lock" bitami. Zapis niektórych  bitów może uniemożliwić:
- programowanie za pomocą ISP (jak ustawisz SPIEN=1: wtedy PonyProg już z układem nie "porozmawia" - wtedy da radę tylko "równoległy" programator )
- odczyt/zapis flasha (ustawianie pewnych lock-bitów to feature dla producenta, który chce dostarczyć zaprogramowany układ, którego kodu nie można zmienić ani skopiować. Po zaprogramowaniu flasha ustawia bity zabezpieczające i wtedy układ działa z wpisanym do niego programem, ale tego programu nie można "podglądać" ) Te bity można "zresetować" przez "chip erase", ale równocześnie z tym kasowana jest cała pamięć kontrolera włącznie z programem. Nie wiem, czy PonyProg umożliwia wykonanie "chip erase"?
- zmiana generatora na zewnętrzny RC lub zewnętrzny oscylator kwarcowy/ceramiczny w przypadku ich braku. Po resecie układ już "nie wstanie" - bo nie będzie miał źródła taktowania. Można go jednak "reanimować" podłączając pod nóżkę nr 13 (sic!) generator np. na NE555 i za pomocą ISP zmienić bity ustalające źródło taktowania na poprawne.:)
Ogólnie - pozostawić lock bity tak, jak w przypadku MJoy'a i wszystko powinno być OK. Na screenie widziałem, że PonyProg nie zezwala na jakiekolwiek zmiany SPIEN :)
« Ostatnia zmiana: Marca 06, 2009, 00:41:31 wysłana przez damos »

Odp: Mjoy
« Odpowiedź #358 dnia: Marca 06, 2009, 07:35:32 »
Dzięki Damos za tak szybką odpowiedź.Masz rację zrobię testy na kluczach analogowych,które wieki temu stosowałem przy projektowaniu dekoderów analogowych.Również dawno temu programowałem na układach Altery ciekawe projekty,ale miałem sprzęt dostępny w pracy,teraz mogę tylko projektować na układach średniej skali integracji,takie czasy.Technika w projektowaniu układów PLD (w moim przypadku Altera) poszła tak daleko do przodu (mam na myśli lata 90-e),że można było umieszczać w kości uP jednoukładowy w 1/4 jej pojemności.Tyle wspomnień.
Potwierdzam Spien jest w PonyProg niedostępny,wynika to może z tego,że jest darmowy i korzysta z LPT.Jest opcja erase i można wielokrotnie mazać i zapisywać.
Przypomniałem sobie,że w układach PLD Altery także były bity blokujące odczyt kodu wynikowego z wiadomych względów (sam to stosowałem).
W moich obecnych projektach stosuję technikę dyskretną z paru powodów:
-OpenCockpits udostępnia schematy
-nie mam już możliwości stosowania układów Altery,chociaż mógłbym to zorganizować przy pewnym wysiłku,pytanie czy dla kilku płyt ma to sens
-jako programista poprzestałem na układach 51,które programowałem w asemblerze,co obecnie nie ma sensu z paru powodów (trzeba znać język wyższego rzędu,znać dobrze stosowany uP-kilka set stron oraz umieć ułożyć logiczny algorytm itp.)
OpenCockpits udostępnia także alternatywne rozwiązania oparte na uP łącznie z kodem wynikowym.Udostępnia także różne opcje zakupu swoich produktów.
Od pewnego czasu obserwuję forum viperpits i jestem pod wrażeniem.Jest tam paru programistów,którzy piszą wspaniałe programy nie tylko dla Falcona.Rozwiązują sterowanie tak jak wspomniał Damos CMDS,RWR,MFD oraz innych elementów kokpitu.Oferują gotowe rozwiązania w postaci pakietów,udostępniają oprogramowanie.Jest tego tak dużo,że można się pogubić.
Reasumując mogę stwierdzić,że w moim przypadku stosowanie uproszczonego kokpitu oraz Cougara z dobrym profilem daje przyjemność zabawy z FalconemAF.
Ponieważ zamierzam kupić nowy PC to chciałbym bawić się także z FSX i tutaj jest pole do popisu i współpracy.Myślę tutaj nie o kokpicie do konkretnej maszyny,ale o uniwersalnym wsparciu hardware tego symulatora.Nie znam tego sima,dlatego jeśli są jakieś pomysły to można to przedyskutować i może coś z tego powstanie.Jeśli są chętni do dyskusji to myślę,że dobrze byłoby założyć jakiś nowy wątek.Może ktoś znający temat FSX mógłby coś zaproponować.



Odp: Mjoy
« Odpowiedź #359 dnia: Marca 06, 2009, 17:01:29 »
Wyjaśniła się sprawa odczytu i zaniku po paru sekundach w WinXP MJoya.Kupiłem nową kość i było to samo zjawisko.Ponieważ mam drugiego MJoya to zamieniałem uP i to dało pozytywny efekt.Nie umiem tego wyjśnić,ale w praktyce są takie płyty,które współpracują z każdym uP i są takie,do których trzeba dobrać procesor.Nie potrafię tego wyjaśnić,ważne jest to,że można ten problem pokonać dobierająć uP do płyty.W moim przypadku  można to tłumaczyć tym,że płyty się różnią (montuję na druku uniwersalnym),ale w przypadku MJoya na druku pcb to już jest to dziwne.
Cytuj
Teraz możemy pomyśleć o detekcji prędkości obracania
Jeśli myślisz o rozwiązaniu podobnym do MJoya to prawdopodobnie byłby problem.Mapowanie jest tak zrobione,że wolny obrót zajmuje 2 pozycje w danym rzędzie a szybki obrót kolejne 2 pozycje w następnym rzędzie w sumie 4 pozycje na jeden enkoder.
W naszym przypadku zajmujemy 2 pozycje w rzędach przeznaczonych dla push buttons i tak to widzi SVMapper.
Jeśli ktoś potrzebuje znaleźć zgrubnie pewien zakres to może użyć pozycje mapy dla szybkich obrotów poz.105 do 112 ,a dla dokładnego dostrojenia można zastosować mapę dla wolnych obrotów poz.97 do 104.
Kupiłem już klucze analogowe i jutro mam nadzieję to przetestować.
Jeszcze jedna sprawa także trudna do wyjaśnienia,ale można z tym żyć.Chodzi o odczyt nazwy MJ16,czasem zamiast tej nazwy jest inna,co w praktyce nie przeszkadza.