2DDA圆弧插补改进算法
基于扩展DDA算法的圆弧插补程序设计
基于扩展DDA算法的圆弧插补程序设计李芬;王海涛;常勇;孙明军;何宏宏;宫迎辉【摘要】@@%数控系统的核心是插补技术,插补运算的优劣直接关系到数控系统的整体性能,因此插补算法对于一个数控系统厂家来说,都是核心机密.本文针对两轴数控系统普遍采用的扩展DDA算法圆弧插补,提出一种程序实现方法.【期刊名称】《制造业自动化》【年(卷),期】2012(034)012【总页数】3页(P144-146)【关键词】扩展DDA算法;圆弧插补;线程;消息队列【作者】李芬;王海涛;常勇;孙明军;何宏宏;宫迎辉【作者单位】烟台工程职业技术学院数控技术系,烟台264006;北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120【正文语种】中文【中图分类】TH1220 引言针对用户而言,零件加工程序仅描述该线形所必须的相关参数,直线仅描述起点和终点坐标,圆弧则仅提供起终点坐标、圆心坐标等信息。
单单给出这些信息是无法满足数控机床控制执行部件运动要求的,必须根据其运行轨迹在已知信息点之间实时计算出满足要求的中间点,这种在已知数据点之间插入中间点的方法就是插补,其实质就是数据点的密化。
插补的实现方法有很多,不同计算方法对应不同的算法。
目前应用的插补算法基本可以分为两类,一类是基准脉冲插补,又称为行程增量插补或脉冲增量插补,其插补方法有逐点比较法、数字脉冲乘法器法、数字积分法和最小偏差法等,其最主要的特点是插补计算的结果是以一个一个脉冲的方式输出给伺服系统,或者说产生的是单个的行程增量[1]。
另一类是数据采样插补,或称为时间分割法,其插补方法有直接函数法、内接弦线法和扩展DDA法、内外均差弦线法等,与基准脉冲插补法不同,采用数据采样法插补时,在加工某一直线段或圆弧段的加工指令中必须给出加工进给速度,先通过速度计算,将进给速度分割成单位时间间隔的插补进给量(或称为轮廓步长),又称为一次插补进给量,按上式计算出一次插补进给量后,根据刀具运动轨迹与各坐标轴的几何关系,就可求出各轴在一个插补周期内的插补进给量,按时间间隔再以增量形式给各轴送出一个一个的插补增量,通过驱动使机床完成预定轨迹的加工。
时间分割插补法插补圆弧算法的改进
"%&"&"#("! 圆弧的半径为 ’ ! 所以 ##&"&$#&!!! 为插补
轮廓的步长 ! 对应的圆心角 !( 为弦进给代替切线进给的 " ##!$#’ 和 " " ##&"!$#("’ 的 进给速度 $ 因弦长 !&!"&(% ! 分析 ! 坐标关系可得如下关系式 &
!&"’("(")*’&%+( " " )
’ ’ ) & ’ + ’ ’ (
# ($)+ &2) !#)(!$)&!)
得到 !$& 3#+/!#&!
)
)$ +
此时求得的 !$ ! 即使 !# 的值有误差 !其值还在圆弧上 ! 这 样可以提高圆弧插补的精度 !减少加工误差 $ 因此可求得下一点的坐标值
&
&
&
&
*
#+&"&#+(!#
$+&"&) )’&*#) +("
数控机床的数控系统均采用了插补运算 ! 所谓插补 运算就是数控系统根据控制面板输入的数据 ! 通过计算 将工件的轮廓形状描述出来 ! 边计算边向各坐标发出进 给指令 $ 时间分割插补法插补圆弧通常采用以弦的方式 逼近圆弧 ! 这种插补方法加工出来的多边形的边数越多 ! 越接近被加工的圆弧外形轮廓 ! 其加工轮廓尺寸误差就 越少 !被加工的零件精度也就越高 $ 但目前大部分教材均 采用近似的方法 ! 本文利用改进时间分割插补方法进行 插补计算 !其插补误差减少 !加工精度提高 $
DDA法圆弧插补误差分析及解决办法
4+3=
6
2
5
6<q
7<q
5 6+5= 11-8=
1 3 7+3= 10-8=
4
7
+X
-Y
5-1=4 11>q 3
1 3+1=4 10>q 2
4
3+4=
2+4=
8
1
4
7<q
6<q
4 7+4= 11-8=
4 6+4= 10-8=
9
+X 0
-Y 3
4-1=3 11>q 3
4+1=5 10>q 2
10
停止
乙tn
的时间,其积分值为 A 到 B 的坐标增量,即 xe -x0 =- t0 kyi
乙tn
dt,ye -y0 = t0 kxi dt,(Ⅲ)将式Ⅲ用累加和代替积分式得 xe -
n
n
Σ Σ x0 =- kyi Δt,ye -y0 = kxi Δt,若取 Δt 为一个脉冲时间间
i=1
i=1
n
n
Σ Σ 隔,即 Δt=1,则 xe -x0 =- kyi ,ye -y0 = kxi 由此可见,圆
对式求其在a到b区间的定积分t0和tn分别对应出发点和终点的时间其积分值为a到b的坐标增量即xex0tnt0乙kyidtyey0tnt0乙kxidt将式用累加和代替积分式得xenx0ni1kyityey0i1kxit若取t为一个脉冲时间间隔即t1则xex0ni1kyiyey0ni1kxi由此可见圆弧插补也可由两套数字积分器来实现圆弧插补被积函数为变量kxi和kyi且随着溢出脉冲而不断变化
数控系统中圆弧插补算法的改进和实现
1 数据采样法的圆弧插补算法
111 数据采样法圆弧插补算法
[2]
插补计算就其实质而言上是在一个插补周期内 , 如何快捷准确的计算出下一个插补点的进给量以及动 点坐标 。 现以插补第一象限顺圆弧 为例 , 如图 1 所 [5 ] Δ Δ 示 , 说明插补顺圆弧 时进给量 X i , Yi 以及动点坐 标 X i+1 , Yi+1 的产生与计算关系 。
组合机床与自动化加工技术
112 圆弧插补算法的改进
由圆的基本知识可知 : OM 垂直弦线 S E, 且平分该 圆弧所对应的中心角 ∠SO E, 故 ∠SO E = ∠M O E = δ 015 ,在 R Δ t S PE与 R Δ t M YM O 中 , 由于 S E ⊥ OM , S P ⊥
M YM , EP 的延长线 EYi+1 ⊥ O YM 因此 , R Δ t S PE 相似于 RΔ t M YM O
则
ΔX i = X i+1 ΔL 2 - X i = Yi - Xi 2 R 2R ΔL
Δ 2 Δ ΔY i = Y i+1 - Y i = - Y i L2 - X i L R 2R
插补准备阶段进行计算 , 以便准确快捷地计算进给量 。
・62・
2009 年第 7 期 113 两种算法的比较分析
R
简为
ΔX i = m Y i - nX i ΔY i = m X i + nY i
( 11 ) ( 12 )
由图 1 可得插补点 E 的坐标
X i+1 = X i +ΔX i Y i+1 = Y i - ΔY i ( 13 ) ( 14 )
且令 则
X i+1 = X i 1 Xi k
数控加工技术中的一种双圆弧新插补方法
数控加工技术中的一种双圆弧新插补方法
双圆弧新插补方法是数控加工技术中极其重要的一种插补方法,它利用给定圆弧点计算出对应的运动插补曲线,可以使被插补物体呈现出更加精细、自然的运动轨迹。
双圆弧新插补方法的实现相对于传统的圆弧线插补方法要简单得多,不需要像传统方法那样求出每一段圆弧线段所对应的轨迹折点,只需要输入两点及其中间计算出来的折点就可以实现双圆弧新插补方法的功能。
该方法采用双圆弧曲线的形式而不是圆弧曲线的形式来实现运动插补,其实质就是通过将两圆弧叠加在一起形成一个新的曲线形状,将整个轨迹分解为两个独立的子轨迹,各子轨迹又分别可以由两圆弧构成,这样就可以大大减少计算量。
此外,双圆弧新插补方法可以更好的控制运动的爬行角度和曲率等指标,从而可以保证机床在加工过程中的安全性和操作的质量。
新插补方法具有良好的稳定性,同时也可以很好的满足具体工件的加工要求。
双圆弧新插补方法的出现,大大提高了数控加工技术的精度和效率,为自动化生产提供了有力的技术支持,是数控加工技术中一大创新。
DDA直线插补和圆弧插补VB程序
ElseIf f * Di = 0 Then
If Di = 1 Then
f = f + 2 * y * Di + p
y = y + p
Else
f = f - 2 * x * Di + p
End If
f = f + Abs(xe - x0)
End If
obj.Line -(x, y), vbRed '画折线
n = n - 1
DoEvents
For i = 1 To 2000000 * p
'延时
Next i
Exit Sub
End If
pic.Cls '清屏
axis pic '画坐标轴
p = Val(Combo1.Text) '读取脉冲当量
cmdShow.Enabled = False
If Option1.Value Then '演示直线插补
Text1(2) <> "" And Text1(3) <> "" Then
x1 = Val(Text1(0)): y1 = Val(Text1(1))
x2 = Val(Text1(2)): y2 = Val(Text1(3))
Else
MsgBox "输入坐标不完整!"
Private Sub Text1_Change(Index As Integer)
If Abs(Val(Text1(Index).Text)) > 9 Then
基于矢量的DDA空间圆弧插补算法
基于矢量的DDA空间圆弧插补算法
王忠平;田作华
【期刊名称】《机械设计与制造》
【年(卷),期】2007(000)009
【摘要】介绍了三点确定空间圆弧的方法,分析了本算法的基本原理,详细描述了确定被积函数、确定累加器容量、进给方向判断、终点判断等部分,突出了基于矢量的概念和计算方法,给出了具体实现流程.
【总页数】2页(P164-165)
【作者】王忠平;田作华
【作者单位】上海交通大学,电子信息和电气工程学院,上海,200240;上海交通大学,电子信息和电气工程学院,上海,200240
【正文语种】中文
【中图分类】TG659
【相关文献】
1.基于四元数的空间圆弧插补算法 [J], 刘放;汪鎏;胡俊;姚振强
2.一种完全基于两电平空间矢量调制的三电平空间矢量调制算法 [J], 姜卫东;王群京;陈权;史晓锋
3.基于扩展DDA算法的圆弧插补程序设计 [J], 李芬;王海涛;常勇;孙明军;何宏宏;宫迎辉
4.基于空间方向相似性的面状矢量空间数据匹配算法 [J], 郭黎;崔铁军;郑海鹰;张
新慧
5.基于矢量传感器阵列的"矢量-空间"预处理算法 [J], 常文秀;陶建武;崔伟
因版权原因,仅展示原文概要,查看原文内容请购买。
数控中DDA插补的原理详解
∑
i =1
∑
NOTE: NOTE: 插补开始时, x=0, y=0; 1)插补开始时,∑x=0,∑y=0; 被积函数寄存器分别寄存X 一直不变) 被积函数寄存器分别寄存Xe和Ye(一直不变) 插补开始后,每隔一个时间间隔△ 2)插补开始后,每隔一个时间间隔△t ,被 积函数的内容与各自的累加器中的内容相加 一次, 一次,相加后溢出的脉冲做为驱动相应坐标 轴的进给脉冲, 余数仍寄存在累加器中。 轴的进给脉冲,而余数仍寄存在累加器中。 被积函数寄存器中的数可用二进制位表示: 3)被积函数寄存器中的数可用二进制位表示: 由高到低), 2n-1、……20。(由高到低),也可用十进制 2 。(由高到低),也可用十进制 数表示。 数表示。 4)当累加出现>2N项时,则表示溢出脉冲。 当累加出现>2 项时,则表示溢出脉冲。
∑ ∑
∑ ∑
例3:当函数寄存器位数N=3,对第一象限直 当函数寄存器位数N=3, N=3 OE进行DDA插补 起点( 进行DDA插补, 线OE进行DDA插补,起点(0,0), 终点E ),写出插补过程并画出插补轨 终点E(5,3),写出插补过程并画出插补轨 迹。 解: 1)基本参数 N=3,则累加次数m=2 =8, N=3,则累加次数m=23=8, =5, Xe=5,Ye =3, ∑x=000, ∑x=000,∑y=000 。
t 0 i =1 n
n
y = ∫ k y e dt = ∑ k y e ∆t
t 0 i =1
取单位时间 Δt=1,则公式化为
x = k ⋅ ∑ xe i =1 n y = k ⋅ y ∑ e i =1
n
插补公式
平面直线的插补运算框图
累加多少次,才能到达加工终点呢?m=? K=? 累加多少次,才能到达加工终点呢?m=? K=?
DDA插补的高级语言实现
DDA插补的高级语言实现The Realization of DDA Interpolation In Advanced Computer Languaget王健强摘要:DDA(数字积分法)是开环数控系统常用的插补方法,文中主要分析、讨论直线和圆弧DDA插补的高级语言(C++语言)实现算法和技巧。
用半加载法和极值比较法对DDA法进行修正,有效地提高了圆弧DDA法的插补精度。
关键词:DDA插补C++语言软件插补Abstract:DDA Interpolation is a commonly used method of in terpolation.The algori thm and mechanics of DDA Interpo-lati on of line and arc in advanced computer language is mainly discussed and analyzed.The precision of Interpolation is im-proved by means of the method of half Load and the method of comparison of maxi mu m.Keywords:DDA Interpolation Advanced Computer Language Software Interpolation1引言随着计算机技术和微电子技术的迅猛发展,数控机床在现代机械加工业中已占有越来越大的比重。
近年来,以IPC(PC总线工控机)为控制主机的机床数控系统正以前所未有的速度发展,其性能稳定、可靠的各种类型的功能接口模板几乎应有尽有,这无疑为IPC的应用提供了坚实的硬件保障:同时又降低了硬件开发成本。
自从微机进入数控领域后,硬件数控正在被软件数控C NC所代替,其中包括数控系统重要的插补功能的代替。
众所周知,数控机床的运动(直线、圆弧等)通过插补实现。
3.5.2 直线和圆弧DDA法插补原理
JY-1 JY 5
5 5 5 5-1=4 4-1=3 3-1=2 2-1=1
终点判 别 NX NY
+Y +Y +Y -X,+Y 10-8=2 -X,+Y 10-8=2 -X -X 12-8=4 9-8=1
10-8=2 12-8=4 9-8=1 11-8=3 11-8=3
2012-5-30
数字积分法直线插补运算过程(前五步)
累加 次数 X积分器 Y积分器 终点计 数 器 JE 000
JRX+JVX
1 0+101=101
溢出 △X 0 1
0 1 1
JRY+JVY
0+010=010
溢 出 △Y 0 0
0 1 0
2
3 4 5
101+101=010
010+101=111 111+101=100 100+101=001
一 插补的基本概念; 二 插补方法的分类; 三 逐点比较法; 四 数字积分法; 五 数据采样法(时间分割法); 六 插补算法中的速度处理。
2012-5-30
四 数字积分法插补
特点:
易于实现多坐标联动插补 Y 1 数字积分法的工作原理 如右图,函数在[t0 , tn ]的定 积分,即为函数在该区间 的面积: O t0 t1 t2 如果从t=0开始,取自变量 t的一系列等间隔值为△t, 当△t足够小时,可得
2 设圆弧AB为第一象限逆圆弧,起点A (3,0),终点为B(0,3),用DDA法加工圆弧 AB。
2012-5-30
基于FPGA技术的高速数控DDA插补器的设计与研究
积分器。
图 1
数字积分法的原 理图
左移 , 自动左移电路能在 左移规格化完成后自动停 止。 直线插补时 , 当被积函数寄存器中所存放的数字 量的最高位为 1 时, 称为规格化数, 而圆弧则是当被 积函数寄存器中所存放的数字量的次高位为 1 时称 为规格化数。 2 3 x 轴 , y 轴坐标修正模块 圆弧插补时, 被积的数值是圆弧的起始坐标, 在 插补过程中不断的修正。 但有点不同 , 由于开始对被 积数进行了左移规格化处理 , 相当于坐标值扩大了 2
组合机床与自动化加工技术
积分器模块是该插 补器的核心模块 , 由累加器 和被积寄存器 组成。当插补时钟脉冲到来 , 终点坐 标值或 X 、 Y 的即时坐标值向累加器累加一次, 如果 累加器有溢出 , 则在相应方向输出进给一 步。本文 设计的积分器由时序发生器来进行控制 , 保证了整 个精插补运算的时序脉冲输出。积分器实际上是通 过 16 位加法器的累加来实现的 , 经过修正后的各轴 数据和余数寄存器中的数据通过加法器不断的进行 累加运算 , 累加结果再送入余数寄存器, 反复上述过 程直至积分运算结束。加法器是整个积分器的核心 模块 , 其实现 16 加法器的主要 VHDL 程序如下 :
的和等于 T i - T 0。 面积约等于 m 个长方形小面积之 和, 即 S =
m- 1 i
#X
i= 0
i
t=
t∃
取 # X。
i i= 0
t= 1 ,则 S =
2 1
脉冲发生器 根据 DDA 插补的实现原理, 一次插补运算将有
这样 , 可以采用两个寄存器和一个全加器构成 # X。
i= 0
四个节拍来完成 , 可设计 先后到达的四个脉冲来实 现该功能。 时序发生器的 第一个时钟脉冲控制数据 左移及修正模块; 第二个时钟脉冲控制积分器模块, 第三个时钟脉冲控制减 数计数器; 第四个时钟脉冲 控制输出进给脉冲信号 和采样时钟。 该脉冲发生器 的时钟周期将是输入时 钟周期的四倍, 设计出的插 补电路完成一次插补运算的周期也就是输入时钟的 四倍。 2 2 自动左移电路设计 寄存器中的数字量能在时钟信号的控制下实现
数控加工技术中的一种双圆弧新插补方法
数控加工技术中的一种双圆弧新插补方法双圆弧新插补方法是数控加工技术中的一种插补方法,它用于表示廊道、波浪形和圆滑弧线廊道上的轨迹。
相比传统插补方法,它具有准确性更高、运算速度快、抗噪声能力强等优势。
双圆弧新插补方法可以用来控制机械臂或工业机器人,从而实现高精度加工技术,同时也可以用于机械装配等工艺中。
双圆弧新插补方法以两个圆弧段相连接表示轨迹,并采用插补方程来描述。
自动插补技术是由编程器实现的,可以通过在系统内部使用特定的控制算法实现轨迹的插补。
插补器确定机器的运动路径,将运动路径解析为若干个基本断面,并根据设定好的插补参数计算出每个断面的运动时序及其对应的关节角度变化,以实现机器的精确控制。
在数控机床中,双圆弧新插补方法可以用来控制机械臂或工业机器人以实现高精度加工效果,这可以通过计算双圆弧新插补方法所需的参数空间来实现。
计算空间可以根据编程要求和加工要求来设计,从而使加工精度得到很大提高。
另外,双圆弧新插补方法可以用来完成机械装配工作,这使得元件之间的精确定位得以实现。
在双圆弧新插补方法中,还采用其他知识,如插补算法、空间理论、曲线拟合计算和角度解算等,以解决轨迹正确性和行走精度的问题。
其中,曲线拟合计算是把连续的曲线拆分为几个小的曲线段组成的过程。
它采用了插补算法来拟合曲线,以保证航迹的准确性。
角度解算是采用某种算法,把每一段曲线拆分为多个离散的点,以计算关节角度。
在混合模式下,双圆弧新插补方法可以把曲线拆分为多个断面,并根据已设定参数和精度,以及重点阶段路径调整,来计算出末端机构的关节角度变化。
总之,双圆弧新插补方法具有准确性更高、运算速度快,易于控制、作动准确性高和抗噪声能力强等优点。
它在数控领域具有重大意义,不仅可以用于机械装配,而且可以用于加工软材料。
因此,双圆弧新插补方法可以为机械加工提供更高的加工质量和精度。
数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧
数控机床DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧⽬录⼀、课程设计介绍1.1 任务说明 (3)1.2要求 (3)⼆、程序操作及算法流程图2.1 DDA法插补直线流程 (3)2.2逐点⽐较法插补逆时针圆弧流程 (4)三、⽤户使⽤说明3.1 程序开始运⾏时显⽰介⾯ (5)3.2 执⾏计算 (5)3.3 DDA法直线插补实例 (6)3.4 逐点⽐较法插补第⼆三象限逆时针圆弧 (7)四、主要算法及源程序4.1 程序设计概述 (8)4.2 主要算法的实现 (8)4.2.1 参数声明 (8)4.2.2复位操作 (9)4.2.3单步操作 (11)4.2.4 连续插补 (11)4.2.5 辅助操作 (13)五、本设计的特点 (13)六、课程设计的感想 (13)七、主要参考⽂献 (14)⼀、课程设计介绍1.1、任务说明:(1)直线插补:DL1, DDA 法第⼀象限直线插补。
(2)圆弧插补:PA23,逐点⽐较法⼆三象限顺圆弧插补。
1.2、要求:(1)具有数据输⼊界⾯,如:起点,终点,圆⼼,半径及插补步长。
(2)具有插补过程的动态显⽰功能,如:但单步插补,连续插补,插补步长可调。
本课程设计的题⽬要求是DDA数字积分法插补第⼀象限直线,逐点⽐较法插补⼆三象限顺圆弧。
由于本课设要求只为⼆三象限,故默认为劣弧插补。
此外,对于两种插补对象均可根据需要改变插补步长,以表现不同的插补效果。
在插补显⽰过程中,有两种插补显⽰⽅式,即⼿动单步插补和⾃动连续插补动态显⽰。
⼆、程序操作及算法流程图 2.1 DDA 法插补直线流程初始化sx sy ex ey 步长bc 寄存器vx1 vy1 累加器 rx1 ry1rx1=rx1+vx1 ry1=ry1+vy1ry1是否溢出rx1是否溢出是否到达终点结束 +x ⾛⼀个步长 +y ⾛⼀个步长NY NYNY开始DDA 插补第⼀象限的直线流程图2.2逐点⽐较法插补逆时针圆弧流程逐点⽐较法插补⼆三象限逆圆弧参数说明:sx 、sy 为起点坐标ex 、ey 为终点坐标开始初始化sx ex sy sy bc 弧半径平⽅rY21>=0r>=0r>=0向—y ⾛⼀步向x ⾛⼀步向—y ⾛⼀步向—x ⾛⼀步是否到达终点结束yyynnnn yn为进给总次数cx、cy为圆⼼坐标bc为步长m为寄存器位数s_1表⽰按下直线选项,s_2表⽰按下圆弧按钮三、⽤户使⽤说明——软件运⾏说明及结果显⽰3.1 程序开始运⾏时显⽰介⾯3.2 执⾏计算在右侧⾯板中有参数输⼊区,⽅式选择区以及执⾏按钮等操作。
DDA法插补改进
四、 改进DDA 插补质量的措施使用DDA 法插补时,其插补进给速度 v 不仅与系统的迭代频率 g f (即脉冲源频率)成正比,而且还与余数寄存器的容量 N 成反比,与直线段的长度 L(或圆弧半径R )成正比。
它们之间有下述关系成立:160gv f N δ= (2-12)式中 v ——插补进给速度;δ——系统脉冲当量;L ——直线段的长度; N ——寄存器的容量;g f ——迭代频率。
显然,即使编制同样大小的速度指令,但针对不同长度的直线段,其进给速度是变化的(假设g f 和N 为固定),必须设法加以改善。
常用的改善方法是左移规格化和进给速率编程(FRN )。
由上面DDA 圆弧插补例子可以看出,当插补第Ⅰ象限逆圆时, y 坐标率先到达。
这时若不强制y 方向停止迭代,将会出现超差,不能到达正确的终点。
为了改善这一情况,常用余数寄存器预置数的办法来解决。
以下就来讨论使DDA 法从原理走向实用必须解决的速度和精度控制问题。
1.进给速度的均匀化措施——左移规格化从上述可知,数字积分器溢出脉冲的频率与被积函数寄存器中的存数成正比。
如用DDA 作直线插补时,每个程序段的时间间隔是固定不变的,因为不论加工行程长短,都必须同样完成2n m =次的累加运算。
就是说行程长,走刀快;行程短,走刀慢。
所以各程序段的进给速度是不一致的。
这样影响了加工的表面质量,特别是行程短的程序段生产率低。
为了克服这一缺点,使溢出脉冲均匀,溢出速度提高,通常采用左移规格化处理。
所谓“左移规格化”处理,是当被积函数的值比较小时,如被积函数寄存器有 i 个前零时,若直接迭代,那么至少需要2i 次迭代,才能输出一个溢出脉冲,致使输出脉冲的速率下降。
因此在实际的数字积分器中,需把被积函数寄存器中的前零移去即对被积函数实现“左移规格化”处理。
经过左移规格化的数就成为规格化数——寄存器中的数其最高位为“1”时,该数即称为规格化数;反之最高位为“0”的数称为非规格化数。
基于时间分割法的DDA圆弧插补算法的改进
基于时间分割法的 DDA 圆弧插补算法的改进□张春良摘要 在研究扩展的时间分割法 DDA 圆弧插补二阶近似法的基础上 ,提出了一种改进的圆弧插补算法 。
经过改进后的时间分割法 DDA 圆弧插补算法的插补精度和插补速度均有提高 。
关键词 :数控系统 时间分割法 圆弧插补 DDA时间分割圆弧插补是用一组直线来逼近圆弧 ,即 算出每个插补周期的坐标位置增量值 。
扩展的时间分 割法 DDA 圆弧插补算法采用了巧妙而又简单的方法 , 使得用切线逼近圆弧的方法近似转化为弦线逼近法 ,提高了圆弧插补精度 1。
而在扩展的时间分割法 DDA 圆弧插补二阶近似法中 ,在计算三角函数时采用了近 似计算 ,这将使新的插补点偏离圆弧 ,产生径向误差 , 形成较大的积累误差 。
因而 ,有必要对该算法作进一 步改进 ,使其插补精度和插补运算速度能有所提高 。
一 、时间分割法 DDA 圆弧插补算法设要加工的圆弧为逆圆 弧 P 1 P n ,半径为 R , 圆心 O 为坐标原点 ,如图 1 所示 ,圆 弧插补动点 P i ( x i 、y i ) 可以 用角度参量解析式给出 。
设 要求的逆圆恒定进给速度为 F ,插补周期为 T ,则每次插k 2 x则 :Δx = x ( ) 5 i i Δy i = y (6)i因而二阶近似 :2插补准备 插补计算 :k = f R k = k 1 1 Δx i = - ky i - k ′x i Δy i = kx i - k ′y i2 2x i + 1 = x i + Δx i y i + 1 = y i + Δy i二 、DDA 圆弧插补算法的改进前述的目前常用的时间分割法 DDA 圆弧插补算法引入了近似计算 ,这将造成一定程度的误差 。
下面 对该算法进行改进 。
在 △O P P i + 1 中 (见图 1) :δPP i + 1f Π2f sin=O P = R = 2 R 2i + 1 补的进给步长 f = FT 。
第九讲DDA圆弧插补
采用弦线l逼近时,见左 图。半径为r的被逼近圆弧
最大半径误差er,其对应
的圆心角为δ
2
l
FT2
e
r 8r 8r
时间分割法直线插补
1)插补计算过程 (1)插补准备 主要是计算轮廓步长及其相应
的坐标增量。 (2)插补计算 实时计算出各插补周期中的插
补点(动点)坐标值。 (3)终点判别
插补步骤
A.+Y
B.-Y C.+X D.-X
4、在逐步比较圆弧插补中.若偏差函数等于零则刀具在:( ) A、圆内 B、圆外 C、圆上 D、圆心
5、逐点比较法是用 ( )来逼近曲线的。
A、 折线 B、直线 C、圆弧和直线
6、数控系统常用的两种插补功能是( ) A、直线插补和圆弧插补 B、直线插补和抛物线插补 C、圆弧插补和抛物线插补 D、螺旋线插补和抛物线插补
数字积分直线插补与圆弧插补的 区别
直线插补
X、Y 方向插补时分别对 Xe , Ye 累加;
X、Y 方向进给(发进给 脉冲) 后,被积函数寄 存器Jx、Jy内容 (Xe,Ye) 不变;
统计累加次数判别终点
圆弧插补
X、Y 方向插补时分别对Yi和Xi 累加;
X、Y 方向进给(发进给脉冲)
后,被积函数寄存器Jx、Jy内容
3、DDA法圆弧插补 X KYt Y KXt
特点:
1)各累加器初始值为零,各寄存器为起点坐标值;
2)X被寄函数积存器存Yi,Y被寄函数积存器存Xi,为动 点坐标;
3) Xi 、Yi在积分过程中,产生进给脉冲△X、△Y时, 要对相应坐标进行加1或减1的修改;
4) DDA圆弧插补的终点判别要有二个计数器,哪个坐 标终点到了, 哪个坐标停止积分迭代;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其中提出了一个基于传统DDA圆弧插补算法的改进算法,并通过比较证明了该算法相对于弦线插补算法的优越性。实践表明DDA圆弧插补改进算法精简了计算步骤,提高了计算速度。
2DDA圆弧插补改进算法及其实现传统DDA圆弧插补计算过程简单,但是用切线逼近圆弧造成误差。该改进算法使用割线逼近圆弧,可以降低径向误差。改进算法的思想如图3所示,下面以顺圆为例说明。
IK坐标系原点A即切割枪位置,随着切割枪而移动,圆心C相对于原点A的坐标值为(K,I)。第i次迭代之后,切割枪按照插补命令移动到A i点,这时圆心C的坐标为(K i,I i)。
1传统DDA圆弧插补算法在用户编制的零件程序中,对于圆弧插补的程序段,提供了圆弧在XZ平面中的起点、终点以及圆心相对于起点的偏移量I 0、K 0值。现以第一象限的顺圆为例,说明传统DDA圆弧插补算法的实现。
在机床XZ坐标系中,设圆弧起点为A,圆心为C,坐标轴原点平移A点后构成IK坐标系。IK坐标系原点A即切割枪位置,随着切割枪而移动,圆心C相对于原点A的坐标值为(K,I)。第i次迭代之后,切割枪按照插补命令移动到A i点,这时圆心C的坐标为(K i,I i)。在第i+1次迭代中,切割枪将沿着切线A i C′方向移动,于是将按斜率为-K i/I i的切线进行插补迭代一步,切割枪移动到A i+1点。此时圆心C相对于A i+1,的坐标为(I i+1,K i+1)。
式(1)X和Z轴的进给步长可以根据编程速度按斜率为-K i/I i;的直线A i C′计算如下:△X i+1=v(3)因此,第一象限顺圆的传统DDA圆弧插补迭代公式如下式(4)I i=I i-1-△X i K i=K i-1-△Z i)式(5)X i=X i-1-△X i Z i=Z i-1-△Z i)式(6)上述公式中第一个公式用来计算第I次插补周期中坐标轴的进给步长,第二个公式用来修正圆心相对于切割枪位置的现时坐标,第三个公式用来计算切割枪应该达到的命令位置。图2中轨迹是根据传统DDA圆弧插补算法形成的轨迹曲线,包括8个插补点。由切线逼近圆弧的插补算法本身的误差所引起的径向误差较大。
数控体系中算法的实现
时间:2011-10-8 13:56:49 来源:中国数控机床网 添加人:admin
在数控系统中,插补算法是生成加工轨迹的一个最基本的子程序,在很大程度上决定了数控机床的加工精度和最大进给速度。传统DDA圆弧插补计算过程简单,但是用切线逼近圆弧造成误差。本文提出了一种新的圆弧DDA插补算法,该改进算法使用割线逼近圆弧,可以降低径向误差,插补精度较高,误差分析结果表明DDA圆弧插补改进算法具明显的优势,可以有效提高计算精度和计算效率。
设圆弧插补起点为P o(Z o,X o),终点为P e(Z e,X e),圆心相对于圆弧起点的偏差为K 0和I 0,圆心相对于圆弧终点的偏差为K e和I e,圆弧半径为R,进给速度为v,插补周期为T,则改进圆弧插补算法为(1)计算辅助圆半径R 1和R 2 R 1=R2)计算插补圆弧起点和终点处的切线斜率在起点处:k 0=-k 0/I 0式(19)在终点处:k e=-k e/I e式(20)(3)计算插补圆弧起点和终点的切线与外侧辅助圆的交点A 1和A n的坐标A 1的坐标:Z 1=R 1 2-R 2K 0/R+Z 0 X 1=-R 1 2-R I 0/R+X 0
式(22)(4)计算第一步进给量△Z 1=Z 1-Z 0式(23)△X 1=X 1-X 0式(24)(5)修正圆心坐标K 1=K i-1-Z i I 1=I i-1-X i(式(25)(6)计算算辅助插补步长L=vTR 1 2R 2式(26)(7 i)(8)计算进给量△Z i=Z i-Z i-1式(27)△X i=X i-X i-1式(28)(9)判别是否到达终点A n,若是,转项(10),否则i加1后转项(5)(10)结束轨迹是改进后的DDA圆弧插补算法形成的轨迹曲线,对比可知改进后的DDA圆弧插补算法的径向误差比原算法小。
在第i+l次迭代中,切割枪将移动到A i+1点。A i A i+1是辅助圆A i DA i+1的割线和辅助圆EBF的切线,R 1、R 2分别是辅助圆A i DA i+1和EBF的半径。
R是插补圆弧的半径,因为内外均差割线可以降低径向误差,所以由DDA圆弧插补原理可得G点坐标(Z g,X g)Z x=Z i+A i G因为G、B、C在一条直线上,C点在ZX坐标系下坐标为(Z c,X c},所以B点坐标(Z b,X b)为Z b=Z c+Z g式(15)因为B为A i A i+1的中点,所以A i+1的坐标(Z i+1,X i+1)为Z i+1=2Z b-Z i X i+1=2b-X i)式(16)如图4所示在插补的开始和结束位置,根据DDA插补原理,使用插补圆弧的切线连接插补圆弧和逼近圆弧的割线。
3DDA圆弧插补改进算法误差分析以下的误差分析主要针对DDA圆弧插补改进算法的径向误差与弦线逼近圆弧的弦线误差进行比较。在相同的步长δ和相同的圆弧半径R条件下,e r1为弦线逼近圆弧的弦线误差,e r2为DDA圆弧插补改进算法的径向误差。如所示,在弦线逼近圆弧时e r1的计算公式为e r1=R(1-δ2 4R 2)式(29)如所示,在DDA圆弧插补改进算法中的计算公式为e r2=Rδ2 8R 2式(30)令△e r=e r1-e r2 R=1-1-δ2 4R 2 "-δ2 8R 2式(31)K=δR式(32)则△e r=1-1-k 2 4-k 2 8式(33)函数图像如所示。当0<k≤2时,△e r>0,即DDA圆弧插补改进算法的径向误差小于弦线逼近圆弧的弦线误差。而且在k>1时,即切割小半径圆弧时前者有明显的优势。另外在DDA圆弧插补改进算法中不包含超越函数,可以有效提高计算精度和计算效率。