Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Enkoder EM84502. Czy 8042 to to samo co I2C?

boodoo 14 Wrz 2006 10:54 1638 3
  • #1 14 Wrz 2006 10:54
    boodoo
    Poziom 12  

    Witam,

    Muszę zbudować czujnik kierunku robota (tzn. w którą stronę realnie się porusza). Wymyśliłem sobie, że myszka kulkowa wydaje się najprostszym rozwiązaniem.

    Okazuje się, że sercem mojej myszy jest układ EM84502 - scalony czterokanałowy enkoder obsługujący "kółeczka ze szczelinami" z myszy. Komunikacja z nim odbywa się za pomocą protokołu 8042.

    Czy 8042 to jest to samo co I2C? Jeżeli nie, to jak te różnice prosto zniwelować?

    Wydaje mi się, że najprościej skorzystać z tego interfejsu, pobierać z rejestrów myszki pozycje i sprawdzać, czy się zwiększyła czy zmniejszyła.

    Rozważałem też możliwość większej ingerencji w układ i obsłużeniu sygnałów z odbiorników ired za pomocą przerwać mikrokontrolera.
    Napotykam jednak problem: stan niski odbiornika to ok. 1,25 V, stan H to lekko ponad 1,6V.

    Czy mikrokontroler (np. ATMega8) będzie w stanie rozpoznać takie impulsy (np. w trybie rasing edge?)

    0 3
  • Arrow Multisolution Day
  • #2 14 Wrz 2006 12:27
    McRancor
    VIP Zasłużony dla elektroda

    O protokole PS/2 znajdziesz wszystko na forum mikrokontrolery, kierunku poruszania się nie określisz za pomocą myszki, co najwyżej przebytą drogę.

    Do określania kierunku względem nieruchomego podłoża (pokoju przykładowo) musiałbyś wykorzystać czujnik który wykrywa nieruchomy z punktu widzenia podłoża punkt, przykładowo kompas elektroniczny. Do określenia odczylenia trajektorii względem początkowej musiałbyś użyć żyroskopu, a to zabawka dość droga.

    Wykorzystywanie mikrokontrolera do tego celu, jest troche bezsensowne moim zdaniem, chcesz wywalić układ, żeby zastąpić go takim który sam zbudujesz? Przecież to wywarzanie otwartych drzwi, wymaga stosowania translacji poziomów, bo te nie są prawidłowe nawet dla TTL 3,3V.

    Jeśli już chcesz wykorzystać myche, to możesz nią określić jedynie przebytą drogę, a zastępowanie fabrycznego układu innym nie ma sensu, zwłaszcza że wyamagał by dodatkowej elektroniki, a program byłby tak poszarpany przerwaniami że niewiele więcej dałoby się w nim zrobić.

    Lepiej jednak poczytaj o PS/2 i uC

    0
  • Arrow Multisolution Day
  • #3 14 Wrz 2006 15:01
    boodoo
    Poziom 12  

    Ok, poszukam na forum "mikrokontrolery"

    Wydaje mi się, że sprawa nie jest tak pesymistyczna:

    McRancor napisał:

    Do określania kierunku względem nieruchomego podłoża (pokoju przykładowo) musiałbyś wykorzystać czujnik który wykrywa nieruchomy z punktu widzenia podłoża punkt, przykładowo kompas elektroniczny. Do określenia odczylenia trajektorii względem początkowej musiałbyś użyć żyroskopu, a to zabawka dość droga.


    Przecież myszka wie, w którą stronę się porusza. Można przecież określić, jak sygnały z czujników enkodera są przesunięte w fazie.

    0
  • #4 14 Wrz 2006 15:31
    McRancor
    VIP Zasłużony dla elektroda

    Wie w którą stronę się porusza, ale pojazd nie wie gdzie jest, nie jesteś w stanie określić położenia myszki względem podłogi, tylko zmiane jej położenia, na dodatek przy większych odległościach, mało dokładnie.

    0