基于-DSPNURBS曲线插补控制_第1页
基于-DSPNURBS曲线插补控制_第2页
基于-DSPNURBS曲线插补控制_第3页
基于-DSPNURBS曲线插补控制_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z基于DSP的NURBS曲线插补控制摘要:本文介绍了一种基于TMS320LF2407aDSP芯片的运动控制卡的设计方法及NURBS插补的概 念,提出了实现NURBS曲线插补的一种实时方法,采用基于参数递推预估与校正的参数曲线插补算法,有效地简化了插补过程中的轨迹计算,防止了对曲线的直 接求导和曲率半径等复杂计算,该算法显著减小了插补计算时间,从而能够适应运动控制系统的高速高精度要求。 关键词:DSP运动控制NURBS插补 1 引言运 动控制卡是一种基于工业PC机、用于各种运动控制场合包括位移、速度、加速度等的上位控制单元,而插补模块是运动控制单元不可缺少的。本文所设计的基 于PCI总线的

2、DSP运动控制卡,可完成数控系统中实时性要求较高的插补、位置控制、实现数控系统中多轴联动的插补计算、位置控制等功能。传统的插补器一 般都具有直线和圆弧的插补功能,使用不同算法处理直线、圆弧、螺旋线运动。使用这种方法并非所有的控制特征被编程到每种插补类型,而添加一种新的插补类型 需要大幅度改动软件构造。而该DSP运动控制卡的插补器采用基于非均匀有理B样条NURBS的通用插补器,把所有编程的插补类型转换为公共的数学表达式, 使所有的功能不依赖于编程类型。通用插补器是一种能准确表达曲率的插补模型,能够准确表达出各种曲线、曲面的轨迹。基于NURBS原理的通用插补器模型包 含任何曲线、曲面,所有传统的插

3、补类型直线、圆弧也不例外,克制了传统插补器的缺点,提高了控制精度。2 运动控制卡的硬件设计运动控制卡的硬件设计基于PCI总线规,采用DSP和FPGA的结合,再配以其它辅助电路,可适用于各种PC机及其兼容机系统,其硬件方框图如图1所示,以下分别介绍图1中各芯片功能及其在该硬件电路中的作用。核心处理器DSP:TMS320LF2407a是TI公司专为电机控制和其他控制系统设计的DSP1。主要完成位置速度PID控制,插补迭代运算,开关量输入和输出以及程序和数据存储和上下机的通信。模拟量控制电路:将速度信号数字量用数据线接4路12位数模转换芯片DAC7625,将数字信号转换为-1010V的模拟信号,输出

4、接模拟信号输入的电机伺服驱动模块。 反 馈电路:在大多数运动系统中,采用光电编码器作为闭环控制的反应元件。光电编码器输出的是两组相位相差90的脉冲信号和, 先将信号差分整形以消除干扰信号的影响,然后对A、B两相信号进展四倍频,同时进展鉴相确定出DIR,根据DIR对四倍频的脉冲进展加计数或减计数。计数 器和位置捕捉存放器均为32位,DSP可对其进展读取或清零。通讯电路:通过PCI接口从模式3.3V芯片PL*9030和双口 RAM芯片70V24与PC机的PCI总线相连,可以进展高速数据传输。其中双口RAM70V24作为上下机交换数据公共缓冲区。70V24芯片具有8个 异步仲裁标志位,更好地保证双方

5、对数据的准确操作。另外,使用FPGA芯片FLE*10KA来实现PL*9030对双口RAM70V24的时序转换。开关量电路:包括通用16/16通用I/O点、能使4个电机输出,4个轴左右的极限输入和原点中断输入。图一 硬件构造框图3 运动控制卡的插补计算数 控系统中插补的作用是读取用户程序经解释器解释之后的位置指令,由轨迹的起点、终点、轨迹的类型、轨迹的方向,计算出轨迹运动的各个中间点坐标。插补程序 在每一个插补周期算出坐标轴在一个周期中的位置增量,由此位置增量算出坐标轴相应的指令位置,作为位置闭环控制系统的输入2。该DSP运动控制卡中,设计一种基于NURBS原理的通用插补器,下面简要说明NURB

