Jerry @DOA&INPAC, SJTU

Working out everything from the first principles.

导航

鼠标修复升级记录(下)

上回写到要解决噪音问题。尽管实测青轴比微动吵得多,但静音微动买都买了,还是给换上吧。

原来的微动是3脚的,新买的静音微动是2脚的,它们是否兼容呢?我们注意到3脚微动上标有CNONC字样,意为微动未被按下时CNC连接,按下时CNO连接。按键显然是按下时两引脚连接,这样看来这两个引脚的连接没有问题。那么还有一个空余的呢?首先从功能上说没有必要使用,其次我观察PCB发现它并没有连接,所以就放心换上。

我有拆焊台,就不需要电热吸锡器之类的了。先用热风枪300度最小风吹,发现吹不化,升到350依然如此。我就抹了点助焊膏,用电烙铁先化一下,然后就容易吹下来了。另一个微动我想换种方法拆,就用尖头横着同时加热3个焊盘,有点别扭但也取下来了。之后就先空心针,再插入新的器件,最后焊上就好了。

这还没有结束。还记得当初第一次拆开它时的惊艳:无需很复杂的电路和机械结构就能实现许多普通鼠标没有的功能;部件之间严丝合缝,十分精巧,至少相比于我自己做的项目来说是这样。

从电源看起吧。整个鼠标的电源都来自一节5号电池,其插座并不是网上可以买到的那种电池座,而是由外壳上的位置和焊在PCB上的电极组成的(图见上篇)。

1.5V啥都干不了。我一看那黑色的电感和两个尺寸显著超出其余元件的电容就知道这部分是一个升压电路。升压芯片丝印VUAI,反查得型号为TLV61220,是常见的TI升压芯片。用万用表测得输出电压约为2.2V,差不多刚好够LED用。

我认为这升压电路并不是专为LED准备的。如果1.5V电池直接给主控供电,在假设主控能在1.5V下工作的前提下,点亮LED可以用很简单的电荷泵,由于LED就开机后亮几秒,这种方案的平均功耗会更低。然而问题在于5号电池的电压并不一直是1.5V,只有全新的时候才是,放电过程中有一半的容量都在1.3V以下,很可能难以支持主控运行。而在升压电路的方案下,鼠标可以在电池电压低于1V时工作,反而是更高效地利用了电池。

唯一的缺点是它耗电太慢了。我积攒了很多别的设备中淘汰下来的电池,电压都在1V以上,但是根本用不完。

↑5号碱性电池的典型放电曲线,图源SLVA194

鼠标的主控是NRF31512,网上找不到datasheet,只知道它是个一次性编程的控制器。这种芯片省去了动辄10k次擦写的flash,降低了成本,适合于产品的设计。

鼠标是无线的,主控是个射频芯片,天线就画在板上。

光电鼠标中检测移动的器件是光学感应器。一个LED发出的光经过镜面反射和鼠标下方材质的漫反射后进入传感器,高速捕获材质表面的图像,用DSP计算出移动的距离。论计算,它的性能应该比前面的主控强吧。

↑光学感应器的结构,图源Google

这里的光学感应器是由两块PCB和若干塑料件组成的整体,我没敢拆。下面的PCB通过半孔接到主板上,上面的是给红外LED供电用的。

滚轮带有3个键,上篇中修的就是它的左右键。滚轮卡在透明塑料壳中,塑料壳前端固定在底座上,后部可以摆动,摆动时触发左右按键。按下为中键,靠一根小弹簧回弹。

一些低端的鼠标用的滚轮是用机械方式把旋转动作转换成电信号,本质上就是旋转编码器。手头这个作为大品牌中端鼠标当然不能用这么廉价的方案(而且我感觉旋转编码器与滚轮左右键无法共存)。滚轮的结构就像小车的测速码盘一样,有分布均匀的辐条,可以挡住一边的光电传感器接收到另一边发出的红外光。与旋转编码器一样,一个光电门只能检测速度,要两个才能检测方向,下图中光电门的3个引脚证明了这一点。我敢断言两个光电传感器接收到信号的相位差接近90°,尽管我不知如何测量,好像还涉及到一些几何。

主板通过2根线连接到侧键的那块PCB。我没有合适的工具拆下螺丝,但是观察发现板上没有电阻,不知是如何用2根线检测2个按键的(多按键接ADC需要合适的电阻)。

主板上有个红绿双色的LED,装好后正好位于上盖导光柱的下方,LED发出的光经由导光柱高效地传出。

写这篇文章就当科普了吧,至少我是挺有收获的。

posted on 2020-09-22 02:39  Jerry_SJTU  阅读(1167)  评论(0编辑  收藏  举报