Documente Academic
Documente Profesional
Documente Cultură
Elsevier
41
Applications
1. Introduction
In numerical control (NC) of machine tools,
the desired relative motions between the tool and
the workpiece are produced by interpolations.
Given the feed rates, types of contours and coordinates between end points, the interpolator
computes required machine-axis motions and
generates the commands to the respective machine-axis controllers such that the resultant tool
paths relative to the workpiece follow closely the
specified contours at the required feed rates.
As most tool paths consists of linear and circular segments, a contouring NC controller must be
capable of linear and circular interpolations. Several interpolation techniques have been developed [1-3] to approximate these two commonly
used and essential types of interpolations. The
most notable ones are based on the digital differential analyzer (DDA) integration approach. Besides its suitability for integer computation and
ease of implementation using digital hardware
[2], the advantage of this technique is the uniformity of the feed rate along the circular path as
compared to the other methods [4,5]. However as
most published results [1,5,6] have shown, the
interpolated path computed using the DDA
method tends to spiral out of the desired circular
path. Such increasing deviation from the intended path is not encountered in the case of the
D D A linear interpolation [5]. In this paper, modifications of the conventional D D A technique for
circular interpolations to improve accuracy and
computation speed are described. Results obtained from the best technique are compared
with an LSI interpolator which is reported in
several publications [7-9].
42
Applications
Computers in Industry
est axial motion that an NC machine tool is
capable of attaining, The incremental axial motion is determined by the total number of reference pulses delivered. The axial velocity is proportional to the reference pulse frequency. In the
sampled-data system, the contour is approximated by a series of linear segments. For each
segment, the interpolator computes a reference
word proportional to the local axial velocity to be
generated. The ratio of the reference words of
two orthogonal axes represent the inclination of
the linear segment in the plane of the two axes.
Reference pulse interpolators are simpler to
implement and may be used directly to drive
open-loop systems [3]. However, the reference
pulse interpolator has a maximum attainable feed
rate which is dependent on the iteration rate of
the interpolation algorithm. The accuracy of the
contour generated by a reference pulse interpolator is independent of the feed rate. In the case of
the sampled-data system, the maximum feed rate
is limited by the sampling rate and the accuracy
of the contour to be produced. In general, the
feed rates and contour accuracy produced by
reference pulse interpolators are adequate for
most machining operations [4]. The D D A interpolator is basically a reference pulse interpolator.
Interpolators may be implemented as software
interpolators in microprocessors or hardware interpolators using programmable digital devices
[1]. Software interpolators are implemented
wholly in software on a dedicated microprocessor
so as to attain high interpolation rates. Hardware
interpolators are built from special-purpose programmable large-scale-integration (LSI) or verylarge-scale-integration (VLSI) devices. The dedicated microprocessor or programmable LSI with
the interpolation capability is typically interfaced
to the main processor of the C N C system in a
master-slave configuration. In the following, results obtained from the circular interpolation
function of an LSI interpolator are also presented and compared with those obtained using
software interpolators based on modifications of
the D D A technique.
Computers in Industry
43
"'Xi,,~Xi+l,Vi+l I
Yi I
/'
};;
I
R
= X, + Y/AA,
(3a)
(3b)
Most interpolation algorithms are implemented using integer arithmetics to reduce computation time. Furthermore, for NC machines,
the output (Xi+ 1, Yi+ i) at each iteration step can
only take discrete values which are multiples of
the resolution step of the NC machine. Hence,
the equations used for the circular interpolation
are
x,+,--,V, +
AA,
Y~=I = Y/-Xi A A ,
(4a)
Ob)
Xo,i+ I =
(la)
Y/= R cos A.
(lb)
(2a)
Yi+l = R cos(A + A A ) .
(2b)
Xj+l,
Yo.i+l = Y//+I,
(4c)
(4d)
44
Applications
Computers in Industry
0.SX,(AA)
(Sa)
- 0 . 5 R cos A (AA) 2
-
0.5 (AA) 2,
(7a)
Xo,i+ I--~Xi+ I,
(Tb)
Y/+, = Y / - 2 i + l AA,
(7c)
Yoa+, = Y/+,-
(7d)
Hence,
2.
(7e)
Xi+l=Xi + Yi A A - O . 5 X i ( A A ) 2,
(8a)
Xo,i+ 1 = Xi+ 1,
(8b)
(8c)
Yo,i+, =- ~'+,.
(8d)
v,-x,
= r', - X , a a
Xi+l = Xi + ~ A A
Hence,
sin A ( A A ) 2
A -
(5b)
AA-
1.SP,(AA) 2.
(8e)
(6a)
Y/+,= ~ - X i AA - 0.5~(AA) 2.
(6b)
Xo,i+, =X,+l,
(6c)
Yo,, +, = ~ +,,
(6d)
Computers in Industry
25
25
2O
2O
15
15
lO
"
0
0
o;
10
15
2O
25
I0
25
20
15
15
10
10
10
15
20
II
25
(b)
20
O~
5,
(o)
25
10
45
15
20
25
10
(c)
15
20
25
[d}
251
2o[
15
10
\
5
O~
\
5
I0
15
20
25
(e)
Fig. 2. Clockwise interpolation path for: (a) first-order sequential DDA method; (b) second-order sequential DDA method; (c)
second-order simultaneous DDA method; (d, e) first-order simultaneous DDA method. For (a)-{d) &,4 = 1/20, for (e) AA =
1/1000.
46
Computers in Industry
Applications
Table 1
Maximum and minimum radial errors for the circular interpolation of a quadrant of radius 20 resolution steps
AA
D D A method
Firstorder
sequential
Secondorder
sequential
Firstorder
simuitaneous
Secondorder
simultaneous
1/20
0.6155
- 0.3023
0.6155
- 0.895
0.8806
0
1.4009
0
1/30
0.8806
- 0.201
0.6155
- 0.3531
1.0956
- 0.075
1.3776
0
1/40
0.8806
- 0.2769
0.8806
- 0.3531
0.8806
- 0.1506
1.2132
0
1/50
1.0238
-0.1506
0.8806
-0.3531
1.095
-0.1506
1.2603
0
1/100
1.0238
-0.201
1.0238
-0.201
1.0956
-0.1506
1.095
-0
1/ 1000
1.095
-0.201
1.095
-0.201
1.095
-0.1506
1.095
-0.1506
Hence, a value of AA = 1/R should give acceptable accuracy (i.e. + 1 BLU), where R is the
radius of the circle in BLUs and the algorithm is
iterated at a frequency equal to the desired tool
speed in BLUs per second.
(c) The end point of interpolation is reached
by all the methods except for the first-order simultaneous DDA method. The end point of interpolation is not reached for values of AA from
1/20 to 1/1000 for the first-order simultaneous
DDA method. Hence, the first-order simultaneous DDA method causes a spiraling outwards of
the circle and this effect has already been reported [1,5,6].
(d) The maximum and minimum radial error
of the interpolation is within + 1 BLU for all the
methods except for the first-order simultaneous
DDA method.
In view of the high radial errors produced by
circular interpolations based on the first-order
simultaneous DDA algorithm, this method will
not be further considered in the following comparisons.
e i = R - ( X ~ + Yi2) '/2,
where R is the nominal radius. The value of A A
used for each case is AA = 1/R, where R is the
radius of the circle.
The results show that:
(a) The end point of the interpolation was
reached by all the methods.
(b) The second-order sequential DDA method
gives a quadrant of accuracy within + 1 BLU for
the three radii of circle, as compared to + 1.008
BLU given by the first-order sequential DDA
method. The second-order simultaneous DDA
method gives an accuracy within + 1.21 BLU.
Hence, the first-order and second-order sequential DDA methods are suitable software circular interpolators for producing tool-paths up to
a radius of 223 BLUs with an accuracy of + 1
BLU. The algorithm should be itef'ated at the
feed-rate frequency in BLU/s with AA set equal
to 1/R.
DDA method
First-order
sequential
Second-order
sequential
Second-order
simultaneous
27
0.8914
- 0.3873
0.8759
- 0.9055
1.0736
- 0.0937
2t5
1.0081
- 0.4407
0.9921
- 0.8942
1.209
- 0.1921
223
1.0024
- 0.4533
0.9995
- 0.9209
1.2087
- 0.2039
Computers in Industry
~-
47
1.3
1.2
1.1
m
i ( ~ , x , ' , , X ~ X , ~ . X ~ X , , , _ X . . . . X ~ X ~ X....,X,...X..,. X.m X ~ . X ~ X . , , . X , . , . X
m
"G
"
0.9
0.0
0
2i
s'o 6i
e'o
100
angle
(a)
"=1
El
1.t,
1.3
0m
Z8
1.2
1.1
0
u
"G
,.==
1:
o.9!
0.8 0
8~
90
100
angle
(b]
Fig. 3. Tool-speed accuracy for interpolation of a circle of radius 1000 BLUs: (a) second-order sequential DDA method; (b)
first-order sequential DDA method.
48
Applications
Computersin Industry
----
_t7 '
Fig. 4. Eight possiblecircular interpolationarcs.
tion of the arc stops once X~ reaches the end
point.
First-order simultaneous DDA method:
Y,'+l = Yi + Xi AA,
(9a)
Xi+ I = X i - ~ AA
(9b)
Yo.,+i = ~ +,,
(9e)
Xo,i+ l =Xi+ 1.
(9d)
Yi+,=Yi+2i A A - O . 5 ~ ( A A )
2,
(lOa)
Xi+I=X~ - ~. AA-O.5~;~(AA) 2,
(lOb)
Yo,i+, = ~ + , ,
(10C)
Xo,,+ I = X#+|.
(10d)
(Zla)
E, = Y, + x, a A ,
20
~-
15
10
10
-5
-5
-10
-10
-15
-15
-2
-20
-10
0
(a)
10
20
"2~20
-10
10
20
(b)
Computers in Industry
Xi+l=Xi-
(llb)
Yii+t A A ,
Yo,, + , = Yii + t ,
(11c)
Xo,i+ l = X i + I.
(lld)
49
a,
Yo,i+t = ~ + t ,
Xi+l=Xi
- Yi+l AA - 0.5"~i(AA) 2,
Xo,i+ l = Xi + I.
(12a)
(12b)
(12c)
(12d)
-AXIS
i
50
Applications
Computers in Industry
A CNC system based on the KM3701 interpolator chip has been developed for an IBM ATcompatible microcomputer [9,15]. Using this system, the contour accuracy and feed-rate constancy of the chip have been verified. The interpolation pulses from the chip were captured on a
storage oscilloscope with the microcomputer and
KM3701 running at 8 MHz and 1 MHz respectively. The pulse rate from the feed-rate clock
was 1 kHz. The effect of the v~- compensation is
shown in Figs. 7 and 8. For circular interpolation
using V~ compensation it was found that the next
feedpulse after the first interpolation pulse of the
short axis was ignored (Fig. 8b). The subsequent
interpolation pulses follow the ~ compensation
rule. The interpolation path of a full circle is
shown in Fig. 9. The interpolated paths show
that:
Y-AXIS
llllll
IIlll IIl llllll
CLOCK
lllfllllllilllllillllllllllllillllllllllllllllllll
25
10
15
20
CH2:05.0Y : 5ms
CH3:05.0V : 5 ms
20
15
10
5
0
Y-AXIS
I] II II]ll'lllllll]ll/
K-AXIS
CH2:05,0V : 5ms
EIIlllllll[lll
fl Ill
:LOCK
lilllllllilllilll"[lil[lllillllllllllllllllllllliill
25
25
CH3~05,0V: 5 ms
20
15
10
5
0
, ,
5
10
15
20
25
Fig. 7. Time sequence of interpolation pulses for clockwise
circular interpolation of a quadrant of a circle of radius 20
BLUs, without y~" compensation.
Computers in Industry
:~o/
20 , ~ - 15
10
5
NC code
GO2XI,
O YOI20
GO2X%OVOI-20
~
NCcode
GO3X-40VOI-20
GO3X40VOI20
-5
-10
-15
-20
, ~
51
-5
-10 ~
-15
10
20
30
20
I,O
10
(a]
'
20
30
40
(b)
The tool speed obtained with the x/2 compensation varies from 1 to 0.894 times the desired tool
speed. That obtained without the V~ compensation varies from 1 to 1.41 times the desired tool
speed. Hence, with the v~ compensation, the
interpolator gives a reasonably accurate tool
speed for circular interpolation.
5. Conclusions
The performance of four reference pulse software circular interpolators and a hardware interpolator for numerical control manufacturing systems has been presented in this study which leads
to the following conclusions:
Circular Interpolation
1.5
1.4
---Theoretical
o,x Experimental
f
S~04,PS'~J
4" ~ ' 0 ' 1 ' 0 ' ~ 0
with compensation
I<_,.=,...X~ X ~ x ' ' ' '
0.9
0.8
S"
4,,,,'
"~ 1.1
'-"-=
,I
lh
1[
io
3h
45
52
Applications
References
[1] W. Simon, "Computer in machine-tool control systems",
in: The Numerical Control of Machine Tools, Translated
Edition, Edward Arnold, 1973, chap. 8.
Computers in Industry
[2] Y. Koren, "Interpolators for manufacturing systems", in:
Computer Control of Manufacturing Systems, McGrawHill, New York, 1983, chap. 5.
[3] A. Poo and J.G. Bollinger, "Digital-analog servo system
design for CNC", Proc. 9th Ann. Meet. IEEE Ind. Appl.
Soc., October 1977, pp. 621-629.
[4] Y. Koren and O. Masory, "Reference-pulse circular interpolators for CNC systems", Trans. ASME, J. Eng. Ind.,
Vol. 103, No. 1, 1981, pp. 131-136.
[5] M. Week, "Geometry processing", in: Handbook of Machine Tools, Vol. 3, Wiley, New York, 1984, chap. 8.
[6] T.R. Sizer, The Digital Differential Analyzer, Chapman &
Hall, London, 1968.
[7] G.M.A. Ajit and C.S. Sridhar, "Advanced CNC system
using multibus compatible hardware and portable software", Proc. 23rd Int. Machine Tool Design and Research
Conf., 14-15 September 1982, Manchester, pp. 85-92.
[8l W.C. Choong, A microprocessor controller for numerically controlled machine tools, M.Sc Dissertation, The
Victoria University of Manchester, 1981.
[9] F.S. Lira, Y.S. Wong and M. Rahman, "Design and
development of a PC-based CNC system v~ing LSI chips",
J. Inst. Eng., (Singapore), Vol. 30, No. 1, 1990, pp. 63-69.
[10] B.W. Jordan, W.J. Lenon and B.D. Holm, "An improved
algorithm for generation of nonparametric curves", IEEE
Trans. on Comput., Vol. C-22, No. 12, 1973, pp. 10521060.
[11] T. Pfeofer and T. Derenbach, "Report on a special CNC
system", Proc. 14th Int. Machine Tool Design and Research Conf., 12-14 September 1973, Manchester, pp.
367-372.
[12] R. Hariharan, K.S. Rao and J.N. Bhattacharjee, "Design
of a microprocessor.based NC system", IEEE ~rans. Ind.
Electron. Control lnstrum., Vol. IECI-25, No. 4, 1978, pp.
355-362.
[13] C. Bergren, "A simple algorithm for circular interpolations", Control Eng., Vol. 18, No. 9, 1971, pp. 57-59.
[14] Toko Electronick GmbH, Operation Manual CMOS LSI
KM3701, 1981.
[15] F.S. Lim, Development of a microcomputer controlled
multi-axis NC system, MEng Dissertation, National University of Singapore, 1991.