基于FPGA的伺服驱动器分周比设计与实现
引 言
电动机是各类数控机床的重要执行部件。要实现对电动机的精确位置控制,转子的位置必须能够被精确的检测出来。光电编码器是目前最常用的检测器件。光电编码器分为增量式、绝对式和混合式。其中,增量式以其构造简单,机械寿命长,易实现高分辨率等优点,已被广泛采用。增量式光电编码器输出有A,B,Z三相信号,其中A相和B相相位相差90°,Z相是编码器的“零位”,每转只输出一个脉冲。在应用中,经常需要对A相、B相正交脉冲按照一定的比例,即分周比进行分频。分频的难点是,无论设定分周比是整数还是分数,分频后输出的A'相,B'相脉冲仍然要保持正交或近似正交。为此提出一种基于FPGA的整数分周比实现方法。该方法逻辑结构简单,配置灵活,易于扩展,具有很高的实用价值。
1 电子齿轮比与分周比
电子齿轮比与分周比是数控机床和数控加工中心中一个很重要的概念。国外大部分伺服驱动装置有电子齿轮比和分周比功能,其中电子齿轮比KEG为伺服电机实际执行的脉冲量与指令脉冲量之比,分周比KDF是伺服驱动器接收到来自伺服电动机轴上脉冲编码器的脉冲量与实际反馈到上位伺服控制系统(CNC)上脉冲量的比。配合使用电子齿轮比和分周比功能,用户可以方便地实现整数脉冲当量,从而避免中间计算出现量化误差,在不修改G代码的情况下,将代码直接移植到配备不同电机编码器线数或者不同螺距丝杠的机床或者加工中心。
电子齿轮比和分周比可以按照下式计算求得。
式中:PG为电机光电编码器线数,单位为P/rev(脉冲/转);P为丝杠螺距,单位为mm/rev(毫米/周);△l为脉冲当量,单位为mm/P(毫米/脉冲);m/n为减速比。
电子齿轮比可以利用脉冲频率的变换实现,而对于分周比,由于驱动器反馈到CNC的脉冲量一般采用正交脉冲序列,故分周比的实现相对于齿轮比要困难。国外的各种驱动器一般都带有分周比功能,对利用FPGA实现分周比进行研究和探讨,电子齿轮比、分周比功能示意图如图1所示。
2 分周比的原理框图
分周比功能的实现结构如图2所示。
分周比的实现需要3个功能模块:四倍频模块QD-PF、分频模块DF、正交序列生成模块OSG。QDPF模块的输入为正交脉冲序列,输出为方向信号和四倍频后的脉冲。DF模块可实现输入脉冲的三分频。DF内部是一个增减计数器,根据输入的方向信号进行增、减计数,正向计至设定的正阈值后输出一个脉冲和正方向信号,负向计至设定的负阈值后输出一个脉冲和负方向信号。当计数值在正负阈值之间时,即使电机方向发生变化,甚至抖动,输出方向信号都保持不变。
OSG模块用输入脉冲沿触发内部状态机进行状态转换,根据输入的方向信号判决要跳转的状态,从而产生正交信号和方向信号。
3 仿真研究
根据图2,利用ACTEL公司的Libro 8.1开发平台,采用VHDL硬件语言,创建了相应的功能模块,原理图如图3所示。
伺服电机相关文章:伺服电机工作原理
评论