打印
[DSP]

基于单片机的光电鼠标传感器带速度精密测量及其控制系统

[复制链接]
468|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2020-4-24 23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于单片机的光电鼠标传感器带速度精密测量及其控制系统


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

  引言
  带传动是工业生产中使用普遍的传输装置,其常用的速度检测装置是安装在电机旋转端的光电编码器。但设备在长期使用中,因磨损等不可预计情况,使得电机转速与带传动速度出现严重的不一致。这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光栅尺等因价格昂贵、对现场环境要求高,往往对于普通工况中的的带传动装置改装并不很适用。鉴于此,本文提出了使用一般商用的光电鼠标代替传统的检测器件,通过AT89S51单片机实现现场的PID控制,使带传动速度达到我们满意的要求。

  1、检测系统硬件组成
  1.1OM02光学传感器芯片及鼠标控制器
  这款光学COMS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片。他集成有数字信号处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼,能够不断的对物体进行拍照,并将前后两次图像送入DSP中进行处理,得到移动的方向和距离。DSP产生的位移值,转换成双通道正交信号,配合鼠标控制器,将双通道正交信号转结成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上,并一个配备有一个高强度的LED。此外,他可提供高达400点/英寸的分辨率以及16英寸/秒以内的速度检测。
  图1为鼠标芯片的安装装配图。因OM02芯片为COMS型传感器,因此必须配备有与之相适应的高强度发光二极管,发射角度与底板夹角30。~45。范围内。在标准安装配合后,底板距离工作表面的有效距离在0mm~2mm内,OM02芯片可进行正常的数据接收检测。
  1.2检测控制原理
  本系统采用全闭环控制方式,如下图图2,将鼠标检测到位移增量反馈回单片机,并进行数字式PID控制,运算结果通过D/A转换芯片传给变频器,从而控制电机的转速。
  本实验系统主要由原动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,而且应具有良好性能。为此,本实验采用三相交流异步电机(Y2-63M1-4型,0.12KW)、变频器(富士FRN0.4C1S-4C),30:1蜗轮蜗杆减速器、v型B相带传输装置、P204型球轴承及轴承座等作为模拟工业设备的主要的传动及执行部分。通过单片机调整数模转换器的输出电压U,可改变变频器的输出频率,从而改变电机转速。

  2、单片机程序设计
  2.1鼠标通信协议原理
  鼠标与单片机的数据通信方式采用PS/2通信协议。
  PS/2鼠标的物理接口为6脚圆形接口,使用中只需1引脚Data、3引脚GND、4引脚+5VPower和5引脚Clock这4个引脚即可。
  鼠标履行一种双向同步串行通信协议,在时钟信号的作用下串行发送或者接受数据。通常情况下,单片机在总线上具有总线控制优先权,可在任何时候抑制来自于鼠标的通信。从鼠标到单片机的数据在时钟的下降沿被读取,相反,单片机到鼠标的数据在时钟的上升沿被读取。时钟信号总由鼠标内部芯片提供,时钟频率一般在10~20KHz。
  2.1.1单片机对鼠标的通信
  根据协议要求,单片机对鼠标的控制只需把时钟线拉低最少100us以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态。如图3所示,当时钟线升为高电平后被PS/2设备重新拉低,即可开始单片机向鼠标的通信。
  2.1.2鼠标对单片机的通信
  因单片机对总线具有控制权,当鼠标要向单片机发送信息时,必须先检查时钟线是否为高电平。如图4所示,当时钟线出现高电平,数据线出现低电平,表明鼠标请求发送,单片机可以接受来自鼠标的数据。
  2.1.3单片机发送的控制数据
  按照鼠标的PS/2协议规范,实际编程时先对鼠标发送0xff使其复位,默认采样频率为100次/秒,缩放比例1:1,数据报告禁止。使用0xea命令进入stream模式、使用0xe8,0x03命令设置解析度为8点/毫米。使用0xf4命令使能数据报告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1s,每次中断时发送0xeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动作信息。具体格式为表1所示。编译时也只需提取X3的有效数据包即Y方向位移增量
 2.2PID控制软件算法
  使用神经网络PID自适应控制对系统进行matlab的仿真测试,效果颇令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单片机的运算时间大幅度的增加,造成时间上的不确定因素增大,同比使用增量型PID控制,尽管后者需调整三个控制参数,但同样可使精度达到我们预期的效果,运算时间则大幅度下降,为此仍可选用增量型PID算法作为控制。算法增量式数字PID的控制算法为:
  U(k)=U(k-1)+*(e(k)-e(k-1))+*e(k)+*(e(k)-2e(k-1)+e(k-2))
  其中e(k)为当前位移增量与上一次位移增量的变化量,同理e(k-1)、e(k-2)各为往前时间间隔的位移变化量。
  利用单片机串行中断接收功能,可在PC机上实时调节PID的kp,ki,kd参数。

  3、上位机监测设计
  通过单片机的串口发送,在LabVIEW中编写程序来完成PC机控制数据通信设备进行数据交换,直接通过串口接收外部数据并进行图形显示,并可以将数据存放在txt文件当中。在Labview中主要是通过VISA控件实现串行口直接数据通信,通过RS-232串行接口和Labview实现数据的通信。
  使用readstring控件可以用来显示。数据接收并非连续不断的接收,而是通过一定的延时。为实现不间断的接收单片机发送的串口数据包,须将前面的写和延时都去掉。因串口接收到的数据是字符型的,通过强制转换将数据转换为单精度整型。创建数组将数据和数组初始化相结合得到一个完整的数组,通过Waveformgraph控件以及移位寄存器即可实现上位机的实时显示与记录。

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

  5、结语
  使用光电鼠标作为检测带运动的速度传感器,其价格低廉、准确性高而且使用方便,再配合单片机的数字式PID控制以及labview软件的图形检测,可以很好的对速度要求较低、要求精度不是非常高的设备进行改装,使其达到输出速度稳定。又因为光电鼠标技术已趋于成熟,在一般分辨率的情况下下对检测表面的要求不高,在比较恶劣的工况下仍可保证运行无障碍。而近些年所推出的激光鼠标,其分辨率可达到0.01毫米,效果甚佳。

使用特权

评论回复

相关帖子

沙发
Clovee|  楼主 | 2020-4-24 23:36 | 只看该作者
基于单片机的光电鼠标传感器带速度精密测量及其控制系统

基于单片机的光电鼠标传感器带速度精密测量及其控制系统.pdf

415.48 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