background image

下降沿)都被正交编码脉冲电路计数,即其本身能进行 4 倍频,并可根据两
路脉冲的先后次序判别直线电机的运动方向(4 倍频后,直线位移计数分辨
率为 1μm ,即每移动 1μm ,DSP 就进行一次计数,计数范围为±5000)。此
时,正交编码脉冲电路既为定时器 T2 提供时钟又提供计数方向,如图 5 所示。
 

QEP1 、QEP2 都以通用定时器 T2 作为时基,T2 设置成定向的增/ 减计数模式,
并以正交编码脉冲电路作为时钟源,对脉冲信号 CL K 进行计数并将所计脉冲
数装入计数器 T2CNT 中。计数器的计数方向由 DIR 信号决定,当 QEP1 输入
是先导序列时,通用定时器进行增计数,当 QEP2 输入是先导序列时,则通
用定时器进行减计数,计数器的状态字中有专门的一位用于保存计数方向信
息,即为直线电机的运动方向信息。在程序中可以方便的读取当前的计数值和
计数方向,由此获得直线电机的直线位移和移动方向。正交编码脉冲、增/ 减计
数方向以及时钟如图 6 所示。

 

(二)零点(中位点) 的检测

直线电机的零点(中位点)是直线电机有效行程±5 mm 的零点。由于直线电机
每次断电后,平衡位置不在一个准确的点上,而是位于零点附近(小于±1 
mm),因此,要精密控制直线电机的位移必须确定零点的位置,即通电后首
先要回零操作。

光栅尺上带有零点位置检测信号,即光栅尺的读头与尺带产生相对运动经过
零点时,光栅尺输出一对反相的脉冲信号 Z、 。经 MC3486 差分接收后,产生
脉冲信号 R,如图 4 所示。该脉冲信号可通过捕获单元引脚 CAP3 捕获到。在
捕获单元使能后,输入引脚 CAP3 上的指定跳变设定为上升沿触发,指定跳
变将所选通用定时器的计数值装入到相应的 FIFO 栈的同时,相应的中断标志
位被置位,可通过查询中断标志位来判断是否找到零点。

在进行回零操作时,为了实现快速找到零点,首先应确定零点位于平衡点的
哪一侧,然后再慢速回零。实现方法是控制直线电机从平衡位置沿一个方向移
动 1mm ,然后通过软件查询事件管理器 A 中的中断标志寄存器 C 的
CAP3INT 标志位是否为 1,如为 1,说明中断标志位被置位,捕获输入引脚
CAP3 发生过信号跳变,即发生过中断事件(此时中断被屏蔽,不产生中断请
求,仅置位中断标志位)。从而,可确定零点在移动的这一侧,否则零点在平
衡点的另一侧(反向移动 2mm 重新查询中断标志位)。清除 CAP3INT 的标志