74
第第第 第第第第

第四章 软件插补

Embed Size (px)

DESCRIPTION

第四章 软件插补. 4.1 概述. 4.1.1 插补 ( Interpolation ). 插补:在轨迹起点和终点之间的数据密化。. 4.1.2 插补 方法. 硬件插 补:. 插补算法由专门的硬件电路实现。. 软件插补:. 插补算法由计算机中运行的软件 程序进行控制。. 脉冲增量插补:. 每走一“步”的 行程是固定的 ,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。. 数据采样插补:. 每走一“步”的 时间是固定的 ,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。. Y. 直线方程为:. - PowerPoint PPT Presentation

Citation preview

Page 1: 第四章  软件插补

第四章 软件插补

Page 2: 第四章  软件插补

4.1 概述

4.1.1 插补( Interpolation )

插补:在轨迹起点和终点之间的数据密化。

Page 3: 第四章  软件插补

4.1.2 插补方法

硬件插补:软件插补:

脉冲增量插补:

数据采样插补:

每走一“步”的行程是固定的,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。

每走一“步”的时间是固定的,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。

插补算法由专门的硬件电路实现。插补算法由计算机中运行的软件程序进行控制。

Page 4: 第四章  软件插补

4.2 脉冲增量插补4.2.1 逐点比较法被控对象每走一步,都和规定的轨迹进行比较,由比较结果决定下一步的移动方向。4.2.1.1 直线插补

Y

XO

E(Xe,Ye)

A(Xa,Ya)

B(Xb,Yb) e

e

Y

X

Y

X

直线方程为:

Page 5: 第四章  软件插补

以第一象限为例:

A 点在直线的上方,则

B 点在直线的下方,则

取判别函数

0a e a eY X X Y

0b e b eY X X Y

e eF YX XY

Page 6: 第四章  软件插补

即在第一象限中:

F > 0 ,点在直线的上方,向 + X 或 - Y 方向走一步;

F < 0 ,点在直线的下方,向 + Y 或 - X 方向走一步;

F = 0 ,点在直线上,同 F>0 , 向 + X 或 - Y 方向走一步。

4.2.1.1.1 计算机迭代算法

为了简化计算机的计算,特别是简化乘除操作,在早期的 CNC 系统中具有重要意义。

Page 7: 第四章  软件插补

,

1

1, ,

1

, 1 ,

( , )

1

( 1)

1

( 1)

0,

0,

i j

i j j e i e

i i

i j j e i e i j e

j j

i j j e i e i j e

e

e

X Y F

F Y X X Y

X

X X

F Y X X Y F Y

Y

Y Y

F Y X X Y F X

F F F Y

F F F X

设第一象限中的点 的 值

若沿 走一步,则

若沿 走一步,则

即:

Page 8: 第四章  软件插补

4.2.1.1.2 终点判别方法

对第一象限,每走一步判断 Xi - Xe >=0并且 Yi - Ye >= 0 是否成立,若条件满足,证明到达终点;

取总步数 N=Xe+Ye ,每走一步, N=N -1 ,直到N=0为止。

Page 9: 第四章  软件插补

4.2.1.1.3 流程图( 以第一象限为例)

开始

? 0F

+X 走一步

初始化 Xe, Ye , F, N=Xe+Ye

+Y 走一步

F=F+Xe

N = N - 1

F=F - Ye

N = 0 ?

Y N

N

结束Y

Page 10: 第四章  软件插补

4.2.1.1.4 逐点比较法直线插补的其他象限情况

Xe,Ye

X0,Y0X0,Y0

X0,Y0X0,Y0

Xe,YeXe,Ye

Xe,Ye

Y

X

I

IV

II

IIIF >= 0, -X

F >= 0, -X

F >= 0, +X

F >= 0, +X

F < 0, +Y

F < 0, -Y F < 0, -Y

F < 0, +Y

Page 11: 第四章  软件插补

4.2.1.2 圆弧插补

Y

X

(Xe,Ye)

(X0,Y0)

F<0

F>0

原心在原点的圆的方称为:

