罗技滚轮如何检测运动?

Ste*_*nov 84 mouse mouse-wheel logitech-mouse

我刚刚更换了鼠标中的滚轮,只需一分钟即可修复。但现在我看到了一些不能被看不见的东西。

罗技滚轮显然使用了魔法

它自由地放置在三个按钮上,可以检测向左、向右和直接按下。但是轮子本身并没有与任何东西电连接。它是靠在弹簧上的塑料。

鼠标如何知道我何时滚动?为什么它会受到灰尘和粘性物质的影响?

编辑:它如何检测您滚动的方向?

在此处输入图片说明

Kit*_*tet 103

有一个二极管(可能是红外线)和一个接收器,一个在轮子的两侧,直接焊接到绿色 PCB 上。轮子是辐条式的,通过转动它可以中断从二极管到传感器的光。那里没有魔法。

哦,那里的灰尘会永久地阻挡来自二极管的任何光线的传感器,因此它无法记录中断,这就是轮子似乎不起作用的原因。

光发射器和接收器的位置,不知道哪个是哪个

  • *两个*接收器,间隔 1.5 个辐条,因此它们的中断模式彼此相差 90 度。如果你想用谷歌搜索它,技术术语是“正交编码器”。将这两个开/关信号组合在一起,可以得到 4 个独特的“符号”,它们在一个方向上以特定顺序出现,在相反方向上以相反顺序出现。 (120认同)
  • 现在你只需要解释它如何检测你正在滚动的方向 (21认同)
  • 如上所述,这个答案是不正确的,因为它明确指出有一对单一的光学组件,而实际上正如 AaronD 指出的那样,需要两个。修复它的编辑很简单,但作为*事实*更改,只有 Kitet 应该做到。 (10认同)
  • 如果您错过了清理鼠标球的美好时光,那么在滚动变得滑溜时清理这些辐条是一个很好的替代方法。 (9认同)
  • @ChrisStratton 这是一个非常小的狡辩。正交编码器无疑是作为单个集成组件出售的。[示例 1](http://www.robotshop.com/ca/en/lynxmotion-quadrature-motor-encoder-v2-cable.html), [示例 2](http://www.robotshop.com/ca/en /cytron-simple-rotary-encoder-kit.html) (3认同)
  • @MikeOunsworth - 它可能是一个单一的封装,但它并不是这篇文章中错误地声称的单一二极管和接收器。没有证据表明答案的作者甚至理解涉及正交,并且**这里没有关于如何区分方向的声明**。 (3认同)

小智 41

为了回答您的编辑和扩展 AAronD 的精彩评论,当车轮转动时,微控制器通过代码序列来检测方向。

例如,两个二极管,当转动轮子时,比方说,逆时针将转化为以下顺序:

    A B
    0 0 
    0 1 
    1 1 
    1 0 
Run Code Online (Sandbox Code Playgroud)

对于顺时针方向,输入将沿相反方向移动。

此处还提供了出色的图形插图:http : //www.creative-robotics.com/quadrature-intro


小智 5

我做了一些研究,发现有很多类型的滚轮类型。不仅仅是罗技,几乎所有的鼠标厂商都在使用这种类型的滚轮。这里的一个是光学滚轮。它使用光线通过金属或玻璃盘中的狭缝照射到光电二极管上。反射版本也存在。这是最常见的技术之一。光学编码器对灰尘非常敏感。

光学编码器的圆盘由玻璃或塑料制成,具有透明和不透明区域。光源和光电探测器阵列随时读取由光盘位置产生的光学图案。格雷码经常被使用。该代码可由控制设备读取,例如微处理器或微控制器,以确定轴的角度。

绝对模拟类型产生一个独特的双模拟代码,可以转换成轴的绝对角度

  • @Mark - 正交*是*一个2位格雷码,但是是的,考虑到轮子上只有两位和许多周期,你是正确的,它只给出增量结果而不是所声称的角度。 (2认同)