一种基于FPGA的整数分周比实现方法

2018-09-20 17:01:31 来源:eepw
标签:

 

电动机是各类数控机床的重要执行部件。要实现对电动机的精确位置控制,转子的位置必须能够被精确的检测出来。光电编码器是目前最常用的检测器件。光电编码器分为增量式、绝对式和混合式。其中,增量式以其构造简单,机械寿命长,易实现高分辨率等优点,已被广泛采用。增量式光电编码器输出有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所示。

 


图3中,PA205,PB206分别是原始差分信号的A相、B相的输入引脚。信号经QDPF四倍频后将方向信号和脉冲信号输出给DF分频模块。经DF分频后将脉冲、方向信号输出给正交脉冲生成模块OSG,产生带相位的正交信号,最后从PA119,PB120反馈到CNC。

 

下面对主要模块做分别介绍。

 

四倍频模块QDPF:正交信号的四倍频方法有很多种,在很多资料中都涉及,在此不做详细介绍。

 

分频模块DF按照初始化配置的分周比或者预先设定的分周比,对输入CLK_IN引脚的脉冲序列分频。内部的增、减计数器根据输入DIR_IN引脚的方向信号对输入脉冲进行增(DIR_IN=1)或减(DIR_IN=0)计数,增计数至正阈值时输出一个脉冲和正方向信号(DIR_OUT=1),减计数至负阈值是输出一个脉冲和负方向信号(DIR_OUT=0)。若计数值在正、负阈值之间时,不论电机反向,还是在阈值见抖动,即方向反复变化,输出方向信号都保持不变。这是能正确实现分频的关键,如果这一步处理不好,电机定位后可能会出现不断向CNC发脉冲的情况。以三分频为例,即计数器增计数至3后输出一个正脉冲(正方向信号+脉冲),计数器减计数至-3后输出一个负脉冲(负方向信号+脉冲)。计数值在(-3,3)时,计数器只对脉冲计数而不输出。对QDPF 的仿真结果如图4所示。

 

 

 

OSG被脉冲信号的上升沿触发后,根据当前状态和方向信号,跳到下一个状态。当方向信号为正时,按照外环的逆时针方向切换状态,产生A'相超前B'相 90°的正交脉冲序列;当方向信号为负时,按照内环的顺时针方向切换状态,产生B'相超前A'相90°的正交脉冲序列,仿真如6所示。

 


图6中,dir为方向信号,其跳变沿即方向变化处。由图6可见,电机正转时顺序为10→11→01→00(反向)→01→11→10→…。实现了相位随输入信号的切换。

 

最后,对分周比功能整体结构进行仿真,输入为正交的脉冲序列。输入模仿实际电机光电编码器脉冲输出对脉冲相位反复切换以验证电机定位后的输出。仿真如图7所示。 从图7中可见,当输入信号pula,pulb相位不断切换时,输出pula1,pulb1按照3分频,满足3或-3后输出新的正交序列。实际实验波形如图8所示。

 


图8中,波形1、波形2分别是光电编码器输出的A相、B相正交脉冲。波形3、波形4分别是对A相、B相正交脉冲3分频后的A'相、B'相正交脉冲。观察图 7,图8,结果一致。用此方案实现的分周比已经成功应用于高精度伺服驱动器中,在实际应用中反复验证,未发现误差。

 

4 结 语

本文提出的分周比实现方法可以准确地将光电编码器输出的正交信号按照设定的分周比进行分频。通过设定分频比可以实现1~256倍的分频,甚至更高。在实际系统中,还可以利用MCU通过总线在线配置分周比。假如要实现分数比例的分周比,也只需在本方案基础上稍加改进即可。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
要让RISC-V跑起来究竟需要多大的FPGA?
要让RISC-V跑起来究竟需要多大的FPGA?

这两年,众所周知的国际大环境、国内大环境、行业大环境的缘故,RISC-V被弄得就跟雷雷大师曾经的太极功夫一样超级热,上周在加州面见一曾负责RISC-V推广的大佬(老外),他表示很诧异这玩意儿在中国的发烧现象。

靠加速器支撑后摩尔定律时代的算力增长是谬论?

加速器已经无处不在:世界上的比特币是由旨在加速这种加密货币的关键算法的芯片采矿得来,几乎每一种能发出声音的数字产品都使用硬连线音频解码器,数十家初创公司正在追逐能让深度学习AI无处不在的快速硅。

2018年十件FPGA大事,哪件牵动你的心(上)
2018年十件FPGA大事,哪件牵动你的心(上)

在科技领域里,FPGA向来都不是最吸引眼球的。可是就在刚刚过去的2018年,就发生了很多FPGA相关的大事。在这些大事中,很多都会对FPGA甚至整个芯片行业未来的发展产生重大影响。

新能源汽车的串联式、并联式和混联式动力系统的优劣分析

就目前而言,新能源汽车主要分为两大块,一种是纯电动、一种是混合动力。纯电动比较好理解,就是单独依靠电机来驱动车辆。但混动嘛却不是那么简单,相信老铁们在看一些新车资讯时,经常会看到某某车采用了插电式混动或者油电混动。看似是两种混动系统,实际上却有三种混动系统形式,分别是串联式、并联式和混联式。它们之间的区别在哪儿?哪种更有优势?

无人再提DSP
无人再提DSP

在不久的将来,单一的DSP或FPGA实现的数字系统会被DSP+FPGA的结构或嵌入DSP模块的FPGA设计结构所取代。

更多资讯
PLC的面向对象编程实现方式

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。

ASIC项目瀑布式开发流程详解

最近收拾书架,翻出一张多年以前的ASIC项目开发流程图,一起回顾一下。

智能门锁不安全?工程师自己造了一个AI人脸识别门锁
智能门锁不安全?工程师自己造了一个AI人脸识别门锁

展示了AI如何在Ultra96和Intel Movidius NCS以及Tensorflow Inception Facenet上运行。 该项目可以扩展到使用面部识别来解锁,记录进出情况,打开不同的灯光场景。

芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么
芯片厂商营收整体看衰赛灵思却逆势增长34%,凭什么

赛灵思可编程芯片产品市场的不断增长推动它的发展壮大,5G网络的推出也是它继续前行的助推器。

使用Vivado HLS在ZYNQ-7000上开发OPENCV的教程

OPENCV(Open Source Computer Vision)被广泛的使用在计算机视觉开发上。使用Vivado HLS视频库在zynq-7000全可编程soc上加速OPENCV 应用的开发,将大大提升我们的计算机视觉开发。

电路方案