光电鼠标传感器的精密测量与控制系统
时间:04-13
来源:互联网
点击:
引言
带传动是工业生产中普遍使用的传输装置,其常用的速度检测装置是安装在电机旋转端的光电编码器;但设备在长期使用中,因磨损等不可预计情况,使得电机转速与带传动速度出现严重的不一致。这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光栅尺等因价格昂贵、对现场环境要求高,往往对于普通工况中带传动装置的改装并不很适用。鉴于此,本文提出了使用一般商用的光电鼠标代替传统的检测器件的方法,通过AT89S51单片机实现现场的PID控制,使带传动速度达到满意的要求。
1 检测系统硬件组成
1.1 OM02光学传感器芯片及鼠标控制器
这款光学CMOS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片,集成有数字信号处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼,能够不断地对物体进行拍照,并将前后两次图像送入DSP中进行处理,得到移动的方向和距离。DSP产生的位移值,转换成双通道正交信号,配合鼠标控制器,将双通道正交信号转化成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上,并配有一个高强度的LED。此外,它可提供高达 40O点/in的分辨率以及16 in/s以内的检测速度。
图1为鼠标芯片传感器的装配图。因OM02芯片为CMOS型传感器,因此必须配有与之相适应的高强度发光二极管,发射角度(与底板之间的夹角)为 30°~45°。在标准安装配合后,底板距离工作表面的有效距离在O~2 mm内,OM02芯片可进行正常的数据接收检测。
1.2 检测控制原理及系统硬件设计
本系统采用全闭环控制方式,如图2所示。将鼠标检测到的位移增量反馈回单片机,并进行数字式PID控制,然后将运算结果通过D/A转换芯片传给变频器,进而控制电机的转速。
系统主要由电动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,而且应具有良好性能。为此,采用三相交流异步电机(Y2—63M1—4型,O.12 kW)、变频器(富士FRNO.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~20 kHz。
(1)单片机对鼠标的通信
根据协议要求,单片机对鼠标的控制只需把时钟线拉低最少100μs以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态。如图3所示,时钟线升为高电平后被PS/2设备重新拉低,即可开始单片机向鼠标的通信。
(2)鼠标对单片机的通信
因单片机对总线具有控制权,当鼠标要向单片机发送信息时,必须先检查时钟线是否为高电平。如图4所示,当时钟线出现高电平、数据线出现低电平时,表明鼠标请求发送,单片机可以接收来自鼠标的数据。
(3)单片机发送的控制数据
按照鼠标的PS/2协议规范,实际编程时先对鼠标发送Oxff使其复位,默认采样频率为10O次/s,缩放比例为1:1,数据报告禁止。使用Oxea命令进入strearn模式,使用Oxe8、0x03命令设置解析度为8点/mm,使用Oxf4命令使能数据报告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1 s,每次中断时发送Oxeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动作信息。具体格式如表1所列。编译时也只需提取X3的有效数据包即Y方向位移增量。
2.2 PID控制软件算法
对该交流变频调速系统建模,首先取电压输入为一个随机值,再测得其转速值。取两个数值构成一个数据对,然后对大量数据对用Matlab仿真求得其幅频特性和相频特性,并且对其幅频特性和相频特性进行相似的拟合。根据拟合的曲线可以近似求得其传递函数为:
使用神经网络PID自适应控制对系统进行Matlab的仿真测试,效果令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单片机的运算时间大幅度增加,造成时间上的不确定因素增大;同比使用增量型PID控制,尽管后者需调整3个控制参数,但同样可使精度达到预期的效果,运算时间也大幅度下降,为此选用增量型PID算法作为控制算法。
增量式数字PID的控制算法为:
其中kp为比列系数,ki为积分系数,kd为微分系数;e(k)为当前位移增量与上一次位移增量的变化量;同理,e(k一1)、e(k一2)各为往前时间问隔的位移变化量。
利用单片机串行中断接收功能,可在PC机上实时在线调节PID的kp、ki、kd参数。
带传动是工业生产中普遍使用的传输装置,其常用的速度检测装置是安装在电机旋转端的光电编码器;但设备在长期使用中,因磨损等不可预计情况,使得电机转速与带传动速度出现严重的不一致。这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光栅尺等因价格昂贵、对现场环境要求高,往往对于普通工况中带传动装置的改装并不很适用。鉴于此,本文提出了使用一般商用的光电鼠标代替传统的检测器件的方法,通过AT89S51单片机实现现场的PID控制,使带传动速度达到满意的要求。
1 检测系统硬件组成
1.1 OM02光学传感器芯片及鼠标控制器
这款光学CMOS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片,集成有数字信号处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼,能够不断地对物体进行拍照,并将前后两次图像送入DSP中进行处理,得到移动的方向和距离。DSP产生的位移值,转换成双通道正交信号,配合鼠标控制器,将双通道正交信号转化成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上,并配有一个高强度的LED。此外,它可提供高达 40O点/in的分辨率以及16 in/s以内的检测速度。
图1为鼠标芯片传感器的装配图。因OM02芯片为CMOS型传感器,因此必须配有与之相适应的高强度发光二极管,发射角度(与底板之间的夹角)为 30°~45°。在标准安装配合后,底板距离工作表面的有效距离在O~2 mm内,OM02芯片可进行正常的数据接收检测。
1.2 检测控制原理及系统硬件设计
本系统采用全闭环控制方式,如图2所示。将鼠标检测到的位移增量反馈回单片机,并进行数字式PID控制,然后将运算结果通过D/A转换芯片传给变频器,进而控制电机的转速。
系统主要由电动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,而且应具有良好性能。为此,采用三相交流异步电机(Y2—63M1—4型,O.12 kW)、变频器(富士FRNO.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~20 kHz。
(1)单片机对鼠标的通信
根据协议要求,单片机对鼠标的控制只需把时钟线拉低最少100μs以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态。如图3所示,时钟线升为高电平后被PS/2设备重新拉低,即可开始单片机向鼠标的通信。
(2)鼠标对单片机的通信
因单片机对总线具有控制权,当鼠标要向单片机发送信息时,必须先检查时钟线是否为高电平。如图4所示,当时钟线出现高电平、数据线出现低电平时,表明鼠标请求发送,单片机可以接收来自鼠标的数据。
(3)单片机发送的控制数据
按照鼠标的PS/2协议规范,实际编程时先对鼠标发送Oxff使其复位,默认采样频率为10O次/s,缩放比例为1:1,数据报告禁止。使用Oxea命令进入strearn模式,使用Oxe8、0x03命令设置解析度为8点/mm,使用Oxf4命令使能数据报告。配合AT89S51单片机的定时器功能,将其时间常数设置为0.1 s,每次中断时发送Oxeb命令读取位移数据信息,每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动作信息。具体格式如表1所列。编译时也只需提取X3的有效数据包即Y方向位移增量。
2.2 PID控制软件算法
对该交流变频调速系统建模,首先取电压输入为一个随机值,再测得其转速值。取两个数值构成一个数据对,然后对大量数据对用Matlab仿真求得其幅频特性和相频特性,并且对其幅频特性和相频特性进行相似的拟合。根据拟合的曲线可以近似求得其传递函数为:
使用神经网络PID自适应控制对系统进行Matlab的仿真测试,效果令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单片机的运算时间大幅度增加,造成时间上的不确定因素增大;同比使用增量型PID控制,尽管后者需调整3个控制参数,但同样可使精度达到预期的效果,运算时间也大幅度下降,为此选用增量型PID算法作为控制算法。
增量式数字PID的控制算法为:
其中kp为比列系数,ki为积分系数,kd为微分系数;e(k)为当前位移增量与上一次位移增量的变化量;同理,e(k一1)、e(k一2)各为往前时间问隔的位移变化量。
利用单片机串行中断接收功能,可在PC机上实时在线调节PID的kp、ki、kd参数。
编码器 单片机 传感器 CMOS DSP LED 二极管 电动机 电压 总线 51单片机 仿真 神经网络 LabVIEW 看门狗 虚拟仪器 机器人 嵌入式 相关文章:
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 智能视频多媒体技术的应用(05-31)
- 高精度压力测控系统的试验研究(04-08)
- 2009视频监控:网络化及其推动的几大趋势(06-03)
- MSP430在大量程浮子式液位计中的应用(06-20)
- 无线IP视频监控应用即将井喷,Blackfin助您赢得先机(07-23)