基于LabVIEW的鼠标位移测量技术研究

2014-12-04 10:00:25来源: eccn

0 引言

位移传感器把外界物体的位移信号转化为电学量,从而实现对位移量的检测,在实际工程应用中有着非常重要的作用,其好坏往往影响着整个系统的性能。位移检测技术经过多年发展已经相当成熟,各种位移传感器纷纷出现,但低成本的位移传感器结构简单,精确度不高,线性度低,而高成本的位移传感器虽然性能优异,但制作工艺难度大,难以普及。所以开发一款低成本、高性能的位移传感器具有很高的现实意义。鉴于此,本文提出了通过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, Y0 ) , 其中X 0 , Y0 ( 为屏幕原点坐标)值可任意给定:( 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 鼠标驱动程序接口函数

通过调用以上函数实现鼠标的位移测量。具体方法为: 在显示坐标系内,坐标范围分成M × N 象素。位移的X 、Y 分量二者互不影响,编程时可以分别处理。方法实现的重点是消除操作系统固有的显示坐标系象素X i 与Yi 的上下界限制。首先要判断鼠标的运动方向,若鼠标向左移动,则其必然到达坐标系右边界。这时通过函数使象素X i 置零,Yi 不变,同时记录一次其过边界。通过显示坐标( X i , Yi ) 与初始坐标( X 0 ,Y0 ) 之差与过边界次数即可求出在显示坐标中鼠标指针的位移。其他运动方向的位移同理可以得到。最后通过比例因子μ将显示坐标映射到鼠标坐标系中,即可求出实际位移( x i ,yi ) 。详细的程序流程图如图1 所示。

图1 鼠标位移测量程序流程图

LabVIEW 具有代码直观、层次清晰的图形化编程特点。在前面板上设置显示坐标为M×N = 500 × 300 的指针工作区域,并设置初始坐标在工作区的中心( 250, 150) .X 方向右位移消除边界的部分程序框图如图2 所示,条件语句判断当指针到达右边界( 499, Yi ) 时,下一次循环将其设为( 0, Yi ) ,并将以后的位移增加1 倍M.循环体内使用了移位寄存器。

[1] [2]

关键字:LabVIEW  位移测量  位移传感器

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2014/1204/article_10251.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabVIEW
位移测量
位移传感器

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved