ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:301.19KB ,
资源ID:11433348      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11433348.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(逐点比较法课程设计报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

逐点比较法课程设计报告.docx

1、逐点比较法课程设计报告*学 院课 程 设 计 说 明 书设计题目: 逐点比较法第一二象限的顺圆插补 系 部: 机 电 工 程 系 专 业: 自动化(数控技术) 班 级: 姓 名: 学 号: 指导老师: 起止时间: 年 月 日至 年 月 日 共 周 年 月 日目 录一、课程设计的目的.3二、课程设计的任务.3三、逐点比较法基本原理.4四、逐点比较法插补软件流程图.8五、算法描述(在VB中的具体实现).9六、编写算法程序清单.9七、软件运行仿真效果.12八、参考文献.15九、设计小结.15逐点比较法第一二象限的顺圆插补一、课程设计的目的1)了解连续轨迹控制数控系统的组成原理。2) 掌握逐点比较法插

2、补的基本原理。3)掌握逐点比较法插补的软件实现方法。二、课程设计的任务逐点比较法插补是最简单的脉冲增量式插补算法之一,其过程清晰,速度平稳,但一般只用于一个平面内两个坐标轴的插补运算。其基本原理是在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具向减小偏差的方向进给,且只有一个方向的进给。也就是说,逐点比较法每一步均要比较加工点瞬时坐标与规定零件轮廓之间的距离,依此决定下一步的走向。如果加工点走到轮廓外面去了,则下一步要朝着轮廓内部走;如果加工点处在轮廓的内部,则下一步要向轮廓外面走,以缩小偏差,这样周而复始,直至全

3、部结束,从而获得一个非常接近于数控加工程序规定轮廓的轨迹。逐点比较法插补过程中的每进给一步都要经过偏差判别、坐标进给、偏差计算和终点判别四个节拍的处理,其工作流程图如图所示。三、基本原理(1)逐点比较法I象限顺圆插补基本原理在加工圆弧过程中,人们很容易联想到使用动点到圆心的距离与该圆弧的名义半径进行比较来反映加工偏差。假设被加工零件的轮廓为第象限顺走向圆弧SE,圆心在O(0,0),半径为R,起点为S(XS,YS),终点为E(Xe,Ye),圆弧上任意加工动点为N(Xi,Yi)。当比较该加工动点到圆心的距离与圆弧半径R的大小时,可获得刀具与圆弧轮廓之间的相对位置关系。当动点N(Xi,Yi)正好落在

4、圆弧上时,则有下式成立当动点N(Xi,Yi)落在圆弧外侧时,则有下式成立当动点N(Xi,Yi)落在圆弧内侧时,则有下式成立 由此可见,取逐点比较法圆弧插补的偏差函数表达式为 当动点落在圆外时,为了减小加工误差,应向圆内进给,即向(X)轴方向走一步;当动点落在圆内时,应向圆外进给,即向(Y)轴方向走一步。当动点正好落在圆弧上且尚未到达终点时,为了使加工继续下去,理论上向(+Y)轴或(X)轴方向进给均可以,但一般情况下约定向(X)轴方向进给。 综上所述,现将逐点比较法第象限顺圆插补规则概括如下: 当F0时,即0,动点落在圆外,则向(Y)轴方向进给一步; 当F0时,即=0,动点正好落在圆上,约定向(

5、Y)轴方向进给一步; 当F0时,即0,动点落在圆内,则向(X)轴方向进给一步。 由偏差函数表达式可知,计算偏差F值,就必须进行动点坐标、圆弧半径的平方运算。显然,在用硬件或汇编语言实现时不太方便。为了简化这些计算,按逐点比较法直线插补的思路,也可以推导出逐点比较法圆弧插补过程中偏差函数计算的递推公式。 假设第i次插补后,动点坐标为N(Xi,Yi),其对应偏差函数为 当Fi0,向(Y)轴方向进给一步,则新的动点坐标值为Xi1=Xi, Yi1=Yi1 因此,新的偏差函数为 Fi1= Xi12 Yi12-R2 = Xi2(Yi1)2 Fi1=Fi2Yi1 同理,当Fi0,则向()轴方向进给一步,则新

