数控机床DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧
数字积分圆弧第一二三四象限顺逆插补计算
数控技术课程设计说明书设计题目:数字积分法圆弧插补计软件设计指导老师:专业:机械设计制造及其自动化班级:机姓名:学号:目录一、课程设计题目 (1)二、课程设计的目的 (1)三、课程设计使用的主要仪器设备 (1)四、课程设计的任务题目描述和要求 (1)五、数字积分法插补原理 (2)5.1从几何角度来看积分运算 (2)5.2数字积分圆弧插补 (3)5.3数字积分法圆弧插补程序流程图 (5)5.4插补实例 (6)六、程序清单 (7)七、软件运行效果仿真 (18)八、课程小节 (21)九、参考文献 (22)一、课程设计题目数字积分法第一、二、三、四象限顺、逆圆插补计算二、课程设计的目的《数控原理与系统》是自动化(数控)专业的一门主要专业课程,安排课程设计的目的是通过课程设计方式使学生进一步掌握和消化数控原理基本内容,了解数控系统的组成,掌握系统控制原理和方法,通过设计与调试,掌握各种功能实的现方法,为今后从事数控领域的工作打下扎实的基础。
1)了解连续轨迹控制数控系统的组成原理。
2) 掌握数字积分法(DDA)插补的基本原理。
3)掌握数字积分法(DDA)插补的软件实现方法。
三、课程设计使用的主要仪器设备1、PC计算机一台2、数控机床实验装置一台3、支持软件若干(选用VB环境)四、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential Analyzer)。
数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。
其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。
由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。
本次课程设计具体要求如下:(1)掌握数字积分插补法基本原理(2)设计出数字积分(DDA)插补法插补软件流程图(3)编写出算法程序清单算法描述(数字积分法算法在VB中的具体实现)(4)要求软件能够实现第一、二、三、四象限顺、逆圆插补计算(5)软件运行仿真效果插补结果要求能够以图形模式进行输出五、数字积分法插补原理数字积分法又称数字积分分析法DDA(Digital differential Analyzer),简称积分器,是在数字积分器的基础上建立起来的一种插补算法。
数控中DDA插补的原理详解
xe
=
vx
对于直线函数来说, VX和Vy是常数,则下式 成立
vx v y = =k xe ye
k-比例系数
在△t 时间内,X、Y位移增量的参数方程为
∆x = v x ⋅ ∆t = k ⋅ xe ⋅ ∆t ∆y = v y ⋅ ∆t = k ⋅ ye ⋅ ∆t
位移量为
x = ∫ k xe dt = ∑ k xe ∆t
4、直线插补
加工线段OA, 是两个坐标轴方向的分速度, 加工线段OA,VX和VY是两个坐标轴方向的分速度, OA 方向微小增量为△ 设X、Y方向微小增量为△X、△Y 则 △ X = V X. △ t △ Y = V y. △ t 而 X e= V X. t 1 Y e= V y. t 2 ye v y t 2 所以 = xe v x t1 因为t 同时到达) 因为t 1= t 2 (同时到达) 所以 ye v y
§8.3
1、基本概念
数字积分法
采用积分运算实现插补,又称DDA法。 DDA(Digital Differential Analyzer)
2、优点
易于实现多维插补和原有系统多个坐标轴 联动的扩充,尤其多坐标联动的数控系统
3、数字积分器的工作原理
函数 x=f(t), 曲线下面0 曲线下面0到t 的面积
∑
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 项时,则表示溢出脉冲。
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且随着溢出脉冲而不断变化
逐点比较法第一象限直线圆弧插补
逐点比较法第一象限直线,圆弧插补编程逐点比较法是以折线来逼近给定的轨迹,就是每走一步控制系统都要将加工点与给定的图形轨迹相比较,以决定下一步进给的方向,使之逼近加工轨迹。
逐点比较法以折线来逼近直线或圆弧,其最大的偏差不超过一个最小设定单位。
只要将脉冲当量取得足够小,就可以达到精度要求。
逐点比较插补法在脉冲当量为0.01mm,系统进给速度小于3000mm/min时,能很好的满足要求。
一、逐点比较法直线插补如下图所示设直线 oA 为第一象限的直线,起点为坐标原点o (0 , 0) ,终点坐标为, A( ) , P() 为加工点。
若 P 点正好处在直线 oA 上,由相似三角形关系则有即点在直线 oA 上方 ( 严格为直线 oA 与 y 轴正向所包围的区域 ) ,则有即若 P 点在直线 oA 下方 ( 严格为直线 oA 与 x 轴正向所包围的区域 ) ,则有图 3 — 1 逐点比较法第一象限直线插补即令则有:①如,则点 P 在直线 oA 上,既可向 +x 方向进给一步,也可向 +y 方向进给一步;②如,则点 P 在直线 oA 上方,应向 +x 方向进给一步,以逼近oA 直线;③如,则点 P 在直线 oA 下方,应向 +y 方向进给一步,以逼近 oA 直线一般将及视为一类情况,即时,都向 +x 方向进给一步。
当两方向所走的步数与终点坐标相等时,停止插补。
这即逐点比较法直线插补的原理。
对第一象限直线 oA 从起点 ( 即坐标原点 ) 出发,当 F 时, +x 向走一步;当 F<0 时,y 向走一步。
特点:每一步都需计算偏差,这样的计算比较麻烦。
递推的方法计算偏差:每走一步后新的加工点的偏差用前一点的加工偏差递推出来。
采用递推方法,必须知道开始加工点的偏差,而开始加工点正是直线的起点,故。
下面推导其递推公式。
设在加工点 P( ) 处,,则应沿 +x 方向进给一步,此时新加工点的坐标值为新加工点的偏差为即若在加工点 P( ) 处,,则应沿 +y 方向进给一步,此时新加工点的坐标值为,新加工点的偏差为即综上所述,逐点比较法直线插补每走一步都要完成四个步骤 ( 节拍 ) ,即:(1) 位置判别根据偏差值大于零、等于零、小于零确定当前加工点的位置。
数字积分圆弧第一二三四象限顺逆插补计算
数控技术课程设计说明书设计题目:数字积分法圆弧插补计软件设计指导老师:专业:机械设计制造及其自动化班级:机姓名:学号:目录一、课程设计题目 (1)二、课程设计的目的 (1)三、课程设计使用的主要仪器设备 (1)四、课程设计的任务题目描述和要求 (1)五、数字积分法插补原理 (2)5.1从几何角度来看积分运算 (2)5.2数字积分圆弧插补 (3)5.3数字积分法圆弧插补程序流程图 (5)5.4插补实例 (6)六、程序清单 (7)七、软件运行效果仿真 (18)八、课程小节 (21)九、参考文献 (22)一、课程设计题目数字积分法第一、二、三、四象限顺、逆圆插补计算二、课程设计的目的《数控原理与系统》是自动化(数控)专业的一门主要专业课程,安排课程设计的目的是通过课程设计方式使学生进一步掌握和消化数控原理基本内容,了解数控系统的组成,掌握系统控制原理和方法,通过设计与调试,掌握各种功能实的现方法,为今后从事数控领域的工作打下扎实的基础。
1)了解连续轨迹控制数控系统的组成原理。
2) 掌握数字积分法(DDA)插补的基本原理。
3)掌握数字积分法(DDA)插补的软件实现方法。
三、课程设计使用的主要仪器设备1、PC计算机一台2、数控机床实验装置一台3、支持软件若干(选用VB环境)四、课程设计的任务题目描述和要求数字积分法又称数字微分分析法DDA(Digital Differential Analyzer)。
数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。
其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。
由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。
本次课程设计具体要求如下:(1)掌握数字积分插补法基本原理(2)设计出数字积分(DDA)插补法插补软件流程图(3)编写出算法程序清单算法描述(数字积分法算法在VB中的具体实现)(4)要求软件能够实现第一、二、三、四象限顺、逆圆插补计算(5)软件运行仿真效果插补结果要求能够以图形模式进行输出五、数字积分法插补原理数字积分法又称数字积分分析法DDA(Digital differential Analyzer),简称积分器,是在数字积分器的基础上建立起来的一种插补算法。
数控机床逐点比较法圆弧插补
3数控机床逐点比较法圆弧插补:与直线初步相似,圆弧插补加工是将加工点到圆心距离与被加工圆弧的名 义半径相比较,并根据偏差大小确定坐标进给方向,以 逼近被加工圆弧。
下面 以 第一象限逆圆弧为例,讨论圆弧的插补方法。
如图8-4所示,设要加工圆弧为第一象限逆圆弧 AB ,原点为圆心0,起点 y o ),终点为B (X e , y e )半径R ,瞬时加工点为P (X i ,y i ),点P 到圆<0 -<0‘—开始—若点P 正好在圆弧上,则有2 2 2 2X i +y j =R p =R即X i 2+y j 2-R 2=0若点P 在圆弧外则,则有2 2 2 2X i +y j =R p >R即X i 2+y j 2-R 2 > 0若点 P 在圆弧内则,则有2 2 2 2x i +y j =R p <R心距离为Rp------ X >0]+△*为 A (xo , <0* <7 F>0 ?*+X 走 一步 |] -y 走一y f1 FT -Ye ||FJF -Xe图8-2第一象限一象限直线插补轨迹图图8-3第一象限直线插补程序框图图初始化Xe , Ye ,JJ J J-1J =0 ?结束即x i2+y j2-R2 < 0显然,若令F i,j = x i2+y j2-R2( 8-4) 图8-4 逆圆弧插补则有:(1)F i,j= F i,j=0,则点P在圆弧上( 2 )F i,j >0 则点P 在圆弧外则( 3 )F i,j<0 则点P 在圆弧不则常将8-4称为圆弧插补偏差判别式。
当F i,j>时,为逼近圆弧,应向-x方向进给一步;当F i,j<0时,应向+y方向走一步。
这样就可以获得逼近圆弧的折线图。
与直线插补偏差计算相似,圆弧插补的偏差的计算也采用递推的方法以简化计算。
若加工点P (X i, y i)在圆弧外或者圆弧上,则有:F i,j=x i2+y j2-R2> 0为逼近该圆沿-X方向进给一步,移动到新加工点P( X i=1,y i),此时新加工点的坐标值为x i+1=x i-1 ,y i=y i新加工点的偏差为:F i+1,j= (x i-1) 2+y i2-R2=x i2-2x i+1+ y i2-R22 2 2= x i + y i -R +1F i+I,j= F i,j-2x i+1(8-5)若加工P (X i, y i)在圆弧内,则有F i,j=x i2+y j2-R2<0若逼近该圆需沿+y方向进给一步,移到新加工点P (X i, y i),此时新加工点的坐标值图8-5第一象限圆弧插补程序框图为新加工点的偏为:F i,j+i =X i2+(y i+1)2-R2=X i2+ y i2+1 -R22 2 2=X i + y i -R +1+2y iF i,j+i = F i,j -2y i+1 (8-6)从(8-5)和式(8-6)两式可知,递推偏差计算仅为加法(或者减法)运算,大大降低了计算的复杂程度。
菜鸟学四轴控制器之3:数字积分法DDA实现直线插补
菜鸟学四轴控制器之3:数字积分法DDA实现直线插补上⼀篇的逐点⽐较法显然是⽆法画⼀条有倾⾓的直线的。
因为X轴和Y轴永远都不同步,也就是像打台球⼀样,你打⼀个,我打⼀个,如果我进了球,我再接着打⼀个。
也就是说,如果直线为45度,也是没有办法画出来的,只能是锯齿形状。
如何实现X和Y同时动?也就是说,如果要画⼀条45度的线,X和Y同时动不就⾏了么?⽐如起点为0,0,终点为5,5,如果采⽤逐点⽐较法,则需要运动10次,如果两轴同时运动,则5步就可以实现了。
实现的途径如下:初始值为0,0,然后下⼀步,我们每个坐标增加5,则结果为5,5,这样会溢出,也就是说,溢出来出发运动⼀步。
溢出以后清零,下⼀步再加5,⼜溢出,继续同时运动⼀步。
⼀共5步就可以实现了。
等等,当然可以设置寄存器的溢出值为5,这样的寄存器使⽤3位就⾏了,但是如果要移动到(3,7)的坐标呢?显然,我们⽤的寄存器则可以选⽤溢出值为7.这样的话,我们要⽤的寄存器其实需要3个,⼀个是存(3,7)的初始值,⼀个存7这个阀值,⼀个则是累加器。
我们可以直接省掉⼀个阀值的寄存器。
也就是说,直接⽤3位的寄存器,阀值为8.步数X累加X余数X是否溢出Y累加Y余数Y是否溢出000000013007002600146139111351440012415700113161021102175009118801801也就是说,当X轴和Y轴同时溢出的时候,X和Y轴是在同步运动的。
问题来了,⽐如我们要运动从(0,0)运动到(2554,47)这个点,实际需要多少步?也就是说,只要能装的下2554这个的寄存器位数就可以了,也就是说,⽤4096来作为累加器。
移动的速度则是4096*脉冲当量的周期。
实际上,这个时间⽐2554+47慢了很多了。
但是这样做的好处显⽽易见,我们不是每⼀个图形,都是锯齿形了。
我们可以轻松的实现直接的实际⼑路如上⾯的图形从⽽实现了多座标联动,多坐标曲线插补,在轮廓控制⽅⾯得到了⼴泛的应⽤。
2--插补象限、圆弧走向处理以及逐点比较法合成进给速度
于是,X轴方向和Y轴方向的进给速度为
vx 60 f X
v
y
60
fY
刀具的合成进给速度为
v vx2 vy2 60 f X 2 fY 2
当刀具沿着平行于坐标轴的方向进行切削时,其进给速度最大,该速度 称为脉冲源进给速度。
vMF 60 fMF 60 ( f X fY ) vx vy
② |Y|=|Y|-1
② |X|=|X|-1 ② |Y|=|Y|+ 1
② |X|=|X|+1
Y SR3、NR4
N +Y -Y
Y SR2、NR3
N
+X
-X
Y SR2、NR1
N +Y -Y
Y SR1、NR4
N
+X
-X
∑= ∑-1
∑= 0
N
Y
结束
(三)圆弧过象限 直线只可能处于一个象限中,因此不存在过象限问题。但是圆弧有可能 跨越几个象限,这时需要在两象限的交接处做相应的处理,此即圆弧过象限 问题。 当圆弧过象限时,具有如下特点: ① 在过象限前后,动点坐标的符号会发生改变; ② 在过象限后,圆弧的走向不变。 逆圆弧过象限的顺序为:NR1 → NR2 → NR3 → NR4 → NR1 →• • • 顺圆弧过象限的顺序为:SR1 → SR4 → SR3 → SR2 → SR1 →• • • ③ 过象限圆弧与坐标轴必有交点,当动点处在坐标轴上时必有一个坐 标值为零。此点可以作为过象限的标志。 ④ 终点判别不能简单地直接使用前述的三种方法,否则将丢失一部分 圆弧轮廓。
Y (0,5)
(3,4) (4,3)
X (5,0)
第一象限顺圆弧的插补问题可转换为第一象限逆圆弧的插补问题,转换方 法如下。
数控机床插补原理
终点判别
∑=6+4=10 ∑=10-1=9 ∑=9-1=8 ∑=8-1=7 ∑=7-1=6 ∑=6-1=5 ∑=5-1=4 ∑=4-1=3 ∑=3-1=2 ∑=2-1=1 ∑=1-1=0
3.3逐点比较法第一象限圆弧插补 3.3.1偏差判断
我们以任意加工点Pi(Xi,Yi)与圆弧圆心的距 离同圆弧半径相比较来进行判断。即: Fi=Xi2+Yi2-R2 作为偏差函数
O
5 6
34
12
10 E 89 7
X
步数
0 1 2 3 4 5 6 7 8 9 10
偏差判别
F0=0 F1<0 F2>0 F3<0 F4>0 F5=0 F6<0 F7>0 F8<0 F9>0
坐标进给
+X +Y +X +Y +X +X +Y +X +Y +X
偏差计算
F0=0 F1=F0-ye=0-4=-4 F2=F1+xe=-4+6=2 F3=F2-ye=2-4=-2 F4=F3+xe=-2+6=4 F5=F4-ye=4-4=0 F6=F5-ye=0-4=-4 F7=F6+xe=-4+6=2 F8=F7-ye=2-4=-2 F9=F8+xe=-2+6=4 F10=F9-ye=4-4=0
3、逐点比较法
3.1逐点比较法的基本原理
计算机在刀具按要求轨迹运动加工零件轮廓的过程中,逐点的计算和判别
刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进
给方向,使刀具沿着坐标轴向减少偏差的方向进给,且只有一个方向的进
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
数控插补
(b)
③ 插补计算过程
偏差判断 坐标进给
偏差计算 终点判别
2.逐点比较法圆弧插补
(1)圆弧插补计算原理
① 偏差计算公式
定义圆弧偏差判别式如下:
Fm=Rm2R2= xm2+ym2R2
新加工点m+1点的偏差为
Fm43;1
插补计算过程
逐点比较法插补原理:
逐点比较法又称代数运算法、醉步法。基 本原理是:计算机在控制加工过程中,能逐点地 计算和判别加工误差,与规定的运动轨迹进行比 较,由比较结果决定下一步的移动方向。既可以 做直线插补,又可以做圆弧插补。这种算法的特 点是:运算直观,插补误差小于一个脉冲当量, 输出脉冲均匀,而且输出脉冲的速度变化小,调 节方便,因此,在两坐标联动的数控机床中应用 较为广泛。
数控机床的工作原理
数控系统的主要任务之一就是控制执行机 构按预定的轨迹运动。一般情况是已知运动轨迹 的起点坐标、终点坐标和曲线方程,由数控系统 实时地算出各个中间点的坐标。即需要“插入、 补上”运动轨迹各个中间点的坐标,通常这个过 程就称为“插补”。 常用插补方法:逐点比较法、数字积分法、 数字脉冲乘法器插补法。
1.逐点比较法直线插补
(1)直线插补计算原理
偏差计算公式
定义直线插补的偏差判别式如下:
E(xe,ye)
0=yxexye Fm=ymxexmye
Y
M(xm,ym)
N(xn,yn)
O
X
沿着+X方向走一步,即: Xi+1=Xi+1,Fi+1,j=YjXe-(Xi+1)Ye=Fi,j-Ye
(a) 图2.1 直线插补和圆弧插补 a 直线插补 b 圆弧插补
DDA法汇编语言第一象限直线插补
DDA法汇编语言第一象限直线插补DDA法第一象限直线插补程序流程图DDA法汇编语言第一象限直线插补程序流程图如图3-1所示。
本程序中直线的终点坐标由C语言程序输入,屏幕的图形显示方式设置由C语言实现,插补计算部分由汇编语言函数实现。
#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int xe,ye,jvx,jvy,jrx,jry,xi,yi,jsh;/* xe、ye为直线终点坐标,jvx、jvy为被积函数,jrx、jry为余数寄存器,xi、yi为动点坐标,jsh为计数长度 */void zxcb(); //声明直线插补函数void main() //主函数{ int gd=DETECT,gm; //显示模式again: clrscr(); //清屏printf("L1: Please input xe,ye:"); //提示输入第一象限直线scanf("%d,%d",&xe,&ye); //等待输入if(xe<0||ye<0){ printf("input error,enter any continue.");getch();goto again;} //输入有错误时重新输入xi=320;yi=240; //动点置屏幕中间initgraph(&gd,&gm,""); //图形显示方式jsh=0;jrx=0;jry=0;jvx=xe;jvy=ye;/*计数长jsh度清0,余数寄存器jrx、jry清0,终点坐标xe、ye送入被积函数jvx、jvy*/ zxcb(); //调用插补函数gotoxy(10,24);printf("L1:xe=%d,ye=%d",xe,ye); //在24行10列显示终点坐标gotoxy(10,25);printf("press any key:"); //在25行10列显示按任意键getch(); //等待按键restorecrtmode(); //返回文本方式}void zxcb() //直线插补函数{ int jgs;asm mov cx, xi //显示起点asm mov dx, yiasm mov ah, 0chasm mov al, 2asm int 10hagain: asm mov word ptr jgs, 0 //进给标志清0asm mov ax, jvx //X方向积分asm add jrx, axasm jnc next1 //无进位下转asm mov word ptr jgs, 1 //置X进给标志next1: asm mov ax, jvy //Y方向积分asm add jry, axasm jnc next2 //无进位下转asm add word ptr jgs, 2 //置Y进给标志next2: asm mov cx, xi //显示动点asm cmp word ptr jgs, 3 //X、Y同时进给?asm jnz next3 //否。
第三章插补原理及控制方法
及
控
终点判别
N
终点?
制
方
法
结束
25
二、逐点比较法圆弧插补---其它象限
y
F>0
y
F>0
第
F<0
F<0
三 章
o
x
o
x
插
补
原
理
逆圆
顺圆
及 控
各象限插补进给方向, 各象限插补进给方向,远
制
远离原点坐标值加一接 离原点坐标值加一,接近
方
近原点坐标值减一。
原点坐标值减一。
法
26
作业
试推导逐点比较法第一象限顺圆弧 第 插补的递推公式,并画出程序流程图。
逐点比较插补计算法(简称逐点比较法)
第
三 章
数字积分插补计算法(简称数字积分法)
插 时间分割插补计算法(简称时间分割法)
补
原
理 及
样条插补计算方法等。
控
制
方
法
2
3-1 逐点比较法插补
逐点比较插补计算法(简称逐点比
第 较法)又称区域判别法。
三
章
其原理是:计算机在控制加工轨迹过
插 程中逐点计算和判断加工偏差以控制坐
章
当M点在直线上时, + Δ X
y
插 补
(αi= α)
原
M (x i y j )
A
理
及 控
tg αi= tg α
制
方 法
αi
oα
x
6
其中 tg αi= y j / xi
tgα= y e / x e
tg αi -tgα= y j / xi - y e / x e
数控系统插补原理2
n
取单位时间 Δ t=1,则公式化为
X KX e i 1 n y Kye i 1
n
(3)
累加多少次,才能达到加工终点呢?K=?
设经过m 次累加后,达到终点,由(3)式知,
m次累加后
于是,必须使
X = m • K • Xe = Xe Y = m • K • Ye = Ye m • k=1,或 m=1/k
n
(4)
由此构成如图所示的插补原理框图 X轴被积函数寄存器
+ Δt
插补迭代 控制脉冲
X积分累加器
Y积分累加器 + Y轴被积函数寄存器
ΔX ΔY
在x、y方向的微小位移增量为ΔX 、ΔY则:
– 数字积分法直线插补
设在XY平面上有一直线OA,直线的起点在原 点,终点A的坐标为(Xe,Ye),现要对直线OA 进行插补。
X vx t
Y v y t
vx X e v L
L
X e 2 Ye 2
vy
Ye v L
v vx X e L
n 1
S Yi
i 0
n 1
一、DDA直线插补
设对直线OA进行脉冲分配
起点O(0,0),终点E(xe,ye)
y
A(xe,ye)
V Vy Vx
直线方程
对t求导 即
y/x=ye/xe
dv / dt ye dx / dt xe
0
x
Vy/Vx=Ye/Xe 令动点P,在x、y轴方向的速度分别是Vx、Vy,
Vx ห้องสมุดไป่ตู้ Ky
Vy = -Kx
A 0
x
由此设出第I象限顺圆坐标轴方向的速度分量为
数控技术-第3讲-插补原理
xi2 y 2 j
2 2 x0 y0
F>0
2 2 圆弧外 xi2 y 2 x y j 0 0
圆弧内
xi2 y 2 j
2 2 x0 y0
o
F<0
P(x0,y0)
x
0点在圆弧上 2 2 偏差判别函数 Fij ( xi2 x0 ) ( y2 y j 0 ) 0点在圆弧外 0点在圆弧内
44
6.数字积分法
数字积分器具有运算速度快、脉冲分配 均匀、易于实现多坐标联动,进行空间直线 插补及描给平面各种函数曲线的特点。其缺 点是速度调节不便,插补精度需要采取一定
措施才能满足要求。
ห้องสมุดไป่ตู้
45
6.数字积分法
函数 y = f (t) ,从时刻 t=0 到 t 求函数 y = f (t) 积 分可用如下积分公式计算:
35
5.插逐点比较法
1)逐点比较法直线插补的象限处理:
A2 (Xe ,Ye )
Y
F 0
F 0
A1 ( X e , Y e )
F 0
F 0
F 0
F 0 F 0
F 0
F 0
O
F 0
F 0
X
F 0
F 0 F 0
F 0 F 0
A3 ( X e ,Ye )
A4 ( X e ,Ye )
插补(Interpolation):数控装置依据 编程时的有限数据,按照一定计算方 法,用基本线型(直线、圆弧等)拟合出 所需要轮廓轨迹。边计算边根据计算 结果向各坐标发出进给指令。
机床导轨是互相垂直的,并且单个导轨只能走直 线,因此,加工平面斜线、曲线时就需要两个导轨 按照一定的一一对应关系协调进给;若要求加工曲 面时就需要三个或三个以上导轨协调进给。
数控技术数控机床的插补原理直线插补与圆弧插补计算原理
(三)、插补方法的种类与特点
插补器: 插补是数控系统必备功能, NC中由硬件完成,
CNC中由软件实现,两者原理相同。
硬件 通过硬件逻辑电路 插补速度快 插补器 来实现插补
软件 利用CNC系统的微 插补器 处理器执行相应的
插补程序来实现
结构简单、灵活易变、可
靠性好,大部分CNC系统 采用了软件插补方式
偏差判别函数:Fm = ymxe-xmye
(五)逐点比较法直线插补
2. 算法分析(第Ⅰ象限)
终点比较:
判别是否到达终点,若到达终点就结束该插 补运算;如未到达再重复上述的循环步骤。
方法一 方法二
用Xe+Ye作为计数器,每走一步对计 数器进行减 1计算,直到计数器为零 时,便到达终点。
用通常根据刀具沿X、Y两轴所走的 总步数m来判断直线是否加工完毕, 总步数为:N=|xA|+|yA|
部分高档CNC:软件插补实现粗插补,硬件插补实现精插补
(三)、插补方法的种类与特点
插补分类:(插补采用的原理和计算方法)
基准脉冲插补:(又称为行程标量插补或脉冲增量插补) 每次插补结束,向每个运动坐标输出基准脉冲序列。 脉冲序列的频率代表了运动速度,而脉冲的数量表示 移动量。
①逐点比较法;②数字积分法;③数字脉冲乘法器插补法;④矢 量判别法;⑤比较积分法;⑥最小偏差法;⑦目标点跟踪法;⑧ 单步追踪法;⑨直接函数法。
Fm Fm
(五)逐点比较法直线插补
2. 算法分析(第Ⅰ象限)
新偏差计算:
每走一步到达新的坐标点,按偏差公 式计算新的偏差
+△x进给 +△y进给
xm+1 = xm+1, ym+1 =ym Fm+1=ym+1xe-xm+1ye=ymxe-(xm+1)ye=Fm-ye
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 执行计算
在右侧面板中有参数输入区,方式选择区以及执行按钮等操作。
若输入参数和符合要求则出现错误对话框;“参数有误”
若不选择插补对象为‘直线’或‘圆弧’直接按下‘复位’按钮会出现警示对话框提示“请选择插补对象”
注:在直线插补中,对起始点坐标和终点坐标不作要求,但步长必须不能为0;在圆弧插补中,起始点坐标必须为二三象限的点,且终止点必须在起始点下侧,这事保证圆弧为劣弧的条件之一。步长在任何情况下不能为0 。
4.2 主要算法的实现
4.2.1参数声明
起点坐标(sx,sy);终点坐标(ex,ey);
圆心坐标(cx,cy);步长bc;
4.2.2复位操作程序:
functionfw_Callback(hObject, eventdata, handles)
globalsx sy ex ey cx cy bc m vx1 vy1 rx1 ry1
3.2 执行计算……………………………………………………………5
3.3DDA法直线插补实例………………………………………………6
3.4逐点比较法插补第二三象限逆时针圆弧…………………………7
四、主要算法及源程序
4.1 程序设计概述………………………………………………………8
set(gca,'YTick',[-10:1:10]);
axis([-10 10 -10 10]);
axismanual;
ifs_1==0&&s_2==0
warndlg('请选择插补对象');
else
ifget(handles.zx,'value')
m=str2double(get(handles.m,'String'));
vx1=ex-sx;
vy1=ey-sy;
rx1=0;
ry1=0;
x1=[sx ex];
y1=[sy ey];
holdoff;图像清除
plot(x1,y1,'k');
set(gca,'XTick',[0:1:10]);
set(gca,'YTick',[0:1:10]);
axis([0 10 0 10]);
axismanual;
axison;
gridon;
holdon;
else
if((sx-cx)^2+(sy-cy)^2)~=((ex-cx)^2+(ey-cy)^2)
s_1=get (handles.zx,'value');
s_2=get (handles.yh,'value');
cx=str2double(get(handles.cx,'String'));
cy=str2double(get(handles.cy,'String'));
sx=str2double(get(handles.sx,'String'));
(2)圆弧插补:PA23,逐点比较法二三象限顺圆弧插补。
1.2、要求:(1)具有数据输入界面,如:起点,终点,圆心,半径及插补步长。
(2)具有插补过程的动态显示功能,如:但单步插补,连续插补,插补步长可调。
本课程设计的题目要求是DDA数字积分法插补第一象限直线,逐点比较法插补二三象限顺圆弧。由于本课设要求只为二三象限,故默认为劣弧插补。此外,对于两种插补对象均可根据需要改变插补步长,以表现不同的插补效果。在插补显示过程中,有两种插补显示方式,即手动单步插补和自动连续插补动态显示。
3.3DDA法直线插补实例
单步直线插补:
连续直线插补:
左移一位:
半加载:
全加载:
不加载:
单步圆弧插补:
连续圆弧插补:
四、程序设计及主要算法实现
4.1 程序设计概述:
首先从编辑文本框中获取输入的数据,包括起点终点坐标,圆心位置,步长,寄存器位数等需要输入的值。然后通过面板选择插补对象,插补方式,执行操作。
4.2.5 辅助操作………………………………………………………………13
五、本设计的特点……………………………………………………13
六、课程设计的感想…………………………………………………13
七、主要参考文献……………………………………………………14
一、课程设计介绍
1.1、任务说明:(1)直线插补:DL1,DDA法第一象限直线插补。
sy=str2double(get(handles.sy,'String'));
ex=str2double(get(handles.ex,'String'));
ey=str2double(get(handles.ey,'String'));
bc=str2double(get(handles.bc,'String'));
warndlg('参数有误');参数有误
else
y2=sy:(ey-sy)/100:ey;
r=(ex-cx)^2+(ey-cy)^2;
x2=cx-(r-(y2-cy).*(y2-cy)).^0.5;
holdoff;
plot(x2,y2,'k');
set(gca,'XTick',[-10:1:10]);
4.2 主要算法的实现……………………………………………………8
4.2.1 参数声明……………………………………………………………………8
4.2.2复位操作………………………………………………………………9
4.2.3单步操作………………………………………………………11
4.2.4 连续插补………………………………………………………………11
二、程序操作及算法流程图
2.1 DDA法插补直线流程
DDA插补第一象限的直线流程图
2.2逐点比较法插补逆时针圆弧流程
逐点比较法插补二三象限逆圆弧
参数说明:sx、sy为起点坐标
ex、ey为终点坐标
n为进给总次数
cx、cy为圆心坐标
bc为步长
m为寄存器位数
s_1表示按下直线选项,s_2表示按下圆弧按钮
三、用户使用说明——软件运行说明及结果显示
一、课程设计介绍
1.1任务说明……………………………………………………………3
1.2要求…………………………………………………………………3
二、程序操作及算法流程图
2.1 DDA法插补直线流程………………………………………………3
2.2逐点比较法插补逆时针圆弧流程…………………………………4
三、 用户使用说明