5
IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS AND CONTROL INSTRUMENTATION, VOL. IECI- 24, No. 2, MAY 1977 RESOLVER IN DIGITAL CONTROL LOOP Yoram Koren, Member IEEE ABSTRACT A digital control loop based on a resolver as feedback device is considered. This technique is popu- lar in NC systems of machine tools. The control cir- cuit transforms a train of pulses generated by a digi- tal interpolator into a phase-modulated command signal and compares it with a phase-modulated feedback signal. The resulting phase-difference is the drive signal to the motor. The principle of the loop is explained, and a mathematical analysis is presented. INTRODUCTION One of the most popular techniques in numerical control (NC) of machine tools is based on a resolver as feedback device. A typical NC unit comprises several controlled axes, each of them equipped with a resolver. All control circuits of these axes are identical, hence an analysis involving a single control loop should suf- fice. In NC literature it is hard to find a complete analysis of a control loop which contains a resolver. A control circuit is explained in [1], but we were un- able to find a source presenting a mathematical analy- sis of the loop. In NC systems, a resolver is coupled to each lead- screw of the machine tool and provides a signal indica- ting the angular position of the latter. Usually the resolver is geared for one revolution per 0.1 inch of linear motion. The practical accuracy of a resolver is one-thousandth, which means a precision level of 0.0001 inch. This unit is also the system resolution, and will be referred to henceforth as the basic length unit, i.e., 1 BLU = 0.0001 inch. The resolver-based control loop may be applied to other digitally controlled systems. As many engineers are apparently unfamiliar with this technique, we shall try to remedy this situation by providing the general background in the first section, and explain the con- trol loop in the second. The loop analysis is presen- ted in the last two sections. THE RESOLVER The resolver is a rotary device consisting of two rotor and two stator windings, each pair in a mutually perpendicular arrangement as shown in Figure 1. When the resolver serves as a feedback measuring device, one only of the rotor windings is used. The stator wind- ings are fed by sine-wave signals in quadrature, v1 and v2, equal in amplitude, namely: Manuscript received November 12, 1976. The author is with the Faculty of Mechanical Engineering, Tech- nion - Israel Institute of Technology, Haifa, Israel. Figure 1: Resolver. v1(t) = Vasinw0t v2(t) = Vacosw0t (la) (lb) It should be noted that in order to maintain the required accuracy of one-thousandth of a revolution, the quadrature shift of the reference signal must be within a tolerance of 0.36 degrees. The output of the resolver is the rotor signal, which is a function of the rotating angle and is ob- tained by inductive coupling between stator and rotor. The rotor output voltage, v0, consists of two compo- nents: vo(t) = n[v1(t)cos + v2(t)sin+] (2) where n is a constant dependent on the rotor/stator turns ratio. Substituting v1 and v2 as above, we have: v (t) = nVa(sinw tcosf + cosw tsin*) 0 a or, denoting nVa = V v0(t) = Vsin (w0t+) (3) (4) The phase angle 4 depends on the angular position of the rotor axis. Note that if the rotor is rotated through * mechanical degrees, its output voltage is shifted by * electrical degrees. If the rotor rotates continuously with angular - 145 - -1-

RESOLVER IN DIGITAL CONTROL LOOP

  • Upload
    yoram

  • View
    221

  • Download
    5

Embed Size (px)

Citation preview

Page 1: RESOLVER IN DIGITAL CONTROL LOOP

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS AND CONTROL INSTRUMENTATION, VOL. IECI- 24, No. 2, MAY 1977

RESOLVER IN DIGITAL CONTROL LOOP

Yoram Koren, Member IEEE

ABSTRACT

A digital control loop based on a resolver asfeedback device is considered. This technique is popu-lar in NC systems of machine tools. The control cir-cuit transforms a train of pulses generated by a digi-tal interpolator into a phase-modulated command signaland compares it with a phase-modulated feedback signal.The resulting phase-difference is the drive signal tothe motor. The principle of the loop is explained, anda mathematical analysis is presented.

INTRODUCTION

One of the most popular techniques in numericalcontrol (NC) of machine tools is based on a resolver asfeedback device. A typical NC unit comprises severalcontrolled axes, each of them equipped with a resolver.All control circuits of these axes are identical, hencean analysis involving a single control loop should suf-fice.

In NC literature it is hard to find a completeanalysis of a control loop which contains a resolver.A control circuit is explained in [1], but we were un-able to find a source presenting a mathematical analy-sis of the loop.

In NC systems, a resolver is coupled to each lead-screw of the machine tool and provides a signal indica-ting the angular position of the latter. Usually theresolver is geared for one revolution per 0.1 inch oflinear motion. The practical accuracy of a resolver isone-thousandth, which means a precision level of 0.0001inch. This unit is also the system resolution, andwill be referred to henceforth as the basic length unit,i.e., 1 BLU = 0.0001 inch.

