APP下载

基于单片机的新型逐点比较直线插补法设计

2009-05-12高海涛

现代电子技术 2009年2期
关键词:汇编语言

摘 要:随着社会的发展,资源越来越紧张,建立节约型社会的要求更加迫切。提出一种插补方法,其在改进单片机程序设计的基础上利用两轴联动走斜线取代原来的单轴单向运动走直角,可以更好地逼近工件的加工面,提高加工精度和零件表面质量,综合地减少了原材料和加工成本。

关键词:逐点比较;直线插补;两轴联动;汇编语言

中图分类号:TN409文献标识码:B

文章编号:1004 373X(2009)02 123 03

Design of New Point by Point Comparison Straight Line

Interpolation Based on Single Chip Computer

GAO Haitao

(Luoyang Technical Institute,Luoyang,471023,China)

Abstract:Along with development of sciety,the resources are shortened,it is urgent to establish economical society.The interpolation method applies two axis linkages on the improvement of single chip computer′s circuit programming foundation to walk the oblique line substitution original single axle unidirectional movement to walk the right angle,may approach the machined surface of work piece,improve the processing precision and the components′surface quality,reduce raw material and the processing cost.

Keywords:point by point comparison;straight line interpolation;two axis linkages;assembly language

0 引 言

随着社会的发展,资源越来越紧张,建立节约型社会的要求更加迫切。科技工作者都在尽力改进设计、工艺,以减少原材料和人工的投入,取得更大的效益。在教学和生产过程中,发现教科书与实际数控系统实现插补的方法都是单轴单向走直角运动,这样在工件的表面就会形成直角的加工轮廓,导致粗糙度大。如果能采用两轴联动走斜线的方法,就能更好地逼近工件的外形,提高加工精度和零件表面质量。

1 设计原理

该设计中采用两轴联动插补(图1中细实线表示的走刀路线,x和y相电机可以同时运动)与常用的单轴插补(图1中虚线表示的走刀路线,x和y相电机在某一时刻只有1个运动)相比,可以明显地减小零件表面的粗糙度,提高加工质量。

两轴联动逐点比较法的插补分为5个步骤,以第一象限为例:

第一步:根据直线偏向判定插补方向。如图1所示,根据要加工的直线两端点A(x璦,y璦),B(x璪,y璪)的坐标判定要加工的直线偏向及插补方向;当x璭(x璪-x璦 )≥y璭(y璪-y璦)时,加工轮廓偏向x 轴,走x和xy;当x璭(x璪-x璦 )<y璭( y璪-y璦)时,加工轮廓偏向y 轴,走y和xy。

图1 两轴联动比较插补

第二步:偏差判别。判别刀具当前位置相对于给定轮廓的偏差状况;直线AB上任一点C(x,y) ,其坐标满足:x/y=x璭/y璭,若刀具加工点为P璱(x璱,y璱),则该点的偏差函数与加工直线的位置关系为:F璱= 0,表示加工点位于直线上; F璱> 0,表示加工点位于直线上方;F璱< 0,表示加工点位于直线下方。

第三步:坐标进给。根据偏差控制坐标轴进给,使加工点向被加工轮廓靠拢,见表1。

表1 坐标进给与加工点的关系

F>0F=0F<0

x璪-x璦>y璪-y璦(偏向x轴)沿x轴进给一步沿xy轴进给一步沿xy轴进给一步

x璪-x璦=y璪-y璦沿xy轴进给一步

x璪-x璦<y璪-y璦(偏向y轴)沿xy轴进给一步沿xy轴进给一步沿y轴进给一步

第四步:计算新偏差。刀具进给一步后,坐标点位置发生了变化,计算新位置的偏差值;x璱,y璱为当前插补点的动态坐标,其原始的偏差计算公式为:

F璱=x璭y璱-x璭y璪

沿x轴进给一步,动态坐标变为(x璱+1=x璱+1,y璱+1=y璱),新偏差变为:

F璱+1=x璭y璱-(x璱+1)y璭=x璭y璱-x璱y璭-y璭=

F璱-y璭

沿y进给一步,动态坐标变为(x璱+1=x璱,y璱+1=y璱+1),新偏差变为:

F璱+1=x璭(y璱+1)-x璱y璭=x璭y璱-x璱y璭+x璭=

F璱+ x璭

xy联动进给一步,动态坐标变为(x璱+1=x璱+1,y璱+1=y璱+1),新偏差变为:

F璱+1=x璭(y璱+1)-(x璱+1)y璭=

x璭y璱-x璱y璭+x璭-y璭=F璱+ x璭-y璭

第五步:终点判别。判别长轴坐标x或y坐标是否到达终点,若已经插补到终点,则返回监控。

两轴联动逐点比较法的第一象限直线插补软件流程图如图2所示。

2 程序设计

2.1 存储单元分配

存储单元分配4FH,50H为终判值;4DH,4EH为x璭(x璪-x璦);4BH,4CH为y璭(y璪-y璦);49H,4AH为偏差值F;47H为y电机当前相序;48H为x电机当前相序;以大地址格式(低地址单元存放高位数据)存放各种数据。

2.2 程序清单

CHABU :MOV SP,#60H;定义堆栈指针

MOV 4AH,#00H;偏差单元清零

MOV 49H,#00H

MOV 47H,#00H;初始化x电动机

