数字积分插补法直线插补.docx

上传人:b****7 文档编号:23938262 上传时间:2023-05-22 格式:DOCX 页数:14 大小:163.29KB
下载 相关 举报
数字积分插补法直线插补.docx_第1页
第1页 / 共14页
数字积分插补法直线插补.docx_第2页
第2页 / 共14页
数字积分插补法直线插补.docx_第3页
第3页 / 共14页
数字积分插补法直线插补.docx_第4页
第4页 / 共14页
数字积分插补法直线插补.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数字积分插补法直线插补.docx

《数字积分插补法直线插补.docx》由会员分享,可在线阅读,更多相关《数字积分插补法直线插补.docx(14页珍藏版)》请在冰豆网上搜索。

数字积分插补法直线插补.docx

数字积分插补法直线插补

数控原理与系统课程设计

 

课题名称:

数字积分插补法直线插补

 

专业:

班级:

姓名:

指导老师:

 

数控原理与系统课程设计任务书

班级姓名学号

课程设计的目的

1)了解连续轨迹控制数控系统的组成原理。

2)掌握数字积分插补的基本原理。

3)掌握数字积分插补的软件实现方法。

二、课程设计的任务

数字积分法又称数字微分分析法DDA(DigitalDifferentialAnalyzer)。

数字积分法具有运算速度快、脉冲分配均匀、易于实现多坐标联动及描绘平面各种函数曲线的特点,应用比较广泛。

其缺点是速度调节不便,插补精度需要采取一定措施才能满足要求。

由于计算机有较强的计算功能和灵活性,采用软件插补时,上述缺点易于克服。

本次课程设计具体要求如下:

1)数字积分插补法基本原理

2)数字积分插补法插补软件流程图

3)算法描述(逐点比较法算法在VB中的具体实现)

4)编写算法程序清单

5)软件运行仿真效果

二、课程设计报告要求

1)按课程设计任务5点要求为标题,编写课程设计报告,最后加一点:

此次课程设计小结(包括设计过程中所碰到的问题、解决办法以及有关设计体会等)。

2)字数在3000字左右。

3)仿真软件一份。

三、学生分组

项目

第四组

第五组

第六组

学生姓名

数控原理与系统课程设计说明书

一、数字积分法直线插补的基本原理

数字积分法是利用数字积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所加工的轮廓曲线运动

利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器(DigitalDifferentialAnalyzer),简称DDA。

数字积分器插补的最大优点在于容易实现多坐标轴的联动插补、能够描述空间直线及平面各种函数曲线等。

因此,数字积分法插补在轮廓数控系统中得到广泛的应用。

从几何角度来看,积分运算就是求出函数Y=f(t)曲线与横轴所围成的面积,从t=t0到tn时刻,函数Y=f(t)的积分值可表述为

如果进一步将t∈[t0,tn]的时间区划分为若干个等间隔Δt的小区间,当Δt足够小时,函数Y的积分可用下式近似表示

在几何上就是用一系列的小矩形面积之和来近似表示函数f(t)以下的积分面积。

进一步如果在式中,取Δt为基本单位“1”,则上式可演化成数字积分器算式:

由此可见,通过假设Δt=“1”,就可将积分运算转化为式所示的求纵坐标值的累加运算。

若再假设累加器容量为一个单位面积值,则在累加过程中超过一个单位面积时立即产生一个溢出脉冲。

这样,累加过程所产生的溢出脉冲总数就等于所求的总面积,即所求的积分值。

下面就以直线和圆弧轨迹为例详细介绍数字积分法在轮廓插补中的具体应用。

数字积分法直线插补a、插补原理

设将要加工的直线为XOY平面内第Ⅰ象限直线

,直线的起点在坐标原点,终点为E(Xe,Ye)。

同样,假设坐标值均为以脉冲当量为单位的整数。

若此时刀具在两坐标轴上的进给速度分量分别为VX、VY,则刀具在X轴、Y轴方向上位移增量分别为

ΔX=VXΔtΔY=VYΔt

由几何关系可以看出

(常数)

现将式中的VX、VY分别代入式可得

ΔX=KXeΔtΔY=KYeΔt

可见,刀具由原点O走向终点E的过程,可以看作是每经过一个单位时间间隔Δt,就分别以增量[KXe]、[KYe]同时在两个坐标轴累加的结果。

也可以这样认为,数字积分法插补实际上就是利用速度分量,进行数字积分来确定刀具在各坐标轴上位置的过程,即

当取Δti=“1”(一个单位时间间隔),则式将演变为

设经过n次累加后,刀具正好到达终点E(Xe,Ye),即要求式中常量满足下式

nK=1或n=1/K

从上式可以看出,比例常数K和累加次数n之间的关系是互为倒数,即两者相互制约,不能独立自由选择。

也就是说只要选定了其中一个,则另一个随之确定了。

由于式中n是累加次数,必须取整数,这样K就必须取小数。

为了保证每次分配给坐标轴的进给脉冲不超过1个单位(一般指1个脉冲当量),则

ΔX=KXe<1ΔY=KYe<1

上式中Xe、Ye的最大允许值受系统中相应寄存器的容量限制。

现假设寄存器为N位,则其容量为2N,对应存储的最大允许数字量为(2N-1),将其代入式中Xe、Ye,则可得到K<1/(2N-1)

现不妨取K=2N,显然它满足式和式的约束条件,再将K值代入式,可得累加次数为

n=1/K=2N

