新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的数字积分法插补控制器设计与实现

基于FPGA的数字积分法插补控制器设计与实现

作者:时间:2012-04-05来源:网络收藏

摘要:为了提高伺服电机的步进精度,简化控制器结构,采用器件并运用Verilog HDL语言设计出的,不仅采用法实现直线插补控制和圆弧插补控制,提高了插补速度和插补精度,而且运用多轴联动技术,实现输出脉冲的均匀分配。它可接收外部处理器指令,并发出所需的脉冲到伺服电机的驱动中,从而控制伺服电机的运转,其结果证明了该控制器的正确性。这种结构的控制器简化了一般控制器结构,具有良好的移植性能和一定的实用价值。
关键词:运动控制;

0 引言
数控系统的核心技术是运动控制技术,随着机电一体化的深入发展,运动控制技术已经成为推动机电一体化进程的重要环节,是推动新的产业革命的关键技术码。
现代高速数控技术对运动控制器的速度和精度要求日益提高,与运用软件实现的控制器相比较,基于设计的具有控制方便、插补速度快、精度高、通用性好、可移植性的特点,并拥有可运用硬件描述语言实现软硬结合等多种优点。为了提高伺服电机的精确度,本文设计了一个基于数字法并采用多轴联动技术的插补控制器,该控制器可实现三轴的直线插补和两轴的圆弧插补。

1 插补控制器的总体设计
该控制器的核心部分是DDA插补模块,整个插补模块可分成直线插补模块和圆弧插补模块两部分。每个插补模块内都由数据缓存器、插补积分器和位置计数器3个部分组成。下面分别介绍各个模块的设计及仿真。

本文引用地址:http://www.eepw.com.cn/article/190545.htm

c.JPG


插补控制器具备三轴直线插补及两轴圆弧插补的能力,2种插补均采用数字积分法实现。数字积分法(DDA)具有逻辑能力强、可实现多轴联动控制,且输出脉冲均匀的特点。如图1所示,插补控制器接收到外部处理器的控制信号和数据,经过译码及配置寄存器模块的译码和配置后,根据需要选择进行直线插补或圆弧插补,输出指脉冲和方向信号。脉冲用于通过伺服电机驱动控制伺服电机的转动,方向信号则控制伺服电机的转动方向。

2 基于FPGA的模块设计
该插补控制器采用Altera公司的CycloneⅢ-EP3C16Q240C8,运用Verilog HDL完成程序设计,在QuartusⅡ平台进行编译、综合及下载,运用Modeisim进行程序的仿真和调试,最终完成整个控制器的设计(如图1所示)。
2.1 译码及配置寄存器模块
译码及配置寄存器模块主要负责译码和完成各寄存器间数据的分配,并且选择需要进行的插补方式。以下为各个输入端口的定义和工作方式:cs为片选信号。
低电平有效,外部处理器选中插补控制器,使其进入待命状态;rest为复位信号。低电平有效,整个控制器处于复位状态,控制器内部各个模块做初始化操作;wr为写信号,低电平有效,向插补控制器写入需要完成插补的初始点坐标和终点坐标的数据;start为插补开始信号,高电平有效,插补控制器开始进行插补;A3~A0为4位地址信号,通过地址指针的形式,将处理器数据分配给插补模块各轴的数据缓存器。其中,高位A3具有选择插补方式的功能;A3位为“0”时,插补控制器做三轴直线插补;A3位为“1”时,做两轴圆弧插补;data为16位数据总线端口。
2.2 DDA插补模块
DDA插补模块有直线插补和圆弧插补两部分,两种插补方式在一次插补过程中,只能有一种处于工作状态。直线插补能够实现3个轴的脉冲输出,完成二维或三维的直线轨迹,而圆弧插补是实现两轴的脉冲输出,实现二维的圆弧轨迹。
2.2.1 直线插补模块
当选中直线插补模块时,该模块进入工作状态。直线插补模块由数据缓存器、插补积分器和位置计数器3个部分组成。下面分别介绍各部分的设计及其功能。
(1)数据缓存器
数据缓存器共由6个16位寄存器构成,它们分别存储x,y,z三个轴的初始点坐标值及终点坐标值。数据缓存模块将直线插补的数据进行自动加载,以便于直线插补积分器调用模块内的数据。进行缓存的目的是为了保持数据的流畅性,确保直线插补不因为数据的转变而出现中断的情况。这样大大地提高直线插补的效率,同时减少因为时序问题所带来的误差。当积分器加载缓存器中的数据完毕以后,积分器接收到start信号,积分器开始进行数字积分直线插补。当数据缓存器接收到rest信号时,缓存器中所有数据全部做复位操作。

fpga相关文章:fpga是什么


伺服电机相关文章:伺服电机工作原理



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