6、的动点坐标值为Xi1=Xi1, Yi1=Yi因此,可求得新的偏差函数为 Fi1= Xi12 Yi12-R2 = (Xi+1)2Yi2 Fi1=Fi2Xi1 将上式进行比较,可以看出两点不同:第一,递推形式的偏差计算公式中仅有加/减法以及乘2运算,而乘2可等效成该二进制数左移一位,这显然比平方运算来得简单。第二,进给后新的偏差函数值与前一点的偏差值以及动点坐标N(Xi,Yi)均有关系。由于动点坐标值随着插补过程的进行而不断变化,因此,每插补一次,动点坐标就必须修正一次,以便为下一步的偏差计算作好准备。至此,将第象限顺圆弧插补的规则和计算公式汇总,见表(表2-1) 第象限顺圆弧插补计算公式偏差函数

7、动点位置进给方向新偏差计算动点坐标修正Fi0在圆上或圆外YFi1Fi2Yi1Xi1Xi, Yi1Y1iFi0在圆内XFi1Fi2Xi1Xi1Xi1, Yi1Yi表2-1和直线插补一样,圆弧插补过程也有终点判别问题。当圆弧轮廓仅在一个象限区域内,其终点判别仍可借用直线终点判别的三种方法进行,只是计算公式略不同。|XeXs|YeYs| max|XeXs|,|YeYs| 1|XeXs| ,2|YeYs| 式中 XS、Ys 被插补圆弧轮廓的起点坐标;Xe、Ye 被插补圆弧轮廓的终点坐标。b、插补象限和圆弧走向前面所讨论的逐点比较法直线和圆弧插补,均是针对第一象限直线和顺圆插补这种特定情况进行的。然而,

8、任何数控机床都应具备处理不同象限、不同走向曲线的能力。(2)四个象限中圆弧插补圆弧插补情况比较复杂,不仅有象限问题,而且还有圆弧走向问题。现以第象限顺圆SR1插补为例,介绍圆弧插补的特性。假设圆弧SE起点为S(XS,YS),终点为E(Xe,Ye),圆心在坐标原点上。与顺圆插补相似,当某一时刻动点N(Xi,Yi)在圆弧的外侧时,有F0成立,应向 Y)轴方向进给一步,以减小误差;若动点N(Xi,Yi)在圆弧内侧,则应 向 X)轴方向进给一步。由此可推导出第象限顺圆插补偏差函数的递推公式如下: 当Fi0时,向 Y)轴方向进给一步,则新的动点坐标为Xi1Xi , Yi1Yi1 新动点的偏差函数为 Fi

9、1Fi2Yi1当Fi0时,向 X)轴方向进给一步,则新的动点坐标为 Xi1Xi1, Yi1Yi新动点的偏差函数为 Fi1Fi2Xi1 现将上式比较,可以看出它们有两点不同: 1)当Fi0或Fi0时,对应的进给方向不同; 2)插补计算公式中动点坐标的修正也不同,以至于偏差计算公式也不相同。 进一步还可根据上述方法推导出其他象限不同走向圆弧的插补公式。现将各种相应偏差计算见表(表2-2) 四个象限圆弧插补偏差计算与进给方向线型F0F0偏差计算坐标进给偏差计算坐标进给SR1NR2SR3NR4F2|Y|1F|Y|1|Y|YYYYF2|X|1F|X|1|X|XXXXNR1SR2NR3SR4F2|X|1F

