位置:51电子网 » 技术资料 » D S P

基于DSP的NURBS曲线插补控制

发布时间:2008/5/27 0:00:00 访问次数:542

廖永进 王晓初 黄诗涌 徐震 易理告

摘要:本文介绍了一种基于tms320lf2407adsp芯片的运动控制卡的设计方法及nurbs插补的概念,提出了实现nurbs曲线插补的一种实时方法,采用基于参数递推预估与校正的参数曲线插补算法,有效地简化了插补过程中的轨迹计算,避免了对曲线的直接求导和曲率半径等复杂计算,该算法显著减小了插补计算时间,从而能够适应运动控制系统的高速高精度要求。
关键词:dsp运动控制nurbs插补

1 引言

运动控制卡是一种基于工业pc机、用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元,而插补模块是运动控制单元不可缺少的。本文所设计的基于pci总线的dsp运动控制卡,可完成数控系统中实时性要求较高的插补、位置控制、实现数控系统中多轴联动的插补计算、位置控制等功能。传统的插补器一般都具有直线和圆弧的插补功能,使用不同算法处理直线、圆弧、螺旋线运动。使用这种方法并非所有的控制特征被编程到每种插补类型,而添加一种新的插补类型需要大幅度改动软件结构。而该dsp运动控制卡的插补器采用基于非均匀有理b样条nurbs的通用插补器,把所有编程的插补类型转换为公共的数学表达式,使所有的功能不依赖于编程类型。通用插补器是一种能准确表达曲率的插补模型,能够精确表达出各种曲线、曲面的轨迹。基于nurbs原理的通用插补器模型包含任何曲线、曲面,所有传统的插补类型(直线、圆弧)也不例外,克服了传统插补器的缺点,提高了控制精度。

2 运动控制卡的硬件设计

运动控制卡的硬件设计基于pci总线规范,采用dsp和fpga的结合,再配以其它辅助电路,可适用于各种pc机及其兼容机系统,其硬件方框图如图1所示,以下分别介绍图1中各芯片功能及其在该硬件电路中的作用。

核心处理器dsp:tms320lf2407a是ti公司专为电机控制和其他控制系统设计的dsp[1]。主要完成位置速度pid控制,插补迭代运算,开关量输入和输出以及程序和数据存储和上下机的通信。

模拟量控制电路:将速度信号数字量用数据线接4路12位数模转换芯片dac7625,将数字信号转换为-10~10v的模拟信号,输出接模拟信号输入的电机伺服驱动模块。

反馈电路:在大多数运动系统中,采用光电编码器作为闭环控制的反馈元件。光电编码器输出的是两组相位相差90°的脉冲信号a和b, 先将信号差分整形以消除干扰信号的影响,然后对a、b两相信号进行四倍频,同时进行鉴相确定出dir,根据dir对四倍频的脉冲进行加计数或减计数。计数器和位置捕捉寄存器均为32位,dsp可对其进行读取或清零。

通讯电路:通过pci接口从模式3.3v芯片plx9030和双口ram芯片70v24与pc机的pci总线相连,可以进行高速数据传输。其中双口ram70v24作为上下机交换数据公共缓冲区。70v24芯片具有8个异步仲裁标志位,更好地保证双方对数据的准确操作。另外,使用fpga芯片flex10ka来实现plx9030对双口ram70v24的时序转换。

开关量电路:包括通用16/16通用i/o点、能使4个电机输出,4个轴左右的极限输入和原点中断输入。

3 运动控制卡的插补计算

数控系统中插补的作用是读取用户程序经解释器解释之后的位置指令,由轨迹的起点、终点、轨迹的类型、轨迹的方向,计算出轨迹运动的各个中间点坐标。插补程序在每一个插补周期算出坐标轴在一个周期中的位置增量,由此位置增量算出坐标轴相应的指令位置,作为位置闭环控制系统的输入[2]。该dsp运动控制卡中,设计一种基于nurbs原理的通用插补器,下面简要说明nurbs的原理。

一条曲线的形状由控制点的位置决定,在任意时刻t,曲线的位置为各个控制点加权平均值。离控制点越近,加权值越大,反之越小。一条k 次nurbs 曲线可以表示为一分段有理多项式矢函数:


其中,bi(i= 0,1,…,n)为控制点, 每个控制点附有一个权因子wi(i=0,1,…,n),首末权因子w0,wn>0,其余wi≥0,ni,k为k次规范b样条基函数.

u=[u0,u1,…,un+k+1]称为节点矢量。以三次nurbs曲线为例,即k=3时,第i段曲线可以写成下列矩阵形式:

其中 ,

由于控制顶点及权因子均已知,则y0、y1、y2、y3、y0’、y1’、y2’、y3’与参数无关,可在插补计算之前预先算出,插补计