0)()( 20

20

22 YXYX

选判别函数)()( 2

020

22 YXYXF 则以第一象限逆圆为例: F>0 ,点在圆弧外,向- X 走一步; F=0 ,点在圆弧上,向- X 走一步; F<0 ,点在圆弧内,向 +Y 走一步。

Page 12: 第四章  软件插补

12)()1(

1

12)()1(

1

)(

),(

,2

020

221,

1

,2

020

22,1

1

20

20

22,

jjijiji

jj

ijijiji

ii

iiji

ji

YFYXYXF

YY

Y

XFYXYXF

XX

X

YXYXF

FYX

走一步,则若沿

走一步,则若沿

值的设第一象限中的点4.2.1.2.1 计算机迭代算法

Page 13: 第四章  软件插补

4.2.1.2.2 终点判别方法0 0 eiei YYXX 且

Page 14: 第四章  软件插补

开始

? 0F

- X 走一步

初始化 Xe, Ye , Xe,Ye,F=0

+Y 走一步

F=F+2Y+1F=F - 2X+1

插补结束?

Y N

N

结束Y

4.2.1.2.3 第一象限逆圆插补流程图

Page 15: 第四章  软件插补

4.2.1.2.4 逐点比较法圆弧插补的其他象限情况

X

Y

O

F< 0

F≥ 0

F≥ 0

F≥ 0

F≥ 0

F≥ 0 F≥ 0

F≥ 0

F≥ 0

F< 0

F< 0

F< 0F< 0

F< 0

F< 0

F< 0

I

IV

II

III

Page 16: 第四章  软件插补

4.2.1.3 逐点比较法插补举例

例 1 :直线插补

Page 17: 第四章  软件插补

例 2 :圆弧插补

Page 18: 第四章  软件插补

4.2.1.4 逐点比较法插补的特点

误差小于一个脉冲当量;

运算直观,输出脉冲均匀,输出脉冲的速度变化小;

不适用于高速度、高精度、多轴联动的场合。

Page 19: 第四章  软件插补

4.2.2 数字积分法 DDA ——Digital Differential Analyzer

4.2.2.1 数字积分原理

t

Y Y=f(t)

Y0

ti-1 ti

Yi-1Yi

函数 Y=f(t) 的积分

t

dttfS0

)(

若时间间隔 Δt=ti-ti-1 足够小,则 S 离散化为:

101

( )nt

ii

S f t dt Y t

Δt 取最小单位“ 1” ,则

11

n

ii

S Y

Page 20: 第四章  软件插补

4.2.2.2 DDA 直线插补

O X

Vy

Vx

V

(Xe,Ye)Y Δt 时间内在 X,Y 方向上

的位移量为:

tVY

tVX

y

x

设直线长度 22ee YXL

对于直线有:L

Y

V

V

L

X

V

V eyex ,

即L

VK

YKYL

VV

XKXL

VV

eey

eex

, 其中

Page 21: 第四章  软件插补

则tYKY

tXKX

e

e

所以,各坐标轴的位移量为:

n

ie

tn

ie

t

e

n

ie

tn

ie

t

e

YKtYKdtKYY

XKtXKdtKXX

1

"1"

10

1

"1"

10

Page 22: 第四章  软件插补

在硬件 DDA 电路中,若积分累加器的字长为 n 位,则当累加器内的数值到达 2n 时,就有一个溢出脉冲,终点坐标值越大(长轴),则该轴方向上溢出脉冲的速度越快,即该轴的运行速度越快。

若某轴终点坐标为 m (单位为脉冲当量),则累加 2n 次之后,该轴方向上的溢出脉冲个数必然为 m 个。

此时,n

K2

1

Page 23: 第四章  软件插补

DDA 直线硬件插补器流程:

X 轴被积函数 Xe

X 轴积分累计器

Y 轴积分累加器

Y 轴被积函数 Ye

+

+

Δt X 轴溢出脉冲Y 轴溢出脉冲

插补迭代控制脉冲

ΔY

ΔX

Page 24: 第四章  软件插补

4.2.2.3 DDA 圆弧插补

P(X,Y)A

V Vy

Vx

Y

XO

图中所示第一象限逆圆

KX

V

Y

V

R

V

PVVAOP

yx

x

, 得由图中 ∽

Page 25: 第四章  软件插补

逆圆

tXKtVY

tYKtVX

y

x

对于 n 位硬件累加器,取

nK

2

1 ,则

tXY

tYX

m

iin

m

iin

1

1

2

1

2

1

顺圆

tXKtVY

tYKtVX

y

x

Page 26: 第四章  软件插补

DDA 第一象限逆圆硬件插补器流程:

X 轴被积函数 Yi

X 轴积分累计器

Y 轴积分累加器

Y 轴被积函数 Xi

+

+

ΔtX 轴溢出脉

冲- X 方向

Y 轴溢出脉冲

+Y 方向

插补迭代控制脉冲

ΔY

ΔX

Page 27: 第四章  软件插补

DDA 第一象限逆圆硬件插补过程: X 轴被积函数初始值置 Y0 , Y 轴被积函数初始值置 X0 ; X 轴积分累加器溢出到- X 方向, Y 轴积分累加器溢出到 +Y 方向; X 轴方向每发出一个进给脉冲, Y 轴被积函数 寄存器值减 1 ; Y 轴方向每发出一个进给脉冲, X 轴被积函数 寄存器值加 1 ; 当其中一个轴到达终点后,该轴不再迭代, 该方向到达终点。另一个轴也到达终点时, 迭代停止,插补结束。

Page 28: 第四章  软件插补

DDA 圆弧插补其他象限情况:

圆弧方向 顺圆 逆圆

象限 I II III IV I II III IV

X 轴进给方向 + + - - - - + +

Y 轴进给方向 - + + - + - - +

X 轴被积函数修正符号 - + - + + - + -

Y 轴被积函数修正符号 + - + - - + - +

Page 29: 第四章  软件插补

4.2.2.4 硬件 DDA 插补存在的问题及改进方法

加工工件的最大尺寸受累加器的字长的限制;

因为累加器的字长固定,造成速度不均。可以使用“左移规格化”加以改善;

长轴的脉冲先溢出,短轴的脉冲后溢出。使用“预置初值”减小加工误差。

Page 30: 第四章  软件插补

4.2.2.5 软件 DDA 插补

随着加工程序段行程的变化而自动改变积分累加器的溢出基值,以提高脉冲发生率,稳定脉冲输出速度,并可以增大加工工件的尺寸;

直线插补以位移量最大的坐标轴分量(长轴)为溢出基值

圆弧插补以半径 R 为溢出基值

Page 31: 第四章  软件插补

积分累加器预置一定的初值,可以使被积函数值较小的坐标轴提前发生位置变化,从而改善加工轨迹,提高插补精度。

直线插补预置溢出基值 ( 位移量最大的坐标轴分量 ) 的一半,“四舍五入”;圆弧插补预置溢出基值(半径 R )减 1 ,即 R - 1 。

Page 32: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 33: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 34: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 35: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 36: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 37: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 38: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 39: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 40: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 41: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 42: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 43: 第四章  软件插补

软件 DDA圆弧插补举例——未置初值

Page 44: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 45: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 46: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 47: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 48: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 49: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 50: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 51: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 52: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 53: 第四章  软件插补

软件 DDA圆弧插补举例——置初值

Page 54: 第四章  软件插补
Page 55: 第四章  软件插补

DDA插补的特点:

运算速度快,脉冲分配均匀,易于实现多坐标联动和描绘多种平面函数;

需要采取必要的措施才能保证插补精度。

Page 56: 第四章  软件插补

脉冲增量插补的特点总结:

控制简单,用于步进电机驱动的开环系统中或者是伺服电机的位置控制方式;由于受到步进电机运行频率的限制或者输出脉冲接口电路以及脉冲可靠性的限制,输出脉冲不可能太高,致使速度较低;步长(脉冲当量)是确定的,所以精度较低;

必须解决控制脉冲的生成问题,若使用软件定时,系统的运行速度将受到较大的影响;有其他的改进方法,例如针对逐点比较法的最小误差法,针对 DDA的以割线代替切线的 DDA方法、二阶近似DDA方法等。

Page 57: 第四章  软件插补

实验一之第一部分:

逐点比较法;

1、推导自原点至( 6, 3)的直线软件插补过程,并画出插补轨迹。

未置初值的软件 DDA;置初值的软件 DDA;

2、编写C语言程序,完成第一象限的圆弧软件DDA插补并“实时”显示插补轨迹。

可以实现顺圆和逆圆的插补;圆心在原点,圆弧半径可以输入。

Page 58: 第四章  软件插补

4.2.3 数据采样插补

数据采样插补用于闭环或半闭环的系统中,系统的采样周期为固定值,该插补方法的实质是求出每个周期的各坐标轴指令位置增量。

早期数控系统中的 CPU 数学运算能力较差,尤其是不能计算三角函数,限制了插补算法,所以使用多种近似方法来代替三角函数的计算,在一些参考资料中有大篇幅的叙述。目前,这些近似方法已无必要。

Page 59: 第四章  软件插补

4.2.3.1 数据采样直线插补

Pi+1

Pi

Z

X

Y

ΔZ

ΔX

ΔY

α

βγ

Pe

P0

FT

Page 60: 第四章  软件插补

设某直线的起点坐标为 P0 ( X0 , Y0 , Z0 ),终点坐标为 Pe ( Xe , Ye , Ze )。则该直线的方向余弦为:

20

20

20

0

20

20

20

0

20

20

20

0

cos

cos

cos

ZZYYXX

ZZZZYYXX

YYZZYYXX

XX

eee

e

eee

e

eee

e

Page 61: 第四章  软件插补

每个采样周期中, X 、 Y 、 Z 轴的指令位置增量ΔX、 ΔY、 ΔZ分别为 FT 在三个轴方向上的投影:

cos

cos

cos

T

T

T

FZ

FY

FX

则指令位置的迭代算法为:

ZZZ

YYY

XXX

ii

ii

ii

1

1

1

Page 62: 第四章  软件插补

Pi

Pi+1 FT

θ

αi+1

A

B

Y

XO

ε

R

αi

4.2.3.2 数据采样三角函数法圆弧插补

由 A 到 B 的一段圆弧, Pi

和 Pi+1 为圆弧上连续的两个插补周期的轨迹点。 Pi

坐标为( Xi , Yi ), Pi+1

坐标为( Xi+1 , Yi+1 )。合成的周期进给量为 FT 。θ为每个周期进给对应的圆心角。圆弧半径为 R 。

Page 63: 第四章  软件插补

则三角函数圆弧插补的迭代公式为:

sincossincoscossin

sinsinsincossinsincoscos

coscos

11

11

iiii

iii

iiii

iii

XYRR

RRYYXRR

RRX

RFT因为 θ的值很小,可以取

。和可以求出为: cossin , )2