10、|X|1|X|XXXXF2|Y|1F|Y|1|Y|YYYY表2-2从表可以看出,当按第象限顺圆NR1进行插补运算时,现若有意将X轴进给反向,则可以走出第象限顺圆SR2来;或者若将Y轴进给反向,则可以走出SR4来;或者将X轴和Y轴的进给均反向,则可以走出NR3来;并且这四种线型(NR1、SR2、NR3、SR4)使用的偏差计算公式都相同,无须改变。 进一步还可以看出,当按第象限顺圆NR1线型插补时,现若将计算公式坐标X与Y对调,即把X当作Y,把Y当作X,那么就可得到SR1的走向。类似地通过改变进给方向,利用SR1的公式就可获得其余三种线型(NR2、SR3、NR4)的走向。下面,我们对圆弧逐点比较法

11、作一个简要的介绍。四、逐点比较法插补软件流程图五、算法描述(逐点比较法在VB中的具体实现)根据上述基本原理,我们可以知道逐点比较法圆弧插补需要设置两个终点计数器JX|Xe Xs|和JY|Ye - Ys|,分别对X轴和Y轴进行终点监控。每当X轴或Y轴产生一个溢出脉冲,相应的终点计数器就作减1修正,直到为零,表明该坐标已到终点,并停止其坐标的累加运算。只有当两个坐标轴均到达终点时,圆弧插补才结束。六、编写算法程序清单第一二象限的逐点比较法顺圆插补Private Sub Command1_Click()Dim r As Single, X As Integer, Y As Integer, a As

