留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

小型绝对式光电编码器误码自动检测系统

董静 万秋华 于海 卢新然

董静, 万秋华, 于海, 卢新然. 小型绝对式光电编码器误码自动检测系统[J]. 中国光学, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
引用本文: 董静, 万秋华, 于海, 卢新然. 小型绝对式光电编码器误码自动检测系统[J]. 中国光学, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
DONG Jing, WAN Qiu-hua, YU Hai, LU Xin-ran. Automatic detection system of fault code for small size absolute photoelectric encoder[J]. Chinese Optics, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
Citation: DONG Jing, WAN Qiu-hua, YU Hai, LU Xin-ran. Automatic detection system of fault code for small size absolute photoelectric encoder[J]. Chinese Optics, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695

小型绝对式光电编码器误码自动检测系统

doi: 10.3788/CO.20160906.0695
基金项目: 

国家自然科学基金资助项目 No.51605465

详细信息
    作者简介:

    董静(1990-),女,安徽合肥人,硕士研究生,2013年于哈尔滨工业大学获得学士学位,主要从事光电位移精密测量及光电编码器的检测等方面的研究。E-mail:djwuyou@163.com

    通讯作者: 万秋华(1962—),女,吉林长春人,博士,研究员,博士生导师,主要从事光电位移精密测量技术及高精度光电轴角编码器等方面的研究。E-mail:wanqh@ciomp.ac.cn
  • 中图分类号: TP212

Automatic detection system of fault code for small size absolute photoelectric encoder

Funds: 

Supported by National Natural Science Foundation of China No.51605465

More Information
图(13) / 表 (2)
计量
  • 文章访问数:  469
  • HTML全文浏览量:  78
  • PDF下载量:  833
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-06-15
  • 修回日期:  2016-07-28
  • 刊出日期:  2016-12-01

小型绝对式光电编码器误码自动检测系统

doi: 10.3788/CO.20160906.0695
    基金项目:

    国家自然科学基金资助项目 No.51605465

    作者简介:

    董静(1990-),女,安徽合肥人,硕士研究生,2013年于哈尔滨工业大学获得学士学位,主要从事光电位移精密测量及光电编码器的检测等方面的研究。E-mail:djwuyou@163.com

    通讯作者: 万秋华(1962—),女,吉林长春人,博士,研究员,博士生导师,主要从事光电位移精密测量技术及高精度光电轴角编码器等方面的研究。E-mail:wanqh@ciomp.ac.cn
  • 中图分类号: TP212

摘要: 在批量生产光电编码器时,对光电编码器是否存在误码进行检测是一个重要的环节。现有的检测方法采用二进制灯排手动转动编码器用肉眼进行观测,存在手动检测慢、肉眼观测误差较大、检测结果受转动速度影响等缺点。在大批量生产的光电编码器,采用传统方法进行误码检测费时费力。为解决编码器生产及使用过程中对光电编码器的自动误差检测,本文设计了小型光电编码器误码自动检测系统。首先,在参照大量光电编码器生产经验的基础上,分析了编码器误码产生的主要原因;然后,提出了基于微分算法实现对光电编码器是否存在误码进行判断的误码自动检测方法;最后,以FPGA为主控芯片,设计了小型光电编码器自动误码检测系统。该系统能够实现对光电编码器的高速数据采集、数据处理与误码判断,并将误码判断结果通过LCD液晶显示。同时,可以根据需要将数据传输到计算机中作进一步分析。检测实验表明:本文所设计的误码检测系统成功实现了对15位串/并口光电编码器在高速和低速下进行数据采集及误码判断。系统可用于批量生产下光电编码器的误码自动检测,减少了人工操作,提高了自动化程度。系统具有智能便捷,移动性强,适用于实验室及各种工作场合下的误码检测等优点,检测速度较以往检测方法提高了3~5倍。

English Abstract

