Bagaimana roda gulir Logitech mendeteksi pergerakan?

80

Saya baru saja mengganti roda gulir di mouse saya, perbaikan satu menit. Tetapi sekarang saya telah melihat sesuatu yang tidak dapat dilihat.

Roda gulir Logitech tampaknya berfungsi menggunakan sihir .

Ini bebas bertumpu pada tiga tombol yang mendeteksi penekanan kiri, kanan, dan lurus ke bawah. Tetapi roda itu sendiri tidak terhubung secara elektrik dengan apapun. Ini plastik yang diletakkan di atas pegas.

Bagaimana cara mouse mengetahui saat saya menggulir? Dan mengapa itu dipengaruhi oleh debu dan kotoran?

Sunting: dan bagaimana cara mendeteksi ke arah mana Anda menggulir?

masukkan deskripsi gambar di sini

Steve Hanov
sumber
Saya tidak tahu apakah ini sama untuk mouse ini, tetapi di masa lalu, itu adalah laser yang bersinar melalui roda, dan di dalam roda ada percikan (atau apa pun kata itu, ada area yang terbuka dan area yang ditutup). Jika laser dicegat, bisa merasakan bahwa itu digulir dan ke arah mana.
LPChip
2
Lihat di sini . Setiap pengaturan mouse berbeda, tetapi berdasarkan fakta bahwa gambar yang telah Anda posting menunjukkan pemasangan yang jelas pada roda, berarti ada pembuat enkode optik yang sedang diputar.
JakeGould
5
Ini mungkin mengejutkan Anda, tetapi mouse-ball lama (bukan mouse-laser modern) bekerja persis dengan cara yang sama, kecuali ia memiliki 2 roda - untuk arah X dan Y. Jika Anda berhasil menemukan dan membukanya, Anda akan melihat bahwa bola tidak melekat pada apa pun. Berikut foto: 38.media.tumblr.com/7d0bb30a71fba01f9c191fc48ca457f5/…
dr01
2
Jawabannya mencakup cara itu sebenarnya dilakukan; kemungkinan lain adalah dengan menggunakan sensor efek Hall , yang pada dasarnya menghitung pulsa listrik yang dihasilkan oleh magnet di roda melewati kumparan. Itu sering digunakan dalam alat-alat listrik, mesin mobil dan hal-hal lain yang berputar dengan cepat.
David Richerby

Jawaban:

100

Ada dioda (mungkin inframerah) dan reseptor, satu di kedua sisi roda, disolder langsung ke PCB hijau. Roda TERLIHAT, dan dengan memutarnya Anda mengganggu perjalanan cahaya dari dioda ke sensor. Tidak ada keajaiban di sana.

Oh, dan debu yang duduk di sana secara permanen dapat memblokir sensor dari cahaya apa pun yang berasal dari dioda, jadi tidak ada cara untuk itu untuk mendaftarkan gangguan, itu sebabnya roda tampaknya tidak berfungsi.

lokasi pemancar dan penerima cahaya, tidak tahu yang mana

Kitet
sumber
19
sekarang Anda hanya perlu menjelaskan bagaimana ia mendeteksi arah mana yang sedang Anda gulir
Sampo Sarrala
116
Dua reseptor, berjarak 1,5 jari-jari terpisah sehingga pola interupsi mereka berada di luar fase satu sama lain. Istilah teknis untuk ini adalah quadrature encoderjika Anda ingin google itu. Menggabungkan kedua sinyal on / off ini menghasilkan 4 "simbol" unik yang muncul dalam urutan tertentu untuk satu arah dan urutan terbalik untuk arah yang berlawanan.
AaronD
8
Jika Anda melewatkan hari-hari baik membersihkan mouseballs Anda, membersihkan ruji-ruji ini ketika menggulirkan slippy adalah pengganti yang baik.
Doug Kavendek
10
Seperti yang dinyatakan, jawaban ini salah karena secara spesifik menyatakan bahwa ada sepasang komponen optik tunggal, padahal sebagaimana ditunjukkan oleh AaronD, diperlukan dua. Hasil edit untuk memperbaikinya akan sederhana, tetapi sebagai perubahan faktual hanya Kitet yang harus membuatnya.
Chris Stratton
3
@ ChrisStratton Itu berdalih cukup kecil. Encoder quadrature tidak diragukan lagi dijual sebagai komponen terintegrasi tunggal. Example1 , Example2
Mike Ounsworth
40

Untuk menjawab hasil edit Anda dan memperluas komentar AAronD yang sangat baik , arahnya dirasakan oleh mikrokontroler dengan urutan kode ketika roda diputar.

Sebagai contoh, dua dioda, ketika memutar roda, katakanlah, berlawanan arah jarum jam akan diterjemahkan ke urutan berikut:

    A B
    0 0 
    0 1 
    1 1 
    1 0 

Untuk arah searah jarum jam, input akan digeser ke arah yang berlawanan.

Ilustrasi grafis yang sangat baik juga tersedia di sini: http://www.creative-robotics.com/quadrature-intro

Alex C
sumber
5

Saya melakukan riset dan menemukan bahwa ada banyak jenis tipe roda gulir. Ini bukan hanya Logitech, tetapi hampir semua produsen mouse menggunakan roda gulir jenis ini. Yang di sini adalah roda gulir optik. Ini menggunakan cahaya yang menyinari fotodioda melalui celah di cakram logam atau kaca. Versi reflektif juga ada. Ini adalah salah satu teknologi yang paling umum. Enkoder optik sangat sensitif terhadap debu.

Disk encoder optik terbuat dari kaca atau plastik dengan area transparan dan buram. Array sumber cahaya dan detektor foto membaca pola optik yang dihasilkan dari posisi disk pada satu waktu. Kode Gray sering digunakan. Kode ini dapat dibaca oleh perangkat pengendali, seperti mikroprosesor atau pengontrol mikro untuk menentukan sudut poros.

Jenis analog absolut menghasilkan kode analog ganda unik yang dapat diterjemahkan ke sudut absolut poros

Vedant
sumber
Logitec tidak menggunakan kode Grey, ia menggunakan modulasi quadrature sederhana. Ini hanya memberikan kecepatan sudut, bukan posisi.
Tandai
@ Mark - quadrature adalah kode abu-abu 2-bit, tapi ya, mengingat bahwa hanya ada dua bit dan banyak siklus di sekitar kemudi, Anda benar bahwa itu hanya memberikan hasil tambahan dan bukan sudut seperti yang diklaim.
Chris Stratton
@ Mark terima kasih, saya akan mempelajari masalah ini dan mengacaukan jawabannya. Terima kasih lagi
Vedant