題 羅技滾輪如何檢測運動?


我只是用鼠標替換了我的滾輪,一分鐘修復。但現在我已經看到了一些看不見的東西。

羅技滾輪明顯起作用 魔法

它可以自由地放在三個按鈕上,可以檢測左,右和直下按壓。但是車輪本身並沒有任何電氣連接。它是塑料放在彈簧上。

當我滾動時,鼠標是如何知道的?為什麼它受到灰塵和垃圾的影響?

編輯:以及它如何檢測您正在滾動的方向?

enter image description here


81
2017-11-23 21:27


起源


我不知道這只鼠標是否相同,但在過去,它是一個激光通過車輪照射,車輪內部是火花(或者不管是什麼,它有開放區域和區域已關閉)。如果激光被攔截,它可能會感覺到它被滾動並朝向哪個方向。 - LPChip
看這裡。每個鼠標設置都不同,但根據您發布的圖片顯示輪子上的清晰安裝意味著有一個光學編碼器正在播放。 - JakeGould
這可能會讓你感到驚訝,但舊的鼠標(不是現代激光鼠標)完全以同樣的方式工作,除了它有兩個輪子 - 用於X和Y方向。如果你設法找到並打開它,你會發現球沒有附著在任何東西上。這是一張照片: 38.media.tumblr.com/7d0bb30a71fba01f9c191fc48ca457f5/... - dr01
答案涵蓋了實際完成的方式;另一種可能性是使用a 霍爾效應傳感器這基本上計算了通過線圈的車輪中的磁鐵產生的電脈衝。這些通常用於電動工具,汽車發動機和其他快速旋轉的東西。 - David Richerby


答案:


有一個二極管(可能是紅外線)和一個接收器,一個位於車輪兩側,直接焊接到綠色PCB上。車輪是SPOKED,通過轉動它可以中斷從二極管傳到傳感器的光。沒有魔法。

哦,坐在那裡的灰塵會永久地阻擋傳感器阻擋來自二極管的任何光線,所以沒有辦法記錄中斷,這就是為什麼車輪看不起作用的原因。

location of light transmitter and receiver, don't know which is which


100
2017-11-23 21:32



現在你只需要解釋它如何檢測你正在滾動的方向 - Sampo Sarrala
二 接收器間隔1.5個輻條,使它們的中斷模式彼此異相90度。技術術語是一個 quadrature encoder 如果你想谷歌它。組合這兩個開/關信號給出了4個唯一的“符號”,它們以一個方向的特定順序出現,而相反方向的順序相反。 - AaronD
如果你錯過了清理鼠標球的美好時光,那麼在滾動時清理掉這些輻條是一個很好的替代品。 - Doug Kavendek
如上所述,這個答案是不正確的,因為它特別指出存在一對奇異的光學元件,而事實上正如AaronD指出的那樣,需要兩個。修復它的編輯很簡單,但作為一個 事實 改變只有Kitet應該做到。 - Chris Stratton
@ChrisStratton這是一個非常小的狡辯。毫無疑問,正交編碼器作為單個集成組件出售。 例1, 例題 - Mike Ounsworth


回答您的編輯和擴展AAronD 優秀的評論當轉動車輪時,微控制器通過代碼序列檢測方向。

例如,兩個二極管在轉動車輪時,比方說順時針方向將轉換為以下順序:

    A B
    0 0 
    0 1 
    1 1 
    1 0 

對於順時針方向,輸入將在對位方向上移位。

這裡還有一個很好的圖示: http://www.creative-robotics.com/quadrature-intro


40
2017-11-24 09:51





我做了一些研究,發現有許多類型的滾輪類型。它不僅僅是羅技,而且幾乎所有的鼠標製造商都使用這種類型的滾輪。這裡的一個是光學滾輪。這使用通過金屬或玻璃盤中的狹縫照射到光電二極管上的光。反射版本也存在。這是最常見的技術之一。光學編碼器對灰塵非常敏感。

光學編碼器的光盤由玻璃或塑料製成,具有透明和不透明區域。光源和光電探測器陣列在任何時候讀取光盤位置產生的光學圖案。經常使用格雷碼。該代碼可以由控制裝置讀取,例如微處理器或微控制器,以確定軸的角度。

絕對模擬類型產生獨特的雙模擬代碼,可以轉換為軸的絕對角度


5
2017-11-24 08:49



Logitec不使用格雷碼,它使用簡單的正交調製。這僅給出角速度,而不是位置。 - Mark
@Mark - 正交 是 一個2位的格雷碼,但是是的,鑑於車輪周圍只有兩個位和許多周期,你是正確的,它只給出一個增量結果,而不是聲稱的角度。 - Chris Stratton
@Mark謝謝你,我會研究這件事並打亂答案。再次感謝 - Vedant