也就是说,经过n=2N次累加后,动点(刀具)将正好到达终点E。

事实上,如果将n、K值代入式,则动点坐标为

X=KXen=(1/2N)Xe2N=XeY=KYen=(1/2N)Ye2N=Ye

根据前面的分析,在进行直线插补时,先开辟两个被积函数寄存器JVX、JVY分别存放终点坐标值Xe、Ye,还有两个余数寄存器JRX和JRY。

然后,当脉冲源每发送一个控制脉冲信号Δt,X轴积分器和Y轴积分器各累加一次。

当累加结果超出余数寄存器容量2N-1时,就产生一个溢出脉冲ΔX(或ΔY)。

这样,经过2N次累加后,每个坐标轴溢出脉冲的总数就等于该轴的被积函数值(Xe和Ye),从而控制刀具到达了终点E。

二、

数字积分法直线插补的软件流程图

 

三、数字积分法直线插补的算法描述

\Ifi<>qThen

sx=sx+xa

Ifsx>=qThen

flagx=True

sx=sx-q

Else

flagx=False

EndIf

sy=sy+ya

Ifsy>=qThen

flagy=True

sy=sy-q

Else

flagy=False

EndIf

IfflagxAndflagyThen'sx>=qsy>=q

Picture1.Line-Step(1,1),vbRed

EndIf

IfNotflagyAndflagxThen

Picture1.Line-Step(1,0),vbRed

EndIf

IfflagyAndNotflagxThen

Picture1.Line-Step(0,1),vbRed

EndIf

i=i+1

EndIf

四、数字积分法直线插补的算法程序清单

PrivateSuba1_Click()

form1.Hide

Form12.Show

EndSub

PrivateSuba2_Click()

form1.Hide

Form13.Show

EndSub

PrivateSuba3_Click()

form1.Hide

Form11.Show

EndSub

OptionExplicit

PubliciAsInteger

PublicxaAsInteger

PublicyaAsInteger

PublicsxAsInteger

PublicsyAsInteger

PublicqAsInteger

PublicxeAsInteger

PublicyeAsInteger

PublicSubp1(xe)

Picture1.Scale(-xe,xe)-(xe,-xe)

Picture1.Line(xe,0)-(-xe,0)

Picture1.Line(0,-xe)-(0,xe)

EndSub

PublicSubp2(xe)

Picture1.Scale(xe,-xe)-(-xe,xe)

Picture1.Line(xe,0)-(-xe,0)

Picture1.Line(0,-xe)-(0,xe)

EndSub

PrivateSubCommand3_Click()

i=0

sx=0

sy=0

DimmaxAsInteger

Picture1.Refresh

xa=Val(Text1.Text)

ya=Val(Text2.Text)

q=Val(Text4.Text)

'第一象限

Ifxa>=0Andya>=0Then

max=xa-ya

Ifmax>0Then

p1(xa)

Else

p1(ya)

EndIf

EndIf

'第二象限

Ifxa<0Andya>0Then

max=Abs(xa)-ya

Ifmax>0Then

p2(xa)

Else

p1(ya)

EndIf

EndIf

'第三象限

Ifxa<0Andya<0Then

max=Abs(xa)-Abs(ya)

Ifmax>0Then

p2(xa)

Else

p2(ya)

EndIf

EndIf

'第四象限

Ifxa>0Andya<0Then

max=xa-Abs(ya)

Ifmax>0Then

p1(xa)

Else

p2(ya)

EndIf

EndIf

'设置脉冲频率

Timer1.Enabled=True

Timer1.Interval=Val(Text3.Text)

'画直线

Picture1.Line(xa,ya)-(0,0)

EndSub

PrivateSubCommand6_Click()

form1.Show

szjfzxcb1.Hide

EndSub

PrivateSubTimer1_Timer()

Dimflagx,flagyAsBoolean

Ifi<>qThen

sx=sx+xa

Ifsx>=qThen

flagx=True

sx=sx-q

Else

flagx=False

EndIf

sy=sy+ya

Ifsy>=qThen

flagy=True

sy=sy-q

Else

flagy=False

EndIf

IfflagxAndflagyThen'sx>=qsy>=q

Picture1.Line-Step(1,1),vbRed

EndIf

IfNotflagyAndflagxThen

Picture1.Line-Step(1,0),vbRed

EndIf

IfflagyAndNotflagxThen

Picture1.Line-Step(0,1),vbRed

EndIf

i=i+1

EndIf

EndSub

 

五、数字积分法直线插补的软件运行仿真效果

1、仿真开始前的软件界面如图5-1所示

图5-1

2、基本原理的界面如图5-2所示

图5-2

3、算法描述的界面如图5-3所示

图5-3

 

4、程序框图的界面如图5-4所示

图5-4

5、仿真效果的界面如图5-5所示

图5-5

六、课程设计小结

这份设计我从总体的数控原理软件效果图到数控原理分析,再从数字积分法原理到软件实现,作了一个尽可能详细的解释。

数控原理插补软件的实现,使得我们在数控原理的学习上和理解上更进一步了,他在我们的直观上给我们做了一个很好的模拟。

这主要靠的是可视化程序设计语言VisualBasic.它是开发图形用户界面的方法,不需要编写大量的代码去描写界面元素的外观和位置,只要把预先建立的对象拖放到窗口即可。

所以说,对于初学者,这是很适合我们的,为我们节省时间的同时,也更让我们理解。

最后,我学到的是大家同学之间的相互帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1