主页
主页
Global site
Homepage

磁轴键盘背后的技术

为什么磁轴键盘可以检测按压距离

现在最流行磁轴轴体是将磁铁放置于轴心柱的中心,我们自己的键盘及套件适配了这样的轴体。

在用户按压按键时,轴心柱被按下,其中的磁铁与 PCB 背面的霍尔传感器的距离发生变化,也就是磁场强度会发生变化。而霍尔传感器可以感应磁场强度,并以电压高低的形式输出。使用 ADC(Analog-to-digital converter,模拟到数字转换器)将电压转换为数字,再由键盘主控(MCU)经由一些列计算,就可以借此了解用户按压了多少,总而最终实现触发及释放按键。

Switch用户按下按键,带动轴心中的磁铁上下移动
Sensor霍尔传感器感应到磁场强度变化,输出变化的电压信号
ADCADC 将电压转换为数字
MCUMCU 计算得知按压距离,并向电脑发送按键变化

为什么中心磁铁磁轴实现高精度是困难的

磁场强度与距离的并不是线性关系,而是距离越远(越接近没有按压时)变化越小,距离越近(越接近触底时)变化越大。

MCU

这是一个非常重要的特性,因为这意味着用户按压距离与输出电压的关系并不是线性的。

而市面上所有的霍尔传感器,包括 TMR 传感器,都是输出电压与磁场强度程线性关系。

这就意味着,我们需要通过一些方法,使输出电压与按压距离的关系尽可能地接近线性,这就是磁轴键盘实现高精度的难点。

这个世界上的电子元件都不是完美的,电源、传感器、ADC 等等均会具有一定的噪声、误差。按压距离 0.00mm 到 0.01mm 之于电压的变化(零点几 mV)已经远小于传感器自身的噪声1和市面上常见的单片机(MCU)自带的 12bit ADC 的最小分辨能力2

综上所述,要达到稳定的 0.01mm,就需要通过各种方法,使键盘能够稳定地分辨非常小的电压变化(最终的波动至少需要要小于 1/2 个 0.00 到 0.01mm 的电压差,否则会反复横跳不停触发)。

[1]市面上的一些传感器所标注的 uV 级别的噪声是其内部噪声,最终输出噪声都是 mV 级的。

[2]例如,12bit ADC 在 3.3V 参考电压下工作,即使是理想情况下也只能分辨 0.8mV 的变化。