1、项目第四组第五组第六组学生姓名数控原理与系统课程设计说明书一、数字积分法顺 圆弧插补的基本原理数字积分法是利用数学积分的方法,计算刀具沿各坐标轴的位移,使得刀具沿着所 加工的轮廓曲线运动。利用数字积分原理构成的插补装置称为数字积分器,又称数字微分分析器,简称DDA数字积分器插补的最大优点在于容易实现多坐标轴的联动插补,能够描述空间直线及平面各种函数曲线等。因此,数字积分法插补在轮廓数控系统中得到广泛的应用从几何角度来看,积分运算就是求出函数 丫二f(t)曲线与横轴所围成的面积。如右图所示,从t二tO到tn时刻,函数丫 =f(t)积分值可以表述为如果进一步将t tO, tn 的时间区间划分为若干
2、个等间隔厶t的小区间,则当 t足够小时,函数丫的积分可用下式近似表示在几何上就是用一系列的小矩形面积之和来近似表示函数 f(t)以下的积分面积。近一步如果在式(1-2 )中,取 t为基本单位“ 1”则上式可演化成数字积分器算式S 二 Yi (1-3)i.-=l由此可见,通过假设 t二“ 1”就可将积分运算转化为式(1-3 )所示的求纵坐标 值的累加运算。若再假设累加器容量为一个单位面积值,则在累加过程中超过一个单位 面积时立刻产生一个溢出脉冲。这样,累加过程所产生的溢出脉冲总数就等于所求的总 面积,即所求的积分值。以第I象限顺 圆说明DDA法圆弧插补的基本原理。设刀具沿圆弧 SE进行切削,圆
3、弧半径为R,刀具切削速度为V,在两坐标轴上的速度分量为 VX和Vy,动点为N(X,丫), 则根据图中相似三角形关系,可得则有 V = KR Vx= KY, V Y= KX由于半径R为常数,若切向速度V为匀速,则K为常数,那么,动点在两坐标轴上的速 度分量将随其坐标值的变化而变化。当给定一个时间增量 t,动点在X、丫坐标轴上位移增量分别为Xi = VX t= KYi tYi = -VyA t = -KXi t由于第I象限逆圆对应X轴坐标值逐渐减小,所以,式中 X表达式取负号,也就 是说 V Vy均取绝对值,而不带符号运算。从而获得第I象限逆圆DDA法插补公式如下:n nX 二嘉广IXi =為 K
4、Yr tii 4 i 4丫八:丫 = -x KX i :tii 土 i z!与直线插补相比,DDA圆弧插补具有两个方面的不同:第一,被积函数寄存器与坐标轴的关联关系不同。在 DDA直线插补中,Jvx与X坐标 轴相关联,Jvy与丫坐标轴相关联。但在圆弧插补中,Jvx与丫坐标轴相关联,Jvy与X坐 标轴相关联。第二,被积函数寄存器存放的数据形式不相同。在 DDA直线插补中,被积函数寄存器Jvx、Jvy存放的是终点坐标,即一个不受插补进程变化的常量。而在圆弧插补过程中, 被积函数寄存器Jvx、Jvy存放着动点坐标,即一个随着插补过程不断变化的变量。例如,在NR插补过程中,开始时被积函数寄存器 Jvx
5、、Jvy的初值分别为起点坐标Ys和 Xs。然后,每当丫轴产生一个溢出脉冲(+ Y)时,Jvx就作“+1”修正;反之,每当X 轴产生一个溢出脉冲(一 X),Jvy就作“一1”修正。至于何时“ +1”或“一T修正, 取决于动点N所在的象限。数字积分法顺圆插补的软件流程图三、 数字积分法顺圆插补的算法描述刀具沿圆弧SE进行切削,圆弧半径为R,刀具切削速度为V,在两坐标轴上的速度 分量为V和VY,动点为N( X,Y),则根据图中相似三角形关系,可得Vx VY常数)则有 V = KR Vx= KY, Vy= KX由于半径R为常数,若切向速度V为匀速,则K为常数,那么,动点在两坐标轴上 的速度分量将随其坐
6、标值的变化而变化。 Xi = VX t = KYi t Y = VyA t = KX t由于第I象限顺圆对应X轴坐标值逐渐减小,所以,式中 aX表达式取负号,也就 是说Vx、Vy均取绝对值,而不带符号运算。从而获得第I象限顺圆DDA法插补公式如下:根据上述基本原理,我们可以知道数字积分法圆弧插补的终点判别与直线插补有所 不同,数字积分法圆弧插补需要设置两个终点计数器 JXX=|Xe - Xs|和JXY=|Ye -Ys|,分别对X轴和丫轴进行终点监控。每当X轴或丫轴产生一个溢出脉冲,相应的终 点计数器就作减1修正,直到为零,表明该坐标已到终点,并停止其坐标的累加运算。 只有当两个坐标轴均到达终点
7、时,圆弧插补才结束。对于数字积分法过象限问题,采用软件插补时,如果参与积分运算的寄存器均采用 绝对值数据,则DDA法插补的积分累加过程完全相同,即 Jr+ Jv Jr,只是进给脉冲的 分配方向和圆弧插补动点坐标的修正有所不同。 现将DDA法插补各象限直线和圆弧的情况汇总在表3-1。DDA法插补不同象限直线和圆弧情况内容Lil_2_3_4NRSRSF3SF4动点Jvx+ 11修正JvY进给 X+一方向 Y + + 一 + 一 一 + 一 + +表3-1圆弧起点S (0, 4),终点(4, 0),且寄存器位数N= 3,当插补开始时,被积函数 寄存器初值分别为 JVX= Ys= 0和JVY= Xs=
8、 4,终点判别寄存器 J刀X= |Xe - Xs| = 4 和JX Y= |Ye - Ys| = 4.该圆弧插补运算过程如下表 3-2所示,累加X积分器Y积分器Jrx =Jrx + JvxJ XXJVYJ RY =JRY + JVY YJ X Y次数n 开始410+0=04-0 =44+0= 40+4= 424+4= 8+0+14-1 =二 330+1=13-0 =1+0=11+仁23-1 =251+1=22+2=42-0 =62+0=24+2=62-1 =172+1=36+3=8+1-11-0 =83+0=31+3=44-1 = 34+3= 794+3=73+0= 37+3= 8+21-1
9、=0103+1=47+4=8+3停止114+0=43+4=73-1 = 2122+0= 2132-1 = 1141+0= 1150-0 =1-1 = 0表3-2四、 数字积分法顺 圆插补的算法程序清单 Private Sub a1_Click() form1.Hide 主程序界面隐藏Form12.Show 显示基本原理框图界面End SubPrivate Sub a2_Click() form1.Hide Form13.Show 显示算法描述界面Private Sub a3_Click() form1.Hide Form11.Show 显示程序框图界面Option ExplicitPublic
10、 q As DoublePublic n, flag As IntegerPublic xa As IntegerPublic ya As IntegerPublic xb As IntegerPublic yb As IntegerPublic x As DoublePublic y As DoublePublic sx As DoublePublic sy As Double 定义变量Dim c As IntegerPublic Function max(a, b) 子程序If a b Thenmax = aElsemax = bEnd IfEnd FunctionPrivate Sub
11、Command1_Click()Picture1.Refreshxa = Val(Text1.Text)ya = Val(Text2.Text)xb = V al(Text3.Text)yb = Val(Text4.Text)q = Val(Text6.Text)c = max(Abs(yb), max(Abs(xb), max(Abs(xa), Abs(ya)Picture1.Scale (-2 * c, 2 * c)-(2 * c, -2 * c)Picture1.Line (-2 * c, 0)-(2 * c, 0)Picture1.Line (0, 2 * c)-(0, -2 * c)
12、 画出坐标 X,Y 轴If xb = 0 ThenPicture1.Circle (0, 0), Sqr(xa * xa + ya * ya), , 3.14159 / 2, Atn(ya / xa) ElseIf xa = 0 ThenPicture1.Circle (0, 0), Sqr(xa * xa + ya * ya), , Atn(yb / xb), 3.14159 / 2 ElsePicture1.Circle (0, 0), Sqr(xa * xa + ya * ya), , Atn(yb / xb), Atn(ya / xa) End IfTimer1.Enabled = T
13、rueTimer1.Interval = Val(Text5.Text)画圆弧Timer1.Interval = Val(Text5.Text) Picture1.Line -(xa, ya) n = 0x = xa y = ya sx = 0 sy = 0 End SubPrivate Sub Command2_Click()Form14.Hideform1.Show 从仿真界面回到主界面Private Sub Timer1_Timer() 插补仿真Dim flagx, flagy As Booleansx = sx + yIf n Abs(xb - xa) + Abs(yb - ya) T
14、henIf sx = q Then flagx = True sx = sx - q n = n + 1flagx = Falsesy = sy + xIf sy = q Thenflagy = Truesy = sy - qn = n + 1flagy = FalseIf flagx And flagy Then sx=q sy=qx = x + 1y = y - 1Picture1.Line -Step(1, -1), vbRedIf Not flagy And flagx ThenPicture1.Line -Step(1, 0), vbRedIf flagy And Not flagx
15、 ThenPicture1.Line -Step(0, -1), vbRed五、 数字积分法顺圆插补的软件运行仿真效果1、仿真开始前的软件界面如图5-1所示图5-12、基本原理的界面如图5-2所示数宁积分法是利用数学枳分的方法 计算刀艮沿各坐标钿股鱼移.使 焊门具沿看.所加工的鞄睥曲践运动 新用數字积分怎理构成的插补装直 称为数宁积分器.又抑数宇厳分分 托黑.简称DD乩数字积廿黔拒补的 虽犬优点在于容易实现零坐忻轴対 欣玩摘补”能够捕述空间宣线及平 面各种函数曲线等因此.数字积 分法插补在轮.廓数控垂统中得到广 泛的应用。图5-23、算法描述的界面如图5-3所示.VE9.LBE刀良沿isyLs
16、E址打切用,圆弘 半社为乩刀具切刖速廈希叫科坐标轴匕的砸度廿就为谀利 Wh幼点为14 Clin i) K闕 恨菊的卡怡似三馆序关齋可塔(*別有 V=KRrB1LU員沿国此范迟厅切刖.回 ileK. .7M L?)| 速庄为 V-在两塑離上的堰度廿童 为V:和W-可点为N(y.i- Yi .“抿书图中相Jt三吊母芜 義可得(常数)U图5-34、程序框图的界面如图5-4所示图5-45、仿真效果的界面如图 5-5所示图5-5六、课程设计小结这个设计我们从理论到具体的操作过程, 给大家都尽量做了详细的说明, 并且这个 操作简单,能为大家对数控原理的算法及插补过程的理解带来很大的帮助。当然,由于 自己水平的限制,仍有很多不足之处,希望谅解。经过课程设计这段时间的努力,我学习了很多。首先是,从不会一个软件到自己去 学习软件,并且学以致用,提高了我的自学能力。其次,我能将课本上学的和自己学的 东西结合起来,这是理论与实践的相结合。再者我要感谢我们组的李才群同学 , 因为程 序方面他给了我很大帮助 .感谢我们的指导老师 , 谢谢他的指导 . 尽管这当中困难重重, 有困难就去解决,而且是想尽办法的去解决,所以,这也提高了我的动手与解决问题的 能力。最后,我学到的是大家同学之间的相互帮助。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1