6、S的原理。图二一条曲线的形状由控制点的位置决定,见图二中的Bi。图二中a、b曲线的B7点的位置不同,使a、b曲线在与B7相邻的局部曲线形状发生变化,而其余控制点附近的曲线形状保持不变。在任意时刻t,曲线的位置为各个控制点加权平均值。离控制点越近,加权值越大,反之越小。一条K 次NURBS 曲线可以表示为一分段有理多项式矢函数:其中,Bi(i= 0,1,n)为控制点, 每个控制点附有一个权因子Wi(i=0,1,n),首末权因子W0,Wn0,其余Wi0,Ni,k为K次规B样条基函数,可由下式递推计算:U=u0,u1,un+k+1称为节点矢量。以三次NURBS曲线为例,即k3时,第i段曲线可以写成以

7、下矩阵形式: 其中 ,由于控制顶点及权因子均,则Y0、Y1、Y2、Y3、Y0、Y1、Y2、Y3与参数无关,可在插补计算之前预先算出,插补计算时只需计算插补变化量t,从而大大加快了计算速度。在参数空间,曲线上插补点的参数可由二阶泰勒级数表示为: ti+1= ti+Tt+(T2/2)t(2) +O(T2 ) 3 其中,T为插补周期,t,t(2)分别为参数对t的一阶和二阶导数。假设以一阶差分代替微分,将代入公式3,整理可得参数快速递推公式,用以预估新插补点的参数:i+1=2.5ti-2ti-1+0.5ti-2 4基于上述算法可进一步推导NURBS插补的误差,加减速控制等算法,从而完善运动控制卡的NU

8、RBS插补运算功能。图三 插补子程序框图插补子程序流程如图三所示,具体插补过程包括以下几个步骤:1 设定参数初始值,在选取t2点时,需要对插补步长进展预算,在满足弓高误差、进给速度、进给加速度的约束条件时才可采用、否则需进展校正。2 预估插补参数,得出预估参数后需取t的整数局部来确定取哪一段曲线的Y系数数组,这里0tin,假设ti超出n则说明该曲线已到尽头 这时插补参数应取为n,取第n-1段曲线的Y参数数组,实际插补参数取值为1。 3 根据预估插补参数计算预估插补点Fi+1,预估插补步长Li。4 求期望步长,需要先分别根据弓高误差、进给速度、进给加速度的约束条件算出各自步长,然后取其最小值即为

9、期望步长。5 根据希望步长计算插补偏差,判断插补偏差是否符合精度要求,假设符合则该插补点即为所求,否则需对其进展校正。 6 确定符合要求的插补参数后,计算新插补点,并算出各轴增量。当 运动控制系统的精度要求较高时,仅根据进给速度及插补周期生成插补轨迹是不够的, 需要进一步对步长进展调整,方法是在插补中实时监控插补弓高误差的大小,当误差在允许误差围时,仍按瞬时进给速度计算进给步长Li,假设误差超出了允许 围,则按允许误差求取约束插补步长。此外,为了获得更好的速度稳定性,应直接以弦长速度为控制目标,为了满足式2 的新插补点Fi+1,本文采用基于参数递推预估与校正的参数曲线插补算法,它不仅计算速度快,而且可防止其他插补算法所需的曲线求导等复杂计算。4 完毕语NURBS曲线插补具有极大的优越性,程序量小,实时性高3,但是由于NURBS曲 线所具有的有理形式分段参数方程使曲线的轨迹及其导数、曲率等计算异常繁琐,因而需要通过适当的插补预处理,运用基于预估与校正的插补策略以及合理的近似 计算等措施,有效地简化了插补过程中的轨迹计算,防止了对曲线的直接求导和曲率半径等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论