小型光电编码器自动检测系统
2013-03-11孙树红赵长海万秋华李艳茹
孙树红,赵长海,万秋华* ,李艳茹
(1.中国科学院长春光学精密机械与物理研究所,吉林长春130033;2.中国科学院大学,北京100049;3.总装备部沈阳军事代表局驻长春地区军事代表室,吉林长春130033)
1 引言
光电轴角编码器是一种高精度角度测量装置,它能把轴角信息转换成数字代码,将其与计算机和显示装置连接后即可实现动态测量和实时控制。随着光电编码器在工业、国防、航天等领域的广泛应用,对编码器的技术指标的要求越来越高。其中最重要的就是精度,如何快速、准确地检测编码器的精度,是业内人士一直在研究的课题[1]。
目前国内外在进行低精度光电编码器检测时,通常采用高精度角度基准来检测编码器[2-3],将高精度编码器和低精度编码器进行同轴连接,转动编码器,高精度编码器与被检编码器的示值差即为被检编码器在当前位置的误差;检测高精度编码器时,通常采用正多面体和自准直仪作为角度基准,将编码器和正多面体进行同轴连接,正多面体和自准直仪作为角度基准来检测编码器的误差。通常情况下,检测编码器精度需要在严格的实验室条件下进行,且检测过程复杂、时间长[4-5]。为实现快速、准确的精度检测,本文研制了一套小型光电编码器自动检测系统。首先采用一台21位、均方差σ<2″的编码器和被检编码器进行同轴连接。开始检测时,系统控制电机转动,在小型编码器数据发生改变时刻采集基准编码器的角度,两者角度差即为小型编码器在该位置的误差。检测完成后,将数据通过USB接口传输给计算机进行人机界面显示及深度分析,还可以将数据存储起来供以后参考。
2 检测算法研究
光电编码器误差可以用编码器的显示值与真值之差来表示:
式中:S为显示值,Q为真值。本系统中,用21位高精度编码器来表示真值。由于光电编码器的分辨力是有限的,所以编码器本身也存在量化误差,其量化误差为正负半个分辨力。对于一个位数为N的光电编码器,其分辨力为:
最高分辨率检测是指利用各种检测手段以高于被测对象最高分辨率的精度进行检测[6]。检测装置的精度高于被检测光电编码器分辨率4倍及以上才不会影响基于最高分辨率的检测。本自动检测系统主要用于检测15位及以下的小型低精度光电编码器,且被检编码器的分辨率不高于40″,因此,用本系统检测15位以下的小型低精度光电编码器,理论上完全可行。
3 系统设计
3.1 结构设计
本编码器的机械结构设计如图1所示。最下端为稳速电机,中间为21位基准编码器,最上端为被检编码器。
图1 系统结构Fig.1 System construction drawing
该自动检测系统主要有基准编码器、稳速驱动电机、处理电路、计算机等组成。检测时,基准编码器、驱动电机、被检编码器固定在平台上,电机轴、基准编码器轴和被检编码器轴需要调整到一条直线上。为了避免基准编码器和电机频繁拆卸,系统工作之前已将基准编码器和电机轴调整到一条直线上,并紧固好螺钉。因此检测编码器时,只需要将被检编码器轴和基准编码器轴调整到同一直线即可。
3.2 硬件设计
目前编码器和主控计算机之间的接口主要有串行通信接口和并行通信接口。串行通信接口是将数据一位一位地传输给上位机,需要的数据线较少,但是传输速率较慢;并行通信接口将数据一次或者数次通过并行线的方式传输给上位机,根据数据线的多少,每次可以传输数位数据,并行通信接口需要的数据线较多,但是传输速率较快。无论是串行接口方式还是并行接口方式,其数据传输协议一般分为有握手信号的接口和以广播形式发送的无握手信号接口[7-8]。
本检测系统的电路设计框图如图2所示。该检测系统和编码器之间的通信接口设有串行通信接口和并行通信接口两种形式,可以和大多数的编码器进行通信。无被检编码器时,该系统也可以独立工作,通过OLED显示屏可以实时地显示基准编码器的角度信息,通过键盘接口可以输入参数,设定被检编码器的型号以及检测的数据点个数等。该系统可以和计算机通过USB接口进行高速通信,由于计算机处理数据的能力远超DSP,可以利用计算机对编码器的数据进行详细分析和直观的显示,也可以对大批量的编码器数据进行保存及比对。
图2 自动检测系统Fig.2 Automatic detection system
本自动检测系统的核心处理器选用TMS320F28335处理器,该数字信号处理器是TI公司最新推出的32位浮点 DSP控制器。与TMS320F2812定点DSP芯片相比,增加了单精度浮点运算单元(FPU),高精度PWM,Flash增加了1倍。
该系统的串行通信接口选用的芯片是MAXIM公司的MAX488型RS422全双工型收发芯片,芯片自带防静电保护,最高通信速率为250 Kbps。并行通信接口选用的芯片是TI公司的74LV16245型电压转换芯片。
该系统可以将基准编码器结构输出的光电信号转换为轴角的位置信息,选用OP491型放大器作基准编码器信号放大器。DSP通过AD转换器采集基准编码器放大后的原始信号。选用了MAX1316型AD转换器,MAX1316为MAXIM公司生产的8通道14位同时采样的A/D转换芯片,最高转换速率为250 Kbps,具有独立的采样/保持电路,该器件具有先进/先出(FIFO)功能,可以减少接口的开销,且在转换结束或者转换之间读取转换结果。
系统的DSP和计算机之间的接口采用USB接口,本系统选用的USB接口芯片为Cypress公司的带单片机内核的EZ-USB FX2系列的CY7C68013 芯片[9-10],其功能框图如图3。
图3 CY7C68013的简化功能框图Fig.3 Functional block diagram of CY7C68013
3.3 软件设计
系统工作时,DSP将采集到的被检编码器和基准编码器的角度进行比对,得到被检编码器的误差,对编码器的误差进行分析、显示和输出。DSP的程序流程图见图4。
系统上电初始化完毕之后从EEPROM中读取存储的被检编码器型号、位数、需要检测数据点个数等参数。等待检测开始命令,根据按键输入信息可以更改编码器型号和检测数据点个数等。开始检测时,首先DSP控制电机转到指定位置,采集被检编码器转换点的角度,再采集基准编码器角度,二者做差得到被检编码器误差。根据需要通过USB接口向上位机传输检测结果,检测完毕后等待下一次转换命令。
图4 DSP程序流程图Fig.4 Program flow chart
3.4 固件设计
对于本系统来说,USB芯片只是完成DSP和计算机之间的基本通信即可,USB接口选用的是已有的成熟技术,无需改动程序即可实现DSP和计算机之间的通信。
在计算机短的程序设计中,采用了虚拟仪器的设计思想,利用VC++设计了易于操作和直观显示的系统界面,该界面可以代替传统的硬件仪器对编码器的数据进行分析和保存。
4 实验
4.1 基准编码器精度检测
对21位基准编码器的精度检测,采用了比较法,如图5。利用正多面体和自准直仪作为角度基准来检测该21位编码器。采用的正多面体为正17面体,相邻两个面的法线之间的夹角为360°/17=21°10'35.3″,当多面体一个面的法线与自准直仪发出的光线平行时,自准直仪发出的光线沿原路返回,此时自准直仪显示的误差为0;当自准直仪发出的光线与多面体面的法线有夹角时,则自准直仪将显示夹角的大小。如果编码器和多面以及自准直仪都没有误差时,将多面体的第一个面和自准直仪进行对准,此时自准直仪显示的角度误差为0,将编码器转动21°10'35.3″时,此时自准直仪显示的角度误差将依然是0。
图5 精度检测装置Fig.5 Precision detection device
在实际检测时,首先将多面体和编码器进行同轴连接,编码器调整到示值为0的位置,调整自准直仪的位置,使自准直仪对准正17面体的第一面,且自准直仪显示的误差为0。旋转编码器至示值为21°10'35.3″的位置(由于编码器的分辨力有限,编码器实际的显示值为21°10'35.4″),此时自准直仪显示的误差值即为编码器在该位置的误差。继续旋转编码器至示值为42°21'10.6″的位置,以此类推。编码器正转及反转各检一次,整个检测过程不得有间歇或更换检测人员,如果在同一位置正转及反转检测到的编码器误差值差别较大,超过编码器的一个分辨力即0.6″时,则本次检测结果无效,需要重新检测。检测得到该21位编码器在不同位置的误差曲线如图6所示,图中的两条曲线分别代表编码器正转及反转时的误差。
通过图6得到编码器误差的均方差为1.22″,误差峰峰值为5.2″。
4.2 小型光电编码器检测
图6 误差曲线图Fig.6 Error curve
检测某15位小型光电编码器,该编码器分辨力为39.4″,采用15位并行数据接口输出编码器角度,其数据刷新率为200 μs,数据格式为无握手信号的直接输出。开始检测前,将被检编码器与基准编码器进行同轴连接,检测系统发出电机转动命令,在被检编码器角度转换时刻采集基准编码器的角度值,此时两者之差即为被检编码器在该位置的误差,旋转一周,测得被检编码器的误差曲线如图7。采用传统的检测方法,即目前小型编码器精度的检测方法,将被检编码器和基准编码器编码器进行同轴连接,用手转动编码器,记录基准编码器和被检编码器的角度示值,两者之差即为被检编码器在该位置的误差,测得该编码器的误差曲线见图7。
图7 小型编码器误差曲线Fig.7 Error curve of miniature photoelectrical encoder
由图7可以看出,本检测系统测得该编码器的峰值误差为96.4″,均方差为σ=29.1″,采用传统方法测得该编码器的峰值误差为96.2″,均方差为σ=28.5″。两种检测方法总体误差曲线的趋势是一样的,两种方法测得的结果差别与编码器本身误差相比是很小的。由于传统编码器的检测方法即目前正在使用的检测方法已经使用多年,在实践中也已经证明这种检测结果能够反映实际编码器的误差。对于同一个编码器,不管用何种办法检测,其检测得到的编码器误差应该相差不大,采用该系统检测出的编码器误差与传统方法检测出的误差近似,由此可以证明,该系统检测的结果真实可信。该系统用来检测小型光电编码器的误差时,与传统方法相比,该系统具有检测速度快、检测准确、可以检测大量数据点等优点。
5 结论
该自动检测系统采用 TI公司的TMS320F28335型DSP作为处理器,采集被检编码器与基准编码器的角度差作为被检编码器在该位置的误差,通过USB接口将编码器的角度误差传输给上位机。通过实验证明,采用该系统来检测小型光电编码器误差时,其具有检测速度快、结果准确、使用方便等特点。
[1] 赵长海,万秋华,孙莹.光电轴角编码器的误码检测系统[J].电子测量与仪器学报,2012,26(5):463-468.ZHAO CH H,WAN Q H,SUN Y.Code error detection system for photoelectric shaft encoder[J].J.Electronic Measurement and Instrument,2012,26(5):463-468.(in Chinese)
[2] 赵柱,续志军,王显军.基于运动控制技术的编码器自动检测系统[J].中国光学与应用光学,2009,2(2):134-139.ZHAO ZH,XU ZH J,WANG X J.An automatic detection system of encoder error based on motion control technology[J].Chinese J.Optics and Appl.Optics,2009,2(2):134-139.(in Chinese)
[3] 刘志国,王显军,赵柱.光电编码器自动沿面检测系统[J].中国科学院研究生院学报,2010,27(4):563-567.LIU ZH G,WANG X J,ZHAO ZH.Automatic detection system of special position for photoelectric encoder[J].J.Graduate School of the Chinese Academy of Sciences,2010,27(4):563-567.(in Chinese)
[4] 李洪,冯长有,丁林辉.光电轴角编码器细分误差动态评估方法[J].传感技术学报,2005,18(4):927-930.LI H,FENG CH Y,DING L H.Dynamic evaluation method for interpolation errors in photoelectric encoder[J].Chinese J.Sensors and Actuators,2005,18(4):927-930.(in Chinese)
[5] 王显军.光电轴角编码器细分信号误差及精度分析[J].光学 精密工程,2012,20(2):379-386.WANG X J.Errors and precision analysis of subdivision signals for photoelectric angle encoders[J].Opt.Precision Eng.,2012,20(2):379-386.(in Chinese)
[6] 邓方,陈杰,陈文颉,等.一种高精度的光电编码器检测方法及其装置[J].北京理工大学学报,2007,27(11):977-980,1008.DENG F,CHEN J,CHEN W J,et al..A high precision test method and apparatus for photoelectric encoder[J].T.Beijing Institute of Technology,2007,27(11):977-980,1008.(in Chinese)
[7] 王显军.基于SOC单片机的高集成度光电编码器电路设计[J].光学 精密工程,2011,19(5):1082-1087.WANG X J.Circuit design for high integrated photoelectric encoder base on SOC singlechip[J].Opt.Precision Eng.,2011,19(5):1082-1087.(in Chinese)
[8] 左洋,龙科慧,乔克,等.航天编码器调试系统显示功能设计[J].液晶与显示,2012,27(6):795-799.ZUO Y,LONG K H,QIAO K,et al..Design of display function in debugging system of space encoder[J].Chinese J.Liquid Crystals and Displays,2012,27(6):795-799.(in Chinese)
[9] 俞平,秦树人.基于DSP和USB2.0的高速数据采集系统[J].重庆大学学报(自然科学版),2005,28(5):1-4.YU P,QIN SH R.Development of data acquisition and processing system based on DSP and USB 2.0[J].J.Chongqing University(Natural Science Edition),2005,28(5):1-4.(in Chinese)
[10] 杨祥清,赵海鹰,汪增福.具有USB2.0接口的6路实时同步数据采集卡设计[J].电光与控制,2008,15(6):91-95.YANG X Q,ZHAO H Y,WANG Z F.Design of a 6-channel real-time simultaneous data acquisition board with USB2.0 interface[J].Electronics Optics & Control,2008,15(6):91-95.(in Chinese)