首页资源分类嵌入式开发DSP > 基于DSP的自由曲线加工运动控制系统的研究

基于DSP的自由曲线加工运动控制系统的研究

已有 460559个资源

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人消费电子

上传者其他资源

文档信息举报收藏

标    签: DSP运动控制

分    享:

文档简介

基于DSP的自由曲线加工运动控制系统的研究

文档预览

2009年度ADI中国大学创新设计竞赛获奖作品论文选编 自由曲线加工运动控制系统的研究 叶修枨 白 熹 指导教师:王 昕 哈工大深圳研究生院 摘要:传统数控加工中, CNC 控制器以微小圆弧或直线做曲线逼近,其方法产生较大轮廓 误差、加工程序过长等问题,不满足高速精密加工的要求。本设计目的在于基于Blackfin系 列DSP实现自由曲线新插补算法,提高CNC的轨迹功能,使CNC系统能直接接收自由曲线信 息。主要研究内容如下: 基于DSP搭建硬件平台,实现具有“S”型速度功能的最小偏差法直线插补和圆弧插补。 研究具有自由曲线插补功能的插补器的设计,考虑进给速度与插补精度的关系,进行速度规 划后处理。 关键词: 数控加工 DSP 自由曲线 Research on the motion control system with free-form curve interpolation Abstract: As a method of traditional CAM, micro arcs or lines based on linear or circular interpolations are ofen used to fit with the curve segements by the CNC controller. But it causes the problems like a big contour machine error or very long program codes for manufacturing the complex contours, so the traditional methods do not satisfy the requirements of high speed and precision manufacturing. To solve these problems, based on the Blcakfin DSP, researchers apply a new alogrithm to enhance the ability of CNC controller on its interpolation function and make it available to receive the information about the free-form Curve directly. The main research objects are ginen as follows: (1) Based on the DSP, a platform is set up to get the ability to make linear interpolation and circular interpolation with a “S” type velocity curve with the minimum path error method. (2) Research work on the design of interpolator to get the ability of making interpolation on Freeform Curve has been completed.Then considering about the trade-off relationship between feed-rate and interpolation accuracy, the interpolator is optimized after the velocity planning. Keywords: CNC, DSP,free-form curve http://comm.CchinaAaEeTt.com/ADI_UDC ● 359 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 1 绪论 1.1 本作品设计的目的及意义 本设计的目的在于设计一个以ADI公司Blackfin系列DSP芯片为核心的运动控制器,实现 连续轨迹的规划算法,并应用于数控系统。一个典型的运动控制系统的运动指令由运动控制 器给出,运动控制器是整个运动控制系统的灵魂,它是一种通过对以电机驱动的执行机构等 设备进行运动控制,以实现预定运动轨迹目标的装置。这里,设计并利用DSP实现自由曲线 的通用插补运动控制器,实现高速、高精度加工。 传统的CNC 控制器只提供直线及圆弧插值器,无法直接接受自由曲线及曲面所设计的程 序数据。解决方式为通过CAM 软件将刀具路径,以微小圆弧或直线做逼近,其近似方法会产 生较大轮廓误差、加工程序过长、传输负荷量过大、速度不连续、及机台振动等问题,故不 易达成高速精密加工要求。 随着数控系统技术的不断发展,复杂型面零件的高速、高质量加工控制和无后续光整加 工,对航空、宇航、模具等制造业具有特别重要的现实意义。这类零件大多具有自由型面, 需采用CAD/CAM/CNC进行设计制造。自由样条曲线由于其一系列的独特优点,被国际标准 化组织(ISO)确定为自由型零件、产品几何表达的唯一形式,并已在CAD/CAM领域得到较为 成功的应用。而在全世界的CNC领域, 样条曲线的应用却相对滞后,目前只有少数高档数 控系统支持样条曲线插补,因此,研究样条曲线的实时插补算法,提高CNC的轨迹功能,使 CNC系统能直接接受样条曲线信息,不仅对CNC,而且对CAD/CAM整体性能的提高都极为 关键。 1.2 本作品主要内容 如图1.1,在CAD/CAM/CNC加工系统中,本课题主要是完成CNC系统部分的设计及实 现。具体如下: (1)在PC端,基于VC6.0完成NC代码编译器的设计; (2)最小偏差法二维直线、圆弧插补; (3)S型加减速控制; (4)样条曲线实时前瞻; (5)基于ADI公司DSP实现上述插补算法; (6)搭建硬件电路,并将上述算法运用于XY直线平台。 (7)实验,分析。 ● 36h0ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 图1.1 CAD/CAM/CNC加工 2 基于DSP的数控插补总体方案设计 2.1 引言 系统总体方案规划的任务是围绕系统的设计目标,拟定系统的硬件、软件体系结构、确 定系统的硬软件划分和开发策略,为系统的具体开发提供指导。总体方案制定得合理与否不 仅将直接影响到系统是否能够达到预期得性能指标,还将影响到系统的工作可靠性、开发周 期与成本以及系统的后续可维护性、可扩展性等众多方面。 2.2 DSP芯片的特点及用于数控插补的优势 实时系统开发处理器对比: 与微处理器比较:微处理器的数据输入/输出能力低,其响应速度或者响应延迟不能满足 实时处理要求。在相同的工作频率下,DSP的处理速度明显快很多。且微处理器软硬件设计 的难度高,功耗也比DSP大的多。 与MCU比较:DSP有较高的主频,有较大的片内存储体,丰富的片上外设(定时器、异步 串口、同步串口、DMA控制器、SPI接口、A/D和通用FO口等)。在软件开发上,DSP与MCU 相比,更好地支持模块化编程,并便于工程化管理。 http://comm.CchinaAaEeTt.com/ADI_UDC ● 361 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 与FPGA/CPLD比较:FPGA/CPLD与专用DSP一样,是用硬件完成数字信号处理运算 的,其单一运算速度很高,输入至输出的延迟也比DSP小。适合于FPGA/CPLD完成的数字电 路功能和数字信号处理功能有:计数、译码、锁存、状态机、乘加、FIR、FFT、编解码、查 表、FIFO等,但它进行各种数字信号处理混合功能实现就不如DSP,进行复杂运算如解方程 或浮点数据处理也不行。数字电路设计中常把DSP的灵活性和FPGA/CPLD的高速、高效性结 合在一起,可充分发挥两者各自在软件、硬件上的可编程能力。 2.3 本作品总体设计方案 采用DSP高性能单片机替代高速运动控制芯片:DSP芯片具有高速处理能力,通过开发 合适的功能软件,可以完成高速运动控制所需的各种运算和控制任务,有利于增强系统开发 的灵活性,易于多轴联动控制。 经过上述的分析,本设计采用Blackfin 533芯片。插补模式采用上下两级的插补方案,方 案如图2.1所示。 FLASH SDRAM 时钟电路 电源电路 复位电路 PC UART 主 机 Blackfin 533 数据采集 JTAG 脉冲信号输出 脉冲接口 伺服 驱动 模拟电压输出 D/A 转换 器 电机 图2.1 总体设计方案结构图 本设计主要研究自由曲线轨迹规划算法的设计与实现,上位机主要实现G代码编译及插 补轨迹的实时跟踪,DSP主要实现对硬件要求较高的插补器和运动控制器,插补器主要包括 传统直线、圆弧插补的S型加减速规划算法及自由曲线两次速度规划算法的实现,运动控制器 主要包括直线、圆弧插补算法、自由曲线插补算法的实现、以及对伺服系统的控制。其基于 插补算法的系统结构图如图2.2所示: ● 36h2ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 PC(非实时) DSP(实时) 前瞻插补器 NC 代码 NC 字符串 NC 代码编译器 NC 代码数据包 轨迹仿真、跟踪 几何模型 第一次速度规划 T 型加速度规划 S 型加减速规划 第二次速度规划 运动控制器 直线、圆弧插补(最小偏差法) 自由曲线插补 数据采集 误差分析 伺服控制器 电机驱动器 XY 直线平台 光栅尺 图2.2 基于插补算法的系统结构图 2.4 DSP编译环境的代码优化 在该系列DSP的编译环境下,对C程序进行性能优化时,主要包括编译器的自动优化和人 为算法优化。在一般情况下,算法优化总是比编译器优化更为有效。因此,在设计时应当首 先进行算法优化,检测评估当前的算法是否适合在Blackfin处理器上运行。如果在程序中添加 某些针对Blackfin 处理器的代码,那么更改后的程序将不可导入其他处理器;否则,要重新编 写部分的C代码、添加编译指示,或在代码行中添加汇编语句。为了修改方便,必须备份一个 http://comm.CchinaAaEeTt.com/ADI_UDC ● 363 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 C模型备份。在Blancfin处理器的C代码优化过程中,通常遵循以下优化原则[2]: 使用寄存器代替局部变量 局部变量需要编译器会为其分配内存空间,对局部变量的操作 需要访问该局部变量的内存空间,这种访问是很慢的。而且局部变量一般都用作中间变量, 起辅助作用,使用完后随即释放。所以使用寄存器来代替局部变量,无需对内存操作,节省 访问时间,但是会占用更多的资源。 使用硬件循环代替软件循环 如for循环、while循环等软件循环在循环始末都要判断循环 变量是否符合条件,来决定是执行循环体还是退出循环。而这种判断是要耗费CPU周期的, 对于实时性要求较高的复杂算法是无法容忍的。硬件循环不需要判断循环条件,DSP硬件会 根据循环寄存器的值自动执行循环体和退出循环,避免了不必要的CPU时钟开销,大大提高 了算法的实时性。而本文所研究的自由曲线插补算法就涉及到大量的循环函数,因此必须考 虑使用硬件循环代替软件循环,当然,硬件循环是有条件的,一般是已知循环次数。 充分利用数据总线宽度 ADSP-BF533外部数据总线宽度是32位,可以一次存取4个字节。 在数据的批量处理中,使用一次存取4个字节代替分别存取2个或者1个数据可以减少指令的执 行条数,提高执行速度。 使用并行指令和向量指令 并行指令和向量指令是Blackfin系列DSP的两大特点,使用并行 指令和向量指令,可以充分利用DSP内部的硬件资源,减少指令执行次数并提高执行效率。 使用1条指令相当于同时执行2条或者3条有用的非并行指令。向量指令则充分利用了SIMD体 系结构的好处,同时对多个数据流进行相同的执行操作。 优化是有侧重点的,它往往要以牺牲程序的可读性或者增加代码长度为代价。虽然有 时可以通过优化程序代码来提高程序的运行速度,但在更多的时候,需要针对采用的特定硬 件,对程序进行专用化来提高其运行速度。最终,将会构建一个速度更快,但也更大、更复 杂,并且不适于导入其他处理器的专用程序。有针对性地重新编写部分代码,针对采用的 Blackfin 处理器的特性,利用专门特定的程序指令进行修改程序,以提高效率。 2.5 本章小结 本章首先分析了现有的数控插补方案,对DSP芯片的特点及其用于数控插补的优势进行 了比较分析,最后提出了本作品的总体结构设计方案。同时也讲解了ADI系列DSP的代码优化 知识,一个好的程序员编写的代码要实时高效,最大化的利用硬件的性能,就必须对硬件资 源的充分了解并合理的对代码进行优化。 ● 36h4ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 3 数控程序编译器的设计与实现 3.1 引言 在CNC系统中,必须获取数控G代码中的有效信息,才能进行相应的插补运算,因此本 章设计并实现数控代码编译器来提取CAM生产的数控代码中的信息。我国第一机械工业部根 据ISO标准制订了《数控机床穿孔带程序段中的准备功能G和辅助功能M的代码》的JB3208-83 标准,国际上广泛应用ISO制订的G代码和M代码标准[2]。本设计的NC代码都来自MasterCAM 软件,故本章主要针对MasterCAM生成NC代码进行编译器的设计 3.2 常用NC代码数控指令 根据JB3208-83标准,NC代码指令主要包括: (1) 准备功能的G代码:用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面的 选择、刀具补偿、坐标偏置等多种加工操作。该指令是使机床准备好插补、刀具补偿、固定 循环等加工方式的指令。G代码由字母G与其后的二位数字组成,共一百种,从G00~G99。G 代码按其有效期来分,分为模态代码和非模态代码(即续校代码和非续校代码)。 (2) 辅助功能的M代码:控制机床开关功能的指令。如主轴的开、停、冷却液的开、闭, 运动部件的加紧与松开等辅助动作。M代码也分为模态代码和非模态代码。M代码共一百 种,从M00~M99。 (3) 坐标功能字(又称尺寸字):用来设定机床沿各坐标轴的位移量及方向。它一般使 用X、Y、Z、U、V、W、I、J、K、A、B、C等地址符为首,在地址符后紧跟“+(正)”或 “-(负)”号,及一串数字,该数字一般以系统脉冲当量为单位。 (4) 进给功能字F:用来指定刀具相对工件运动的速度。其单位一般为mm/min,当进给速 度与主轴转速有关时,使用的单位为mm/r。进给功能字以地址符F为首。 (5) 主轴速度功能字S:主轴速度功能字用来指定主轴速度,它以地址符S为首。 (6) 刀具功能字T:以地址符T及其后代表刀具编号的数字组成。 (7) 其它代码:在进行圆弧插补,刀具偏置等操作时,还有一些关键字如I、J、K、R、D 等。这些字在不同的系统中有不同的定义。 常用数控系统基本功能(G代码功能)如表3.1[3]: 代码 G00 G01 G02 表3.1 G功能表 功能保持到被取消或被同样字 母表示的程序指令所代替 a a a 功能仅在所出现的 程序段内有使用 http://comm.CchinaAaEeTt.com/ADI_UDC 功能 点定位 直线插补 顺时针方向圆弧插补 ● 365 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 G03 a G04 * G17 c G18 c G19 c G40 d G41 d G42 d G53 f G54 f G55 f G56 f G57 f G58 f G59 f G90 j G91 j G92 * 逆时针方向圆弧插补 暂停 XY 平面选择 ZX平面选择 YZ 平面选择 刀具补偿/刀具偏置注销 刀具补偿—左 刀具补偿—右 直线偏移,注销 直线偏移X 直线偏移Y 直线偏移Z 直线偏移XY 直线偏移XZ 直线偏移YZ 绝对尺寸 增量尺寸 预置寄存 在数控程序中仅有准备功能还不够,还需要一些辅助功能来配合,才能控制机床正确、 合理地按用户所编程序进行加工,下表3.2[3]为常用的辅助功能(M功能)表。 代码 M00 M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M15 M16 M19 表3.2 M功能表 与程序段 指令运动 同时开始 功能开始时间 在程序段指令 运动完成后开 始 * * 功能保持到 被注销或被 适当程序指 令代替 功能仅在 所出现的 程序段内 有作用 * * 功能 程序停止 计划停止 * * 程序结束 * * 主轴顺时针方向 * * 主轴逆时针方向 * * 主轴停止 # # * 换刀 * * 2号冷却液开 * * 1号冷却液开 * * 冷却液关 # # * 夹紧 # # * 松开 * * 正运动 * * 负运动 * * 注 1 #号表示:如选作特殊用途, 必须在程序说明中说明。 2 M90~M99可指定为特殊用途。 主轴定向停止 ● 36h6ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 3.3 数控程序编译器的设计与实现 3.3.1 基于MasterCAM生成的NC文件的特点 在Mastercam中从NCI生成的NC文件都是以“.NC”为后缀的文件,此文件可用 Mastercam中自带的NC代码编辑器Programmer’s File Editor进行编辑,也可以使用如记事本、 EDIT等其他文本编辑器进行编辑,说明Mastercam中的“.NC”文件修改方便,这里我们用记 事本打开并保存为“.TXT”文件,备用。如下为Mastercam软件生成的NC代码: % O0000 (PROGRAM NAME - T) (DATE=DD-MM-YY - 27-06-08 TIME=HH:MM - 10:02) G21 G0G17G40G49G80G90 ( 2. FLAT ENDMILL TOOL - 1 DIA. OFF. - 1 LEN. - 1 DIA. - 2.) T1M6 G0G90G54X24.Y0.A0.S5000M3 G43H1Z15. Z10. G1Z-10.F400. G3X-24.R24.F1500. X24.R24. G0Z15. M5 G91G28Z0. G28X0.Y0.A0. M30 % 第一行是以“%”开头,这为大多数数控机床所接受; 第二行是以字母“O”为开头,后接4个零。表示文件序号,根据国际通用规定,4个零 的位置可用数字、英文字母替代,但只能是4位。 第三行、第四行及第七行写在括号中的为注释语句。 第五行、第六行及第八行以后均为数控代码。语句使用了国际通用的G、M代码,但代 码写法有自己的特点,如规范写法中快速定位“G00”被写为“G0”,规范写法中的直线插 补“G01”被简写为“G1”。 3.3.2 NC代码编译的实现 http://comm.CchinaAaEeTt.com/ADI_UDC ● 367 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 上面代码粗体部分为进行插补前的准备工作和插补后的收尾操作,如相对坐标和绝对坐 标的设置、刀补的设置、坐标平面的选择等等。故在刀路仿真阶段,因对这些代码做相应的 修改,以减轻编程的难度及复杂性,提高仿真的效率。程序修改为: G0X24.Y0. Z15. Z10. G1Z-10.F400. G3X-24.R24.F1500. X24.R24. G0Z15. ## 当然,在执行阶段,NC代码中插补前的准备工作和插补后的收尾操作是不能忽略的,这 些代码的编译与控制卡的相应操作一一对应即可,在此不讨论。 在程序修改后另存为“.TXT”文件,作为编译的原NC代码,供仿真阶段调用。其具体的 编译流程图如下图3-1所示: 开始 读 NC 代码到内存 取一个字 符 判断字符类型 是否出 错否 提取该字符是后数 据 是否出 错 否 保存 是 是 显示出错 行 是 是 显示出错 行 是 行号加一 是 是否是 行结束 符“;” 否 是否是结 是 束符“;” 是 是结束 图3.1 NC代码编译流程图 ● 36h8ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 3.4 基于OpenGL的NC代码编译器仿真 OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计 算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统 的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及 虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备 上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。 为了检查NC代码编译后的结果是否出错,本作品基于OpenGL将编译后的结果显示出 来,以MasterCAM生成的鞋模NC代码为例,其仿真结果如图3.2所示。 (a) (b) 图3.2 鞋模NC代码编译结果仿真 (a) 鞋模刀路图 (b) 鞋模成形面图 (黄色线为快速进给;白色为直线插补;灰绿色为圆弧插补) 3.5 本章小结 本章首先介绍了常见的NC代码指令,提出了基于VC++软件环境的NC代码编译方法,并 给出了编译程序的流程图,使以文本形式编辑曲线信息成为可能,并基于OPENGL软件仿真 证明了G代码编译程序的功能实现。 4 实时前瞻插补算法的设计与实现 4.1 引言 最小偏差法插补的基本原理:确定一个长轴为恒速进给轴,然后按照偏差最小的原则判 断其他坐标轴是否进给;与逐点比较法的根本区别就是最小偏差法允许多个轴同时进给。该 插补方法精度高,不大于1/2个脉冲当量。由于最小偏差法的插补精度较高,且有利于电机的 http://comm.CchinaAaEeTt.com/ADI_UDC ● 369 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 连续运作。 随着CAD/CAM技术的高速发展,促进了复杂参数曲线在机械制造领域中的广泛应用, 而对复杂型面零件的高速、高精度加工,传统数控系统都是由CAD/CAM系统生成的几何型 和刀具路径按精度要求离散成大量直线段,再进行线性插补加工,该方法存在很多不足。样 条曲线可以统一表达自由曲线曲面和解析曲线曲面,而且样条曲线直接插补方法在加工应用 中的诸多优势(精度高,缩短加工时间、程序指令数量少等),已成为国际上设计制造的流 行技术,因此如何快速计算样条曲线各个点,对运动控制器中样条曲线插补器的设计至关重 要。 本章将着重介绍如何在DSP中实现最小偏差法直线、圆弧插补算法和样条曲线插补算 法。 4.2最小偏差法直线插补算法的设计与实现 4.2.1 最小偏差法直线插补原理 基本条件:将二维坐标系分为8个卦限,以第1卦限为例,进给方式为 +∆x, (+∆x, +∆y) ,通过偏差计算、偏差判别,就可选取偏差小的方向进给。 基本设定:当 xe ≥ ye 时,向x方向或对角线方向偏差小的方向进给;当 xe < ye 时,向y 方向或对角线方向偏差小的方向进给。 设 y = kx(0 < k < 1) ,其坐标系如图4.1所示。 以第一象限为例,单步偏差函数依次是[5]: F (∆x) = yA − yB = yi − k(xi +1) = (xe yi − ye xi − ye ) / xe F (∆x, ∆y) = yc − yB = yi +1− k(xi +1) = (xe yi − ye xi + xe − ye ) / xe 因为计算偏差时只需考虑符号,与数值大小无关,所以取 F (∆x) = xe yi − ye xi − ye F (∆x, ∆y) = xe yi − ye xi + xe − ye 令偏差函数 f = F (∆x) + F (∆x, ∆y) = 2F + xe − ye ,其中 F = xe yi − ye xi ; 由图可知 F (∆x) < 0, F (∆x, ∆y) > 0 ,所以: 若 f > 0 ,说明| F (∆x) |<| F (∆x, ∆y) | ,进给 ∆x ; 若 f ≤ 0 ,说明| F (∆x) |≥| F (∆x, ∆y) | ,进给 ∆x, ∆y 。 其它象限的递推如表4.1所示: 图4.1 直线示意图 ● 37h0ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 4.2.2 非过原点直线的处理及终点判断 当直线不过原点时,我们可以将其平移至原点,使其变为过原点的直线,做法:将直线 的起点作为插补的起点(原点),直线的终点作为插补的终点, xe , ye 分别为终点与起点相对 应的坐标值之差,这样,中间的插补过程与过原点的直线插补过程是完全相同的。 终点判断依据[6]:当前点坐标 (xi , yi ) 等于终点坐标 (xe , ye ) 。 表4.1 最小偏差法直线插补的八个象限的全部推导公式 象限 象限判断 第 一 xe ≥ ye 象 限 xe < ye 偏差函数 f0 = xe − 2 ye f0 = 2xe − ye 第 二 | xe |≥ ye f0 = 2 ye + xe 象 限 | xe |< ye f0 = ye + 2xe 第 三 | xe |≥| ye | f0 = 2 ye − xe 象 限 | xe |<| ye | f0 = ye − 2xe 第 四 xe ≥| ye | f0 = −2 ye − xe 象 限 xe <| ye | f0 = − ye − 2xe 偏差判断 fi > 0 fi ≤ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi > 0 fi ≤ 0 fi > 0 fi ≤ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi > 0 fi ≤ 0 插补方向 +∆x +∆x, +∆y +∆y +∆x, +∆y −∆x −∆x, +∆y +∆y −∆x, +∆y −∆x −∆x, −∆y −∆y −∆x, −∆y +∆x +∆x, −∆y −∆y +∆x, −∆y 当前偏差 fi+1 = fi − 2 ye fi+1 = fi + 2xe − 2 ye fi+1 = fi + 2xe fi+1 = fi + 2xe − 2 ye fi+1 = fi + 2 ye fi+1 = fi + 2xe + 2 ye fi+1 = fi + 2xe fi+1 = fi + 2xe + 2 ye fi+1 = fi + 2 ye fi+1 = fi − 2xe + 2 ye fi+1 = fi − 2xe fi+1 = fi − 2xe + 2 ye fi+1 = fi − 2 ye fi+1 = fi − 2xe − 2 ye fi+1 = fi − 2xe fi+1 = fi − 2xe − 2 ye 4.2.3 基于DSP实现最小偏差法直线插补算法 在面向DSP的运动控制卡中,大都运用事件管理器产生脉冲,分别进给X轴和Y轴,从而 实现最小偏差法插补直线和圆弧。如果想同时实现X轴和Y轴两个方向的进给,采用事件管理 器是无法实现的,因为一个CPU在任意某时刻只能发生一个事件,因此在同一时刻,只能实 现X轴或者Y轴方向的进给。为完全配合最小偏差法插补中在进给 ∆x, ∆y 时X轴和Y轴方向时 做到真正的同步,且在下面实现自由曲线插补算法(本作品中的前瞻算法在任意时刻X轴和Y 轴都是同步运行的),本作品采用了3个定时器同时工作,在直线圆弧插补算法与样条曲线插 补算法的实现过程中3个定时器的所起的作用不同。 在最小偏差法直线插补过程中,3个定时器中的定时器0用作定时,来限定插补时间;定 时器1和定时器2分别用作产生PWM波,来设定X轴和Y轴的进给量(即脉冲数)。从最小偏 http://comm.CchinaAaEeTt.com/ADI_UDC ● 371 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 差法的插补原理不难看出,直线插补过程中,插补步长是固定的,插补每一个步长的时间是 随着规划后的插补速度的变化而变化的,所以定时器0的设置应随规划后的速度变化而变化, 定时器1和定时器2的进给量等同于插补步长。 基于DSP实现最小偏差法直线插补的流程图如图4.2所示: 开始 读上位机直线插补数据(始终 点坐标,插补速度大小) 根据直线终点所在卦限的计算 初始偏差 f0 插补信号启动有效 输出进给脉冲,同时计算终点 对应卦限的偏差值 fi 否 插补结束? 是 是 是结束 图4.2 基于DSP实现最小偏差法直线插补的流程图 4.3 最小偏差法圆弧插补算法的设计与实现 4.3.1 最小偏差法圆弧插补原理 最小偏差法圆弧插补原理:以圆心在原点的NR1为例,设加工点N的坐标为 (xi , yi ) ,且 xi > yi ,相应的偏差函数为: Fi = F (xi , yi ) 。 加工点N到圆弧的径向距离为: ∆R = xi2 + yi2 − R = xi2 + yi2 − R2 = xi2 + yi2 + R F (xi , yi ) xi2 + yi2 + R 因偏差函数只与符号有关,上式中的分母恒为正,故可以将分子作为偏差函数。 当 xi > yi 时,进给 (−∆x, +∆y) 或 (+∆y) ,则 Fi = F (xi , yi ) = xi2 + yi2 − R2 Fi+1(+∆y) = xi2 + ( yi +1)2 − R2 = Fi + 2 yi +1 Fi+1(−∆x, +∆y) = (xi −1)2 + ( yi +1)2 − R2 = Fi − 2xi + 2 yi + 2 ● 37h2ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 令 fi (x, y) = Fi+1(+∆y) + Fi+1(−∆x, +∆y) = 2Fi − 2xi + 4 yi + 3 若 fi (x, y) ≥ 0 ,则说明 F (−∆x, +∆y) ≤ F (+∆y) ,应走 (−∆x, +∆y) ; 若 fi (x, y) < 0 ,则说明 F (−∆x, +∆y) > F (+∆y) ,应走 (+∆y) 。 若 fi ≥ 0 ,走 (−∆x, +∆y) 步,则 fi+1 = (xi −1)2 + ( yi + 2)2 − R2 + (xi − 2)2 + ( yi + 2)2 − R2 = fi − 4xi + 4 yi +10 xi+1 = xi −1, yi+1 = yi +1 若 fi < 0 ,走 (+∆y) 步,则 fi+1 = xi2 + ( yi + 2)2 − R2 + (xi −1)2 + ( yi + 2)2 − R2 = fi + 4 yi + 6 xi+1 = xi , yi+1 = yi +1 (3)初始化 F0 = 0 , f0 = −2xi + 4 yi + 3 其中表4.2给出了最小偏差法逆时针加工圆弧的八卦限全部推导公式,表4.3给出了最小偏 差法顺时针加工圆弧的八卦限全部推导公式。 象限 象限判断 第 x>y 一 象 限 x≤ y 第 | x |< y 二 象 限 | x |≥ y 第 | x |>| y | 三 象 限 | x |≤| y | 第 x <| y | 四 象 限 x ≥| y | 表4.2 最小偏差法逆时针加工圆弧的八卦限全部推导公式 偏差函数 f0 = C − 2x + 4y + 3 f0 = C − 4x + 2y + 3 f0 = C − 4x − 2y + 3 f0 = C − 2x − 4y + 3 f0 = C + 2x − 4y + 3 f0 = C + 4x − 2y + 3 f0 = C + 4x + 2y + 3 f0 = C + 2x + 4y + 3 偏差判断 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 插补方向 −∆x, +∆y +∆y −∆x −∆x, +∆y −∆x, −∆y −∆x −∆y −∆x, −∆y +∆x, −∆y −∆y +∆x +∆x, −∆y +∆x, +∆y +∆x +∆y +∆x, +∆y 当前偏差 fi+1 = fi − 4x + 4 y +10 fi+1 = fi + 4 y + 6 fi+1 = fi − 4x + 6 fi+1 = fi − 4x + 4 y +10 fi+1 = fi − 4x − 4 y +10 fi+1 = fi − 4x + 6 fi+1 = fi − 4 y + 6 fi+1 = fi − 4x − 4 y +10 fi+1 = fi + 4x − 4 y +10 fi+1 = fi − 4 y + 6 fi+1 = fi + 4x + 6 fi+1 = fi + 4x − 4 y +10 fi+1 = fi + 4x + 4 y +10 fi+1 = fi + 4x + 6 fi+1 = fi + 4 y + 6 fi+1 = fi + 4x + 4 y +10 4.3.2 圆心不在原点的圆弧的处理 当圆心不在原点时,可以将插补圆弧的圆心平移至原点,使其变为过原点的圆弧。做 法:将起点相对于圆心的坐标值记为 (xi , yi ) 然后带入上述的公式中,即可。最小偏差法圆弧 插补的精度为不大于0.5个脉冲当量。 http://comm.CchinaAaEeTt.com/ADI_UDC ● 373 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 终点判别: abs(xi − xe ) ≤ 1且abs( yi − ye ) ≤ 1,这种判别方法在终点处可能引起一个脉 冲的偏差,但大大的简化了复杂的判别条件,从而更好地保证了插补算法的实时性。 表4.3 最小偏差法顺时针加工圆弧的八卦限全部推导公式 象限 象限判断 第 x< y 一 象 限 x≥ y 第 | x |> y 二 象 限 | x |≤ y 第 | x |<| y | 三 象 限 | x |≥| y | 第 x >| y | 四 象 限 x ≤| y | 偏差函数 f0 = C + 4x − 2y + 3 f0 = C + 2x − 4y + 3 f0 = C + 2x + 4y + 3 f0 = C + 4x + 2y + 3 f0 = C − 4x + 2y + 3 f0 = C − 2x + 4y + 3 f0 = C − 2x − 4y + 3 f0 = C − 4x − 2y + 3 偏差判断 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 fi < 0 fi ≥ 0 插补方向 +∆x, −∆y +∆x −∆y +∆x, −∆y +∆x, +∆y +∆y +∆x +∆x, +∆y −∆x, +∆y −∆x +∆y −∆x, +∆y −∆x, −∆y −∆y −∆x −∆x, −∆y 当前偏差 fi+1 = fi + 4x − 4 y +10 fi+1 = fi + 4x + 6 fi+1 = fi − 4 y + 6 fi+1 = fi + 4x − 4 y +10 fi+1 = fi + 4x + 4 y +10 fi+1 = fi + 4 y + 6 fi+1 = fi + 4x + 6 fi+1 = fi + 4x + 4 y +10 fi+1 = fi − 4x + 4 y +10 fi+1 = fi − 4x + 6 fi+1 = fi + 4 y + 6 fi+1 = fi − 4x + 4 y +10 fi+1 = fi − 4x − 4 y +10 fi+1 = fi − 4 y + 6 fi+1 = fi − 4x + 6 fi+1 = fi − 4x − 4 y +10 4.3.3 基于DSP实现最小偏差法圆弧插补算法 最小偏差法圆弧插补算法的实现时DSP各寄存器的设置与直线插补的相同,也是同时使 用3个定时器,其设置方法也是相同的,在此不再累赘。其算法的具体实现流程如图4.3所示。 4.4 直线圆弧插补中的S型加减速控制算法的设计与实现 在数控系统中,加减速控制是数控系统插补器的重要组成部分,是开放式数控系统开发 的关键技术之一。为了保证机床在起动或停止时不产生冲击、失步、超程或振荡,必须设计 专门的加一减速控制规律,使加给电动机的输入(脉冲频率或电压)按照这个规律变化,从而使 机床在各种加工作业的情况下都能快速准确地停留在给定的位置上。 传统的数控系统中常用的加减速算法有直线型加减速和指数型加减速两种。这两种加减 速算法在加减速阶段都存在着加速度突变的现象,这种局限性导致轨迹规划生成的速度曲线 不够平滑。如果轨迹生成器产生的进给驱动加速指令不平滑,最终施加在滚珠丝杠上的力矩 和施加在直线电动机驱动上的力就会包含高频分量,这些高频分量将激励进给驱动的结构动 ● 37h4ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 态响应,引起不希望的振动,因而不适合用于高速数控系统。为此,本作品采用“S”型加减 速前瞻算法。 4.4.1 S型曲线加减速原理 S型曲线加减速控制是指在加减速时,使其加速度的导数(加加速度)为常数,通过对加 加速度值的控制来最大限度地减小对机械系统造成的冲击。另外,通过加速度和加加速度两 个物理量的参数设定或编程设定可实现柔性加减速控制,以适应不同种类机床的情况。 本节主要对S曲线进行深入的分析和讨论,进而确定函数关系,也就是说,只要给定目标 位置、最大速度、最大加速度和加加速度,即可由轨迹生成器按照S曲线模式生成理论轨迹曲 线,包括:理论位置曲线、理论速度曲线、理论加速度曲线和理论加加速度曲线。 开始 读上位机圆弧插补数据(始终点 坐标,半径,插补速度大小) 根据圆弧起点所在卦限的计算初 始偏差 f0 插补信号启动有效 否 是 跨卦限或象限? 是 是 根据当前点所在卦限,用相应的 初始偏差函数重新计算偏差值 输出进给脉冲,计算当前点对应 卦限的偏差值,更新当前坐标 否 插补结束? 是 是 是 结束 图4.3 基于DSP实现最小偏差法圆弧插补的流程图 典型的S曲线如图4.4所示,包括:[7] (1)速度曲线 (2)加速度曲线 http://comm.CchinaAaEeTt.com/ADI_UDC ● 375 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 (3)加加速度曲线 (4)位移曲线 其运动过程如下: 1区,加速度从零开始,以最大加速度为目标,以加加速度为增量递增,直到达到最大加 速度为止; 2区,加加速度为零,按已达到的最大加速度加速到第3区 ; 3区,按负的加加速度使加速度减为零值,使速度达到最大值。此阶段己完成加速过程; 4区,为匀速运行阶段,加速度和加加速度都为零; 5区,6区,7区分别与1,2,3区相同,不同的是减速运行到速度为零。 图4.4 完整S型曲线 从标准S曲线中可得到以下信息: (1)标准S曲线中所有参数都是相对于时间的; (2)标准S曲线分为七段,其实真正是三个时间段; (3)到达指定目标位置时不一定达到过最大速度(如图4.5); (4)到达目标位置时不一定达到最大加速度(此时图像就没有第2, 6阶段了,如图4.6),但必 经历最大加加速度的阶段。 图4.5 不完整S型曲线 ● 37h6ttp●://comm.CchinaAaEeTt.com/ADI_UDC 图4.6 没有达到最大加速度的S型曲线 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 可见,S曲线存在多种可能性,按什么标准进行分类就显得十分重要。本课题利用S曲线 中V-t图像的临界状态进行分类。V-t临界状态见图4.7。 在图4.7中,设定: (1)临界状态时V曲线所包围的面积为S1,用户指定的目标位置为S0。 (2)用户给定的目标速度为v0,目标加速度为a0,目标加加速度为j0。 图4.7 v-t临界状态图 控制曲线可分为两大类: 一、S1>=S0(第一大类) 此种情况下临界状态时的位移s值大于用户给定的目标位置。因此,可得到以下结论: (1)必定没有第4阶段,若有第4阶段,则理想状态的s必定会超过用户指定的s; (2)未达到最大速度或者恰好达到最大速度(即没有达到用户给定的v0),否则,实际位置 必定要超过设定位置; (3)加速度可能没有达到用户给定的最大加速度a0,也可能已经达到了。 第一大类又按临界状态分为两小类。临界图如图4.8所示。 图4.8 第一大类临界状态图 此时的V-t曲线所围的面积定义为S2,且有时间关系t1=t2。 A.若S2>=SO(第一大类第一小类) 在第一大类的结论之内又有以下结论: http://comm.CchinaAaEeTt.com/ADI_UDC ● 377 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 (1)a0未达到,即未达到用户给定的a0. (2)没有2区,6区。 B.若S2a0(第二大类第二小类) 在第二大类的结论之内又有以下结论: (1)a0达到了,即达到了用户给定的a0; (2)必定有第2, 6区。 4.4.2 基于DSP实现S型曲线加减速 我们进行S型曲线加减速的大背景是加工一条直线段,且始末速度均为0,在DSP实现S型 加减速时,我们无需考虑整个S型曲线的全部过程(1区至7区),因为S型曲线的加速阶段和 ● 37h8ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 减速阶段是完全对称的,所以在实现算法的过程中只需考虑(1区至3区),这不仅减小了编 程的难度,减小了代码量,且大大的减速了规划后速度的存储空间。其具体的实现过程如图 4.10所示。 开始 是 否 是 第一大类? 是 是 第一大类第 否 是 一小类? 是 是 第二大类第 否 是 一小类? 是 第一大类第一小类 第一大类第二小类 第二大类第一小类 第二大类第二小类 计算该类下一点的速度并保存 否 该类当前速度小 是 于前一速度? 是 是 结束 图4.10 基于DSP实现S型加减速流程图 为验证该S型加减速规划算法的可行性,下面以一实验来验证:要求以10mm/s的速度走 0.05mm,0.1mm,0.2mm,0.3mm,0.4mm,0.6mm。且其加速度为245mm/s2,加加速度为 50000mm/s3,插补周期为0.0002s。其仿真结果如图4.11所示: 由图不难看出,规划后的速度成S型,很好的达到了预期的目的。 Velocity v(mm/s) 10 0. 05mm 9 0. 1mm 8 0. 2mm 0. 3mm 7 0. 4mm 6 0. 6mm 5 4 3 2 1 0 0 0. 01 0. 02 0. 03 0. 04 0. 05 0. 06 0. 07 0. 08 0. 09 Time t(s ) 图4.11 S型加减速规划仿真实验 http://comm.CchinaAaEeTt.com/ADI_UDC ● 379 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 4.5 自由曲线实时前瞻插补算法的设计与实现 4.5.1 自由曲线生成算法 一条p次自由曲线定义为: n ∑ ∑∑ C(u) = n i=0 Ri, p (u)Pi = Ni, p (u)wi Pi i=0 n Ni, p (u)wi = A(u) w(u) i=0 a≤u≤b Ri, p (u) = Ni, p (u)wi n ∑ Ni, p (u)wi i=0 (4-2) 式中 Pi ——控制点; wi ——相应控制点 Pi 的权值; wi Pi ——权值控制点; w(u) ——权值函数; A(u) ——权值化函数; Ni, p (u) ——定义在向量U的 p 阶基函数; Ri, p (u) ——定义在向量U的 p 阶有理基函数; U = {a,...a ,up+1,..., un , b,...b} U ——向量 p +1 p +1 而 p 阶基函数有如下定义公式 1 Ni,0 (u) = 0 ui ≤ u < ui+1 otherwise (4-3) Ni, p (u) = u − ui ui+ p − ui Ni, p−1(u) + ui+ p+1 − u ui+ p+1 − ui+1 Ni+1, p−1(u), i = 0,1,, n (4-1) (4-4) 由于泰勒二阶近似比泰勒一阶近似精度高,因此参数 u 采用二阶泰勒近似方法,参数 u 的泰勒二阶表示为 ( ) ( ) ui+1 = ui + du dt t =ti ti+1 − ti + 1 d 2u 2 dt2 t =ti ti+1 − ti 2 + o(t 2 ) (4-5) 令插补采样时间为 Ts ,且 Ts = ti+1 − ti ,公式(4-5)可以表示为: ui+1 = ui + V (ui ) ⋅Ts dC(u) du u=ui + A(ui ) ⋅Ts2 2 ⋅ dC(u) du u=ui − 2 V ⋅ 2 (ui ) ⋅Ts2 dC(u) 4 du u=u i    dC(u) du ⋅ d 2C (u du 2 )    ● 38h0ttp●://comm.CchinaAaEeTt.com/ADI_UDC (4-6) 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 在CAGD(Computer-Aided Geometric Design)的实际应用中,较少用到整条自由曲线的 计算,常用的是如何计算在某个非零节点区间 u ∈[ui , ui+1) 上的一组 p 次基函数及其导数。 对于一条控制点数为 n +1的 p 次自由曲线,并不是所有的控制点都能影响曲线的形状,这种 性质称为曲线的局部可控性,只有当基函数 Ni, p (u) 的数值为非零时,相应的控制点才会影 响曲线的部分形状。如果 u ∈[ui , ui+1) ,那么非零 p 次基函数有 Ni− p, p (u) , Ni− p+1, p (u) ,…, Ni, p (u) 。 所以我们可定义得到如下公式: n i−l ∑ ∑ C(u) = N j, p (u)Pj = N j , p −l (u ) Pl j = = Pp i− p , u ∈[ui , ui+1) ⊂ [u p , un+1] j=0 j=i− p (4-7) 式中 Pjl =   Pj (1− a l j ) Pjl −1 + a P l l −1 j j +1 a l j = u − u j+l u j+ p+1 − u j+l 式中 i ——参数区间指数; p ——曲线次数; l =0 l = 1, 2,, p, j = i − p, i − p +1,, i − l; (4-8) l ——计算层数; Pj0 ——曲线控制点; Pjl ——插值点; P0p ——曲线上的点 递推过程如图4.12所示,用给定的参数 u 先确定 i 的值,将控制点 P0 , P1, P2 放在第零层 ( j = 0 ),用这些控制点,计算第一层的中间控制点 P01, P11, P21 ,然后按照这样的方法计算下 去,经过 p 级计算,最后得到了B样条曲线上的点 P0p 。同理得到曲线一阶导数计算过程,如 图4.13所示。 P1 P10 P20 P1 1 P2 P0 P0 0  1 0 P3 NP1i, p1(u) NP11i0, p101N(ui), p  11 P01 N1(iu, p)1(u02 ) P02  NP2i, p1(u) Ni, p1(u)P11 NP20i, p 1 (u ) 1 Ni ,11pN1 i(,up )1 N1 i , p 021 (u ) (u) Ni, p1 (u ) 图4.12 基函数计算结构图 http://comm.CchinaAaEeTt.com/ADI_UDC ● 381 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 Q 01 Q 11 P00 P01 P01 A(u) w 01 P00 w 11 P01 P01 w(u) C(u)  A(u)  w(u)C(u) w(u) 图 4.13计算自由曲线一阶导数结构图 令 Qq0 = wq0 Pq0 = wq Pq 那么 Qqm 和 wqm 值递推 wq Pq ( ) Qqk =   p − k +1   uq + p +1 − uq+k w P − w P k −1 k −1 q+1 q+1 k −1 k −1 qq k =0 k >0 wq ( ) wqk =   p − k +1   uq+ p +1 − uq+k wk −1 q +1 − wk −1 q k =0 k >0 q = i, i +1,, i + p − k (4-9) (4-10) 式中 i ——参数区间指数; p ——曲线次数; k ——曲线导数的阶数 4.5.2 基于几何特征和位置误差的第一次速度规划 如何合理地规划进给速度,成为影响加工精度的重要因素之一。根据自由曲线的几何特 征信息来规划进给速度是自由曲线几何模块的核心,即第一次速度规划。该规划算法包括进 给速度敏感区的检测(曲线曲率过大),并根据敏感区域结合自适应速度调整算法和基于曲率的 速度调整算法来规划进给速度[9]。 4.5.1.1进给速度敏感区的检测 检测曲线曲率半径比较大的区域,实现对进给速度进行平滑过渡。基于检测曲线本身几 何形状的方法,即根据曲线曲率和向心加速度来确定该曲线上的点是否为敏感点。要判断该 点是否为敏感点,则必须具备一下几个条件: 条件一:该点曲率的导数是为零,即在该点曲线曲率是否达到最大或最小,即 dk (u) =0 du 式中 u 为曲线表达式的参数; ● 38h2ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 k (u )为自由曲线上任意一点的曲率 条件二:该点向心加速度 Ac 大于允许的最大向心加速度 Amax 。 在曲线上任一点的向心加速度可表示为 Ac (ui ) = k (ui ) *V (ui )2 式中 V (ui ) ——在点 u = ui 时的进给速度值。那么当向心加速度达到允许的最大值时, 临界的曲率为 k (ui ) = Amax / F 2 根据条件一和条件二,我们可以推导出敏感点的判断公式:  dk (u)   du =0 u =ui k (ui ) > Amax / F 2 式中 (4-11) k (ui ) = C′(u) × C′′(u) C′(u) 3 u=ui 由这些敏感点组成的区域称为速度敏感区。 (4-12) 4.5.1.2进给速度规划 (1)自适应进给速度调整算法 控制位置误差在一定范围内,插补过程中进给速度V (ui ) 需 要按照曲线的曲率进行自动调整,在前述的圆弧近似方法计算位置误差中,如果控制位置误 差的值,那么相应进给速度就可以计算得到。因此,将允许的最大位置误差值指定,就可以 调整进给速度。设一自由曲线曲线段为 u ∈[ui , ui+1) ,那么进给速度规划如下: Vaf (ui ) =  F ,   2  TS r 2 i − (r i − dmax )2 2 TS r 2 i − (r i − di )2 >F 2 TS r 2 i − (r i − dmax )2 ≤ F (4-13) 曲线上任意点的曲率半径 ri = 1/ k i = C′(ui ) 3 C′(ui ) × C′′(ui ) 式中 k i ——曲线上 u = ui 点时的曲率; F ——命令进给速度; (4-14) dmax ——允许的最大位置误差 该自适应进给速度调整算法适当地调整进给速度,控制刀具在整个运动过程中产生的位 置误差。 (2)基于曲率的进给速度调整算法 自适应进给速度调整方法虽然能让刀具在某些曲线曲率 半径较小的区域进行减速,以保证精度,但是曲线的几何形状信息并未考虑到,曲线上还有 其它曲率超过临界值的区域,这些区域反映了自由曲线曲线上的几何特征如曲率的突变,会 http://comm.CchinaAaEeTt.com/ADI_UDC ● 383 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 增加加工的轮廓误差,因此需要调整刀具进给速度,保证曲线加工的轮廓精度。进给速度规 划公式如下: Vcf (ui )= kc kc +ki F 式中 k i ——曲线上 u = ui 点时的曲率; F ——命令进给速度; (4-15) k c ——设定的曲率常数值 k c 的引入是为了保持规划的进给速度的导数连续性,一般 k i >> k c 。 为了获得位置误差可控制的目的,同时考虑自由曲线曲线的几何特征信息,于是取两种 进给速度的最小值,即 V (ui ) = min{Vc ,Va} (4-16) 因此,获得的进给速度既考虑到自由曲线曲线的几何特征,又可以控制位置误差的变 化,从而有利于保证加工精度。基于第一次速度规划算法的自由曲线插补流程图如图4.14所 示。 开始 找到 ui 所在的参数区间[ui,ui+1] 利用德布尔方法计算 A(ui),W(ui) 根据公式(4-1)求参数曲线上的当前点 C(ui) 根据公式(4-12)计算当前点的曲率 ki 根据公式(4-13)计算自适应调整速度,并根据 公式(4-15)计算基于曲率的进给速度 根据公式(4-16)得到第一次规划的速度 根据公式(4-6)求下一插值点 ui+1 是 是 ui+1< umax? 否 是 结束 图4.14 基于第一次速度规划算法的自由曲线插补流程图 ● 38h4ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 4.5.3 基于动力学参数的第二次速度规划 第一次速度规划后,采用速度曲线为S型的前加减速控制,此处的S型加减速算法与前面 所介绍的直线圆弧算法中的S型加减速有很大区别。直线圆弧插补算法以整条线段为目标且始 末速度均为0;而自由曲线曲线插补过程中将整条自由曲线分段,而每段曲线的始末速度不为 0。这里将进给速度的S型曲线分成七种情况:(1)匀速型;(2)加速型;(3)减速型;(4)加速匀速 型;(5)匀速减速型;(6)加速减速型;(7)加速匀速减速型。如图4.15所示: 在速度规划中,并非所有的类型都会用到,选择何种类型的加减速曲线进行规划,取决 于曲线段的长度。规划的流程图见图4.16。 图4.15 七种加速/减速曲线图 http://comm.CchinaAaEeTt.com/ADI_UDC ● 385 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 七种S型加减速曲线的特征参数如表4.4所示 表4.4七种S型减减速曲线的特征参数 类型 各特征参数计算式 1 Tc = Tend = 0 , J str = J end = 0 , Tstr = Lm seg /(Vstr + Vend ) 2 J str = J max , Jend = 0 , Tc = Tend =0, f (Tstr ) = 2VstrTstr + J T str str3 − Lm seg =0 3 J end = J max , J str = 0 , Tc = Tend =0, f (Tend ) = 2VendTTend + J T end end 3 − Lm seg =0 J str = Jmax , Jend = 0 , Tend = 0 , 4 Tstr = (Vmax −Vstr ) / Jmax , Tc = ( Lm seg − L4 ) / Vmax Jend = Jmax , J str = 0 , Tstr = 0 , 5 Tend = (Vmax −Vend ) / J max , Tc = ( Lm seg − L4 ) / Vmax J str = Jend = Jmax , Tc = 0 , f (Tstr ) = Jmax (Vend − Vstr )Tstr 4 + 2Jmax LmsegTstr3 6 −(Vstr − Vend )2Tstr 2 + 4Vstr LmsegTstr , +(Vstr + Vend )2 (Vstr −Vend ) / J max − ( Lm seg )2 = 0 Tend = T2 str + (Vstr − Vend ) / J max 7 J str = Jend = Jmax , Tstr = (Vmax − Vstr ) / Jmax , Tend = (Vmax − Vend ) / Jmax , Tc = ( Lm seg − L3 ) / Vmax 给定参数: Vstr ,Vend ,Vmax , Lm seg Lr1, Lr 2 , Lr 3 , Lr 4 TypeⅠ Y Y Y Lm seg < Lr1 ? TypeⅠ N Lm seg ≥ Lr 4 ? N Y Y Vstr > Vend ? Vstr > Vend ? Y Type Ⅴ N Type Ⅳ N TypeⅡ Type Ⅲ (Vstr = Vmax ) & & (Vmax = Vend ) ? N (Vstr = Vmax ) || (Vmax = Vend ) ? N Lm seg < Lr1 ? Y N Lm seg ≥ Lr3 ? Y N Lr 2 ≤ Lm seg < Lr3 ? Y N Vstr > Vend ? Y N TypeⅡ TypeⅠ Type Ⅶ Type Ⅵ Type Ⅲ 图 4.16 加减速类型确定结构图 ● 38h6ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 4.5.4 基于DSP实现自由曲线曲线实时前瞻插补算法 基于DSP实现自由曲线曲线插补的流程图如图4.17所示: 开始 读上位机自由曲线插补所需各参 数数据 插补信号启动有效 求参数曲线上的当前点坐标 计算当前点的曲率半径 速度敏感区检测 第一次速度规划,保存当前速度 求下一插值点 否 插值结束? 是 是 是 第二次速度(S 型加减速)规划 速度分解到 XY 轴方向 否 求下一进给速度 是 输出当前进给脉冲 插补结束? 结束 图4.17 基于DSP实现自由曲线曲线插补的流程图 在自由曲线曲线插补过程中,3个定时器中的定时器0用作定时,来限定插补时间;定时 器1和定时器2分别用作产生PWM波,来设定X轴和Y轴的进给量(即脉冲数)。自由曲线曲 线插补过程中,插补周期是固定的,每个轴的插补进给量是随着规划后该轴的插补速度的变 化而变化的,所以定时器1和定时器2的设置应随规划后的速度变化而变化;定时器0的插补时 http://comm.CchinaAaEeTt.com/ADI_UDC ● 387 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 间等同于插补周期,为固定值[10]。 4.6 本章小结 本章主要讲解了基于最小偏差发实现直线圆弧插补原理以及针对自由曲线的插补原理, 并阐明了其算法在DSP上实现的具体过程及原理。 5 插补实例分析及实验验证 5.1引言 在经过对DSP插补控制器内部算法以及程序的编写完成后,对于实例插补,经过模拟实 验所获得的数据已达到了预期的要求。在接下来的研究中,以X-Y数控平台以及数控雕铣机 位控制对象,对作品的功能进行进一步的验证。 5.2 基于X-Y工作平台的自由曲线插补实例 本节采用的加工路径如图5.1所示。该路径很典型,路径中的部分地方十分平坦,但整条 曲线上存在5处方向突变,见图中标注的A、B、C、D、E五个拐角处,并且C处的方向突变比 A、B、D、E处的更为剧烈,反映在几何意义上,即C处的曲率最大。 插补条件如表5.1:给定进给速度F=200mm/s,最大允许的弦高误差dmax = 1mm ,最大加 速度 A = 20000mm / s2 ,最大加加速度 J = 500000mm / s3 ,插补周期为0.5ms。为进一步说 明本插补算法的特点和优势,本文将经过一次速度规划的插补算法和经过二次速度规划的插 补算法进行比较。 参数量 进给速度 最大向心加速度 最大加加速度 曲率常数 弓高误差允许值 采样时间 表5-1 前瞻算法中的参数量 符号 数值 F 200 Amax J max kc d Ts 20000 500000 1 1 0.001 5.2.1插补速度规划对比分析 该路径的3阶自由曲线表示如下: ● 38h8ttp●://comm.CchinaAaEeTt.com/ADI_UDC 单位 mm/s mm/s2 mm/s3 mm-1 ìm s 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 控制点: P={{0,0,0},{-12,-16,0},{-32,-16,0},{-16,-32,0},{-20,-48,0},{0,-36,0},{20,-48,0},{16,32,0},{32,-16,0},{12,-16,0},{0,0,0}} 节点矢量: U={0,0,0,0.1,0.2,0.3,0.4,0.6,0.7,0.8,0.9,1,1,1} 权向量: W={1,1,1,1,1,1,1,1,1,1,1} 该曲线为3阶星形自由曲线,如图5.1所示。对加工曲线的进一步分析,可以得到曲线的 曲率变化,如图5.2所示。 Y-axis position(mm) 0 -5 -10 -15 E -20 -25 -30 -35 -40 D -45 -50 -30 -20 A -10 0 10 X-axis pos ition(mm) B C 20 30 图5.1 星形自由曲线轮廓图 0. 8 0. 7 0. 6 0. 5 0. 4 0. 3 0. 2 0. 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 parameter(u) 图5.2 星形自由曲线曲率变化图 curvature(mm-1) http://comm.CchinaAaEeTt.com/ADI_UDC ● 389 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 Velocity V(mm/s) 220 200 180 160 140 120 100 80 60 40 20 0 0 No planning F irs t velocity planning S econd velocity planning 0. 2 0. 4 0. 6 Time t(s ) 0. 8 t1 t2 1 图5.3 不同插补算法下的速度曲线比较 t3 1. 2 ACC/DEC (mm/s 2) ACC/DEC (mm/s 2) ACC/DEC (mm/s 2) 1 0 -1 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 4 x 10 1 (a)No planning 0 -1 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 4 x 10 1 (b)F irs t velocity planning 0 -1 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) (c)S econd velocity planning 图5.4 不同插补算法下的加速度曲线图 ● 39h0ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 Jerk (mm/s 3) Jerk (mm/s 3) (a)No planning 1 0 -1 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 10 x 10 1 (b)F irs t velocity planning 0 -1 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 5 x 10 5 (c)S econd velocity planning 0 -5 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) Jerk (mm/s 3) 图5.5 不同插补算法下的加加速度曲线图 速度规划的目的之一是保证曲线的弓高误差在允许的范围之内,这与加工轮廓误差控制 密切相关,对零件加工的表面质量有重要影响。无论是传统插补中调整步长,还是参数曲线 插补中调整进给速度,弓高误差均是一个重要的判断标准。弓高误差定义为两相邻插补点间 的弦长垂直方向上与曲线点的最大距离。 本作品采用的实时前瞻插补算法经过了两次速度规划,在上节中做了具体的介绍。有进 行规划的速度为常值(200mm/s),如图5.3中红色长虚线,这种情况下的加速度和加加速度均为 0,如图5.4中红色长虚线,但在加工过程中产生的插补误差(图5.6中红色长虚线表示)很大,特 别是在曲率大的地方,其插补误差大。为了减小插补误差,我们进行第一次速度规划,规划 后的速度如图5.3中蓝色短虚线,插补时间比未规划前相比延长到t2,在曲率加大的地方B、 C、D、E处,其插补速度也相应减小,以此减小插补误差,如图5.6中黑色短虚线,其插补误 差比规划前相比减小了很多。但是经过第一次速度规划,其加速度和加加速度太大,前面我 们讲过过大的加速度和加加速度会给机床带来很大的负面影响,在这不再累赘,为了使加速 度和加加速度在合理的范围内(即最大加速度A=20000mm/s2,最大加加速度J=500000mm/s3), 我们进行第二次速度规划,规划后的加速度和加加速度如图5.7,5.8所示,但插补误差有所增 大,如图5.6中蓝色实线。 http://comm.CchinaAaEeTt.com/ADI_UDC ● 391 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 Chord error (mm) x 10-3 4 3. 5 3 2. 5 2 1. 5 1 0. 5 0 0 0. 2 No planning F irs t velocity planning S econd velocity planning 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 图5.6 不同插补算法下的弓高误差曲线比较 当然,插补误差不仅与速度规划有关,也与插补的速度大小有关,在第二次速度规划 后,我们以50mm/s,100mm/s,200mm/s插补分析,具体分析见后面章节,速度变化,其插补 误差也变化,但是,插补速度越小,插补时间越长。 5.2.2速度规划后处理分析 本小节主要介绍在二次速度规划后,如何对规划后得到的速度进行处理,作为信号源控 制伺服电机,应用于实际的数控系统,这里我们简称速度规划后处理。为了得到较好的后处 理方法,本设计提出了四套方案,并对这四套方案进行对比分析,这四套方案如下: 方案综述:方案一通过二阶泰勒公式求节点Ui,当Ui=1时,即插补结束时,V[i]并没有 用完,换句话说,规划后的速度有剩余,这种方法存在的最大问题在于规划后的速度V[i]没 ● 39h2ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 有与其相应的插补位置一一对应,错位了。因此这种方法的插补误差肯定很大,下面的实验 结果会验证。为了克服这样错位现象,我们设计了方案二。方案三和方案四将速度分解到XY 轴,这一分解过程要对曲线求导求得切线向量,故这一方法的误差主要在此。方案四与前三 种方案存在明显的差异,前三种方案以位置信息作为控制伺服平台的信号源,控制方式为位 置控制模式;而方案四是以速度信息作为控制伺服平台的信号源,控制方式为速度控制模 式。 x 10-3 4 3. 5 The firs t plan The s econd plan 3 Chord error (mm) 2. 5 2 1. 5 1 0. 5 Chord error (mm) 0 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 图5.7 方案一和方案二的弓高误差比较 -3 x 10 2 1. 8 1. 6 1. 4 1. 2 1 0. 8 0. 6 0. 4 0. 2 0 0 The s econd plan The third plan 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 图5.8 方案二和方案三的弓高误差比较 http://comm.CchinaAaEeTt.com/ADI_UDC ● 393 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 在同一条件下,方案一和方案二的弓高误差如图5.7所示。从图可知,方案一产生的弓高 误差远远大于方案二产生的弓高误差,因为弓高误差与加工轮廓误差控制密切相关,对零件 加工的表面质量有重要影响。因此我们可以断定,方案二优于方案一。同样我们在同一条件 下对方案二与方案三产生的弓高误差进行对比,如图5.8所示。很明显,方案二产生的弓高误 差小于方案三产生的弓高误差。因此方案二优于方案三。这里,方案三和方案四都是将速度 分解到XY轴,其产生的弓高误差是完全相同的。因此,我们可以断定方案二优于所有其他方 案,我们选择方案二作为速度后处理方式。所有四种方案的弓高误差对比如图5.9所示。 x 10-3 4 3. 5 3 The firs t plan The s econd plan The third plan Chord error (mm) 2. 5 2 1. 5 1 0. 5 0 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time (s ) 图5.9 所有方案的弓高误差比较 5.2系统测试方案 基于作品的最初方案,在作品的实验验证中,将以X-Y伺服数控平台作为DSP插补控制 器的控制对象,以PC机作为上位机,通过上位机进行G代码编译,应用下位机DSP控制器, 分别控制X-Y伺服数控平台的X轴及Y轴运动,从而由相对固定在X-Y平台底座上的画笔在画 板上画出G代码所表示的自由曲线轨迹。同时,由数据采集卡实时采集X轴及Y轴的光栅尺所 返回的位置信息,保存至上位机,由上位机的系统运动跟踪界面跟踪实时轨迹位置,并对保 存的数据进行数据分析。实验具体系统结构如图5.10所示。 5.3系统测设设备 根据现有资源,本作品选择了如表5.2所列写的设备进行测试,其中,运动控制卡在整个 系统中仅担当了数据采集的功能。 ● 39h4ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 表5.2 实验所用设备列表 实验设备 PC机 DSP X-Y伺服数控平台 数据采集卡 功能 上位机 插补控制器 运动轨迹执行 光栅尺数据采集 设备型号 研祥工控平台 ADI Blackfin533 安川电机伺服平台 PMC 上位机 , 负责编译 G代码文件及插补原程 序,得到编译后的轨迹信息及程序文件 。 数据传输 仿真器 传递位置数据 数据采集卡 ,负责采 集X-Y平台的位置信 号 ,并传递给主机 光栅尺位 置信号 X-Y伺服 数控平台 数据烧录 Blackfine 533, 负责前瞻算法实 现以及轨迹插补 实现 。 发送插补脉冲 伺服电机 驱动器 电机驱动信号 图5.10 实验系统结构示意图 5.4实验结果及数据分析 该系统以PC为控制平台,在PC端运行G代码编译软件,控制XY伺服平台。为了验证自 由曲线轨迹插补的可行性,插补如下G代码: G0 X0.0 Y0.0 Z0.0 G6.2 P2 K0.0 X0.0 Y0.0 Z0.0 R1.0 F200.0 K0.0 X-12.0 Y-16.0 Z0.0 R1.0 K0.0 X-34.0 Y-16.0 Z0.0 R1.0 K0.1 X-16.0 Y-32.0 Z0.0 R1.0 K0.2 X-20.0 Y-48.0 Z0.0 R1.0 K0.3 X0.0 Y-36.0 Z0.0 R1.0 http://comm.CchinaAaEeTt.com/ADI_UDC ● 395 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 K0.4 X20.0 Y-48.0 Z0.0 R1.0 K0.6 X16.0 Y-32.0 Z0.0 R1.0 K0.7 X32.0 Y-16.0 Z0.0 R1.0 K0.8 X12.0 Y-16.0 Z0.0 R1.0 K0.9 X0.0 Y0.0 Z0.0 R1.0 K1.0 K1.0 K1.0 ## 上述G代码中长度单位为mm;速度单位为mm/s。G代码编译控制软件界面及上述G代码 编译结果如图5.11所示,实验具体过程可由随报告一同提交的视频中获得。 图5.11 PC端控制界面 分别以50mm/s、100mm/s、200mm/s的速度插补如图5.1所示的基于自由曲线的星型轨 迹。最终,可获得如图所示的由画笔所描画的星形曲线的轨迹图,其具体的实验过程可由随 报告所提交的视频获得,最终实验结果如图5.12所示。采集X-Y伺服平台编码器反馈信号,得 到实际轨迹如图5.13所示。 图5.12 基于X-Y伺服平台插补实验 ● 39h6ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 Y-axis position (mm) 0 Theoretical trajectory 50mm/s -5 100mm/s 200mm/s -10 -15 -20 -25 -30 (a) (b) -35 -40 -45 -50 -30 -20 -10 0 10 20 30 X-axis pos ition (mm) 图5.13 不同速度下的理论轨迹和实际轨迹 Y-axis position (mm) -30 Theoretical trajectory 50mm/s -31 100mm/s 200mm/s -32 -33 -34 -35 -36 -22 -21 -20 -19 -18 -17 -16 X-axis pos ition (mm) 图5.14 图5.13中(a)的放大图 Y-axis position (mm) -30 Theoretical trajectory 50mm/s -31 100mm/s 200mm/s -32 -33 -34 -35 -36 -37 15 16 17 18 19 20 21 22 X-axis pos ition (mm) 图5.15 图5.13中(b)的放大图 http://comm.CchinaAaEeTt.com/ADI_UDC ● 397 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 图5.12中,黑色实线(black solid line)描述的是自由曲线插补算法的理论轨迹,其他三条 是经数据采集卡得到实际轨迹,其中蓝色虚线(blue dashed line)表示50mm/s的速度加工的实际 轨迹,红色点线(red dotted line)表示100mm/s的速度加工的实际轨迹,绿色点划线(green dashdot line)表示200mm/s的速度加工的实际轨迹。将图5.13中的(a)、(b)部分放大后如图5.14、图 5.15所示,由图5.14可知,速度越慢,其对应的实际轨迹越接近理论轨迹,即精度越高。随着 时间的增加,如图5.15所示,速度越快,其对应的实际轨迹越接近理论轨迹,即精度越高,这 是因为速度越慢,对同一轨迹,其加工时间也就越长,滞后现象越明显,导致精度越低。 以200mm/s为例,其X轴和Y轴的理论轨迹和实际轨迹如图5.16和图5.17所示,结果显 示本系统存在滞后现象,实际轨迹滞后于理论轨迹。从图中可以看出本系统的响应特性也不 好,这是因为本系统采用的是开环控制,故影响了其响应特性。 经过试验分析,基于X-Y平台的动力学因素,在轨迹运行速度超过200mm/s时,平台 会产生明显的抖动,影响轨迹精确性。因此,本设计中,基于数控平台的最大进给速度为 200mm/s,已达到高速加工的速度水平。 30 Theoretical trajectory W orking trajectory 20 10 X-axis position (mm) 0 -10 -20 -30 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time t (mm) 图5.16 X轴的实际轨迹和理论轨迹 0 Theoretical trajectory -5 W orking trajectory -10 -15 Y-axis position (mm) -20 -25 -30 -35 -40 -45 -50 0 0. 2 0. 4 0. 6 0. 8 1 1. 2 Time t (s ) 图5.17 Y轴的实际轨迹与理论轨迹 ● 39h8ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 5.5实际加工实验 为了更好的作品功能的可行性,本实验采取的JTGK高速数控雕铣机系列机床型号为 GK500,如图5.18所示,采用当今主流龙门式结构。这里我们只运用该机床的XY工作平台和 主轴的切削功能。 图5.18 GK500 JTGK高速数控雕铣机 在本实验过程中,除去控制对象由X-Y平台改为数控机床,其他各设备与上一实验均无 变化。将插补控制系统接入机床伺服控制器后,同上一实验进行相同的操作步骤,最终可得 到如图5.19所示的实验结果。具体的实验过程可从与报告一同提交的视频中获得。 图5.19 基于JTGK高速数控雕铣机插补实验 在实验过程中,数控机床刀具达到120mm/s的进给速度时,加工轨迹结果依然保持平 滑,机床无震动情况发生,达到了高速加工的标准。实验表明本作品在实际加工中的可行 性,能保证高速进给,满足插补精度要求,验证了本文所设计的具有自由曲线插补功能的插 补器的可行性及优良的性能。 http://comm.CchinaAaEeTt.com/ADI_UDC ● 399 ● 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 5.6本章小结 本章主要在之前所做的理论设计的基础上,通过利用DSP插补控制器对X-Y伺服平台的 实际控制,进行预计轨迹的描画,并采集运动中的位置数据,对作品性能做以了评估。通过 在数控雕铣机上的实际加工,进一步验证了作品在对自由曲线进行加工时的可行性。在整个 实验的过程中,在DSP插补控制器的控制下,由于作品利用新的自由曲线表达方法以及新的 插补方法,因此在合理的误差范围内加工效率较传统的加工方式具有显著的提高,达到了预 期的目的。 6 结束语 现代数控技术集机械,制造技术,自动控制技术,微电子技术,信息技术于一体。加工 速度和加工精度是衡量数控加工性能的主要指标,数控加工向高速高精度方向发展,对数控 系统的插补器、机床进给机构以及伺服控制都提出了新的要求。在数控加工的各项关键技术 中,插补和进给系统伺服控制的性能好坏直接影响到数控系统的加工精度和加工效率。本作 品对高速加工中的自由曲线插补技术进行了研究与探讨。主要研究成果及结论如下: (1) 在曲线的数学表达式上,对一任意形状的参数自由曲线,采用了优于经典表达方法的 算法,缩短了计算时间,提高了加工效率。 (2) 研究了数控系统核心技术之一——轨迹与速度规划方法,给出了具有前瞻性的速度规 划算法,包括基于参数自由曲线几何形状特征规划和加减速规划,解决了由于曲线形状的复 杂易引起较大的位置误差和旧时加工时无法保持最大的进给速度的问题。 (3) 基于Blackfin系列DSP搭建硬件平台,在该平台上实现了自由曲线插补算法和传统的 直线圆弧插补算法,并在实际的XY伺服平台和数控机床上得到了验证。 本文中实验和仿真得到的结论验证了本文所设计的具有自由曲线插补功能的插补器的可 行性及优越性。本作品的研究成果具有良好的通用性,具有重要的理论价值和实际价值。作 者认为还需要在以下几个方面进行深入研究,才能使本作品的研究成果真正的应用于实际数 控系统。 (1) 进一步研究轮廓误差的理论模型,闭环控制对轮廓误差的影响,引进轮廓误差控制器 功能。 (2) 对代码进一步优化,进一步完善完善插补算法对任意自由曲线的通用性问题。 ● 40h0ttp●://comm.CchinaAaEeTt.com/ADI_UDC 2009年度ADI中国大学创新设计竞赛获奖作品论文选编 参考文献 [1] 陈峰. Blackfin系列DSP原理与系统设计[M]. 北京:电子工业出版社,2003:241242 [2] 任松涛 NC代码编译器的设计与实现[D].西北工业大学硕士学位论文,2007.3 [3] 中华人民共和国机械行业标准JB/T 3208-1999(数控机床穿孔带程序段格式中 的准备功能G和辅助功能M的代码) [4] http://baike.baidu.com/view/9222.htm [5] 李恩林. 插补原理[M]. 北京:机械工业出版社,1984:9. [6] 赵巍. 数控系统的插补算法及加减速控制方法研究. 天津大学博士学位论文. 2004 [7] 曹宇男. 王田苗. 陈友东等. 插补前S加减速在CNC前瞻中的应用. 北京航空航天 大学学报, 2007,33(5):595-995 [8] 李高峰. 基于DSP和FPGA的运动控制板的开发. 河南科技大学硕士学位论文. 2004 [9] S.S Yeh, P.L. Hsu. Adaptive-Feedrate Interpolation for Parametric Curves with a Confined Chord Error. Computer-Aided Design. 2002, 34(3):229-237 [10] ADSP-BF533 EZ-KIT Lite Evaluation System Manual Revision 3.1. Analog Devices, 2007.12 http://comm.CchinaAaEeTt.com/ADI_UDC ● 401 ●

Top_arrow
回到顶部
EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。