廖永进 王晓初 黄诗涌 徐震 易理告

摘要:本文介绍了一种基于tms320lf2407adsp芯片的运动控制卡的设计方法及nurbs插补的概念,提出了实现nurbs曲线插补的一种实时方法,采用基于参数递推预估与校正的参数曲线插补算法,有效地简化了插补过程中的轨迹计算,避免了对曲线的直接求导和曲率半径等复杂计算,该算法显著减小了插补计算时间,从而能够适应运动控制系统的高速高精度要求。
关键词:dsp运动控制nurbs插补

1 引言

运动控制卡是一种基于工业pc机、用于各种运动控制场合(包括位移、速度、加速度等)的上位控制单元,而插补模块是运动控制单元不可缺少的。本文所设计的基于pci总线的dsp运动控制卡,可完成数控系统中实时性要求较高的插补、位置控制、实现数控系统中多轴联动的插补计算、位置控制等功能。传统的插补器一般都具有直线和圆弧的插补功能,使用不同算法处理直线、圆弧、螺旋线运动。使用这种方法并非所有的控制特征被编程到每种插补类型,而添加一种新的插补类型需要大幅度改动软件结构。而该dsp运动控制卡的插补器采用基于非均匀有理b样条nurbs的通用插补器,把所有编程的插补类型转换为公共的数学表达式,使所有的功能不依赖于编程类型。通用插补器是一种能准确表达曲率的插补模型,能够精确表达出各种曲线、曲面的轨迹。基于nurbs原理的通用插补器模型包含任何曲线、曲面,所有传统的插补类型(直线、圆弧)也不例外,克服了传统插补器的缺点,提高了控制精度。

2 运动控制卡的硬件设计

运动控制卡的硬件设计基于pci总线规范,采用dsp和fpga的结合,再配以其它辅助电路,可适用于各种pc机及其兼容机系统,其硬件方框图如图1所示,以下分别介绍图1中各芯片功能及其在该硬件电路中的作用。

核心处理器dsp:tms320lf2407a是ti公司专为电机控制和其他控制系统设计的dsp[1]。主要完成位置速度pid控制,插补迭代运算,开关量输入和输出以及程序和数据存储和上下机的通信。

模拟量控制电路:将速度信号数字量用数据线接4路12位数模转换芯片dac7625,将数字信号转换为-10~10v的模拟信号,输出接模拟信号输入的电机伺服驱动模块。

反馈电路:在大多数运动系统中,采用光电编码器作为闭环控制的反馈元件。光电编码器输出的是两组相位相差90°的脉冲信号a和b, 先将信号差分整形以消除干扰信号的影响,然后对a、b两相信号进行四倍频,同时进行鉴相确定出dir,根据dir对四倍频的脉冲进行加计数或减计数。计数器和位置捕捉寄存器均为32位,dsp可对其进行读取或清零。

通讯电路:通过pci接口从模式3.3v芯片plx9030和双口ram芯片70v24与pc机的pci总线相连,可以进行高速数据传输。其中双口ram70v24作为上下机交换数据公共缓冲区。70v24芯片具有8个异步仲裁标志位,更好地保证双方对数据的准确操作。另外,使用fpga芯片flex10ka来实现plx9030对双口ram70v24的时序转换。

开关量电路:包括通用16/16通用i/o点、能使4个电机输出,4个轴左右的极限输入和原点中断输入。

3 运动控制卡的插补计算

数控系统中插补的作用是读取用户程序经解释器解释之后的位置指令,由轨迹的起点、终点、轨迹的类型、轨迹的方向,计算出轨迹运动的各个中间点坐标。插补程序在每一个插补周期算出坐标轴在一个周期中的位置增量,由此位置增量算出坐标轴相应的指令位置,作为位置闭环控制系统的输入[2]。该dsp运动控制卡中,设计一种基于nurbs原理的通用插补器,下面简要说明nurbs的原理。

一条曲线的形状由控制点的位置决定,在任意时刻t,曲线的位置为各个控制点加权平均值。离控制点越近,加权值越大,反之越小。一条k 次nurbs 曲线可以表示为一分段有理多项式矢函数:


其中,bi(i= 0,1,…,n)为控制点, 每个控制点附有一个权因子wi(i=0,1,…,n),首末权因子w0,wn>0,其余wi≥0,ni,k为k次规范b样条基函数.

u=[u0,u1,…,un+k+1]称为节点矢量。以三次nurbs曲线为例,即k=3时,第i段曲线可以写成下列矩阵形式:

其中 ,

由于控制顶点及权因子均已知,则y0、y1、y2、y3、y0’、y1’、y2’、y3’与参数无关,可在插补计算之前预先算出,插补计

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!