The resolver-based control loop may be applied toother digitally controlled systems. As many engineersare apparently unfamiliar with this technique, we shalltry to remedy this situation by providing the generalbackground in the first section, and explain the con-trol loop in the second. The loop analysis is presen-ted in the last two sections.

THE RESOLVER

The resolver is a rotary device consisting of tworotor and two stator windings, each pair in a mutuallyperpendicular arrangement as shown in Figure 1. Whenthe resolver serves as a feedback measuring device, oneonly of the rotor windings is used. The stator wind-ings are fed by sine-wave signals in quadrature, v1 andv2, equal in amplitude, namely:

Manuscript received November 12, 1976. The authoris with the Faculty of Mechanical Engineering, Tech-nion - Israel Institute of Technology, Haifa, Israel.

Figure 1: Resolver.

v1(t) = Vasinw0t

v2(t) = Vacosw0t

(la)

(lb)

It should be noted that in order to maintain therequired accuracy of one-thousandth of a revolution,the quadrature shift of the reference signal must bewithin a tolerance of 0.36 degrees.

The output of the resolver is the rotor signal,which is a function of the rotating angle and is ob-tained by inductive coupling between stator and rotor.The rotor output voltage, v0, consists of two compo-nents:

vo(t) = n[v1(t)cos + v2(t)sin+] (2)

where n is a constant dependent on the rotor/statorturns ratio. Substituting v1 and v2 as above, we have:

v (t) = nVa(sinw tcosf + cosw tsin*)0 a

or, denoting nVa = V

v0(t) = Vsin(w0t+)

(3)

(4)

The phase angle 4 depends on the angular positionof the rotor axis. Note that if the rotor is rotatedthrough * mechanical degrees, its output voltage isshifted by * electrical degrees.

If the rotor rotates continuously with angular

- 145 -

-1-

Page 2: RESOLVER IN DIGITAL CONTROL LOOP

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS AND CONTROL INSTRUMENTATION, VOL. IECI- 24, No. 2, MAY 1977

velocity w(t), we may substitute in Eq. (4)

Jt*(t) = (t)dt5)

0

For a constant velocity w, the steady-state feed-back signal is:

v0(t) = Vsin[(w+wO)t + f0] (6)

where f0 is the cumulative angle from t=0 to steadystate. From the last equation we see that the feed-back has the form of a phase-modulated wave, which isthe basis of the control loop.

THE CONTROL LOOP

A block diagram of a control loop in which the re-solver is used as sensing device is shown in Figure 2.The interpolator, pulse generator, reference counter,and filter unit are common to all controlled axes.

The interpolator sends command pulses to each con-trolled axis of the table. Each pulse causes an ad-vance of one BLU along the appropriate axis-of-motion.This means that the frequency of the command pulses isproportional to the velocity of the table in the cor-responding direction.

From1 PositionTopeI Z Couniter nreoo

Positional control is effected by position coun-ters. Each axis-of-motion is provided with a counterto which the required incremental distance is fed fromthe perforated tape. Each time a command pulse is sentby the interpolator, the contents of the appropriatecounter are reduced by one unit. On reaching the zeroposition, the position counter blocks the command pul-ses.

The reference counter divides the clock frequency,emitted by the pulse generator, by a factor of 1000 andprovides (by digital techniques) two square-wave sig-nals in exact quadrature, characterized as the refer-ence signals. The latter are converted by low-passfilters into sine-wave signals, which are used as exci-tation voltages for the stator windings.

The rotor output voltage is fed through a waveshaping circuit (Schmitt trigger) to a phase comparator,or discriminator, where it is compared with a commandsignal. The phase difference between the command andfeedback signals is converted into a DC voltage, passedthrough a single-pole low-pass filter, amplified andused to drive the motor. The phase-comparator opera-tion may be based on the principle of an up-down coun-ter, which counts the falling edges of the command (up)and feedback (down) signals. A counter with i binarystages can hold an error of +(2i1 - 1) cycles. Inmany commercial systems the maximum error is ±1 cycle,i.e., 360 degrees, which is equivalent to ±0.1 inch.

Figure 2 : Block diagram of the control system.

- 146 -

Page 3: RESOLVER IN DIGITAL CONTROL LOOP

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS AND CONTROL INSTRUMENTATION, VOL. IECI- 24, No. 2, MAY 1977