董静, 万秋华, 于海, 卢新然. 小型绝对式光电编码器误码自动检测系统[J]. 中国光学, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
引用本文: 董静, 万秋华, 于海, 卢新然. 小型绝对式光电编码器误码自动检测系统[J]. 中国光学, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
DONG Jing, WAN Qiu-hua, YU Hai, LU Xin-ran. Automatic detection system of fault code for small size absolute photoelectric encoder[J]. Chinese Optics, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
Citation: DONG Jing, WAN Qiu-hua, YU Hai, LU Xin-ran. Automatic detection system of fault code for small size absolute photoelectric encoder[J]. Chinese Optics, 2016, 9(6): 695-703. doi: 10.3788/CO.20160906.0695
    • 高分辨力光电轴角编码器是一种集光、机、电为一体的精密数字测角装置[1]。它以高精度计量圆光栅为测量元件,将空间角位移转换成二进制代码输出,能够实现动态测量与数字控制。其具有精度高、测量范围广、抗干扰能力强等优点,在工业、科技、国防、航天等领域应用广泛[2-3]

      随着科学技术飞速发展,测控系统的成本和复杂性越来越高,光电编码器的任何微小故障和错码,将对整个测控系统造成严重打击。各研究单位对光电编码器输出的准确性提出更高的要求,编码器在各种速度下的误码情况被生产者和用户广泛关注,如何快速、准确地实现光电编码器的误码检测,特别是快速、准确地完成大批量编码器误码检测,是业内人士一直研究的课题。

      传统的光电编码器误码检测方法是将光电编码器输出端口接LED显示灯排,通过观测LED点亮的次序和位置判断光电编码器是否出现误码,该方法检测速度慢,对检测人员熟练程度要求较高,且仅靠人眼识别容易出现误码遗误。在国外,日本、美国等研究了编码器误码诊断技术[4-7],但是他们研究的误码检测技术主要是基于精度检测,不是专门针对误码检测的设备,且精度检测设备结构复杂、移动性差、仅限实验室使用,不能实现批量检测,不能定位误码位置。在国内,中科院长春光机所研究了基于编码器数据采集的误码检测技术[8-9],北京理工大学提出了基于全面统计的误码检测方法[10],哈尔滨工业大学采用神经网络模型分析编码器故障类型[11],但这些检测方法复杂冗长、误码判断实时性差,很难在嵌入式系统中实现。综上,目前市面上光电编码器误码检测设备鲜有见到。随着越来越多的编码器问世和使用,一种能够自动、快速、准确地实现批量光电编码器误码判断与定位的检测系统十分急需。

      针对于以上需求,本文开展了小型光电编码器误码自动检测系统的研究。该误码检测系统基于微分控制算法,采用FPGA为主控芯片,控制直流无刷电机带动被测编码器按指定转速旋转。系统采集电路采集编码器输出数据,完成误码判断,并将判断结果送至液晶显示。该系统具有自动化、便捷化、快速化、准确化、直观化等优点,能够实现对小型光电编码器误码的自动检测。

    • 编码器产生误码的主要原因有外部干扰、元件老化、光栅刻划误差、码盘狭缝污染、放大电路频响偏移、校正失误及安装偏心等,参考实验室日常维修记录,编码器误码原因统计图如图 1所示。

      图  1  光电编码器误码原因统计图

      Figure 1.  Statistical diagram of the reasons for errors of photoelectric encoder

      (1) 外部干扰

      光电编码器的外部干扰主要有振动冲击等因素,很容易对光电编码器中的光学元件与电子元件产生影响,产生误码,影响光电编码器的精度。

      (2) 元件老化

      编码器处于长期运转状态,各元件会发生损耗,元件各参数、性能将发生畸变。常见的元件老化故障有发光和接收二极管老化等,使得光源发出强度变化、照明光束不平行,光电接收元件性能(灵敏度和暗电流)不一致,导致所采集的光电莫尔条纹信号幅度、相位以及波形产生偏差,编码器发生误码。

      (3) 光栅刻划误差

      光栅在加工过程中,由于生产工艺的缺陷,透光部分的刻划会出现偏差。圆光栅误差包括最大直径间隔误差、封闭误差、码盘圈间位置误差、均匀性误差等[12]。其中前四项误差直接影响光电信号相位,均匀性误差影响信号的幅度、相位和波形形状,这些都将导致错码的产生[13]

      (4) 码盘狭缝污染

      编码器安装的失误和恶劣的工作环境有可能导致码盘和狭缝出现污染,该污染将遮挡光路,使莫尔条纹信号产生错误,译码后导致误码。

      (5) 放大电路频响偏移

      放大器中电抗元件(电感和电容等)发生畸变,使得正弦波信号中频率成分间的相位关系发生变化,使得电路输出频率响应发生偏移,即幅度、相位都产生偏差,发生错码。

      (6) 校正失误

      编码器码道信息中,一般认为粗码精度低于精码精度,因此用精码来校正粗码,以获得准确的角度信息。当精粗码道之间的对应关系与理论设计的对应关系存在较大偏差时,且偏差大于可校正范围时,编码器就会产生误码。

      (7) 安装偏心

      码盘和狭缝盘的安装偏心影响光电信号的相位和幅度,也易造成码盘码道的圈间位置误差,产生较大错码。

      经分析可以发现:码盘狭缝刻划误差、安装偏心等原因产生较大偏差时,将造成编码器粗精码失于校正;码盘狭缝污染、放大电路频响偏移、外部干扰及元件老化等原因会对输出的光电信号产生偏离。所以,虽然误码原因繁多,但其最主要原因是光电信号偏离和粗精码道失于校正。

    • 光电编码器的输出是一个n位的二进制码,当编码器转动时,编码器在单位时间内的输出角度增量值如式(1) 所示。

      (1)

      式中,y(t)是当前时刻编码器输出角度值,y(t-1) 是前一时刻编码器输出角度值,g(t)t时刻光电编码器相对于前一时刻输出角度增量值。同时,g(t)表示对角度值的一次微分,表示编码器转速。当编码器匀速转动时,工作正常的编码器输出的角度数据会连续递增(或递减);如果编码器出现误码时,则编码器输出的角度会出现不连续的现象。容易得到,当编码器输出数据正确的情况下,如果编码器匀速转动,计算得到的编码器转速应该为一固定值;当编码器输出有误码情况下,编码器的转速不是一个固定值。

      g(t)进一步做微分,得g(t)的变化率如式(2) 所示:

      (2)

      式中,变化率是对角度值的二次微分,即编码器的加速度值。若编码器匀速转动且无跳码,其加速度应为零。考虑被检编码器的测角误差,设置阈值 α,当大于α或小于-α时,则光电编码器数值出现突变,可判断编码器有误码并确定误码位置。

    • 本误码检测系统,旨在实现检测过程自动、快速、便捷。为实现该目标,整体系统应满足以下3点要求:系统尺寸尽量小巧,便于移动,适合各种场合下的误码检测;检测过程需简单、自动、快速,满足大批量编码器的检测;检测结果直观准确,适合非专业人士使用。基于以上因素考虑,设计了以下误码检测系统。

    • 小型绝对式光电编码器误码检测系统由被检编码器、支架、电机驱动系统、系统处理与显示电路和计算机等组成,如图 2所示。

      图  2  误码检测系统结构框图

      Figure 2.  Structure diagram of fault code detection system

      在数据采集处理电路的控制下,驱动电机带动被测编码器匀速旋转。处理电路采集被测编码器输出数据,并且对数据进行计算,判断是否出现误码,判断结果送至系统处理电路显示,还可以根据需要将数据送至计算机中作进一步分析、处理并显示。

      系统采用直流无刷电机带动被测编码器转动,直流无刷电机具有外形小巧、安装便捷、响应快、调速范围宽、低速力矩大、波动小、运行平稳、低噪音等优点,能带动被测编码器快速、平稳、可靠地转动,符合设计需要。

      实验转台采用立柱式开放结构,其中基座呈圆桶型,基座内部空间固定直流无刷电机,电机轴向上。基座上方叠放支架,基座和支架用螺栓连接,支架上由定位环承载和固定光电编码器,编码器轴向下,与电机轴同轴相对。基座与支架由螺栓刚性连接,定位环与支架通过沉头螺栓连接,简洁美观。初次组装时,需固定好直流无刷电机、支架和定位环。电机轴和编码器轴由弹性联轴器相连,通过柔性联轴器的连接方式可以补偿编码器旋转中心与电机旋转中心的相对位移,而且具有显著的减震效果。如图 3所示是实验台装配图。

      图  3  实验转台装配图

      Figure 3.  Assembly diagram of experiment turntable system

    • 系统采用Xilinx公司的Spartan-III系列XC3S400 PQ208型FPGA芯片作为核心处理芯片。Spartan-III系列XC3S400型FPGA芯片采用90 nm工艺,工作速度可达到300 MHz,每个I/O数据传输率超过622 Mb/s。该芯片针对高密度集成而优化,适合高度集成的数据处理应用。16 mm×16 mm的小尺寸使其适用于小型化电路设计,具有设计修改灵活,I/O资源丰富,数据处理速度快,易于实现快速并行输出等特点[14-15]

      光电轴角编码器误码检测系统的处理电路如图 4所示,由FPGA处理芯片、接口转换电路、电机驱动系统、液晶显示电路、USB接口电路、按键接口及FLASH和E2PROM存储器等组成。

      图  4  系统处理电路框图

      Figure 4.  Block diagram of processing circuit

      系统以FPGA为主控芯片,FPGA控制电机驱动电路,由电机带动被测编码器转动。FPGA通过串口或并口采集编码器数据,并对数据进行计算处理,判断是否出现误码。本误码检测系统本身可以独立工作,通过液晶显示屏可以实时地显示编码器当前的速度曲线及误码情况;通过键盘输入接口可以进行编码器的型号以及参数的设置。FLASH存储逻辑配置信息,用于进行上电配置;E2PROM存储按键信息。该检测系统设计有232串行接口,根据需要可以将编码器数据传送到计算机中进行误码原因分析。

    • 系统主程序的主要功能就是控制电机转速及采集编码器的角度数据,对编码器的角度数据进行采集、计算、显示及与计算机通信。

      系统上电初始化完毕之后,等待检测开始命令。开始检测时,首先FPGA控制电机以指定速度带动编码器转动,采集被检编码器角速度曲线,通过二进制灯排显示角度信息,通过计算判断是否出现误码,并在液晶显示屏上显示出误码信息。此外,可以选择将采集的数据通过串口通信传输到上位机进行进一步分析,检测完毕后等待下一次转换命令。FPGA软件设计流程如图 5所示。

      图  5  系统程序流程图

      Figure 5.  Block diagram of system software

      数据采集软件模块工作时,FPGA芯片根据光电编码器数据发送协议读入编码器输出的数据,并存储为y(t-1) ;然后FPGA内部产生延迟计数,本设计中延迟时间为t=5 ms;延迟结束后,再一次读入光电编码器数据并存储为y(t);最后,将两次数据做差,系统对编码器数据的微分值做滤波处理、过零点消除等操作后传输到液晶屏上显示。

    • 为了验证本文研究的光电编码器误码检测系统的准确性,使用所设计的检测系统对某15位小型光电编码器进行检测。该绝对式光电编码器外形尺寸为Φ40 mm×60 mm×Φ6 mm,分辨力约为40″,静态精度≤60″,工作温度为-40~+55 ℃,并口输出,数据间隔为0.125 ms。

      根据设计要求搭建出误码检测实验系统,主要有实验转台、被检编码器、处理与显示电路、FPGA仿真器、电机驱动器、电源、计算机等组成,如图 6所示。

      图  6  编码器误码检测实验系统

      Figure 6.  Detection system of fault code for photoelectric encoder

    • 工作正常的编码器,其接口输出正确的二进制角度值(均匀递增或递减的角度值),将采集到的二进制数值在FPGA中进行微分运算,得到平稳的角速度值。LED液晶上显示的柱状图高度即为角速度值的大小,柱状图的正负表明编码器处于正转或反转状态。图 7为编码器正转无误码情况下的速度曲线图。

      图  7  工作正常编码器无误码下的速度曲线图

      Figure 7.  Diagram of velocity curve for good-working photoelectric encoder

    • 对于有故障的编码器,其输出的角度值会出现不连续、有脉冲跳变的状况。

      当电机带动有故障的编码器旋转时,液晶屏上显示的误码检测微分曲线会出现突变,曲线出现一处尖锐的正负凸起,如图 8所示。通过观测误码曲线可以轻易地判断出光电编码器在该转速下出现误码。

      图  8  对故障编码器进行的误码检测

      Figure 8.  Diagram of velocity curve for faulty photoelectric encoder

    • (1) 码盘污染下的误码检测

      码盘污染是常见的编码器故障类型。实验对被检编码器的码盘设置部分码道遮挡,采用所设计的误码检测系统对其进行检测,得到速度曲线如图 9所示。图 9中,速度曲线在特定位置出现大的跳变,并且随着采样的继续,该跳变周期性出现。

      图  9  码盘污染时的误码检测结果

      Figure 9.  Diagram of fault code detection for faulty photoelectric encoder with polluted code disc

      (2) 安装偏心下的误码检测

      安装偏心是指在安装时编码器的码盘与主轴不同心。在匀速旋转下,安装偏心造成输出角度值之差呈现出近似正弦的周期变化。对安装偏心的编码器进行误码检测,其速度曲线图如图 10所示。

      图  10  安装偏心下的误码检测结果

      Figure 10.  Diagram of fault code detection for faulty photoelectric encoder with code disc eccentricity

      (3) 角度代码不同位发生故障的误码检测

      被检编码器的15位角度代码中,不同位发生误码,其速度曲线特征都不尽相同。实验采集了当不同位发生误码时的速度曲线,图 11图 12是设置第10位发生误码和第5位发生误码时,检测得到的误码速度曲线。观察图 11图 12可得,第10位发生误码时,液晶显示上的速度曲线图跳变密集而快速;第5位发生误码时,液晶屏上的速度曲线跳变减小很多。由此可以得出,速度曲线跳变程度随编码器误码发生的位数序号降低而降低。

      图  11  第10位发生误码的速度曲线

      Figure 11.  Diagram of velocity curve for faulty photoelectric encoder with malfunction of the 10th bit

      图  12  第5位发生误码的速度曲线

      Figure 12.  Diagram of velocity curve for faulty photoelectric encoder with malfunction of the 5th bit

    • 被检编码器的位数为15位,其编码信息是由8位粗码、7位精码组成,当液晶屏上编码器转速曲线的误码变化在精码的分辨率个数27=128以内时,则能够判断误码位置在精码处;当液晶上编码器转速曲线的误码变化在精码的分辨率个数128以上时,能够判断误码位置在粗码处。

      图 13为编码器发生误码的速度曲线图。图 13(a)中,液晶屏上显示编码器角速度柱状图主体高为8个单位,液晶的比例尺系数为4,则可以得出编码器以角速度为32个角度值旋转。图中液晶屏右侧产生一个高度为-25的负跳变,液晶的比例尺系数为4,即产生一个大小为-100的角速度值。可以得出,在编码器误码处,编码器速度变化值为132,大于精码分辨率个数,则可以判断,误码位置发生在粗码位置。图 13(b)中,液晶屏上显示编码器角速度柱状图主体高为7个单位,则编码器以角速度为28个角度值旋转。图中液晶屏右侧产生一个高度为-3的负跳变,即产生一个大小为-12的角速度值。可以得出,在编码器误码处,编码器速度变化值为40,小于精码分辨率个数,则可以判断,误码位置发生在精码位置。

      图  13  编码器发生误码速度曲线图

      Figure 13.  Diagram of velocity curve of faulty photoelectric encoder

    • 为了验证本误码检测系统的可靠性和检测结果的可信度,进行了以下实验:分别对15台故障编码器和15台工作正常的编码器,在电机转速为80°/s、8 t/s和10 r/s下各做3组误码检测实验,记录各编码器的误码情况,并计算误检率,检测结果如表 1表 2所示。

      表 1  3种转速下15台故障编码器的误检率

      Table 1.  False drop rate of 15 faulty photoelectric encoders under three different rotation speeds

      实验分类检测显示有误码(台)检测显示无误码(台)误检率/%
      v=80°/s11500
      21500
      31500
      v=8 r/s11500
      21500
      31500
      v=10 r/s11500
      21500
      31500

      表 2  3种转速下15台工作正常编码器的误检率

      Table 2.  False drop rate of 15 good-working photoelectric encoders under three different rotation speeds

      实验分类检测显示有误码(台)检测显示误码(台)误检率/%
      v=80°/s10150
      20150
      30150
      v=8 r/s10150
      20150
      30150
      v=10 r/s10150
      20150
      30150

      表 1表 2可以得到:15台故障编码器在有效转速范围(电机转速为v=8°/s、v=8 r/s和v=10 r/s)内的6组误码检测实验的误检率均为0%;15台工作正常编码器在有效转速范围(电机转速为v=8°/s、v=8 r/s和v=10 r/s)内的6组误码检测实验的误检率均为0%。

      分析以上实验数据可以得出:在规定的有效检测转速范围(80°/s,10 r/s)内,本误码检测系统的误检率为0%,由于编码器工作最高转速为8 r/s,因此本系统在0~8 r/s的工作转速下误检率为0%,误码检测系统检测结果有效可靠。

    • 本文研究并设计了一套小型光电编码器误码自动检测系统,其以Spartan-III系列XC3S400型FPGA作为核心处理芯片,完成编码器数据高速采集、误码快速判断与结果直观显示。该系统基于微分控制算法,以直流无刷电机驱动被检编码器转动,实现编码器误码自动检测;检测人员由原来的2到3人减少到1人,检测时间也由原来的3到5 min减小到1 min,检测速度提高3到5倍,有效提高了检测效率,满足批量生产的检测要求;系统能够完成(80°/s,8 r/s)速度内的误码检测,实现动态误码检测,并在(80°/s,8 r/s)转速范围内误检率为0%,检测结果可信有效;系统智能便捷,自动化程度高,适合非专业人士进行编码器误码判断;系统可移动性强,适用于实验室及各种工作场合下的误码检测。

参考文献 (15)

目录

    /

    返回文章
    返回