background image

2 算法设计
2.1 实时分频算法
      运动控制卡输出的不同脉冲频率来实现电机转速的控制,因此脉冲频率的响应速度决定
了整个电机的控制精度。这就必然要求我们在设计算法时,要充分考虑分频算法的实时性。
本文提出一种基于加二计数器的分频算法,能很好地解决此问题。其算法具体流程图如图

所示。取锁相输出时钟作为设计的全局时钟,同时用两个单口

RAM 来交叉刷新分频倍数。

加二计数器对输入时钟进行上升沿计数,并对其计数值进行比较判断,如果计数值大于等
于两倍的分频倍数,输出为

‘1’,否则为‘0’。实现分频器功能。分频器输出即为运动控制卡控

制电机转速的脉冲(

clk_out)。

2.2 闭环控制算法
      整个运动控制卡采用脉冲加方向的控制方式,实现电机的转速和方向的控制。为了保证
电机的控制精度,在运动控制卡输出脉冲至电机的驱动器的同时,运动控制卡从编码器中
读出反馈脉冲和方向。这样,只要设计两个计数器同时对输出脉冲和反馈脉冲进行计数,并
且对两个计数器的计数值进行判断和求差,然后根据求出的差值进行循环插补,即可实现
电机的闭环控制。
3 调试和结果仿真
3.1 系统调试