The command signal is produced by a command counterwhich consists of two fixed decimal counters and a pro-grammable-division-factor counter (PDC). the PDC isfed by the command pulses (the CP input), a clock (ty-pical frequency 2.5MHz), and a logic signal called the"sign" which indicates the required direction of mo-tion. The PDC converts the command pulses into a phase-modulated signal. Each command pulse causes a phaseshift of 0.001 cycle (0.36 degree) with respect to thereference signal. The phase shift is forward or back-ward (i.e., leading or lagging) depending on the signlogic level. The division factor, N, of the PDC alsovaries in accordance with the logic level at its CPand S (sign) inputs, as shown in Table 1.

Table 1: PDC Division Factor

pulses are sent in the interval to the CP input, theaverage frequency of the command pulses is n/t pps.We denote the ratio of the two frequencies by p:

=n/t Tp = - - =n-ft (7)

Since the n pulses are negative, the CP input is at the"0" level in the interval:

nT = pt (8)

during which the PDC count depends on the S input level.The interval in which the CP input is the "1" level is:

t - nT = t(l-p) (9)

CP S N

o 0 5o 11 0 101 1 10

* X denotes a no-count condition.

So long as the CP input is at the "1l' level, thePDC acts as a decimal counter and its input clock fre-quency (2.5MHz) is divided by 10. Therefore, so longas the resolver is at rest, the feedback and commandsignals have the same frequency (2.5KHz) and are exact-ly in phase; as a result, the velocity-command signal(VC) is zero and the motor also remains at stand still.

As was explained, in the case CP=l, a single cycleof the command signal is emitted by the command counterfor every 1000 clock pulses. Assume now that S=1 andCP=O for an interval covering a single clock pulse(400nsec when a 2.5MHz clock is used). According toTable 1 for S=l, the clock pulse sent in this intervalis not counted (N=o), so that 1001 clock pulses are re-quired to effect one cycle of the command signal. Thismeans that the falling edge of the command signal lagsby 1/1000 of a cycle compared with its previous state.

To illustrate a lead case, assume that CP=0 for aninterval of 10 clock pulses (i.e., 4000nsec), and thatS=0. In this interval the PDC sends only 2 pulses(since N=5); for the following 980 pulses the PDCemits 98 pulses (since CP is reset to 1). Altogetherthe PDC sends 100 pulses for 990 clock pulses. Inother words, 990 clock pulses are required to effectone cycle of the command signal, which means that thecommand signal leads by 10/1000 of a cycle. The CP in-put is fed by negative pulses of 400 nanoseconds width,each of which caused advance along the appropriateaxis-of-motion by one BLU, i.e., 0.0001 inch. At S=0these pulses make the command signal lead the referencesignal in phase and the motor rotates in a certain di-rection, similarly, at S=l the motor rotates in theopposite direction. When standstill is required, theCP input is at the "1" level and the PDC divides by 10.

FREQUENCY RANGE

When command pulses are sent through the CP input,the average division factor of the PDC varies accordingto their frequency, as explained below.

The duration of each negative pulse is T=l/f, fbeing the clock frequency (i.e., 2.5MHz). The highestpossible frequency of the command pulses is f/2. If n

during which the PDC operates as a decimal counter.

The average output frequency from the PDC (whilethe motor rotates) is obtainable from Table 1 and Eqs.(8) and (9). For S=l the frequency is:

[lf x (1-p)t + 0 x pt] = f (1 ) (10)

For S=0 the frequency is:

I[f x (1-p)t + fx pt] = (1+p)t10 5 1 (11)

The command counter comprises two additional deci-mal counters which divide the PDC output by a factor of100. Therefore, the range of the command signal fre-quency f , which is the output of the command counter,may be:

f (1fP) 4 f 4 (l+P)1000 c 1000 (12)

Introducing the definitions:

f=f f=pfr 1000 ' o Pfrf being the reference frequency and f 1/1000 of thefrequency of the command pulses entering the PDC, Eq.(12) becomes:

fr -o fc r 0 (13)

The range of the factor p is O<p<k, and therefore,theoretically, the maximum f0 is f /2, but in practicalNC systems this maximum does not exceed fr/100. Forexample, a requirement of a maximal feed-rate of 150ipmin a system with a BLU of 0.0001 inch means a maximalfeed-rate of 25000 BLU/sec, which in turn dictatesf =25cps. A reference frequency of 2500cps in such asystem yields p=l/100, i.e., the frequency of the com-mand signal may vary from 2475 through 2525cps, as canbe seen from Eq. (13).

MATHEMATICAL ANALYSIS

Although the control loop is of the digital type,the simplest way to analyze it is to assume linearityand apply the Laplace transform.