(sin2 1

R

FT

Page 64: 第四章  软件插补

数据采样三角函数法圆弧插补的最大进给速度

由于是使用两端在圆弧上的直线段(弦)去逼近圆弧,所以存在弦高差 ε 。将余弦函数按幂级数展开,并取 ,则 ε表示为:RFT

R

FRR T

882cos1

22

可见,进给速度愈快,则造成的弦高差愈大。

Page 65: 第四章  软件插补

若系统允许的最大弦高差为 δ ,则周期进给速度 FT应该满足如下条件:

RFT 8

min 4500008 mmRT

RF

例如, δ 取为 1μm ,采样周期 T=8ms ,可以编程的最大 F 进给速度应该满足如下条件:

Page 66: 第四章  软件插补

4.2.3.3 多坐标数据采样插补

对于超过三轴的插补速度控制,应该针对具体的机床结构特点进行处理。

航天火箭发动机等倾角螺旋槽加工:系统共十个坐标轴,其中八个为受控伺服轴,四轴联动。

Page 67: 第四章  软件插补
Page 68: 第四章  软件插补
Page 69: 第四章  软件插补
Page 70: 第四章  软件插补

X

Y1W1

A

B

Pi+1

Pi

-A-X +X

X-W平面

+B-W

+W

-B+A

Page 71: 第四章  软件插补

设某段螺旋线的起点为 Pi ,终点为 Pi+1 。点Pi 的坐标为( Xi , Wi , Ai , Bi ),点 Pi+1 的坐标为( Xi+1 , Wi+1 , Ai+1 , Bi+1 )。

min ,max 222 mmFFFFF WBAX

定义四轴联动的数控编程 F 速度为:

Page 72: 第四章  软件插补

设在 X 、 W1 、 A 和 B 轴上的进给速度分配系数为 KX 、 KW 、 KA 和 KB ,四者按下式确定:

21

21

2

11

1

,max iiiiiiii

iiW

WWBBAAXX

WWK

21

21

2

11

1

,max iiiiiiii

iiB

WWBBAAXX

BBK

Page 73: 第四章  软件插补

21

21

21

1

iiiiii

iiX

WWBBXX

XXK

ii

iiXA XX

AAKK

1

1

若 iiii AAXX 11 则,

21

21

21

1

iiiiii

iiA

WWBBAA

AAK

iiii AAXX 11若 则,

ii

iiAX AA

XXKK

1

1

Page 74: 第四章  软件插补

若 011 iiii AAXX ,则置: KX = KA =0 。

设由数控编程 F 速度计算出的周期进给量为 FT ,则四轴联动迭代算法为:

1

1

1

1

TBkkk

TAkkk

TWkkk

TXkkk

FKBBBB

FKAAAA

FKWWWW

FKXXXX