12、 Integer, b As Integer, c As Single, d As Single, pi As Single, m As Integer, n As IntegerX = Int(Text1)Y = Int(Text2)a = Int(Text3)b = Int(Text4)c = Atn(Abs(Y / X)d = Atn(Abs(b / a)pi = 3.14159265m = X * X + Y * Yn = a * a + b * bPicture1.ForeColor = vbBlackPicture1.DrawWidth = 2If Option1.Value =

13、True Then If X = 0 Or Y 0 Or a = 0 Or b 0 Or m n or Xa Then Print MsgBox(错误!, 48, 提示信息) ElsePicture1.Line (500, 500)-(500, 6500)Picture1.Line (500, 6500)-(5500, 6500)Picture1.Line (5450, 6450)-(5500, 6500)Picture1.Line (5450, 6550)-(5500, 6500)Picture1.Line (550, 550)-(500, 500)Picture1.Line (450, 5

14、50)-(500, 500)Picture1.ForeColor = vbRedPicture1.DrawWidth = 5r = Sqr(X * X + Y * Y) * 700Picture1.Circle (500, 6500), r, , d, cEnd IfElseIf Option2.Value = True Then If X = 0 Or Y = 0 Or b 0 Or m n or XaThen Print MsgBox(错误!, 48, 提示信息) ElsePicture1.Line (5500, 500)-(5500, 6500)Picture1.Line (500, 6

15、500)-(5500, 6500)Picture1.Line (560, 6530)-(500, 6500)Picture1.Line (560, 6470)-(500, 6500)Picture1.Line (5530, 600)-(5500, 500)Picture1.Line (5470, 600)-(5500, 500)Picture1.ForeColor = vbRedPicture1.DrawWidth = 5r = Sqr(X * X + Y * Y) * 700Picture1.Circle (5500, 6500), r, , pi - d, pi - cEnd IfEnd

16、IfEnd SubPrivate Sub Command2_Click()Dim k, m, j, l, n, F(30), X(30), Y(30) As Integer, a As Integer, b As Integer, c As Integer, d As Integera = Int(Text1)b = Int(Text2)c = Int(Text3)d = Int(Text4)m = 0l = 0k = 0F(m) = 0X(m) = aY(m) = bPicture1.ForeColor = vbGreenPicture1.DrawWidth = 3j = Abs(Abs(a

17、) - Abs(c) + Abs(Abs(b) - Abs(d)Form1.CurrentX = 200Form1.CurrentY = 200Print 初始, 进给方向 , F(0)=0, X(0) = & Int(Text1), Y(0)= & Int(Text2), Xe = & Int(Text4), Ye = & Int(Text3), = & jIf Option1.Value = True ThenFor n = 1 To jIf F(m) = 0 And j 0 Thenm = m + 1 k = k + 1 F(m) = F(m - 1) - 2 * Abs(Y(m - 1

18、) + 1 X(m) = X(m - 1) Y(m) = Y(m - 1) - 1 Picture1.Line (500 + 700 * (a + l), 6500 - 700 * (b - k + 1)-(500 + 700 * (a + l), 6500 - 700 * (b - k) Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print 第 & m & 步, -Y , F( & m & )= & F(m), X( & m & )= & X(m), Y( & m & )= & Y(m), Xe = & Int(Text4), Ye

19、= & Int(Text3), = & j - nElsel = l + 1m = m + 1 F(m) = F(m - 1) + 2 * Abs(X(m - 1) + 1Y(m) = Y(m - 1)X(m) = X(m - 1) + 1 Picture1.Line (500 + 700 * (a + l), 6500 - 700 * (b - k)-(500 + 700 * (a + l - 1), 6500 - 700 * (b - k) Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print 第 & m & 步, +X , F(

20、& m & )= & F(m), X( & m & )= & X(m), Y( & m & )= & Y(m), Xe = & Int(Text4), Ye = & Int(Text3), = & j - n; End IfNext nElseIf Option2.Value = True ThenFor n = 1 To jIf F(m) = 0 And j 0 Thenm = m + 1 l = l + 1 F(m) = F(m - 1) - 2 * Abs(X(m - 1) + 1 X(m) = X(m - 1) + 1 Y(m) = Y(m - 1) Picture1.Line (55

21、00 + 700 * (a + l), 6500 - 700 * (b + k)-(5500 + 700 * (a + l - 1), 6500 - 700 * (b + k) Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print 第 & m & 步, +Y , F( & m & )= & F(m), X( & m & )= & X(m), Y( & m & )= & Y(m), Xe = & Int(Text4), Ye = & Int(Text3), = & j - nElsek = k + 1m = m + 1 F(m) = F(

22、m - 1) + 2 * Abs(Y(m - 1) + 1Y(m) = Y(m - 1) + 1X(m) = X(m - 1) Picture1.Line (5500 + 700 * (a + l), 6500 - 700 * (b + k)-(5500 + 700 * (a + l), 6500 - 700 * (b + k - 1) Form1.CurrentX = 200Form1.CurrentY = 200 + m * 300Print 第 & m & 步, +X , F( & m & )= & F(m), X( & m & )= & X(m), Y( & m & )= & Y(m)

23、, Xe = & Int(Text4), Ye = & Int(Text3), = & j - nEnd IfNext nEnd IfEnd SubPrivate Sub Command3_Click()Text1.Text = Text2.Text = Text3.Text = Text4.Text = Picture1.ClsForm1.ClsEnd Sub七、软件运行仿真效果 八、 参考文献宿迁学院课程设计指导书数控原理与系统计算机编程VB九、设计小结在本次设计中,我们重点分析了逐点比较法的基本原理,这是实现软件插补的基础,有了这个基础,我们可以画出逐点比较法插补软件的流程图,然后根据流程图再对逐点比较法在软件中的插补算法进行描述,由此找出其中的规律,最后在VB软件中设计出一个小巧的软件,并在其中添加插补算法程序,最后导出软件。这次课程设计,帮我们回顾了以前所学的知识,加深了和巩固了对这些知识的印象,对于这次的设计来说,很多东西都具有难度,但在我们不懈的努力下,虽然辛苦,但最终还是完成了,同时我们也在这次设计中掌握了许多平时已经淡忘了的东西,感觉很有成就感,也收获了很多,同时也体会了一个人的力量是有限的,团队的力量是强大的。

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

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