测试鼠标传感器的软件,光电鼠标传感器的精密测量与控制系统 – 嵌入式设计应用 – 电子发烧友 …

摘要 对于普通的带传动装置进行较高精度的速度控制,传统的检测及控制器件未必能让人满意。光电鼠标芯片因以其高精度、低现场环境要求、低价格等因素非常适用于位置检测场合。鉴于此,结合光电鼠标芯片与AT89S51单片机,通过对普通带传动装置的改进,可使其传动做到快速、稳定、准确。测试表明,这种检测及控制方式是行之有效的。

关键词  PS/2协议  低速  PID控制  单片机接口  光学鼠标  速度测量

引言

1  检测系统硬件组成

1.1  OM02光学传感器芯片及鼠标控制器

这款光学CMOS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片,集成有数字信 处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼,能够不断地对物体进行拍照,并将前后两次图像送入DSP中进行处理,得到移动的方向和距离。DSP产生的位移值,转换成双通道正交信 ,配合鼠标控制器,将双通道正交信 转化成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上,并配有一个高强度的LED。此外,它可提供高达400点/in的分辨率以及16 in/s以内的检测速度。

图1为鼠标芯片传感器的装配图。因OM02芯片为CMOS型传感器,因此必须配有与之相适应的高强度发光二极管,发射角度(与底板之间的夹角)为30°~45°。在标准安装配合后,底板距离工作表面的有效距离在0~2 mm内,OM02芯片可进行正常的数据接收检测。

图2  光电鼠标检测控制原理框图

系统主要由电动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,而且应具有良好性能。为此,采用三相交流异步电机(Y263M14型,0.12 kW)、变频器(富士FRN0.4C1S4C)、30∶1蜗轮蜗杆减速器、v型B相带传输装置、P204型球轴承及轴承座等作为模拟工业设备的主要传动及执行部分。通过单片机调整数模转换器的输出电压U,可改变变频器的输出频率,从而改变电机转速。

2  单片机程序设计

2.1  鼠标通信协议原理

鼠标与单片机的数据通信方式采用PS/2通信协议。PS/2鼠标的物理接口为6脚圆形接口。使用中只需第1引脚Data、第3引脚GND、第4引脚+5VPower和第5引脚Clock这4个引脚即可。

鼠标履行一种双向同步串行通信协议,在时钟信 的作用下串行发送或者接收数据。通常情况下,单片机在总线上具有总线控制优先权,可在任何时候抑制来自于鼠标的通信。从鼠标到单片机的数据在时钟的下降沿被读取;相反,单片机到鼠标的数据在时钟的上升沿被读取。时钟信 总由鼠标内部的芯片提供,时钟频率一般在10~20 kHz。

(1) 单片机对鼠标的通信

根据协议要求,单片机对鼠标的控制只需把时钟线拉低最少100 μs以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态。如图3所示,时钟线升为高电平后被PS/2设备重新拉低,即可开始单片机向鼠标的通信。

图4  鼠标对单片机通信的时序

(3) 单片机发送的控制数据

按照鼠标的PS/2协议规范,实际编程时先对鼠标发送0xff使其复位,默认采样频率为100次/s,缩放比例为1∶1,数据 告禁止。使用0xea命令进入stream模式,使用0xe8、0x03命令设置解析度为8点/mm,使用0xf4命令使能数据 告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1 s,每次中断时发送0xeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动作信息。具体格式如表1所列。编译时也只需提取X3的有效数据包即Y方向位移增量。

表1  3D型鼠标接收数据格式

使用神经 络PID自适应控制对系统进行Matlab的仿真测试,效果令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单片机的运算时间大幅度增加,造成时间上的不确定因素增大;同比使用增量型PID控制,尽管后者需调整3个控制参数,但同样可使精度达到预期的效果,运算时间也大幅度下降,为此选用增量型PID算法作为控制算法。

增量式数字PID的控制算法为:

图5  带运动的时间位移图

使用read string控件对数据进行接收,并通过Waveform graph控件就可以显示实时波形。在LabVIEW中自带的范例中,数据的接收并非是连续不断的,而要通过一定的延时;因此,为了不间断地接收单片机发送的串口数据包,须将前面的写和延时都去掉。因串口接收到的数据是字符型的,而我们所需要的是整型数据,因此可通过强制转换将数据转换为单精度整型。创建数组,将数据和数组初始化相结合得到一个完整的数组,通过Waveform graph控件以及移位寄存器即可实现上位机的实时显示与记录。

4  检测控制性能评价

PS/2接口最大的使用频率是33 kHz。本实验单片机使用12 MHz的晶振,可轻松实现接口功能。但受其芯片特性的影响,尽管OM02的鼠标芯片最高可使用的分辨率为400DPI,但在使用较高分辨率的情况下,鼠标传输的误码率将有所上升,其位移精度也将受到质疑。为保证位移量的准确性,采用200DPI的分辨率,配合看门狗,精度误差和程序稳定性将大为好转。

测试结果如图5所示,图中纵坐标为位移增量点,每一点为0.125 mm。带在较低速的运行中尽管存在速度的上下跳动变化,但跳动量较小。图中带速度的设定值为32点,即40.00  mm/s(灵敏度为0.125 mm/s),速度平均值为39.987mm/s(测量数据引自速度曲线刚开始稳定时的前1000个时间点)。因其光电鼠标传感器在正常工作环境中使用,系统呈线性变化,对此可引入速度修正系数k,以提高检测精确度。

结语

使用光电鼠标作为检测带运动的速度传感器,其价格低廉、准确性高且使用方便,配合单片机的数字式PID编程控制以及LabVIEW虚拟仪器的图形检测显示,可以很好地对速度要求较低、精度要求不太高的设备进行改装,使其输出速度稳定。又因为光电鼠标技术已趋于成熟,一般情况下对检测表面的粗糙度要求不高,在比较恶劣的工况下仍可保证运行无障碍。近些年所推出的激光鼠标,其分辨率可达到0.01 mm,效果甚佳。该实验在某企业的生产部门进行了现场测试,效果理想。

参考文献

[1] OM02 OpTIcal Mouse sensor Data Sheet,2004.

[2] 赵玉昆.PS/2鼠标和单片机的接口[J]. 上海应用技术学院学 , 2004,4(1).

[3] 林邓伟,刑文生. 光电鼠标芯片组在无接触检测运动物体中的应用[J]. 微计算机信息,2006,22(72).

[4] 宋健. 数字PID算法在喷雾机器人导航系统中的应用[J]. 潍坊学院学 ,2003,3(6).

陈智博,主要研究方向为机械电子工程;

林永忠(本科),主要研究方向为自动检测与控制;

蔡钟山、刘聃(本科),主要研究方向为检测技术与自动化装置;

肖威威(本科),主要研究方向为机械制造及自动化。

(收修改稿日期:2008-10-18)

相关资源:电脑鼠仿真软件_电脑鼠-Web开发代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月19日
下一篇 2021年6月19日

相关推荐