数控插补实验指导书Word文档下载推荐.docx
- 文档编号:22169187
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:14
- 大小:88.72KB
数控插补实验指导书Word文档下载推荐.docx
《数控插补实验指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数控插补实验指导书Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
取
(3-1)称为直线插补的判别式。
若Fm=0,表明m点在直线OA上;
若Fm>
0,表明m点在直线OA上方的m’处;
若Fm<
0时,表明m点在直线OA下方的m’’处。
对于第一象限直线,从起点出发,沿+X轴方向走一步,当Fm<
0时,沿+Y方向走一步,当两方向所走的步数与终点坐标(Xe,Ye)相等时,发出到达终点信号,停止插补。
设在某加工点处,若Fm≥0时,应沿+X方向进给一步,走一步后新的坐标值为Xm+1=Xm+1Ym+1=Ym
新的偏差为Fm+1=Ym+1Xe-Xm+1Ye=Fm-Ye(3-2)
0,应向+Y方向进给一步,走一步后新的坐标值为
Xm+1=XmYm+1=Ym+1
新的偏差为Fm+1=Fm+Xe(3-3)
式(3-2)、(3-3)为简化后的偏差计算公式,在公式中只有加,减运算,只要将前一点的偏差值与等于常数的终点坐标Xe,Ye相加或相减,即可得到新的坐标点的偏差值。
加工的起点是坐标原点,起点的偏差是已知的,即F0=0,这样随着加工点的前进,新加工点的偏差Fm+1都可以由前一点的偏差Fm和终点坐标值相加或相减得到,称为递推法。
(二)终点判别
逐点比较法的终点判断有多种方法,下面介绍两种。
1.第一种方法设置X、Y两个减法计数器,加工开始前,在X、Y计数器中分别存入终点坐标值Xe、Ye,在X坐标(或Y坐标)进给一步时,就在X计数器(或Y计数器)中减去1,直到这两个计数器中的数都减到零时,便到达终点。
2.第二种方法用一个终点计数器,寄存X和Y两个坐标,从起点到达终点的总步数∑=︱Xe︱+︱Ye︱;
X、Y坐标每进给一步,∑减去1,直到∑为零时,就到了终点。
本实验中采取了第二种方法。
(三)插补运算过程
插补计算时,每走一步,都要进行以下四个步骤(又称四个节拍)的算术运算或逻辑判断,其工作循环如3-2图所示。
1.方向判定根据偏差判定进给方向。
2.坐标进给根据判定的方向,向该坐标方向发一进给脉冲。
3.偏差计算每走一步到达新的坐标点,按偏差公式计算新的偏差。
4.终点判别判别是否到达终点,就结束该插补运算;
如未到达,再重复上述循环步骤。
逐点比较法直线插补计算流程如下图3-3所示。
以上是采用逐点比较法进行直线插补的工作原理及程序流程图。
需要说明的是,我们在实验室做插补实验时,是不能直接采用教科书中的相关例题中的数据的。
原因很简单,因为对于实验室中由步进电动机驱动的二维平台来说,其脉冲当量很小,(当步进电动机驱动器的细分设置值选定在4时,实测脉冲当量大约在5um左右,实际数控机床系统的脉冲当量可能更小)而课本上的例题,为了在有限的篇幅中说明插补的全过程,一般都把插补的总步数限制在20步以内。
所以,如果按照课本例题所给的数据,在二维平台上做实验,那么,20步的总移动量仅为20×
5um=0.1mm,显然,用这样的数据来演示插补过程是很难收到预期的效果的。
我们希望通过实验能直观地看出插补的效果,那么,每次插补,平台至少应当移动10mm左右,那就起码应当进行2000步左右的插补运算才能实现。
考虑到我们使用的89C51是8位单片机,单字节带符号运算时,实际数据应处在+/-127之间。
为了减少编程工作量,对于直线插补,考虑到直线插补的线性因素,我们可以在采用单字节算法的基础上加设外循环,并用增加外循环次数的方法来增加插补的总次数;
而对于圆弧插补,则不得不采用双字节运算的方法来满足算法编程的需要。
现将采用逐点比较算法编制的单片机直线插补程序ZDBJL1介绍如下。
该程序为第1象限直线插补而设计,起点为原点,终点坐标为(2000,2000)。
org0000h
ajmpstart
org0050h
start:
movsp,#65h
clrp1.4;
进入程序标志
clrp0.2
clrp0.3
clrp0.4
clrp2.2
clrp2.3
clrp2.4;
初始化
main:
clrp1.5;
开始供电
setbp0.3
setbp2.3
movr7,#14h;
20设置外循环次数
lop:
movr0,#64h;
Xe=100
movr1,#64h;
Ye=100
movr2,#0c8h;
∑=200
movr3,#00h;
ff1:
mova,r3;
A←Fm
jbacc.7,f2;
判断F≥0?
否,转移至f2
subba,r1;
A←F=Fm-Ye
movr3,a;
保存偏差
jbp2.0,noxx;
查限位
ajmpstart;
如果限位动作,则放弃
noxx:
acallstepx;
+X走步
sjmpf3;
至终点判断
f2:
adda,r0;
A←F=Fm+Xe
jbp0.0,noxy;
noxy:
acallstepy;
+Y走步
f3:
decr2;
∑-1
cjner2,#00h,ff1;
∑等于零否,否则转ff1
djnzr7,lop;
执行外循环增加步数
wait:
ajmpwait;
踏步
stepx:
setbp2.2;
+X走步子程序
acalldelay1;
调用高电平延时子程序
acalldelay2;
调用低电平延时子程序
ret
stepy:
setbp0.2;
+Y走步子程序
acalldelay1
acalldelay2
delay1:
movr4,#0ah
dela4:
djnzr4,dela4;
高电平有效时间为10us
delay2:
movr6,#05h
dela5:
movr5,#0c8h
dela3:
djnzr5,dela3;
低电平有效时间为1000us
djnzr6,dela5
end
(四)不同象限的直线插补计算
上面讨论的为第一象限的直线插补计算方法,其他三个象限的直线插补计算法,可用相同的原理获得。
表3-4列出了在四个象限中的直线插补时,其偏差计算公式和进给脉冲方向。
计算时,公式中Xe,Ye均用绝对值。
根据以上原理,配套单片机程序中给出了ZDBJL2为第2象限逐点比较法直线插补程序;
ZDBJL3为第3象限逐点比较法直线插补程序;
ZDBJL4为第4象限逐点比较法直线插补程序。
(五)实验步骤
建议学生在做后续的项目实验之前,先预习熟悉和理解ZDBJL1单片程序。
只有在理解单片机软件的基础之上,做本实验才能收到预期的效果。
1)调整笔架和平台的相对位置,使之适合画出平台的运动轨迹。
连接二维数控平台与单片机板卡StepMotorDriver1、连接WV仿真器的仿真插头以及与计算机通信线路,接通仿真器电源、运行并设置WV仿真软件。
2)调用直线插补程序
在WV仿真软件的主界面上,用鼠标左键点击WV仿真软件主界面上第一行菜单中的“文件(F)”,在随后出现的下拉菜单上选中“打开文件”并点击,在随后出现的“打开文件”对话框中,选择文件路径为:
D:
\自制设备\实验程序\ZDBJL1并打开,ZDBJL1的汇编语言源程序便出现在主界面上。
3)编译、运行程序
程序调出之后,用左键点击WV仿真器软件菜单栏中的“项目(P)”,在随后出现的下拉式菜单中,点击“编译”项,WV软件平台的左下方的信息窗口中便会出现有关程序已通过编译的提示。
(当然,如果学生已经修改过程序,而且在修改中发生了错误时,该窗口也会给出“出错”信息的提示)。
在程序通过编译之后,便可以运行了,在运行之前,还需先检查一下电源供电是否正常(一般只需观察二维平台控制电源板上的发光管是否已经点亮便可确认),如果发光管不亮,应首先检查二维平台的电源插头是否已经插入电源插座之中。
在确认机床外围电路供电正常之后,便可运行程序。
方法是:
用左键点击WV仿真器软件菜单栏中的“执行(R)”,在随后出现的下拉式菜单中,点击“全速运行”项,机床便开始运动,根据本程序设定,步进电动机在以X轴向成450斜角插补了14mm左右之后,就自动停止运行。
4)电动机停止运行,表明程序已经执行到了某一个循环点,程序本身仍在执行之中。
此时应再次用左键点击WV仿真器软件菜单栏中的“执行(R)”,在随后出现的下拉式菜单中,点击“暂停”项,使程序中止运行,此时可以观察到程序中止的当前位置以及相关RAM中的数据。
5)程序的复位。
在程序进入暂停之后,用左键再次点击WV仿真器软件菜单栏中的“执行(R)”,在随后出现的下拉式菜单中,点击“复位”项,使程序完全退出运行状态,重新回到了调试状态。
6)在程序复位后,可以对程序按如下不同的项目进行修改,然后重新编译、运行程序。
每次修改和运行,都实现了某项知识点的实验和验证。
(六)实验项目
1)插补长度修改。
复位单片机程序ZDBJL1,修改程序第15行,将原来“movr7,#14h”修改为“movr7,#0ah”,修改完毕后重新编译、运行程序,比较修改前后的不同效果。
2)插补斜率修改。
复位并恢复单片机程序ZDBJL1,修改程序第16、17行,将原来“movr0,#64h”修改为“movr0,#50h”;
将原来“movr1,#64h”修改为“movr1,#78h”,修改完毕后重新编译、运行程序,比较修改前后的不同效果。
3)插补象限修改。
复位并恢复单片机程序ZDBJL1,修改程序第13行或14行,即将原来“setbp0.3”修改为“clrp0.3”;
或将原来“setbp2.3”修改为“clrp2.3”,或将两句同时进行修改,修改完毕后重新编译、运行程序,比较修改前后的不同效果。
请列表将三种改动后的不同效果加以说明。
4.分析和思考的问题
1)在直线插补中,我们已选择默认的直线起点在哪里?
2)如果题目要求A(X0,Y0)、B(Xe,Ye)都不在原点上,应当如何进行插补?
3)对于一条已知函数的曲线,应当如何进行插补?
3.2圆弧插补原理
(一)偏差计算公式
下面以第一象限逆圆弧为例讨论偏差计算公式。
如图3-6所示,
设需要加工圆弧AB,圆弧圆心在坐标原点,已知圆弧起点为A(
),终点为B(Xe,Ye),圆弧半径为R。
令瞬时加工点为Rm(Xm,Ym),它与圆心的距离为R。
比较Rm和R来反映加工偏差
因此,可得圆弧偏差判别式如下,即
若
=0,表明加工点m在圆弧上;
表明加工点m在圆弧外;
表明加工点m在圆弧内。
设加工点正处于R
点,其判别式为
。
若Fm≥0,对于第一象限的逆圆,为了逼近圆弧,应沿-X方向进给一步,到(m+1)点,其坐标值为
新加工点的偏差为
(2-4)
0,为了逼近圆弧应沿+Y方向进给一步,到
点其坐标值为,
新加工点的偏差为
(2-5)
由式(2-4)和式(2-5)可知,只要知道前一点的偏差,就可以求出新一点的偏差。
因为加工是从圆弧的起点开始,起点的偏差
所以新加工的偏差总可以根据前一点的数据计算出来。
圆弧插补的终点判别方法和直线插补相同。
可将从起点到终点X、Y轴走步步数的总和
|
|+|
|存入一个计数器中,每走一步,从∑中减区1,当Σ=0时,发出终点到达信号,也可以选择一个坐标的走步数作为终点判断。
注意,此时应选择到达终点坐标步数小的那一个坐标。
(三)插补计算过程
圆弧插补过程和直线插补计算过程相同,但是偏差计算公式不同,而且在偏差计算的同时还要进行动点的瞬间坐标值计算,以便为下一点的偏差计算做好准备。
逐点比较法圆弧插补终点判别方法与直线插补时类似,但同样出于二维平台插补足够的总步数的需求,在编写实际插补程序时,采用了双字节运算的方案。
第一象限逐点比较法逆圆弧插补计算流程如图3-7所示。
实验程序中,单片机程序NR1_ZD为加工第1象限逆圆弧AE,起点A的坐标为(2000,0),终点E的坐标为(0,2000),采用了逐点比较法进行插补。
单片机程序NR2_ZD为加工第2象限逆圆弧AE,起点A的坐标为(0,2000),终点E的坐标为(-2000,0),采用了逐点比较法进行插补;
单片机程序NR3_ZD为加工第3象限逆圆弧AE,起点A的坐标为(-2000,0),终点E的坐标为(0,-2000),采用了逐点比较法进行插补;
单片机程序NR4_ZD为加工第4象限逆圆弧AE,起点A的坐标为(0,-2000),终点E的坐标为(2000,0),采用了逐点比较法进行插补。
所以,如进行逆时针整圆插补时,应按NR1_ZD、NR2_ZD、NR3_ZD、NR4_ZD、的顺序进行操作。
单片机程序SR1_ZD为加工第1象限顺圆弧AE,起点A的坐标为(0,2000),终点E的坐标为(2000,0),采用了逐点比较法进行插补;
单片机程序SR2_ZD为加工第2象限顺圆弧AE,起点A的坐标为(-2000,0),终点E的坐标为(0,2000),采用了逐点比较法进行插补;
单片机程序SR3_ZD为加工第3象限顺圆弧AE,起点A的坐标为(0,-2000),终点E的坐标为(-2000,0),采用了逐点比较法进行插补;
单片机程序SR4_ZD为加工第4象限顺圆弧AE,起点A的坐标为(2000,0),终点E的坐标为(0,-2000),采用了逐点比较法进行插补。
所以,如进行顺时针整圆插补时,应按SR1_ZD、SR4_ZD、SR3_ZD、SR2_ZD的顺序进行操作。
3.3圆弧插补实践体验题
调用实验程序文件夹中的相应文件,分别绘出顺圆弧整圆和逆圆弧整圆。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)