基于FPGA的精密离心机光栅信号细分系统

FPGA/ASIC技术

206人已加入

描述

在航空、航天领域中的一些应用于惯性测试的精密离心机,其转速信号通常是由分体式光栅测量系统输出的光栅信号经过具有细分、辨向、整形功能的电子系统后而得到的。该光栅信号通常具有两个功能:送给转速测量仪测量离心机工作实际转速;作为系统速度反馈信号与频率给定装置、鉴相器、脉冲调宽电路、功率放大电路、主电机一起构成闭环控制系统。而在光栅测量中,当主光栅随运动部件移动一个栅距时,就会相应输出一个交变莫尔条纹信号,每出现一个交变莫尔条纹信号就代表移过了一个栅距,即分辨率等于一个栅距。在精密测量中,为了测量比栅距更小的位移量,可以采用提高光栅的刻线密度来实现精度要求。但由于现代精密离心机的研制已经接近或达到了当前机械工艺和实验技术的最高水平,其中更高分辨率的光栅在制造工艺上具有相当难度,所以成本相当昂贵,单纯用提高精密离心机的制造工艺的方法来提高其控制精度不但成本高昂且效果不佳[1]。因此,在当前精密离心机的研究中,为了以较低的成本实现较高的控制精度,提出了一种综合了EDA技术与光栅莫尔条纹电子学细分技术的设计方案。

FPGA

1 光栅信号的产生
    该系统所要处理的光栅信号采用32400刻线圆光栅经如下4个过程产生:(1)经过一个光栅光学系统(如图1所示)产生莫尔条纹并由光电接收系统将光信号转化为电信号。(2)指示光栅裂相刻划时,中间两个区域相位相差180°,边缘两个区域相位相差180°,在整个莫尔条纹视场照度不可能非常均匀的情况下,每一组相差180°的两路信号的直流电平相近、信号幅值接近(利用电阻匹配实现)。为了消除信号中的直流电平和偶次谐波,提高信号的幅度,将0°和180°、90°和270°的信号进行差接放大(5~8倍),这样就得到相差90°和一定幅值的正弦和余弦两路信号;(3)在光栅盘的对径方向均布两个读数头,取初始相位相同的电压信号的平均值,以便消除奇次谐波带来的分度误差,克服光栅盘安装偏心引起的误差。(4)正弦波信号经过鉴零比较器整形,得到与过零点相同的相差90°的两路方波信号和一路零位脉冲信号。此信号便是系统需要进一步处理的光栅信号。经系统处理之后,最终系统将输出5路信号(如图2所示)。

FPGA

    (1)相位相差90°的32400两组方波信号。
    (2)相位相差90°的324000两组方波信号。
    (3)一路零位脉冲信号。
2 莫尔条纹电子学细分
    由于莫尔信号的周期性,信号每变化一个周期就对应着空间上一个固定的角位移。传统的电子学细分主要是根据信号的周期性测量信号的波形、振幅或者相位的变化规律,在其一个周期内进行插值,从而获得优于一个信号周期的更高的分辨率[2]。其常用的方法主要有直接细分法、移相电阻链法、鉴相细分法、幅值分割法等。以下是这些方法的特点比较,如表1所示。

FPGA

    莫尔条纹电子学细分技术是提高光栅测量系统测量精度的有效手段,能够在满足高精度测量要求的前提下大大降低测量成本。在实际的应用中,要根据具体的精度要求和细分要求来选择所应用的细分方法。根据上述离心机所产生的信号频率不高且为经过初步处理的标准方波信号的特点,提出以鉴相细分法为参考的一种适合于低频的细分法方案。该方案应用EDA技术通过FPGA实现,不但缩短了开发周期,而且降低了传统鉴相细分法的电路复杂度、提高了速度。
3 细分系统的基本原理
    细分系统的基本原理如图3所示[3]。

FPGA

  该细分系统要将频率为FS的输入信号细分为频率K倍于FS的输出信号F0,即F0=KFS。首先设置一个标准时钟源,即图1中所示的晶振,其时钟频率为FX。FX经可编程分频器分频,分频数由计数器给定。如果计数器给定的分频数为N,则输出信号F0为时钟信号FX的N分频,即:
FPGA
    最后将(2)式代入(1)式可得F0=KFS,即完成了对输入信号的K细分。其实质是利用频率为FX/K的脉冲信号在输入信号的一个周期内进行脉冲计数,最终实现对输入信号周期的K细分。
4 细分系统的实现
    由细分系统的基本原理可以看出,整个系统可由计数器模块、K分频器模块和可编程分频器模块及一个时钟源组成。这3个模块的功能全部通过VerilogHDL进行描述。
    计数器模块监测到输入信号的上升沿后对经K分频后的时钟源信号进行计数,当遇到下一个输入信号的上升沿时,停止计数并把计数值N作为可编程分频器的分频数送到可编程分频器模块。
  K分频器模块的实现主要由计数器完成,原理简单。若要对时钟信号进行K分频则只需要令计数器每计K个时钟脉冲就发出信号令模块输出一个脉冲信号,从而实现对时钟信号的K分频。
  可编程分频器模块是在K分频器模块基础上改进得到的,两者的区别仅仅在于可编程分频器的分频数是由计数器模块给定的而不像K分频器那样是固定不变的,这样只需要在模块中加入一个存储单元专门存放由计数器送来的分频数N。模块在每次分频计数过程中不断地与存储单元中的分频数N进行比较就能进行可编程的分频工作了。
    通过如图3所示的链接将这三个模块的组成一个系统,由理论分析可知该系统可以实现对输入信号的K细分,也即K倍频。此外,因为使用VerilogHDL做数字电路设计,所以可以大大缩短设计的周期,节省设计的成本。
5 误差分析
    因为计数器是通过监测被K分频后的时钟信号的上升沿计数的。所以如果输入信号与计数信号不同步或者在一个计数周期内的计数信号的周期数并不是整数,则细分系统将产生误差。譬如在输入信号和K分频信号波形规则的情况下,最多多计一个周期的K分频信号,即原本应该是N-1个整周期的K分频信号,结果计为N个,从而误差的范围是0~FX/N(N-1)。可以看出在时钟频率固定的情况下,系统的误差随N的增大而减小,也即如果输入信号与时钟信号相差倍数越多,系统的误差就越小。对于该精密离心机12 rpm~95 rpm的转速来说输入信号的频率为6 480 Hz~51 300 Hz,要对该信号进行10倍频,若FPGA提供了100 MHz的时钟频率,则其对应的误差范围应为42 Hz~2 643 Hz,也即只有大约0.065%~0.52%的误差率。
6 实验仿真
    将上述模块所组成的系统先通过ISE软件利用VerilogHDL进行设计输入,将K分频器模块的K值设为10,使系统实现10细分功能,然后用ISE软件自带的逻辑仿真器进行功能仿真如图4所示。

FPGA

    由图4可以看出,输出信号Fo的频率为输入信号Fs频率的10倍,也即实现了对输入信号Fs的10细分,从而验证了设计的正确性。
    本文论述了光栅信号的产生,介绍了莫尔条纹电子学细分的方法并结合实际提出了以传统鉴相细分法为基础的通过VerilogHDL利用ISE软件实现的设计方案。该方案已经在实际项目中得到应用。实践表明,该系统具有捕捉速度快、跟踪精度高、相位误差小、成本低的特点。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分