MOV 48H,#00H;初始化y电动机

MOV P1,#11H ;x,y电动机A相上电

MOV A,4EH;计算终点判别,x璭,y璭低位减

CLR C

SUBB A,4CH

MOV A,4DH;x璭,y璭高位减

SUBB A,4BH

JCy;x璭≤y璭

x:MOV 50H,4EH ;x,xy插补,x向坐标为判终坐标

MOV 4FH,4DH

SJMP XLP2

Y:MOV 50H,4CH;y,xy插补,y向坐标为判终坐标

MOV 4FH,4BH

YLP2:MOV A,49H;取偏差F的高8位

JB ACC.7,YJP;偏差F< 0,去y进给

ACALL XYJPZ;F≥0,调xy进给及偏差计算

ACALL ZZJY

JNZ YLP2 ;终判值不为零,去YLP2,否则插补结束

RET

YJP: ACAL YJPZ

ACALL ZZJY

JNZ YLP2

RET

XLP2:MOV A,49H;取偏差F的高8位

JNB ACC.7,XJP;偏差F> 0,去x进给

ACALL XYJPZ;F≤0,调xy进给及偏差计算

ACALL ZZJY

JNZ XLP2;终判值不为零,去XLP2,否则插补结束

RET

XJP: ACAL XJPZ

ACALL ZZJY

JNZ XLP2

RET

XYJPZ:ACALL XYJING ;xy进给

CLR C;计算新偏差F值,F璱+1=F璱-y璭+x璭

MOV A,4AH

SUBB A,4CH;可向高位字节借位

MOV 4AH,A

MOV A,49H

SUBB A,4BH

MOV 49H,A

MOV A,4AH

ADD A,4EH

MOV 4AH,A

MOV A,49H

ADDC A,4DH

MOV 49H,A

RET

YJPZ:ACALL YJING;调y电动机正转子程序

MOV A,4AH ;计算新偏差F值,F=F+x璭

ADD A,4EH

MOV 4AH,A

MOV A,49H

ADDC A,4DH

MOV 49H,A

RET

XJPZ:ACALL XJING;x进给

CLR C;计算新偏差F值,F璱+1=F璱-y璭

MOV A,4AH

SUBB A,4CH;可向高位字节借位

MOV 4AH,A

MOV A,49H

SUBB A,4BH

MOV 49H,A

RET

ZZJY:CLR C;终判值减1

MOVA,50H

SUBB A,#01H;可向高位字节借位

MOV 50H,A

MOV A,4FH

SUBB A,#00H;考虑低位字节借位

MOV 4FH,A ;终判值判零

ORL A,50H

RET

XJING:MOV DPTR,#XDATA

INC 48H;取下一节拍相序

CJNE 48H,#06H,S1

MOV 48H,#00H

S1:MOV A,48H

MOVC A,@A+DPTR

MOV 46H,A

ORL A,45HH;保存y电动机原状态不变

MOV P1,A

RET

YJING:MOV DPTR,#YDATA

INC 47H;取下一节拍相序

CJNE 47H,#06H,S2

MOV 47H,#00H

S2:MOV A,47H

MOVC A,@A+DPTR

MOV 45H,A

ORL A,46H;保存x电动机原状态不变

MOV P1,A

RET

XYJING:MOV DPTR,#XDATA

INC 48H ;取下一节拍相序

CJNE 48H,#06H,S11

MOV 48H,#00H

S11:MOV A,48H

MOVC A,@A+DPTR

MOV 46H,A

MOV DPTR,#YDATA

INC 47H ;取下一节拍相序

CJNE 47H,#06H,S22

MOV 47H,#00H

S22:MOV A,47H

MOVC A,@A+DPTR

MOV 45H,A

ORL A,46H

MOV P1,A

RET

图2 两轴联动逐点比较法的第一象限直线插补软件流程

3 结 语

在设计原系统中使用新的插补程序后,产品的表面质量和精度都有了很大提高,并且减少了下道工序的加工时间,降低了加工成本,提高了生产效益。

参考文献

[1]李全利.单片机原理与应用.北京:清华大学出版社,2004.

[2]潘新民.微型计算机控制技术.北京:人民邮电出版社,1985.

[3]陈隆昌.控制电机.西安:西安电子科技大学出版社,2000.

[4]余永权.功率接口技术.北京:北京航空航天大学出版社,1992.

[5]徐夏民.数控原理与数控系统.北京:北京理工大学出版社,2006.

[6]喻萍.单片机原理与接口技术.北京:化学工业出版社,2006.

[7]李朝青.单片机原理与接口技术.北京:北京航空航天大学出版社,2004.

[8]万福君.MCS-51单片机原理、系统设计与应用.北京:清华出版社,2008.

[9]姜志海.单片微型计算机原理与应用.北京:机械工业出版社,2007.

[10]斯帕索夫.微控制器原理与应用.北京:清华大学出版社,2006.

作者简介 高海涛 女,1966年出生,高级工程师。主要从事电子电气设计方面的工作。

猜你喜欢

汇编语言
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
提高《汇编语言程序设计》教学效率的思考与实践
计算机中几个语言的理解
汇编语言在C语言学习中的应用
汇编语言在大学生能力培养中的研究与探索
试论汇编语言与C语言的混合程序设计技术
教改,不能只做减法了事