资讯详情

鼠标的工作原理及位移测量的实现方法

经过多年的发展,位移检测技术已经相当成熟,出现了各种位移传感器。然而,低成本位移传感器结构简单,精度低,线性低。虽然高成本位移传感器性能优异,但生产工艺难以普及。因此,开发低成本、高性能的位移传感器具有很高的现实意义。鉴于此,本文提出通过LabVIEW 编程实现鼠标位移测量方法,精度高,线性好,测量范围大,不需要其他硬件设备。

1 鼠标的工作原理和位移测量的实现方法

1.1 鼠标的工作原理和驱动程序

鼠标( mouse) 现代个人电脑( PC)广泛应用于图形用户界面,用户界面(GUI)鼠标的流行是必不可少的。大规模生产使鼠标价格非常低,使用鼠标测量位移也使成本合理。经过几十年的技术发展,特别是光电鼠标和激光鼠标的出现,其精度大大提高。鼠标具有高精度、低成本的优点。虽然鼠标实际上是一个位移传感器 ,但它是PC 机配备外部输入设备,各操作系统自带鼠标驱动程序,仅为图形用户界面提供操作,不能满足一般位移测量要求。

鼠标全称显示系统纵横位置指示器。光电鼠和机械鼠之间最大的区别是轨道检测方法,但其工作原理基本相同: 位移通过光栅信号传感器或光电传感器转换为电脉冲信号,包PC 机器。目前,鼠标实现位移测量的方法主要是利用单片机实现信号处理和位移检测功能,但稳定性差,噪声大,需要额外的硬件系统,成本效益低。当操作 系统尽可能挖掘底部硬件数据通信能力时,重新浪费底部硬件通信资源。事实上,鼠标提供GUI 操作,通过鼠标移动控制显示设备上鼠标指针的像素移动。相反,实际鼠标的位移可以通过指针运动的位移来确定。

1.2 鼠标坐标系统与显示坐标系统的关系

鼠标坐标系统( 即实际位移) 通过映射与显示坐标系统完成对应关系,均采用平面直角坐标系。鼠标坐标系统以平面上的任何一点为原点,用相对原点的偏移量计算目标点的坐标 值,然后用相对目标点的偏移量计算下一个新目标点的坐标值,以此类推。鼠标坐标系统的基本单位是米基。显示坐标系统与显示器的实际分辨率和工作模式有关。使用平面直角坐标系统,原点在屏幕左上角,水平代表X 方向,纵向代表Y 方向。基本单位衡量图形下的横向和纵向象素。例如,1024年×768 分辨率时,显示坐标的横向和纵向坐标范围为0~ 1023,0~ 767。