Figure 3 shows a simplified block diagram of theloop. The frequency of the excitation voltages to theresolver stators is fr. The command signal for a rightrotation is a square wave with frequency (fr+f0 When

- 147 -

Page 4: RESOLVER IN DIGITAL CONTROL LOOP

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS AND CONTROL INSTRUMENTATION, VOL. IECI- 24, No. 2, MAY 1977

signds

Figure 3 : Simplified block diagram of the control loop.

a constant speed is required, this frequency is constantas well. At steady state both the command and feedbacksignals have the same frequency, but the latter lags theformer in phase by 4 degrees. This phase differenceis converted into a voltage, which in turn drives themotor so that the resolver rotor runs at f revolutionsper second. The speed of the motor can thus be con-trolled by varying the frequency f0. Under a commandsignal with frequency (fr-f ), the feedback signalleads the cormand signal an2 the motor rotates in theopposite direction.

To make the loop analysis possible the transferfunction of the phase comparator must be defined. Thiscircuit receives the command and feedback frequenciesand yields a phase difference 4, thus acting as an in-tegrator; its transfer function is:

4)- _ 1 (14)c ffc ff s (4

Note that frequencies are measured in cps and 4 in cy-cles. The open-loop gain is:

f0K = -[-1 (15)v * sec

and is the product of the following gains:

(1) The DAC gain kc (in volt/cycle).

(2) The amplifier gain ka.(3) The gear ratio k9.(4) The motor gain k , in turn

function: m

k= m [rev/sec]v l+sr volt

defined by its transfer

(16)

where T iS the mechanical time constant of the motorcoupled to the machine slides. A typical time constantof an NC drive is around 20 msec.

In many NC systems a typical drive includes an in-ternal loop with a tachogenerator as an additional feed-back element, but Eq. (16) is (albest approximately)valid for the transfer function of this loop, as wasshown in [2].

The filter is a single-pole low-pass filter withunity gain and a tine-constanit which is much smallerthan that of the motor (for stability reasons), and neednot be considered in this analysis. Hence, the transferfunction of the open loop is:

K

S (l+St)

and for the closed loop:

(17)

- 14R

Page 5: RESOLVER IN DIGITAL CONTROL LOOP

I-IRNCIN R~ISEA L~OIC$A4cNmI JM~AI0,V~.1C~2~ ~MY17

K r 3 G1E4 J;letric aPuoei@hmdlte ?t; G(a)S <0;:+ (IS t ServoE4vie'S G{!EK70362O3,S Hc 193

\RtL;,SEs t+G(4,0Vs)eo000skd+ D 14] A. N. Don J. G.;0o1ne,adG oni,'Dz0iD0eI+400t 02fft'tS; \ Ri0tx d,t*V

Acodigy th cotrol ioo is a seod-re sev mi eror in typ I cotour00in systems",2 tiE

sytmihte aaceisi euton ras, d Ap. Volit.I-a,N.4, Jul/Aug

:0!:000;i;000:y.f;y000:yt: 00-it: <050$fff i;af::00t; g0i000001 AXVaT2fu2Tf <r 'i a $ 0 e 0 4 ; 0 0 0 0;00A$fV<'f Xt

s~~~~~~~~ +2,ws+w 0d (19).70 itt0fS; t0 f5;~~~T, 00;5it; S.Tit;40 ; *eeq 0 ^

an theA nav'\YfturafrSequny'-of the S'2\cicut 16,\S19680, an 1971,\respec-

. 4 if5-0Xe0: l:-4-ti :0:i:tj t;0:X:: j;0j:;;V;;:::Sg:i:;;:\:A;;;;0;g:';-,;,;0f;j'-;:Xgtively.0;:;0.;

X#',!1 A d t t00 \ \ X t00 0~~~~n 197 h was employed\f:atSSDf\;0'LS0$']/ (21);\ 'Rpahn~e byElbi,t th--A 0 S 0

Znmstcoedlo secon-orde sysem it StSSf00tScft' 197100';0v\\\ ;0'00fd000;40thrug 197 het was''\a0'tL;, Lec \;

and 35ac' [3]. The0 gai shoul bef equal for;allxes Canda In 197 he; joined the?t; E0fT

to~~~~~~~~~~~~~~~~~~~securthedesre pat accuacy [4V Sic k5, k8 stf ojteEgnein ~pr Stain Unve

and k ar fiae, the pS-lo gainf is aduse through f Wisconsin-N;dso, adisn At prsn Dr *WKorentheD0 gain. '_ S asenior Lecturerat:theTechniog.000fiEf,\tj,?00 :f0Oj00j; j10ziSAj;0003Aj0S C

Th mxiumphs differencetatE; the phse?Sl compa-S 0j (fEif\ 0SS 0 <X X 4

rator anhnldeedonteiptreucyadn