Absolute angle determination
10371548 · 2019-08-06
Assignee
Inventors
Cpc classification
G01D5/26
PHYSICS
International classification
Abstract
A device for measuring an absolute angle includes first and second rotatable members having first and second radii and capable of rotating over first and second angles respectively, a first number of detectable elements mounted on the first rotatable member, a second number of detectable elements mounted on the second rotatable member, and at least one sensor for detecting rotation of the detectable elements. The second rotatable member is coupled with the first rotatable member such that the second angle is equal to the first angle times the ratio of the first radius and the second radius. The first radius is equal to a first integer times a factor, while the second radius is equal to a second integer times the factor. The product of the first number and the second integer, and the product of the second number and the first integer, are co-prime.
Claims
1. A device for measuring an absolute angle of an axle, the device comprising: a first rotatable member having a first radius (S) and a first perimeter, a second rotatable member having a second radius (T) and a second perimeter, a first number (P) of detectable elements provided on the first rotatable member adjacent to a first perimeter thereof, a second number (Q) of detectable elements provided on the second rotatable member adjacent to a second perimeter thereof, a first sensor is mounted on the first rotatable member and configured for detecting rotation of the first number of detectable elements, and a second sensor is mounted on the second rotatable member and configured for detecting rotation of the second number of detectable elements, wherein the first radius (S) is equal to a first integer (M), which is greater than zero, times a factor (a), wherein the second radius (T) is equal to a second integer (N), which is greater than zero, times said factor (a), wherein the first radius and the second radius are in a same units of measurement, wherein the second rotatable member is coupled with the first rotatable member such that a rotation of the first rotatable member over a first angle () causes the second rotatable member to rotate over a second angle () equal to the first angle () times the ratio (M/N) of the first radius and the second radius, and wherein the product of the first number (P) and the second integer (N), and the product of the second number (Q) and the first integer (M), are co-prime; the device further comprising a processor configured to: obtain parameter values (M, N, P, Q); calculate Bzout numbers (C, D) using the parameter values; obtain measured angles (,); multiply each measured angle (,) with a respective Bzout number (C, D); add resulting products; output a resulting sum; scaling the resulting sum; and outputting the scaled sum as the absolute angle of the axle.
2. The device according to claim 1, wherein the detectable elements are magnetic elements.
3. The device according to claim 1, wherein the detectable elements are optical elements.
4. The device according to claim 1, wherein the second rotatable member and the second sensor are arranged in a common housing.
5. The device according to claim 4, wherein the first sensor is arranged in the common housing.
6. The device according to claim 1, wherein the second rotatable member is magnetically coupled with the first rotatable member.
7. The device according to claim 1, wherein the second rotatable member is mechanically coupled with the first rotatable member.
8. The device according to claim 7, wherein the second rotatable member is mechanically coupled with the first rotatable member by gear teeth.
9. The device according to claim 1, wherein M equals one hundred (100), N equals seven (7), P equals one hundred nine (109) and Q equals four (4).
10. A method of measuring an absolute angle of an axle using a device, the method comprising: providing a first rotatable member having a first radius (S) and a first perimeter, a second rotatable member having a second radius (T) and a second perimeter, a first number (P) of detectable elements provided on the first rotatable member adjacent to a first perimeter thereof, a second number (Q) of detectable elements provided on the second rotatable member adjacent to a second perimeter thereof, a first sensor is mounted on the first rotatable member and configured for detecting rotation of the first number of detectable elements, and a second sensor is mounted on the second rotatable member and configured for detecting rotation of the second number of detectable elements, wherein the first radius (S) is equal to a first integer (M), which is greater than zero, times a factor (a), wherein the second radius (T) is equal to a second integer (N), which is greater than zero, times said factor (a), wherein the first radius and the second radius are in a same units of measurement, wherein the second rotatable member is coupled with the first rotatable member such that a rotation of the first rotatable member over a first angle () causes the second rotatable member to rotate over a second angle (3) equal to the first angle () times the ratio (M/N) of the first radius and the second radius, and wherein the product of the first number (P) and the second integer (N), and the product of the second number (Q) and the first integer (M), are co-prime, obtaining parameter values (M, N, P, Q); calculating Bzout numbers (C, D) using the parameter values; obtaining measured angles (,); multiplying each measured angle (,) with a respective Bzout number (C, D); adding resulting products; outputting a resulting sum; scaling the resulting sum; and outputting the scaled sum as the absolute angle of the axle.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1) The present invention will further be explained with reference to embodiments illustrated in the drawings, in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF EMBODIMENTS
(6) The present invention provides a device for measuring an absolute angle of a rotatable member, which device is capable of measuring an angle greater than 360 (that is, 2 radians) without having to store the number of revolutions. This is achieved by an inventive set of parameters of the device, in particular the radii of the rotatable members and the number of detectable elements on those rotatable members.
(7) The invention therefore makes it possible to determine the absolute angular position of a rotor or other rotatable member within more than one revolution. In other words, given a zero or initial position on the rotor, the range of angle measurement is extended from [0.360] degrees to [0.360.Math.n] degrees where n, an integer greater than 1, can be chosen substantially arbitrarily.
(8) The device 1 schematically illustrated in
(9) The rotatable members 11 and 12, which in the present embodiment may also be referred to as rotor and pinion respectively, are each provided with detectable elements 21 and 22 respectively. The detectable elements 21 and 22 may be constituted by surfaces having alternating colours, such as black and white, which make it possible to distinguish between the successive surfaces. In general, a sensor (such as sensor 31 or 32) should be able to detect the detectable elements 21 and 22 as they pass the sensor. In some embodiments, the detectable elements may be magnetic, in which case the sensors 31 and 32 will typically be electromagnetic. In the present embodiment, where optically detectable elements 21 and 22 are used, the sensors 31 and 32 will be optical sensors which may be configured to detect differences in the intensity of reflected light. The device may further comprise a light source (not shown in
(10) The rotatable members 11 and 12 are mechanically coupled in such a way that a rotation of the first rotatable member 11 causes a corresponding rotation of the second rotatable member 12. In the embodiment shown, the mechanical coupling is achieved through friction of the edge surfaces of the rotatable members 11 and 12. However, in other embodiments, gears, belts or magnetic couplings may be used instead of a friction coupling. In the following discussion it will be assumed that the angle over which the first rotatable member 11 rotates is to be determined, and that the second rotatable member 12 is an auxiliary member that facilitates determining the rotation angle of the first rotatable member.
(11) Due to the mechanical coupling of the rotatable members, the second rotatable member 12, which may also be referred to as pinion in this embodiment, will rotate when the first rotatable member 11 rotates. The angle over which the second rotatable member 12 rotates will be determined by the ratio of the radii of the rotating members.
(12) Let R=a.Math.M and S=a.Math.N denote the radii of the (main) rotor 11 and the pinion 12, respectively, where a is a positive real number and M and N are positive integer numbers. M and N could be seen as the number of gear teeth of the main rotor and the pinion, respectively, if the rotatable members were to have gear teeth, and determine the angle over which the pinion 12 rotates when the (main) rotor 11 rotates. Let P and Q be the number of detectable elements 21, 22 (which may also be referred to as encoder partitions) of the main rotor 11 and the pinion 12, respectively.
(13) If the main rotor 11 rotates by (radians), the pinion 12 rotates by =(M/N).Math. (radians). Since the main rotor has P encoder partitions, when it rotates by , the sensor on the rotor measures an angle =mod(P.Math., 2.Math.), where mod stands for modulus, to produce a positive angle which is smaller than 2.Math. radians: 0<2.Math.. Likewise, the sensor on the pinion measures an angle =mod(Q.Math., 2.Math.).
(14) We can express and as follows:
P.Math.=+2.Math..Math.m(1)
Q.Math.=+2.Math..Math.n(2)
for some integers m and n, the exact values of which are not relevant.
Since =(M/N).Math., equation (2) can be written as
Q.Math.M.Math.=.Math.N+2.Math.n.Math.N(3)
Multiplying both sides of (1) by Q.Math.M results in
P.Math.Q.Math.M.Math.=.Math.Q.Math.M+2.Math..Math.m.Math.Q.Math.M(4)
Then multiplying both sides of (3) by P results in
P.Math.Q.Math.M.Math.=.Math.N.Math.P+2.Math..Math.n.Math.N.Math.P(5)
Dividing both sides of both (4) and (5) by 2.Math. produces the following set of equations:
P.Math.Q.Math.M.Math.(/2.Math.)=(/2.Math.).Math.Q.Math.M+m.Math.Q.Math.M(6)
P.Math.Q.Math.M.Math.(/2.Math.)=(/2.Math.).Math.N.Math.P+n.Math.N.Math.P(7)
The angles and are measured and the angle /(2.Math.) can now be calculated. Eliminating m and n in equations (6) and (7):
P.Math.Q.Math.M.Math.(/2.Math.)(/2.Math.).Math.Q.Math.M mod(Q.Math.M)(8)
P.Math.Q.Math.M.Math.(/2.Math.)(/2.Math.).Math.N.Math.P mod(N.Math.P)(9)
Here the symbol denotes an equivalence relation. Equation (8) reads P.Math.Q.Math.M.Math.(/2.Math.) is equivalent to (/2.Math.).Math.Q.Math.M modulo Q.Math.M. Relation (9) reads similarly.
(15) Relations (8) and (9) are of the form
xa1 mod(z1)(10)
xa2 mod(z2)(11)
The solution to such a system of equivalence relations comes from the Chinese remainder theorem. This theorem says that
x=D.Math.z2.Math.a1+C.Math.z1.Math.a2(12)
satisfies (10) and (11) and is unique modulo lcm(z1, z2) (where lcm is the least common multiple). Here C and D are the so-called Bzout numbers for the pair (z1, z2), i.e. C.Math.z1+D.Math.z2=gcd(z1, z2) (where gcd is the greatest common divisor).
(16) This Chinese remainder theorem is applied to relations (8) and (9). According to the present invention, the products Q.Math.M and N.Math.P are chosen to be co-prime. As the products Q.Math.M and N.Math.P are both products of integers, these products are integers too. It is noted that two integer numbers are coprime (or mutually prime) if the only positive integer that evenly divides both of them is 1. That is, the only common positive factor of the two numbers is 1. This is equivalent to their greatest common divisor being 1.
(17) If these products Q.Math.M and N.Math.P are chosen to be co-prime, then lcm(Q.Math.M, N.Math.P)=Q.Math.M.Math.N.Math.P and gcd(Q.Math.M, N.Math.P)=1. That will then give a solution for P.Math.Q.Math.M.Math.(/2.Math.) which is unique between 0 and Q.Math.M.Math.N.Math.P. Since it is desired to determine the number of full revolutions, this leads to a unique solution for /2.Math. between 0 and N.
(18) It is noted that if the products Q.Math.M and N.Math.P are not chosen to be co-prime, then the solution to P.Math.Q.Math.M.Math.(/2.Math.) will be unique up to lcm(Q.Math.M, N.Math.P), which is always less than or equal to Q.Math.M.Math.N.Math.P. Hence choosing Q.Math.M and N.Math.P to be co-prime maximizes the number of revolutions that can be counted and this is one of the objects of this invention.
(19) In an example, M=100 and N=7. That means that when the main rotor makes 7 revolutions, the pinion makes 100 revolutions. Furthermore, in this example P=109 and Q=4. Therefore, when the main rotor makes one revolution the detectable elements of the rotor make 109 steps, that is, the passage of 109 detectable elements is detected. Likewise, when the pinion makes one revolution then 4 detectable elements are detected.
(20) Accordingly, when the main rotor makes 7 revolutions, its sensor detects 7.109=763 steps or elements (angle ). Hence, the sensor of the pinion detects 100.4=400 steps (angle ). For the sake of simplicity of the example it is assumed that initially ==0. As the rotor keeps rotating the next time both and become zero simultaneously is when the rotor sensor detects 763 steps. Up until then the pair (, ) never assumes the same value twice. Since 763 steps detected by the rotor sensor corresponds to 7 revolutions of the rotor, it is possible to count up to 7 revolutions (N=7). Accordingly, in this example the invention allows to absolutely measure angles smaller than 14.Math. radians, 14.Math. being equal to 7 times 2.Math..
(21)
(22) It is noted that the absolute angle is, in the present example, represented by the number of revolutions. It will be understood that this is a matter of convenient scaling and that the absolute angle is equal to the number of revolutions times 2.Math.:
_abs=n.Math.2.Math.(13)
(23) The main advantage of the invention is that, within a certain range, it eliminates the need to count the jumps of the rotor angle. The counting concept requires that there be a memory where the number of turns is stored and which incremented at each jump of the rotor angle. This invention does not rely on the past rotor angle to compute the number of turns. It is absolute within a certain predetermined number of revolutions (here: 7 revolutions) by construction.
(24) Another advantage of this invention is that if the rotor rotates while any electronic parts of the device are switched off, the number of turns it made is known as soon as the electronic parts are switched on again. That is not the case for the counting concept since any jump the rotor angle makes will not be detected while the electronic parts are switched off.
(25) In the embodiment of
(26) More in particular, the processing unit 33 is configured for counting the number of detectable elements (21 in
(27) An exemplary calculation expressed in MATLAB will now be provided. First, the parameters M, N, P, Q and R given their values: M=100; N=7; R=M/N; P=109; Q=4;
Then, the Bzout numbers C and D are calculated using a MATLAB function gcd, which also provides the greatest common divisor G, in addition to the Bzout numbers C and D:
[G, C, D]=gcd(N*P, M*Q)
G=gcd(A, B) is the greatest common divisor of A and B. The values A and B must be integer values. The function [G, C, D]=gcd(A, B) also returns C and D such that G=A.Math.C+B.Math.D. In the present example, A=N.Math.P and B=M.Math.Q, so G=N.Math.P.Math.C+M.Math.Q.Math.D.
(28) In accordance with the present invention, the greatest common divisor G of the products N.Math.P and M.Math.Q equals 1. The value of G can be used to check whether the correct values of M, N, P and Q were chosen.
(29) In the particular MATLAB example, vectors consisting of 7000 rotational positions of and are reserved, assuming a total number of 7 revolutions: revs=7; alpha=linspace(0, 2*pi*revs, revs*1000); beta=M/N*alpha;
The measured angles are, as mentioned above: gamma=mod(P*alpha, 2*pi); theta=mod(Q*beta, 2*pi);
The absolute angle _abs can now be calculated. In the present example, the absolute angle is output as the number of revolutions n:
for i=1:length(alpha)
n(i)=mod(theta(i)/2/pi*D+gamma(i)/2/pi*C, 1)*N;
end
This corresponds with equation (12) above. It can be seen that the number of revolutions n is calculated using the Bzout numbers C and D, which are multiplied with the angles and respectively. The resulting products are scaled to yield revolutions instead of an angle, but those skilled in the art will understand that these are alternative ways of expressing essentially the same variable. By determining the resulting number modulo 1, a number between 0 and 1 is obtained. Multiplying this number by N, the absolute angle _abs is output as a number n between 0 and N (here: between 0 and 7) representing the number of revolutions of the rotor 11.
(30) It is noted that the multiplication with the number N is carried out as in the present example, the number N is equal to the maximum number of rotations that can be determined in an absolute manner. However, in embodiments having other values of M, N, P and Q, this is not necessarily the case.
(31) Embodiments of the method of the invention, such as the example defined above in MATLAB code, can be summarized as: obtain the parameter values M, N, P and Q; calculate the Bzout numbers C and D using the parameter values; obtain the measured angles and ; multiply each measured angle and with a respective Bzout number C, D; add the products; scale the resulting sum; and output the scaled sum as the absolute angle _abs or as the number of revolutions n.
It is noted that the steps of multiplying and scaling may form a single, combined step. Part of the scaling step (in particular, dividing by 2.Math.) may be omitted when the absolute angle _abs is output instead of the number of revolutions. The term scaling is here meant to include the modulo operation.
(32) The method is schematically illustrated in
(33) The actual calculation takes place in step 405, where the first Bzout number C is multiplied with and the second Bzout number D is multiplied with , after which the resulting products are added in step 406. During steps 405 and/or 406, or during a subsequent step 407, the result is scaled to obtain a desired result. Scaling may involve a division by 2.Math. to obtain a number of revolutions instead of an angle, multiplication by a factor (for example 7) indicating the maximum absolute angle or absolute number of revolutions that can be determined, and/or performing a modulus operation to provide a unique outcome.
(34) The result is output in step 408. The method ends in step 409. Of course, the steps 404 to 408 may be repeated as many times as desired.
(35) It is noted that instead of the values of M, N, P and Q mentioned above, other values may be used. The diameter of the first rotatable member preferably lies in a range from 20 to 300 mm, although larger diameters are possible, even as large as 2000 mm. Accordingly, the radius R (=a.Math.M) therefore ranges from 10 to 150 mm. The number P of detectable elements on the first rotatable member may range from 10 to 160, but values over 1000 are also feasible. The value of S (=a.Math.N) preferably lies in the range 2-10 mm, although other values are also possible. The value of Q preferably lies between 2 and 11. An example of a suitable set of values is: M=271, N=19, P=131 and Q=10. It can be seen that P.Math.N=2489 and that Q.Math.M=2710. Using the well-known Euclidean algorithm, it can readily be shown that the products P.Math.N and Q.Math.M are co-prime.
(36) It is further noted that in some embodiments, the sensors 31 and 32 may be combined to form a single sensor unit configured for counting the detectable elements of both rotatable members 11 and 12. While in the embodiment shown the ratio of the rotational velocities of the two rotatable members is determined by their circumferences, which are mechanically coupled (for example by friction), this is not essential and embodiments can be envisaged in which the circumferences of the two rotatable members are not adjacent, the mechanical coupling being accomplished by gears. In such embodiments, the rotatable members need not lie in the same plane, as in the embodiments shown. In the preferred embodiment shown, however, the rotatable members 11 and 12 are not coaxial but are located in substantially the same plane.
(37) A computer program product according to the invention comprises instructions allowing a processor to carry out the steps of the method defined above. The computer program product may include a tangible carrier, such as a DVD or a memory stick, but may alternatively be a remotely stored set of instructions which can be downloaded from the internet, for example.
(38) It will be understood that the description of the invention given above is not intended to limit the invention in any way. Singular nouns and the articles a and an are of course not meant to exclude the possibility of plurals. Devices mentioned in this document may be replaced with their successors, even if these successors are not yet known at the time of writing. As is well established in the law of patents, the abstract should never be used to limit the scope of the claims, and neither should reference numbers in the claims.
(39) It will further be understood by those skilled in the art that the present invention is not limited to the embodiments mentioned above and that many additions and modifications are possible without departing for the scope of the invention as defined in the appending claims.