关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 光电鼠标传感器的精密测量与控制系统

光电鼠标传感器的精密测量与控制系统

作者:时间:2009-03-18来源:网络收藏

(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参数。

3 上位机监测设计
通过单片机的串口发送端,在LabVIEW中编写程序来完成PC机与数据通信设备的数据交换,直接通过串口接收外部数据并进行图形显示,并可将数据存放在txt文件当中。在LabVIEW中主要是使用VISA控件实现串行口直接数据通信,通过RS一232串行接口和LabVIEW实现数据的通信。
使用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虚拟仪器的图形检测显示,可以很好地对速度要求较低、精度要求不太高的设备进行改装,使其输出速度稳定。又因为鼠标技术已趋于成熟,一般情况下对检测表面的粗糙度要求不高,在比较恶劣的工况下仍可保证运行无障碍。近些年所推出的激光鼠标,其分辨率可达到O.01 mm,效果甚佳。该实验在某企业的生产部门进行了现场测试,效果理想。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