鼠标坐标系到显示坐标系完成三个方面的映射:(1) 原点映射:( x 0 ,y 0 ) = ( X 0,Y ,其中X 0 ,Y( 2) 目标点映射:( ( )x i ,y i ) = ( x i- 1 △x i ,y i- 1 △yi ) →(X i ,Yi ) = X i- 1 △X i ,Yi- 1 △Yi ( i =1,2 ……,n,横向下界≤ X i ≤ 横向上界,纵向下界≤Yi ≤纵向上界; ( 3) 基本单位映射: 图形( 米基到象素映射) ,△x i / x 方向比因子= △X i ,△yi / y 方向比因子= △Yi ( i =1,2……,n)。改变米基到象素的比例因子μ 影响鼠标灵敏度,μ 值决定指针的移动速度PC 机w indow s 操作系统中的控制面板设置。因此,无需改变鼠标底部的硬件驱动,可以通过象素坐标确定鼠标的实际位移。但实际显示坐标有边界限制,不能满足大范围的位 移测量。LabVIEW编程消除显示坐标的象素X i 与Yi 通过测量指针移动的象素,准确检测鼠标的位移。

1. 3 位移测量LabVIEW 实现方法

通过库函数节点( CLF) 访问动态链接库( DLL) 直接调用方法WINDOWS API 函数与LabVIEW 自编库函数库函数使LabVIEW 大大增强了鼠标的通信,支持操作系统的底层函数LabVIEW 提供了便捷,节省了内存空间。与鼠标相关的动态链接库函数如表1 所示,二者库函数有部分相同的功能。

表1 鼠标驱动程序接口函数

225597b99d299c8f093bb0a334331eaf.png

鼠标的位移测量是通过调用上述函数来实现的。具体方法: 在显示坐标系中,坐标范围分为M × N 象素X 、Y 重量不相互影响,编程时可分别处理。该方法的重点是消除操作系统固有的显示坐标系象素X i 与Yi 的上下边界限制。首先,判断鼠标的运动方向。如果鼠标向左移动,它将不可避免地到达坐标系的右边界。此时,通过函数使象素X i 置零,Yi 不变,同时记录其跨界一次。显示坐标( X i ,Yi X 0 ,Y0 ) 鼠标指针在显示坐标中的位移可以通过边界次数之间的差异来找到。也可以得到其他运动方向的位移。最后,通过比例因子μ将显示坐标映射到鼠标坐标系中,可以找到实际的 位移( x i ,yi ) .详细的程序流程图如图1 所示。

f1aaae91492e3c44698fc6d7e435ed35.png

图1

LabVIEW 具有代码直观、层次清晰的图形编程特性。在前面板上设置显示坐标M×N = 500 × 在工作区中心( 250,150) 指针工作区域设置初始坐标.X 方向右位移消除边界的99,Yi ) 将下一个循环设置为( 0,Yi ) ,并将未来位移增加1 倍M.移位寄存器用于循环体内。

5dc9dc730e2ad97f35c77fca164f0147.png

图2 部分消除边界LabVIEW 程序框图

2 检测实验和性能分析

采用检测实验USB 接口的dell 三键光电有线鼠标,最高分辨率400dpi.鼠标在指针最小和最大移动速度( 控制面板设置) 中分别测试4mm/ s 与20mm/ s 位移测量性能的速度。位移精度为0.01mm.得到如图3 所示的位移图像。

由于步进电机的显示位移与鼠标实际检测的位移有统计关系和线性,因此可以建立回归模型: Yi = A B ?? X i &epSILon;i( i= 1,2,……,n) ,其中( X i ,Yj 表示( X ,Y) 的第i 个观测值,A 、B 为参数,A B ×X i 为了反映直线统计关系的重量,εi 为反映在统计关系直线周围的随机分量,εi ~ N( 0,δ 2 ) ,服从正常分布。最小二乘法:

781b3fd20fb4579529d629056b65e667.png

1966361ad98402be89a1c86eab9818cd.png

相关系数越接近1,两者越正相关。图3 直线拟合结果如表2所示.

表2 线性拟合结果

d5f1efd93589e86363c7aa64797d551b.png4ce6930fcea44d1b548f78df45f6d73a.png

图3 步进电机校准试验及线性拟合

从表中可以看出,不同条件下测定的位移相关系数接近1,即实验鼠标位移测定接近步进电机标定位移;截距A 可以忽略不计,即鼠标位移测量没有系统误差; 斜率B 标准差小于0.3%,即实验鼠标随机误差小。以上充分说明实验鼠标具有精度高、线性好、误差小等优点。

为了测试鼠标位移在低速条件下的测量性能和速度之间的关系,用相同的校准方法测试了不同速度鼠标位移的性能。从图4 可以看出,鼠标移动速度越大,斜率误差与总拟合标准的差异越大,测量位移性能降低,但在20年mm/ s 速度仍然满足位移测量的一般要求。可以预见,随着速度的增加,误差会逐渐增大。该鼠标位移测量方法适用于低速。

740cb287e626ebdd4cfc46cbf030c899.png

图4 不同速度位移测定的误差

3 总结

结果表明,该方法满足了精确位移测量的要求,可提供精度0.1mm 位移测量具有线性好、精度高、误差小的优点。同时,研究表明,位移测量系统在低速位移测量中具有更好的性能。采用高层软件设计的方法,使鼠标位移 测量不受鼠标接口和鼠标型号的限制,具有成本效益高、适用性强的特点。基于鼠标位移检测方法LabVIEW 漏磁检测系统取得了良好的效果。

标签: 挖机传感器怎么安装

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台