Encoder
11300426 · 2022-04-12
Assignee
Inventors
Cpc classification
G01D5/24419
PHYSICS
G01D5/244
PHYSICS
International classification
Abstract
An encoder includes a scale having a pattern to be detected, a detecting sensor outputting a signal corresponding to the pattern, a position calculator calculating a relative position between the scale and the detecting sensor based on the signal, a position data storage storing the calculated position data, and a position estimator estimating a relative position between the scale and the detecting sensor at a calculation-target time point based on the stored position data. The position estimator estimates the position at the calculation-target time point based on positions at first and second time points each preceding the calculation-target time point by a predetermined time. The position estimator processes position data in a first time width centered on the first time point and position data in a second time width centered on the second time point to calculate the positions at the first and second time points.
Claims
1. An encoder comprising: a scale having a pattern to be detected corresponding to graduations; a detecting sensor detecting the pattern to be detected of the scale and outputting a detection signal corresponding to the detected pattern to be detected; and a position calculator calculating a relative positional relation between the scale and the detecting sensor at predetermined sampling intervals based on the detection signal output from the detecting sensor, the encoder further comprising: a position data storage storing therein position data calculated by the position calculator; and a position estimator estimating relative position data between the scale and the detecting sensor at a calculation-target time point based on the position data stored in the position data storage and outputting the estimated position data, the calculation-target time point being a time point later by a predetermined time than a time point when the position estimator executes estimation, the position estimator being configured to calculate position data at a first time point and position data at a second time point and estimate the position data at the calculation-target time point based on the calculated position data at the first time point and the calculated position data at the second time point, the first time point and the second time point each preceding the calculation-target time point by a predetermined time, and the position estimator being further configured to, by referring to the position data stored in the position data storage, process, by means of a digital filter, position data calculated by the position calculator during a predetermined first time width centered on the first time point to thereby calculate the position data at the first time point as a representative value in the first time width, and configured to, by referring to the position data stored in the position data storage, process, by means of the digital filter, position data calculated by the position calculator during a predetermined second time width centered on the second time point to thereby calculate the position data at the second time point as a representative value in the second time width.
2. The encoder according to claim 1, wherein the position estimator is configured to estimate the position data P(t) at the calculation-target time point t in accordance with an equation below:
P(t)=P(t.sub.1)+v.sub.1×(t−t.sub.1),
with
v.sub.1=(P(t.sub.1)−P(t.sub.2))/(t.sub.1−t.sub.2), where: the time point t is a time point later by a predetermined time than the time point when the position estimator executes estimation; t.sub.1 is the first time point, and P(t.sub.1) is the position data at the first time point t.sub.1 as the representative value in the first time width centered on the first time point t.sub.1, obtained by processing by means of the digital filter the position data calculated by the position calculator during the first time width; and t.sub.2 is the second time point, t.sub.1>t.sub.2, and P(t.sub.2) is the position data at the second time point t.sub.2 as the representative value in the second time width centered on the second time point t.sub.2, obtained by processing by means of the digital filter the position data calculated by the position calculator during the second time width.
3. The encoder according to claim 1, wherein: the position estimator is further configured to calculate position data at a third time point preceding the calculation-target time point by a predetermined time, and is configured to estimate the position data at the calculation-target time point based on the calculated position data at the first time point, the calculated position data at the second time point, and the calculated position data at the third time point; and the position estimator is further configured to process, by means of the digital filter, position data calculated by the position calculator during a predetermined third time width centered on the third time point to thereby calculate the position data at the third time point as a representative value in the third time width.
4. The encoder according to claim 3, wherein the position estimator is configured to estimate the position data P(t) at the calculation-target time point t in accordance with an equation below:
P(t)=P(t.sub.1)+v.sub.1×(t−t.sub.1)+(α.sub.1×(t−t.sub.1).sup.2)/2,
with
v.sub.1=(P(t.sub.1)−P(t.sub.2))/(t.sub.1−t.sub.2),
v.sub.2=(P(t.sub.2)−P(t.sub.3))/(t.sub.2−t.sub.3), and
α.sub.1=2(v.sub.1−v.sub.2)/(t.sub.1−t.sub.3), where: the time point t is a time point later by a predetermined time than the time point when the position estimator executes estimation; t.sub.1 is the first time point, and P(t.sub.1) is the position data at the first time point t.sub.1 as the representative value in the first time width centered on the first time point t.sub.1, obtained by processing by means of the digital filter the position data calculated by the position calculator during the first time width; t.sub.2 is the second time point, t.sub.1>t.sub.2, and P(t.sub.2) is the position data at the second time point t.sub.2 as the representative value in the second time width centered on the second time point t.sub.2, obtained by processing by means of the digital filter the position data calculated by the position calculator during the second time width; and t.sub.3 is the third time point, t.sub.2>t.sub.3, and P(t.sub.3) is the position data at the third time point t.sub.3 as the representative value in the third time width centered on the third time point t.sub.3, obtained by processing by means of the digital filter the position data calculated by the position calculator during the third time width.
5. The encoder according to claim 3, wherein: the position estimator is further configured to calculate position data at a fourth time point preceding the calculation-target time point by a predetermined time, and is configured to estimate the position data at the calculation-target time point based on the calculated position data at the first time point, the calculated position data at the second time point, the calculated position data at the third time point, and the calculated position data at the fourth time point; and the position estimator is further configured to process, by means of the digital filter, position data calculated by the position calculator during a predetermined fourth time width centered on the fourth time point to thereby calculate the position data at the fourth time point as a representative value in the fourth time width.
6. The encoder according to claim 5, wherein the position estimator is configured to estimate the position data P(t) at the calculation-target time point t in accordance with an equation below:
P(t)=P(t.sub.1)+v.sub.1−(t−t.sub.1)+(α.sub.1×(t−t.sub.1).sup.2)/2+(j×(t−t.sub.1).sup.3)/6,
with
v.sub.1=(P(t.sub.1)−P(t.sub.2))/(t.sub.1−t.sub.2),
v.sub.2=(P(t.sub.2)−P(t.sub.3))/(t.sub.2−t.sub.3),
v.sub.3=(P(t.sub.3)−P(t.sub.4))/(t.sub.3−t.sub.4),
α.sub.1=2(v.sub.1−v.sub.2)/(t.sub.1−t.sub.3),
α.sub.2=2(v.sub.2−v.sub.3)/(t.sub.2−t.sub.4), and
j=(α.sub.1−α.sub.2)/(t.sub.2−t.sub.3), where: the time point t is a time point later by a predetermined time than the time point when the position estimator executes estimation; t.sub.1 is the first time point, and P(t.sub.1) is the position data at the first time point t.sub.1 as the representative value in the first time width centered on the first time point t.sub.1, obtained by processing by means of the digital filter the position data calculated by the position calculator during the first time width; t.sub.2 is the second time point, t.sub.1>t.sub.2, and P(t.sub.2) is the position data at the second time point t.sub.2 as the representative value in the second time width centered on the second time point t.sub.2, obtained by processing by means of the digital filter the position data calculated by the position calculator during the second time width; t.sub.3 is the third time point, t.sub.2>t.sub.3, and P(t.sub.3) is the position data at the third time point t.sub.3 as the representative value in the third time width centered on the third time point t.sub.3, obtained by processing by means of the digital filter the position data calculated by the position calculator during the third time width; and t.sub.4 is the fourth time point, t.sub.3>t.sub.4, and P(t.sub.4) is the position data at the fourth time point t.sub.4 as the representative value in the fourth time width centered on the fourth time point t.sub.4, obtained by processing by means of the digital filter the position data calculated by the position calculator during the fourth time width.
7. The encoder according to claim 1, wherein: the position estimator is further configured to calculate position data at a third time point and position data at a fourth time point, and is configured to estimate the position data at the calculation-target time point based on the calculated position data at the first time point, the calculated position data at the second time point, the calculated position data at the third time point, and the calculated position data at the fourth time point, the third time point and the fourth time point each preceding the calculation-target time point by a predetermined time; the position estimator is further configured to process, by means of the digital filter, position data calculated by the position calculator during a predetermined third time width centered on the third time point to thereby calculate the position data at the third time point as a representative value in the third time width, and configured to process, by means of the digital filter, position data calculated by the position calculator during a predetermined fourth time width centered on the fourth time point to thereby calculate the position data at the fourth time point as a representative value in the fourth time width; and the third time width and the fourth time width each have a sufficiently larger width than the first time width and the second time width.
8. The encoder according to claim 7, wherein the position estimator is configured to estimate the position data P(t) at the calculation-target time point t in accordance with equations below:
in a case of Δ≤R,P(t)=P.sub.b(t)+Δ.sup.2/R, and
in a case of Δ>R,P(t)=P.sub.a(t),
with
Δ=P.sub.a(t)−P.sub.b(t),
P.sub.a(t)=P(t.sub.1)+v.sub.a×(t−t.sub.1),
v.sub.a=(P(t.sub.1)−P(t.sub.2))/(t.sub.1−t.sub.2),
P.sub.b(t)=P(t.sub.3)+v.sub.b×(t−t.sub.3), and
v.sub.b=(P(t.sub.3)−P(t.sub.4))/(t.sub.3−t.sub.4), where: the time point t is a time point later by a predetermined time than the time point when the position estimator executes estimation; t.sub.1 is the first time point, and P(t.sub.1) is the position data at the first time point t.sub.1 as the representative value in the first time width centered on the first time point t.sub.1, obtained by processing by means of the digital filter the position data calculated by the position calculator during the first time width; t.sub.2 is the second time point, t.sub.1>t.sub.2, and P(t.sub.2) is the position data at the second time point t.sub.2 as the representative value in the second time width centered on the second time point t.sub.2, obtained by processing by means of the digital filter the position data calculated by the position calculator during the second time width; t.sub.3 is the third time point, and P(t.sub.3) is the position data at the third time point t.sub.3 as the representative value in the third time width centered on the third time point t.sub.3, obtained by processing by means of the digital filter the position data calculated by the position calculator during the third time width; t.sub.4 is the fourth time point, t.sub.3>t.sub.4, and P(t.sub.4) is the position data at the fourth time point t.sub.4 as the representative value in the fourth time width centered on the fourth time point t.sub.4, obtained by processing by means of the digital filter the position data calculated by the position calculator during the fourth time width; t.sub.1>t.sub.3, and the third time width and the fourth time width each have a sufficiently larger width than the first time width and the second time width; and R is a predetermined reference value.
9. The encoder according to claim 1, wherein: the position calculator is configured to calculate a rotational angular position as the relative positional relation between the scale and the detecting sensor based on the detection signal output from the detecting sensor; the position data storage is configured to store therein rotational angular position data calculated by the position calculator; and the position estimator is configured to calculate and estimate rotational angular position data as the position data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) For a more complete understanding of the disclosed methods and apparatus, reference should be made to the embodiment illustrated in greater detail on the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION
(8) Hereinafter, a specific embodiment of the present disclosure will be described with reference to the drawings.
(9) As shown in
(10) The rotary encoder 1 is provided on the spindle unit 20 to detect a rotational angular position of the spindle 22 that constitutes the spindle unit 20. As shown in
(11) The scale 2 has a configuration similar to that of the ring-shaped scale 101 shown in
(12) The detecting head 3 is attached to the rear end of the housing 21 via an attaching member 11 to face the outer peripheral surface of the scale 2 rotating, with a certain distance therebetween. The attaching member 11 is cylindrical in shape and the detecting head 3 is fixed to an inner peripheral surface of the attaching member 11. An opening of the attaching member 11 is closed by a lid 12.
(13) As shown in
(14) Note that operation of the spindle unit 20 is controlled by a controller, which is not shown in the drawings, based on the rotational angular position of the spindle 22 detected by the rotary encoder 1.
(15) The bias magnet (not shown) produces a bias magnetic field. The detecting sensor 4 detects a relative rotational angular position between the scale 2 and the detecting sensor 4 at predetermined time intervals (sampling intervals) (for example, 20 MHz as mentioned above) based on a variation (variation drawing a sine curve) of the bias magnetic field, which is caused by rotation of the scale 2 having the linear teeth. The position calculator 5 calculates a current rotational angular position of the scale 2 with respect to a predetermined zero-point angular position (rotation zero point) based on the relative rotational angular position detected by the detecting sensor 4, and stores the calculated rotational angular position data into the position data storage 6. Note that the rotation zero point also represents a relative positional relation between the scale 2 and the detecting sensor 4.
(16) The position estimator 7 calculates (estimates) a rotational angular position of the scale 2 at a calculation-target time point based on the rotational angular position data stored in the position data storage 6, and outputs the calculated (estimated) rotational angular position to the outside (for example, the controller) through the input and output part 8. Note that the calculation-target time point is set at predetermined time intervals, which time interval is much longer than the sampling interval and is set to be equal to an operation speed of the destination of the estimated rotational angular position, for example, the controller (for example, 10 kHz as mentioned above). Further, the calculation-target time point is a time point a predetermined time later than the processing (estimation) time point, the estimation being executed at a time point preceding the calculation-target time point by the predetermined time. The position data storage 6 stores therein at least the rotational angular position data for a time width needed for the calculation in the position estimator 7.
(17) The position estimator 7 calculates the rotational angular position P(t) of the scale 2 in accordance with Equation 1 below.
(18) The position estimator 7 calculates the rotational angular position P(t) of the scale 2 in accordance with Equation 1 below.
P(t)=P(t.sub.1)+v.sub.1×(t−t.sub.1)+(α.sub.1×(t−t.sub.1).sup.2)/2+(j×(t−t.sub.1).sup.3)/6,
with
v.sub.1=(P(t.sub.0)−P(t.sub.2))/(t−t.sub.2),
v.sub.2=(P(t.sub.2)−P(t.sub.3))/(t.sub.2−t.sub.3),
v.sub.3=(P(t.sub.3)−P(t.sub.4))/(t.sub.3−t.sub.4),
α.sub.1=2(v.sub.1−v.sub.2)/(t.sub.1−t.sub.3),
α.sub.2=2(v.sub.2−v.sub.3)/(t.sub.2−t.sub.4), and
j=(α.sub.1−α.sub.2)/(t.sub.2−t.sub.3). (Equation 1)
(19) The time point t is a time point after an elapse of a predetermined time from a predetermined time point (that is, the estimation time point). As shown in
(20) As described above, P(t.sub.1), the first term of Equation 1, is rotational angular position data at the first time point t.sub.1, which is a mean value of rotational angular position data obtained in the first time width tw.sub.1 centered on the first time point t.sub.1. In this embodiment, the rotational angular position P(t) of the scale 2 at the calculation-target time point t is estimated based on P(t.sub.1).
(21) Specifically, the rotational angular position P(t) is estimated under the assumption that, with the rate of change (in other words, rotational speed of the scale 2) between the rotational angular position P(t.sub.1) at the first time point t.sub.1 and the rotational angular position P(t.sub.2) at the second time point t.sub.2 being v.sub.1 (the second term of Equation 1), the scale 2 rotates at the same rotational speed as the rotational speed v.sub.1 from the first time point t.sub.1 until the estimation time point t. Therefore, the second term of Equation 1 means an amount of rotational movement of the scale 2 estimated based on the rotational speed v.sub.1 of the scale 2.
(22) Further, the third term of Equation 1 is a correction term for a case where the scale 2 moves with acceleration. As shown in
(23) The influence (value) of the acceleration α.sub.1 on the rotational angular position during the period from the first time point t.sub.1 until the estimation time point t can be calculated by Equation: (α.sub.1×(t−t.sub.1).sup.2)/2, the equation being obtained by second-order integration of the acceleration α.sub.1 with respect to time (t.sub.1−>t).
(24) Further, the fourth term of Equation 1 is a correction term for a case where the scale 2 moves with jerk. As shown in
(25) Therefore, with reference also to the acceleration α.sub.t calculated as described above, the rate of change of the acceleration of the scale 2, that is, jerk j, during the period from the third time point t.sub.3 until the second time point t.sub.2 is, as described above, j=(α.sub.1−α.sub.2)/(t.sub.2−t.sub.3).
(26) The influence (value) of the jerk j on the rotational angular position during the period from the first time point t.sub.1 until the estimation time point t can be calculated by Equation: (j×(t−t.sub.1).sup.3)/6, the equation being obtained by third-order integration of the jerk j with respect to time (t.sub.1−>t).
(27) In the rotary encoder 1 according to this embodiment having the above-described configuration, the detecting sensor 4 detects a relative rotational angular position between the scale 2 and the detecting sensor 4 at predetermined sampling intervals, and the position calculator 5 calculates a current rotational angular position of the scale 2 with respect to a predetermined zero-point angular position (rotation zero point) based on the detected relative rotational angular position, the calculated rotational angular position data being stored into the position data storage 6.
(28) Further, the position estimator 7 calculates (estimates) a rotational angular position of the scale 2 at the calculation-target time point based on the rotational angular position data stored in the position data storage 6, and outputs the calculated (estimated) rotational angular position to the outside (for example, the controller) through the input and output part 8. In this process, the position estimator 7 calculates the rotational angular position of the scale 2 in accordance with Equation 1 described above.
(29) Thus, the rotary encoder 1 according to this embodiment is configured to estimate a relative rotational angular position between the scale 2 and the detecting sensor 4 at the calculation-target time point; therefore, highly reliable rotational angular position without time delay can be obtained. For example, using such rotational angular position data for position control can achieve accurate and highly reliable position control in that time delay is less likely to occur.
(30) Further, in this rotary encoder 1, the position estimator 7 uses the rotational angular position data obtained in the first time width tw.sub.1, the rotational angular position data obtained in the second time width tw.sub.2, the rotational angular position data obtained in the third time width tw.sub.3, and the rotational angular position data obtained in the fourth time width tw.sub.4 to estimate the relative rotational angular position between the scale 2 and the detecting sensor 4 at the calculation-target time point (output time point). Therefore, the used range of the rotational angular position data detected by the position calculator 5 can be set to be broader than in the conventional art, in other words, more rotational angular position data can be used than in the conventional art, which makes it possible to more accurately calculate (estimate) the rotational angular position at the output time point.
(31) Further, the rotary encoder 1 according to this embodiment is configured to, in the case where the scale 2 and the detecting sensor 4 move with acceleration and jerk, calculate the rotational angular position taking into account the acceleration and the jerk, which makes it possible to still more accurately calculate (estimate) the rotational angular position at the output time point.
(32) Hereinbefore, a specific embodiment of the present disclosure has been described. However, the present disclosure is not limited to the embodiment and can be implemented in other manners.
(33) For example, the position estimator 7 may be configured to calculate the rotational angular position P(t) of the scale 2 in accordance with Equations 2 and 3 below instead of Equation 1 described above.
In a case of Δ≤R,P(t)=P.sub.b(t)+Δ2/R, and (Equation 2)
In a case of Δ>R,P(t)=P.sub.a(t),
with
Δ=P.sub.a(t)−P.sub.b(t),
P.sub.a(t)=P(t.sub.1)+v.sub.a×(t−t.sub.1),
v.sub.a=(P(t.sub.1)−P(t.sub.2))/(t.sub.1−t.sub.2),
P.sub.b(t)=P(t.sub.3)+v.sub.b×(t−t.sub.3), and
v.sub.b=(P(t.sub.3)−P(t.sub.4))/(t.sub.3−t.sub.4). (Equation 3)
(34) As shown in
(35) As shown in
(36) Based on the two estimated values P.sub.a(t) and P.sub.b(t), a difference value Δ between them is calculated. In a case where the difference value Δ exceeds the predetermined reference value R (in a case of Δ>R), a determination is made that the estimated values P.sub.a(t) and P.sub.b(t) are under the influence of noise, and P.sub.a(t) that is calculated based on the rotational angular position data close to the estimation time point is designated as the estimated value P(t) (Equation 3). On the other hand, in a case where the difference value Δ is equal to or smaller than the reference value R (in a case of Δ≤R), a determination is made that the estimated values P.sub.a(t) and P.sub.b(t) are less under the influence of noise, and the estimated value P(t) is estimated based on P.sub.a(t) and P.sub.b(t).
(37) Thus, with the position estimator 7 according to this embodiment, the estimated value P(t) can be calculated taking into account the influence of noise, which makes it possible to more accurately calculate (estimate) the rotational angular position at the output time point.
(38) Further, in the above embodiment, a separate-type rotary encoder is presented by way of example; the present disclosure is not limited to such an encoder and can be embodied by other types of encoders, which include not only a unit-type rotary encoder but also a linear encoder, and further include encoders using various types of detection, such as an optical encoder and a magnetic encoder.
(39) Further, the above embodiment is configured to calculate each of the mean values, i.e., the representative values, of the first time width tw.sub.1, second time width tw.sub.2, third time width tw.sub.3, and fourth time width tw.sub.4 by processing, by means of an averaging filter, rotational angular position data obtained in the time width; however, the present disclosure is not limited thereto. Maximum values or minimum values may be used as the representative values, and the digital filter for calculating the representative values may employ various types of filters, such as a high-pass filter, a low-pass filter, a band-pass filter, and a band-stop filter, depending on the representative values.
(40) Further, in each of the above embodiments, it is preferable that the first through fourth time points t.sub.1 through t.sub.4 are set between the present calculation-target time point and the previous calculation-target time point. That is to say, it is preferable that the rotational position data used for the present calculation is data obtained after the previous calculation-target time point. Further, it is preferable that the first time point t.sub.1 is set at a time point as close to the present calculation-target time point as possible.
(41) Note that the above description of the embodiments is illustrative in all aspects and is not limiting. One skilled in the art would be able to make variations and modifications as appropriate. The scope of the present disclosure is not defined by the above-described embodiments, but is defined by the appended claims. Further, the scope of the present disclosure encompasses changes made from the embodiments within the scope equivalent to the scope of the claims.