Na osi mechanicznej myszy (kulkowej) znajduje się para nadajnika i odbiornika podczerwieni z kołem, które wygląda tak, jakby miało tylko proste szczeliny.
Zastanawiam się od dłuższego czasu, dziękuję za pytanie!
mskfisher
3
@ ktokolwiek głosował za tym - czy mógłbyś przynajmniej powiedzieć zafowi, dlaczego to zrobiłeś? To całkowicie rozsądne pytanie
stevenvh
Odpowiedzi:
36
Nie ma tylko pary nadajników / odbiorników IR, są dwie z nich. Pomiędzy nadajnikami i odbiornikami znajduje się koło ze szczeliną, które podczas obracania powoduje ciąg impulsów w odbiorniku. (Światło z nadajnika jest zablokowane, może przejść, ponownie zablokowane itd.)
Sztuka polega na tym, jak umieszczone są dwa odbiorniki, a mianowicie w kwadraturze.
Oznacza to, że impulsy jednego odbiornika poprzedzają impulsy drugiego o kilka stopni (najlepiej 90 °). Jeśli koło skręci w drugą stronę, te same impulsy są teraz opóźnione względem pozostałych.
Zauważ, że na zboczu narastającym kanału A kanał B znajduje się na wysokim poziomie podczas skrętu w jedną stronę, a na niskim poziomie podczas skrętu w drugą stronę.
edit (o enkoderach absolutnych) Nie byłem w pełni usatysfakcjonowany moją odpowiedzią na komentarz JGorda (niektóre nieścisłości), stąd ta powtórka
Opisany powyżej system jest znany jako enkoder inkrementalny, ponieważ wykrywa zmiany względne, z jednej pozycji do drugiej. Po pełnym obrocie kody są powtarzane kilka razy, więc nie możesz poznać swojej absolutnej pozycji, patrząc tylko na kod.
Aby temu zaradzić, istnieją enkodery absolutne . Zamiast dwóch kanałów w kwadraturze mają znacznie więcej kanałów, tworząc unikalny wzór dla każdej pozycji obrotu. 10-kanałowy koder może odróżnić lub 1024 różne pozycje. Enkodery wałów w robotach są jeszcze dokładniejsze. 210
Specyficzny wzór jest typowy dla kodowania Graya .
o kodowaniu Graya
Zwykły plik binarny ma tę wadę, że przejścia kodu mogą tworzyć błędne kody podczas przejścia. Weźmy na przykład zmianę z 0111(7) na 1000(8). Jeśli skrajny lewy bit jest nieco szybszy niż pozostałe, zobaczysz na chwilę 1111(15), co jest całkowicie wyłączone.
Szary kod rozwiązuje ten problem, zmieniając rozmieszczenie kodów, tak aby zmieniał się tylko 1 bit na raz.
Enkodery absolutne nie pomogą ci jednak znaleźć absolutnej pozycji myszy, ponieważ koło obraca się kilka razy podczas poruszania myszą. „Unikalny” wzór będzie się powtarzał co kilka mm i wcale nie jest taki wyjątkowy. Poza tym zawsze można poruszać myszą, gdy komputer jest wyłączony, lub możesz podnieść mysz i odłożyć ją nieco dalej. Oba działania pozostaną niewykryte.
Dalsza lektura
„Sterujące enkodery wału” Circuit Cellar numer 250, maj 2011, s. 28 i nast−
Pytanie: Ten dwukanałowy enkoder optyczny działa dla pozycji i prędkości, ale co jeśli trzeba znać całkowitą odległość? Na przykład, co jeśli obrócisz kilka razy, wyłączysz urządzenie, włączysz później i ponownie kilka razy. Na pewno możesz za każdym razem rejestrować odległość do nieulotnej pamięci, ale czy istnieje mechaniczny sposób rozwiązania tego problemu? Myślę w kierunku sprytnie umieszczonego trzeciego kanału ... ale nic nie mogę wymyślić.
NickHalden
@stevenvh - Pracują nad tym , adresy URL są zmieniane ze standardowego i.imgur.comna stack.imgur.com.
Kevin Vermeer
@stevenvh Hm, zastanawiam się, czy ktoś pomyślał, aby spróbować użyć DeBruijn Sequences zamiast szarego kodu ...
NickHalden
1
@stevenvh w porządku, w zasadzie są dwa odbiorniki umieszczone w jednym urządzeniu. Dzięki.
Odpowiedzi:
Nie ma tylko pary nadajników / odbiorników IR, są dwie z nich. Pomiędzy nadajnikami i odbiornikami znajduje się koło ze szczeliną, które podczas obracania powoduje ciąg impulsów w odbiorniku. (Światło z nadajnika jest zablokowane, może przejść, ponownie zablokowane itd.)
Sztuka polega na tym, jak umieszczone są dwa odbiorniki, a mianowicie w kwadraturze.
Oznacza to, że impulsy jednego odbiornika poprzedzają impulsy drugiego o kilka stopni (najlepiej 90 °). Jeśli koło skręci w drugą stronę, te same impulsy są teraz opóźnione względem pozostałych.
Zauważ, że na zboczu narastającym kanału A kanał B znajduje się na wysokim poziomie podczas skrętu w jedną stronę, a na niskim poziomie podczas skrętu w drugą stronę.
edit (o enkoderach absolutnych)210
Nie byłem w pełni usatysfakcjonowany moją odpowiedzią na komentarz JGorda (niektóre nieścisłości), stąd ta powtórka
Opisany powyżej system jest znany jako enkoder inkrementalny, ponieważ wykrywa zmiany względne, z jednej pozycji do drugiej. Po pełnym obrocie kody są powtarzane kilka razy, więc nie możesz poznać swojej absolutnej pozycji, patrząc tylko na kod.
Aby temu zaradzić, istnieją enkodery absolutne . Zamiast dwóch kanałów w kwadraturze mają znacznie więcej kanałów, tworząc unikalny wzór dla każdej pozycji obrotu. 10-kanałowy koder może odróżnić lub 1024 różne pozycje. Enkodery wałów w robotach są jeszcze dokładniejsze.
Specyficzny wzór jest typowy dla kodowania Graya .
Enkodery absolutne nie pomogą ci jednak znaleźć absolutnej pozycji myszy, ponieważ koło obraca się kilka razy podczas poruszania myszą. „Unikalny” wzór będzie się powtarzał co kilka mm i wcale nie jest taki wyjątkowy. Poza tym zawsze można poruszać myszą, gdy komputer jest wyłączony, lub możesz podnieść mysz i odłożyć ją nieco dalej. Oba działania pozostaną niewykryte.
Dalsza lektura−
„Sterujące enkodery wału” Circuit Cellar numer 250, maj 2011, s. 28 i nast
źródło
i.imgur.com
nastack.imgur.com
.