METHOD OF DETECTING POSITION

Abstract: A method of detecting a position comprising a step for generating two sinusoidal wave signals having phases that are spacially different by 90°, corresponding to movement of a moving body; a step which detects voltages Va, Vb of the two sinusoidal wave signals to calculate a value α which makes the value V = Va.cos α - Vb.sin α zero; a step which so determines the value α that signs of sin α, cos α for said calculated α agree with signs of said voltages Va, Vb respectively; and a step for detecting a position to which the moving body has moved by using the determined value α as data on an absolute position of the body in a cycle of said two phase signals. According to the above method of detecting a position, an absolute position of a moving body can be detected with high resolution.

Description: The present invention relates to a method for detecting a position and, more particularly, to a method of accurately detecting a moving position of a working machine (e.g., an NC machine) or of the arms of a robot. Position detection is conventionally performed by using two-phase sinusoidal wave signals (referred to as signals V a and V b hereinafter) having a 90°-spatial phase difference therebetween, and a position detecting apparatus of this type is generally called an encoder. A conventional encoder irradiates light emitted from, e.g., a light-emitting diode, to a rotary encoding plate (normally provided with a large number of slits (e.g., 2,000) at equal intervals on the periphery thereof) mounted on a given rotating shaft, whose rotating position is to be detected. The light passed through a slit formed in the rotary encoding plate and a slit formed in a fixed plate facing the rotary encoding plate is received by a light-receiving element (e.g., a photodiode) to be converted into a voltage, thereby obtaining, in accordance with rotation of the rotary encoding plate, sinusoidal wave signals V a and V b , one cycle of which corresponds to an interval between two adjacent slits (one pitch) formed in the rotary encoding plate. In this case, in order to provide the 90°-spatial phase difference between the two sinusoidal wave signals V a and V b , two slits, shifted by 1/4 of a pitch from an integer multiple of the slit interval (1 pitch) of the rotary encoding plate, are formed in the fixed slit plate, and the two sinusoidal wave signals V a and V b are obtained from the electrical signals generated in the light-receiving elements, each of which faces each of the above two slits (see Fig. 1(a)). The sinusoidal wave signals V a and V b are input to comparators for generating output signals AP and BP, which go to HIGH or LOW level in accordance with positive or negative levels of the sinusoidal wave signals. A so-called positive pulse for sequentially counting up an up-down counter (meaning that the rotary encoding plate is rotated in a given direction, e.g., clockwise) is produced in the following states: 1 ○ when the output signal BP is at HIGH level at the leading edge of the output signal AP; 2 ○ when the output signal AP is at HIGH level at the trailing edge of the output signal BP; 3 ○ when the output signal BP is at LOW level at the trailing edge of the output signal AP; and 4 ○ when the output signal AP is at LOW level at the leading edge of the output signal BP (see Fig. 1(b)). On the other hand, a so-called negative pulse for sequentially counting down the up-down counter (meaning that the rotary encoding plate is rotated in the opposite direction, e.g., counterclockwise) is produced in the following states: 1 ○ when the output signal BP is at LOW level at the leading edge of the output signal AP; 2 ○ when the output signal AP is at LOW level at the trailing edge of the output signal BP; 3 ○ when the output signal BP is at HIGH level at the trailing edge of the output signal AP; and 4 ○ when the output signal AP is at HIGH level at the leading edge of the output signal BP (see Fig. 1(c)). In this manner, the rotational angle of the rotary encoding plate, i.e., a rotating position of the rotating shaft on which the rotary encoding plate is mounted, is detected (in some cases, the rotational angle of the rotary encoding plate is linearly developed, and the moving position of a linearly moving object is detected). However, in this conventional position detecting method, only four pulses (the positive or negative pulses) for counting up or down the up-down counter are generated upon rotation of the rotary encoding plate during one cycle of the output signal AP or BP (corresponding to a 1-pitch interval of two adjacent slits in the rotary encoding plate), as described above. If 2,000 slits are formed in the periphery of the rotary encoding plate, the resolution of the rotational angle detection is only 1/(2000 x 4) = 1/8000 rotation. In other words, upon rotation of the rotary encoding plate, only a detection resolution corresponding to 4 times the divisor for each rotation of the rotary encoding plate, corresponding to the number of slits, can be obtained. Machine Design, vol.55, no.1, January 1983, pp 87-91, Cleveland, Ohio, US discloses a method of precisely measuring positions in a machine tool or robot system, and in a general method for detecting the positions by utilizing a resolver and an inductosyn. The angle of the resolver is obtained by meeting the following condition; sinϑ.cosΦ - cosϑ.sinΦ = sin (ϑ - Φ)=0 wherein ϑ denotes a rotational angle of a resolver rotor and Φ denotes a counted value of an up/down counter. In the measuring operation, the value of Φ is controlled by a voltage-controlled oscillator (VCO), so that the value Φ coincides with the value of ϑ. Accordingly, a technical feature of the method disclosed in this reference is that the value of Φ is continuously changed, thus to determine a change of the value ϑ. ELECTRONIC DESIGN, vol. 18, no. 7, 01.04.1970, pages 50 - 58, Rochelle Park, US; discloses a similar method in which a digital integrator is used instead of the VCO used in the previous reference, and the value of the digital integrator is continuously changed, to thus determine a change of the angular value ϑ of the resolver. US-A-3508252 discloses an analog to digital or digital to analog convertor for use with high speed automated tools, and the convertor comprises a coarse differential resolving means (1X) and a fine differential resolving means (36X). In this reference, a high accuracy analog to digital or digital to analog data conversion is achieved by utilizing the coarse differential resolving means, and lower digit bits thereof by utilizing the fine differential resolving means. In this method, digital data is obtained by controlling a counter with a VCO, to satisfy the following condition sinϑ.cosL - cosϑ.sinL - KB(sinϑ.sinL - cosϑ.cosL)=0 and the digital data is obtained from the counter value. The present invention has been made in consideration of the above situation, and its object is to detect an absolute position of a rotating member or, in general, a moving object within 1 cycle of the sinusoidal wave with a remarkably high detection resolution (e.g., 1/(2000 x 1000) rotation) when compared with that obtained in the above-mentioned conventional moving position detecting method. Another object of the present invention is to detect absolute position over a plurality of cycles of a sinusoidal wave of a short wavelength and to detect absolute position over a single rotation of a rotary plate with high resolution, by using a plurality of pairs of two-phase sinusoidal wave signals each of which pairs has a different wavelength from each other. In order to solve the above problem, according to an aspect of the present invention, there is provided a method for detecting a position, comprising the steps of: producing two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween upon movement of a moving object; detecting the current voltage values V a and V b of the two-phase sinusoidal wave signals and calculating a value of α making a value of V zero, given by V = V a .cosα - V b .sinα; determining the value of α so that polarities of sinα and cosα for the calculated α coincide with those of V a and V b respectively; and detecting a moving position of the moving object by using the value of α determined in the preceding step as absolute position data within 1 cycle of the 2-phase signals. According to another aspect of the present invention there is provided a method for detecting a position, comprising the steps of: producing a plurality of pairs of two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween upon movement of a moving object, and each of which pairs has a different wavelength from each other; detecting the current voltage values V a and V b of one of said pairs of the two-phase sinusoidal wave signals and calculating a value of α making a value of V zero, given by V = V a .cosα - V b .sinα; determining the value of α so that polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively; detecting the current voltage values V c and V d of another pair of the two-phase sinusoidal wave signals and calculating value of β making a value of V zero, given by V = V c .cosβ - V d .sinβ; determining the value of β so that polarities of sinβ and cosβ for the calculated β coincide with those of V c and V d , respectively; and detecting a moving position of a moving object by obtaining absolute position data over a plurality of cycles of the two-phase signals of the short wavelength from the values of α and β determined as per the preceding steps. According to one aspect of the present invention, the value of α making the value of V zero, given by V = V a .cosα - V b .sinα is calculated by using: V a = V₀sinϑ, and V b = V₀cosϑ (where ϑ is a current rotational angle). As a result, the value of α making the value V, given by the following equation, zero need only be calculated: In this case, the above equation becomes zero when α = ϑ ± nπ (where n is an integer). Next, the calculated α is determined so that the polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively (under the condition: 0 = ≦ < ϑ < 2π radian), and thus, the determined α can act as absolute position data within one cycle of the sinusoidal waves. According to another aspect of the present invention, by using a plurality of pairs of two-phase sinusoidal wave signals, each of which pairs has a different wavelength from the other, absolute position data over a plurality of cycles of the short-wavelength two-phase sinusoidal wave signals can be obtained based on the absolute position data within one cycle of each pair of two-phase sinusoidal wave signals, and thus, an absolute rotating position over a single rotation of a rotary object can also be detected. In this case, the value of α making the value of V zero satisfies the above relation of α = ϑ ± nπ, regardless of the value of V₀, which makes a major cause of detection errors (the value of V₀ varies during one rotation of the rotary plate since a gap between the rotary encoding plate and the fixed slit plate varies upon rotation of the rotary encoding plate, and also varies due to a variation over time in the amount of light emitted from the light-emitting diode). As a result, one cycle of the sinusoidal wave signals (corresponding to a 1-pitch interval of the slits in the rotary encoding plate) is linearly interpolated and divided (i.e. equally divided) by a predetermined interpolating divisor (e.g. 1000) by using the value of α, thereby detecting absolute position data for the rotary encoding plate (generally, a moving object) with high resolution. In the drawings: Figs. 1(a), 1(b), and 1(c) are waveform charts for explaining a conventional position detecting method; Fig. 2 is a block diagram showing a basic principle of a position detecting method according to the present invention; Figs. 3 and 4 are block diagrams of detecting devices when the position detecting method according to a first aspect of the present invention is carried out; Figs. 5 and 6 are block diagrams of detection devices when the position detecting method according to a second aspect of the present invention is carried out; Fig. 7 is a flow chart of an example of a control program when detection position data is calculated by means of a computer with the method of the present invention; Fig. 8 is a flow chart of an example of a control program when detection position data is calculated by means of a computer by using the device shown in Fig. 5 or 6 with the method of the present invention; and Figs. 9(a) and 9(b) are waveform charts for explaining the second aspect of the present invention. With reference to Figs. 2, 3 & 4, voltage values V a and V b of two-phase sinusoidal wave signals, generated in accord with the rotational angle of a rotary encoding plate (generally, the position of a moving object) as described in the prior art, are fetched at constant time intervals (eg. 50 ms) and are used to calculate α, which gives a value V given by the following equation zero: V = V a ·cosα - V b ·sinα As will be described later, the obtained α is position data (in this case, data representing the rotational angle) obtained by linearly interpolating and dividing (equally dividing) 1 cycle of the sinusoidal waves (corresponding to an interval between two adjacent slits on the rotary encoding plate) in accordance with a predetermined divisor, and has the relation α = ϑ ± nπ (where n = 0, 1, 2, ... , and ϑ is the rotational angle of the rotary encoding plate). In this case, since α can be any of infinite values and its absolute value cannot be uniquely determined for each of values which are shifted by π from each other, α is determined so that the polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively. In this case, however, there is a condition that is 0 ≦ ϑ < 2π (radians). More specifically, if both V a and V b have a positive polarity, α must correspond to an angle within the first quadrant, and if they have a negative polarity, α must correspond to an angle within the third quadrant shifted from the first quadrant by π (Fig. 1(a)). If V a is positive and V b is negative, α must correspond to an angle within the second quadrant and if V a is negative and V b is positive, α must correspond to an angle within the fourth quadrant, shifted from the second quadrant by π (also Fig. 1(a)). Thus, the determined α acts as position data representing an absolute position within 1 cycle of the two-phase signals. The reason why α making the value V given by V = V a ·cosα - V b ·sinα zero, becomes equal to (ϑ ± nπ) will be explained below. In the above equation: V = V a ·cosα - V b ·sinα (1) since V a = V₀sinϑ, V b = V₀cosϑ (where V₀ is the amplitude of the two-phase sinusoidal wave signals, and ϑ is the rotating position (rotational angle) of the rotary encoding plate), when these equations are substituted in equation (1), Then, the value of α making the value of V zero is: α = ϑ ± nπ (where n is an integer). Figures 3 and 4 exemplify arrangements of detecting device when the position detecting method of the present invention is carried out by using the computer. In a detecting device shown in Fig. 3, a microprocessor 2 in the computer supplies, in response to timing signals generated by a timer 1 at predetermined intervals, a hold command to sample-hold circuits 31 and 32 (which respectively receive the sinusoidal wave signals V a and V b ) so as to sample and hold the current value of the sinusoidal wave signals V a and V b . During this interval, the analog values of the sinusoidal wave signals V a and V b are converted into digital values by A/D converters 41 and 42, respectively, with a predetermined precision, and the digital values are input to the microprocessor 2 with each given cycle, through a bus. In the microprocessor 2, these digital inputs are used as the values of V a and V b in equation (1), and the value of α making equation (1), i.e., the value of V zero, is then calculated at each cycle. Note that the calculation results for the respective cycles, i.e., position data α for the respective cycles can be sequentially stored in the memory of the computer or in an external output register 5. In an apparatus shown in Fig. 4, instead of the two A/D converters 41 and 42 in Fig. 3, the outputs sampled and held by the sample-hold circuits 31 and 32 are sequentially input to a common A/D converter 44 by switching a multiplexer 43 in response to a switching command input thereto from the microprocessor 2 during each cycle, and the outputs from the converter 44 are sequentially input to the microprocessor 2, thus allowing omission of one A/D converter. Practical methods for calculating the value of α making the value of V given by equation (1) zero in the microprocessor 2 will now be described. A first method is a so-called feedback method, in which α for each detection cycle is calculated by the following operation. When position data α i in a certain detection cycle is to be obtained, V i = V a ·cosα i-l - V b ·sinα i-l is calculated based on position data α i-l obtained at immediately preceding cycle and the digital values V a and V b newly input from the A/D converters 41 and 42 or the converter 44, as described previously, and new position data α i is calculated as follows on the basis of the value of V i (so-called proportional compensation method): α i = α i-l + KV i (where K is a constant) (2) Alternatively, instead of using equation (2), the values of V i are accumulated to obtain S i (i.e., and new position data α i is calculated based on the V i and S i as follows (so-called proportional integral compensation method): α i = α i-l + K p ·V i + K s ·S i (3) (where K p and K s are constants, and normally, K p > K s ). Note that although the proportional compensation method can be easily realized, when ϑ changes at a constant rate, a detection error proportional to the changing rate of ϑ inevitably occurs. On the other hand, although the proportional integral compensation method requires a complicated circuit, unlike the former, no detection error proportional to the changing rate of ϑ will occur. In a second method, non-linear formula V a ·cosα - V b ·sinα = 0 associated with α is solved by the Newton's method. In this case, if V(α) = V a cosα - V b sinα, a differentiated value V'(α) for α is given by: V'(α) = -V a sinα - V b cosα. Therefore, an approximate solution of the non-linear formula can be calculated by repeating the following procedure. When position data α i of a certain detection cycle is to be obtained, the position data α i-l of the immediately preceding cycle is used as a initial approximate value of α i (it is defined that α i-l is equal to α i0 , as α i0 corresponds to 0th approximation of α i ), thus calculating: α il = α i0 + Δα i0 where Then, α il is used as a first approximation of α i . This operation is repeated, and if the nth approximation is α in , the (n+l)th approximation is given by: α i·(n+l) = α in + Δα in (n = 0, 1, 2 ...) where Then, when and absolute value |Δα in | of Δα in satisfies |Δα in | < ε (where ε is a predetermined small value corresponding to a required precision), the repetition is stopped, and the position data α i in that detection cycle is given by the approximated solution α i·(n+l) . Figure 7 is a flow chart showing when the microprocessor 2 performs operation processing with the above Newton's method. Timing signals are generated from the timer 1 at equal intervals, and the microprocessor 2 initiates the next processing in response to each timing signal. After the flow starts in step A, the microprocessor 2 produces the hold command to the sample-hold circuits 31 and 32 in step B, thus sampling and holding the current values of the sinusoidal wave signals V a and V b at that timing. The current analog values V a and V b are converted into the digital values of given precision by the A/D converters 41 and 42, and the digital values V a and V b are fetched in step C. In step D, the detection value of the immediately preceding cycle (position data α i-l) is derived and is used as α i0 . In step E, the following calculations are performed: and α n+l = α n + Δα n (where n = 0, 1, 2, ..., and at the beginning of calculation, n = 0). Next, it is judged in step F whether or not |Δα n | is smaller than ε (where ε is a value for defining detection precision, and is given in advance). If NO in step F, new α n is given by α n+l (step G), and the same calculation is repeated. However, if |Δα n | is smaller than ε, α n+l is output as new detection position data α i for that cycle in step H, and the hold command is cancelled in step I, thus completing operation processing for that cycle (step J). With the method of the present invention, since the value of α making the value of V zero will not be adversely influenced by the amplitude V₀ of the two-phase sinusoidal wave signals, a major cause of detection errors, an error due to the amplitude V₀ will not occur. Also, since the voltage values V a and V b of the sinusoidal wave signals can be fetched by an A/D converter of predetermined bits with high precision, high-precision position data obtained by linearly interpolating and dividing 1 cycle of the sinusoidal waves (corresponding to a pitch between two adjacent slits on the rotary encoding plate) by a predetermined divisor (e.g., 1,000) in accordance with the number of bits of the A/D converter, can be detected accurately. After the value of α making the value of V zero is obtained as described above, if the value of α is determined so that the polarities of sinα and cosα for the above α coincide with those of V a and V b , respectively, the determined value of α represents the absolute detection position within 1 cycle of the two-phase signals, as previously described. According to one aspect of the present invention as described above, the absolute position within 1 cycle of the sinusoidal waves (within 1 pitch corresponding to an interval between two adjacent slits on the rotary encoding plate) can be determined. Further, by developing the above idea, according to another aspect of the present invention, the absolute position over a plurality of cycles of short-wavelength two-phase signals V c and V d can be detected by using a combination of two-phase signals V c and V d , whose cycle length is short (i.e., short wavelength), as shown in Fig. 9(b), and two-phase signals V a and V b , whose cycle length is long (i.e., long wavelength), as shown in Fig. 9(a), and by combining the absolute position within 1 cycle of the long-wavelength two-phase signals V a and V b , and the absolute position within 1 cycle of the short-wavelength two-phase signals V c and V d . More specifically, when the absolute position within 1 cycle of the long-wavelength signals is detected, it is possible to determine how many cycles of the short-wavelength signals exist between the 1-cycle start position of the long-wavelength signals and the detected position. Thereafter, the absolute position over a plurality of cycles of the short-wavelength signals can be detected by using the above determined cycle data and the absolute position data within 1 cycle of the short-wavelength signals. Similarly, if two-phase signals having a longer wavelength than that of the long-wavelength signals are prepared, an absolute position over a plurality of cycles of the long-wavelength signal can be detected. Thus, the absolute position over a single rotation of a rotating object can also be detected with high resolution. Figures 5 and 6 exemplify arrangements of detecting devices when position detection is performed by using two pairs of two-phase sinusoidal wave signals, each of which pairs has different wavelength from each other. In the device shown in Fig. 5, two-phase sinusoidal wave signals V a and V b are input to sample-hold circuits 31 and 32, and another two-phase sinusoidal wave signals V c and V d having a shorter wavelength than that of the sinusoidal wave signals V a and V b (e.g., having a wavelength 1/5 that of the signals V a and V b , as shown in Fig. 9) are input to another pair of sample-hold circuits 36 and 37. While the values of the sinusoidal wave signals V a , V b , V c , and V d are sampled and held in response to a hold command from a microprocessor 2, the analog values of the respective sinusoidal wave signals are converted into digital values with given precision by A/D converters 41, 42, 46, and 47, and these values are input to the microprocessor 2 with each given cycle defined by a timer 1 through a bus. Then, on the basis of these digital inputs, a value of α making V l given by the following equation zero: V l = V a cosα - V b sinα and a value of β making V₂ given by the following equation zero: V₂ = V c ·cosβ - V d sinβ are calculated. In addition, α is determined so that the polarities of sinα and cosα for the calculated α coincide with those of V a and V b (which can be detected based on the inputs from the A/D converters 41 and 42), respectively. Also, β is determined so that the polarities of sinβ and cosβ for the calculated β coincide with those of V c and V d (which can be detected based on the inputs from the A/D converters 46 and 47), respectively. Thus, absolute position data over a plurality of cycles of the short-wavelength two-phase signals is obtained on the basis of the determined α and β. In the device shown in Fig. 6, instead of using the four A/D converters 41, 42, 46, and 47, the outputs sampled and held by the sample-hold circuits 31, 32, 36, and 37 are sequentially input to a common A/D converter 49 by switching a multiplexer 48 in response to a switching command input thereto from the microprocessor 2 during each cycle, and the outputs from the converter 49 are sequentially input to the microprocessor 2, thus allowing use of a single A/D converter. Figure 8 is a flow chart when α and β are determined by using a microprocessor 2 on the basis of the above V a , V b , V c , and V d input at each cycle. The timer 1 generates a timing signal at given intervals, and the microprocessor 2 initiates the next processing in response to each timing signal. After the flow starts in step L, the microprocessor 2 supplies the hold command to the sample-hold circuits 31, 32, 36, and 37 in step M to sample and hold the current values of V a , V b , V c , and V d at that timing. During this interval, these values (analog values) are supplied to the A/D converters 41 and 42 so as to be converted into the digital values with a given precision, and the digital values V a and V b are fetched in step N. In step O, α making the value V l given by V l = V a cosα - V b sinα zero, is calculated (the calculation method has been described previously), and in step P, α is determined so that the polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively. In step Q, the digital values V c and V d input through the A/D converters 46 and 47 are fetched, and in step R, β making the value V₂ given by V₂ = V c cosβ - V d sinβ zero, is calculated. In step S, β is determined so that the polarities of sinβ and cosβ for the calculated β coincide with those of V c and V d , respectively. When the α and β determined in the above manner are output in step T, the absolute position data over a plurality of cycles of the short-wavelength two-phase signals can thereby be obtained. In step U, the hold command is canceled. A case will be described wherein a rotary encoding plate in which a plurality of channels corresponding to a plurality of pairs of two-phase sinusoidal wave signals are provided, each of which pairs has a different wavelength from each other, is used as a means for generating the above plurality of pairs of two-phase sinusoidal wave signals according to one embodiment of the present invention, thereby obtaining absolute position data over a single rotation of the encoding plate. A first channel provided in the rotary encoding plate is formed so that 1 cycle of two-phase sinusoidal wave signals corresponds to a single rotation of the rotary encoding plate. For this purpose, the first channel can be constituted by a predetermined number of slits, each slit width (or length) of which slits changes gradually, or a continuous elongated slit, formed along the periphery (360°) of the rotary encoding plate, thus generating two-phase sinusoidal wave signals which change by one cycle during the single rotation of the rotary encoding plate, based on light passed through the slits of the first channel provided in the rotary encoding plate and each of slits formed in a fixed plate and having a 90°-spatial phase difference therebetween. A second channel is formed concentrically with the first channel to obtain N cycles (N is an integer equal to or larger than 2) of two-phase sinusoidal wave signals in accordance with the single rotation of the rotary encoding plate (that is, slits of appropriate shape are arranged along the periphery of the rotary encoding plate so as to accomplish an N pitch, and the corresponding slits formed in the fixed plate side are arranged to be shifted therebetween by 1/4 of a pitch). In this way, the rotary encoding plate provided with a given number of channels, in each of which channels the number of cycles is gradually increased from each other, is used. A case will be exemplified by using actual values wherein the above-mentioned rotary encoding plate is used to obtain absolute position data over a single rotation thereof. Note that the rotary encoding plate exemplified herein has first to third channels as the plurality of channels. The first channel produces 1 cycle of the sinusoidal wave in accordance with the single rotation of the rotary encoding plate, and assume that a value of 552 is obtained as absolute position data (corresponding to α) within 1 cycle of the rotary encoding plate at a certain timing, using 1,000 as an interpolating divisor for 1 cycle (which is determined in accordance with the number of bits of an A/D converter) with the method of the present invention. The second channel produces 200 cycles of sinusoidal waves in accordance with the single rotation of the rotary encoding plate, and assume that a value of 201 is obtained as the absolute position data (corresponding to β) within 1 cycle. In addition, the third channel produces 2,000 cycles of sinusoidal waves in accordance with the single rotation of the rotary encoding plate, and assume that a value of 10 is obtained as absolute position data within 1 cycle. First, it is determined which cycle of the second channel corresponds to the absolute position data 552 within 1 cycle of the first channel. For this purpose, since 1 cycle of the second channel corresponds to 5 divisions within 1 cycle of the first channel (1000 divisions/200), the corresponding cycle of the second channel can be obtained by 552/5, and it can be found from the quotient (the remainder is disregarded) that the position data 552 corresponds to the 110th cycle of the second channel. It also can be found that the 110th cycle of the second channel corresponds to the 1,100th cycle (110 cycles x (2,000/200) of the third channel (having the shortest wavelength). It is then determined which cycle of the third channel corresponds to the absolute position data 201 within 1 cycle of the second channel. For this purpose, since 1 cycle of the third channel corresponds to 100 divisions within 1 cycle of the second channel (1000 divisions/10), the corresponding cycle of the third channel can be obtained by 201/100, and it can be found from the quotient (the remainder is disregarded) that the position data 201 corresponds to the 2nd cycle of the third channel. In this way, the rotating position of the rotary encoding plate falls within the range of (1,100 + 2) = 1,102nd cycle of the third channel, and the absolute position data within 1 cycle of the third channel is detected as 10, as described above. As a result, if an interpolating divisor within 1 cycle of the third channel is also 1000, the rotating position is finally represented by 1,102 x 1,000 + 10 = 1,102,010 as the absolute position in the third channel. In this way, the rotating position over a single rotation of the rotary encoding plate can be obtained as absolute position data with high detection resolution. According to the present invention, an absolute position of a moving object can be detected with a remarkably higher detection resolution than that obtained in a conventional position detecting method and, based on this, a rotating position of a rotating object over a single rotation thereof can be obtained as absolute position data with high detection resolution. List of Reference Numerals and Corresponding Names 1 Timer 2 Microprocessor 5 Output register 31, 32, 36, 37 Sample-hold circuit 41, 42, 46, 47, 49 A/D converter 48 Multiplexer

Claims: A method for detecting the position of a moving object, comprising the steps of: producing two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween upon movement of the moving object; and detecting (31,32) the current voltage values V a and V b of the two-phase sinusoidal wave signals and calculating a value of α making a value of V zero, given by V = V a .cosα - V b .sinα; characterised by determining (41,42,2) the value of α so that the polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively; and detecting (2) the position of the moving object by using the value of α determined in the preceding step as absolute position data within one cycle of the two-phase signals. A method for detecting the position of a moving object, comprising the steps of: producing a plurality of pairs of two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween upon movement of the moving object, and each of which pairs has a different wavelength from each other; detecting (31,32) the current voltage values V a and V b of one of said pairs of the two-phase sinusoidal wave signals and calculating a value of α making a value of V zero, given by V = V a .cosα - V b .sinα; characterised by detecting (36,37) the current voltage values V c and V d of another pair of the two-phase sinusoidal wave signals and calculating a value of β making a value of V zero, given by V = V c .cosβ - V d .sinβ; and determining (41,42,2) the value of α so that polarities of sinα and cosα for the calculated α coincide with those of V a and V b , respectively; determining (46,47,2) the value of β so that polarities of sinβ and cosβ for the calculated β coincide with those of V c and V d , respectively; and detecting (2) the position of the moving object by obtaining absolute position data over a plurality of cycles of the two-phase signals of the short wavelength from the values of α and β determined as per the preceding steps. A method according to claim 2, characterised in that a rotary encoding plate having a plurality of channels for generating two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween, among which a first channel is formed to obtain 1 cycle of a sinusoidal wave during a single rotation of the rotary encoding plate, a second channel is formed to obtain N cycles of the sinusoidal wave, where N is an integer larger than two, during the single rotation of the rotary encoding plate, and other channels are similarly formed to obtain increased number of cycles of the sinusoidal wave, is used as means for generating a plurality of pairs of two-phase sinusoidal wave signals having a 90°-spatial phase difference therebetween upon movement of the moving object, and each of which pairs has a different wavelength from each other.

Inventors: SAKANO, TETSURO
Applicants: FANUC LTD.
Application year: 1985
Main classification: G01B7
IPC codes: G01D5, G01B21, H03M1