摘 要:隨著社會的發(fā)展,資源越來越緊張,建立節(jié)約型社會的要求更加迫切。提出一種插補方法,其在改進單片機程序設計的基礎上利用兩軸聯(lián)動走斜線取代原來的單軸單向運動走直角,可以更好地逼近工件的加工面,提高加工精度和零件表面質(zhì)量,綜合地減少了原材料和加工成本。
關(guān)鍵詞:逐點比較;直線插補;兩軸聯(lián)動;匯編語言
中圖分類號: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 引 言
隨著社會的發(fā)展,資源越來越緊張,建立節(jié)約型社會的要求更加迫切??萍脊ぷ髡叨荚诒M力改進設計、工藝,以減少原材料和人工的投入,取得更大的效益。在教學和生產(chǎn)過程中,發(fā)現(xiàn)教科書與實際數(shù)控系統(tǒng)實現(xiàn)插補的方法都是單軸單向走直角運動,這樣在工件的表面就會形成直角的加工輪廓,導致粗糙度大。如果能采用兩軸聯(lián)動走斜線的方法,就能更好地逼近工件的外形,提高加工精度和零件表面質(zhì)量。
1 設計原理
該設計中采用兩軸聯(lián)動插補(圖1中細實線表示的走刀路線,x和y相電機可以同時運動)與常用的單軸插補(圖1中虛線表示的走刀路線,x和y相電機在某一時刻只有1個運動)相比,可以明顯地減小零件表面的粗糙度,提高加工質(zhì)量。
兩軸聯(lián)動逐點比較法的插補分為5個步驟,以第一象限為例:
第一步:根據(jù)直線偏向判定插補方向。如圖1所示,根據(jù)要加工的直線兩端點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 兩軸聯(lián)動比較插補
第二步:偏差判別。判別刀具當前位置相對于給定輪廓的偏差狀況;直線AB上任一點C(x,y) ,其坐標滿足:x/y=x璭/y璭,若刀具加工點為P璱(x璱,y璱),則該點的偏差函數(shù)與加工直線的位置關(guān)系為:F璱= 0,表示加工點位于直線上; F璱> 0,表示加工點位于直線上方;F璱< 0,表示加工點位于直線下方。
第三步:坐標進給。根據(jù)偏差控制坐標軸進給,使加工點向被加工輪廓靠攏,見表1。
表1 坐標進給與加工點的關(guān)系
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軸進給一步
第四步:計算新偏差。刀具進給一步后,坐標點位置發(fā)生了變化,計算新位置的偏差值;x璱,y璱為當前插補點的動態(tài)坐標,其原始的偏差計算公式為:
F璱=x璭y璱-x璭y璪
沿x軸進給一步,動態(tài)坐標變?yōu)椋▁璱+1=x璱+1,y璱+1=y(tǒng)璱),新偏差變?yōu)椋?/p>
F璱+1=x璭y璱-(x璱+1)y璭=x璭y璱-x璱y璭-y璭=
F璱-y璭
沿y進給一步,動態(tài)坐標變?yōu)椋▁璱+1=x璱,y璱+1=y(tǒng)璱+1),新偏差變?yōu)椋?/p>
F璱+1=x璭(y璱+1)-x璱y璭=x璭y璱-x璱y璭+x璭=
F璱+ x璭
xy聯(lián)動進給一步,動態(tài)坐標變?yōu)椋▁璱+1=x璱+1,y璱+1=y(tǒng)璱+1),新偏差變?yōu)?
F璱+1=x璭(y璱+1)-(x璱+1)y璭=
x璭y璱-x璱y璭+x璭-y璭=F璱+ x璭-y璭
第五步:終點判別。判別長軸坐標x或y坐標是否到達終點,若已經(jīng)插補到終點,則返回監(jiān)控。
兩軸聯(lián)動逐點比較法的第一象限直線插補軟件流程圖如圖2所示。
2 程序設計
2.1 存儲單元分配
存儲單元分配4FH,50H為終判值;4DH,4EH為x璭(x璪-x璦);4BH,4CH為y璭(y璪-y璦);49H,4AH為偏差值F;47H為y電機當前相序;48H為x電機當前相序;以大地址格式(低地址單元存放高位數(shù)據(jù))存放各種數(shù)據(jù)。
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,調(diào)xy進給及偏差計算
ACALL ZZJY
JNZ YLP2 ;終判值不為零,去YLP2,否則插補結(jié)束
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,調(diào)xy進給及偏差計算
ACALL ZZJY
JNZ XLP2;終判值不為零,去XLP2,否則插補結(jié)束
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;可向高位字節(jié)借位
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;調(diào)y電動機正轉(zhuǎn)子程序
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;可向高位字節(jié)借位
MOV 4AH,A
MOV A,49H
SUBB A,4BH
MOV 49H,A
RET
ZZJY:CLR C;終判值減1
MOVA,50H
SUBB A,#01H;可向高位字節(jié)借位
MOV 50H,A
MOV A,4FH
SUBB A,#00H;考慮低位字節(jié)借位
MOV 4FH,A ;終判值判零
ORL A,50H
RET
XJING:MOV DPTR,#XDATA
INC 48H;取下一節(jié)拍相序
CJNE 48H,#06H,S1
MOV 48H,#00H
S1:MOV A,48H
MOVC A,@A+DPTR
MOV 46H,A
ORL A,45HH;保存y電動機原狀態(tài)不變
MOV P1,A
RET
YJING:MOV DPTR,#YDATA
INC 47H;取下一節(jié)拍相序
CJNE 47H,#06H,S2
MOV 47H,#00H
S2:MOV A,47H
MOVC A,@A+DPTR
MOV 45H,A
ORL A,46H;保存x電動機原狀態(tài)不變
MOV P1,A
RET
XYJING:MOV DPTR,#XDATA
INC 48H ;取下一節(jié)拍相序
CJNE 48H,#06H,S11
MOV 48H,#00H
S11:MOV A,48H
MOVC A,@A+DPTR
MOV 46H,A
MOV DPTR,#YDATA
INC 47H ;取下一節(jié)拍相序
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 兩軸聯(lián)動逐點比較法的第一象限直線插補軟件流程
3 結(jié) 語
在設計原系統(tǒng)中使用新的插補程序后,產(chǎn)品的表面質(zhì)量和精度都有了很大提高,并且減少了下道工序的加工時間,降低了加工成本,提高了生產(chǎn)效益。
參考文獻
[1]李全利.單片機原理與應用.北京:清華大學出版社,2004.
[2]潘新民.微型計算機控制技術(shù).北京:人民郵電出版社,1985.
[3]陳隆昌.控制電機.西安:西安電子科技大學出版社,2000.
[4]余永權(quán).功率接口技術(shù).北京:北京航空航天大學出版社,1992.
[5]徐夏民.數(shù)控原理與數(shù)控系統(tǒng).北京:北京理工大學出版社,2006.
[6]喻萍.單片機原理與接口技術(shù).北京:化學工業(yè)出版社,2006.
[7]李朝青.單片機原理與接口技術(shù).北京:北京航空航天大學出版社,2004.
[8]萬福君.MCS-51單片機原理、系統(tǒng)設計與應用.北京:清華出版社,2008.
[9]姜志海.單片微型計算機原理與應用.北京:機械工業(yè)出版社,2007.
[10]斯帕索夫.微控制器原理與應用.北京:清華大學出版社,2006.
作者簡介 高海濤 女,1966年出生,高級工程師。主要從事電子電氣設計方面的工作。