HIGH RESOLUTION ABSOLUTE VECTOR ENCODER
20240192031 · 2024-06-13
Assignee
Inventors
Cpc classification
G01D2205/18
PHYSICS
G01D2205/24
PHYSICS
G01D2205/26
PHYSICS
G01D5/145
PHYSICS
International classification
Abstract
A high-resolution encoder device to measure and retrievably encode the relative position of a first part P with a second part S comprises sensible elements on part P, said sensible elements providing a variable property for sensing, such that said variable property varies over a length of said part P, a number n of sensors for sensing said variable property, said sensors being separate from each other and disposed on part S, said sensors configured to output signals in accordance with said sensing, and a processing unit connected to receive said signals from each of said n sensors and configured for succeeding ones of said relative positions to form a vector having entries from each sensor respectively, the vector defining said relative positions respectively.
Claims
1. A high-resolution encoder device to measure and retrievably encode the relative position of a first part P of said encoder device with a second part S of said encoder device, said first part P and said second part S being movable with respect to one another, comprising: a) sensible elements disposed along a length of said first part P of said encoder device, said sensible elements providing a variable property for sensing, such that said variable property varies over said length of said first part P; b) a number n of sensors for sensing said variable property, said sensors being separate from each other and disposed along said second part S, said sensors configured to output signals in accordance with said sensing of said variable property; c) a processing unit connected to receive said signals from each of said n sensors and configured for succeeding ones of relative positions along said first part P to form a vector having entries from each sensor respectively, thereby defining said relative positions respectively; and the processing unit being configured to calculate the relative position from the vector; the processing unit further being configured to obtain an initial position by scanning for all possible positions until a position at which the vector function satisfies a condition
N[Vc(X)?V]<? is found, wherein ? is a predetermined threshold.
2. The high resolution encoder of claim 1, further comprising an analog to digital converter between said n sensors and said processor, to digitize said signals from said n sensors prior to providing said signals to said processor.
3. The high resolution encoder of claim 1, wherein said signals are input to the said processing unit as a vector A.sub.s(X) with s?{1 . . . n}.
4. The high resolution encoder of claim 3, wherein said vector is inserted into an n vector function V(X)={ . . . , A.sub.s(X), . . . } to define the relative positions X of the said P part with the said S part.
5. The high-resolution encoder of claim 4, wherein said vector function V(X) is selected to fulfil first and second mathematical conditions: first mathematical condition There is a one to one (injective) relation between X and V(X), so that a vector value V(X) obtained at a position X is characteristic of that position, second mathematical condition There exists a threshold ? such that for any two positions X1 and X2, there exists a norm N[V(X.sub.1), V(X.sub.2)] and a function F[V(X.sub.1), V(X.sub.2)] such that Either
N[V(X.sub.1)?V(X.sub.2)]>? Or The function F(X)=F[X, V(X.sub.2)] is monotonous over a predetermined interval X1?X?X2.
6. The high resolution encoder of claim 1 wherein the vector function V(X) is of size p and has components V(X)={ . . . , B.sub.t(X), . . . } with t?{1 . . . p], wherein the components B.sub.t(X) are mathematical combinations of signals A.sub.s(X).
7. The high resolution encoder of claim 1, wherein said variable property is one member of the group consisting of: a variable magnetic field intensity resulting from permanent magnets of different polarities disposed on the scale at several positions; a variable light intensity obtained by variable transparency or reflectivity of parts of the scale; and a number of light sources a variable light intensity obtained by variable distance between sensors and a number of light sources variable eddy current losses obtained by an irregular shape of a conducting part of the scale; and variable inductance obtained by a variable property of the rotor material magnetic properties.
8. The high resolution encoder of claim 1, being a rotary encoder, and wherein said relative position comprises a relative angle.
9. The high resolution encoder of claim 1, being a linear encoder, wherein one of the parts comprises a liner path or a curvilinear path and said relative position relates to a length along said linear or curvilinear path.
10. The high resolution encoder of claim 1, wherein the processor is configured to obtain an initial position estimate from a most recent previously known position.
11. (canceled)
12. The high resolution encoder of claim 1, wherein values of said vector function are held in a look-up table.
13. A high-resolution encoding method to measure and retrievably encode the relative position of a first part P with a second part S, the first part P and the second part S being movable with respect to one another, the method comprising: a) providing a variable property for sensing such that said variable property varies over a length of said first part P, said variable property being provided via sensible elements distributed over said length of said first part P; b) on said second part S, sensing said variable property at n discrete locations; c) outputting signals from said n discrete locations in accordance with said sensing; d) receiving said signals from each of said n discrete locations; and e) for succeeding ones of said relative positions forming a vector having entries from each sensor respectively, thereby defining said relative positions respectively, the encoder thereby using said vector to measure and encode said relative position; and f) obtaining an initial position by scanning for all possible positions until a position at which the vector function satisfies a condition
N[Vc(X)?V]<? is found, wherein ? is a predetermined threshold.
14. The high resolution encoding method of claim 13, further comprising digitizing said signals from said n sensors prior to providing said signals to said processor.
15. The high resolution encoding method of claim 13, comprising inputting said signals to the said processing unit as a vector A.sub.s(X) with s?{1 . . . n}.
16. The high resolution encoding method of claim 15, comprising inserting said respective vector into an n vector function V(X)={ . . . , A.sub.s(X), . . . } of the relative position X of the said P part with the said S part.
17. The high-resolution encoding method of claim 16, wherein said vector function V(X) is selected to fulfil two mathematical conditions: first mathematical condition There is a one to one (injective) relation between X and V(X), so that a vector value V(X) obtained at a position X is characteristic of that position, second mathematical condition There exists a threshold ? such that for any two positions X1 and X2, there exists a norm N[V(X.sub.1), V(X.sub.2)] and a function F[V(X.sub.1), V(X.sub.2)] such that Either
N[V(X.sub.1)?V(X.sub.2)]>? Or The function F(X)=F[X, V(X.sub.2)] is monotonous over a predetermined interval X1?X?X2.
18. The high resolution encoding method of claim 17 wherein the vector function V(X) is of size p and has components V(X)={ . . . , B.sub.t(X), . . . } with t?{1 . . . p], wherein the components B.sub.t(X) are mathematical combinations of signals A.sub.s(X).
19. The high resolution encoding method according to claim 13, wherein said variable property is one member of the group consisting of: a variable magnetic field intensity resulting from permanent magnets of different polarities disposed on the scale at several positions; a variable light intensity obtained by variable transparency or reflectivity of parts of the scale; and a number of light sources a variable light intensity obtained by variable distance between sensors and a number of light sources; variable eddy current losses obtained by an irregular shape of a conducting part of the scale; and variable inductance obtained by a variable property of the rotor material magnetic properties.
20. The high resolution encoding method of claim 17, comprising carrying out a function search for a vector function, the function search comprising: selecting locations on said part P and placing or simulating sensible elements at said locations on said part P; selecting locations on said part S and placing or simulating sensors at said locations on said part S; calculating or providing signals from each sensor; and testing said signals to provide a candidate vector function that fulfills said conditions; and accepting said candidate vector function if said conditions are fulfilled and repeating said function search if said conditions are not fulfilled.
21. The high resolution encoding method of claim 13, wherein said relative position comprises a relative angle.
22. The high resolution encoding method of claim 13, wherein one of the parts comprises a liner path or a curvilinear path and said relative position relates to a length along said linear or curvilinear path.
23. The high resolution encoding method of claim 13, comprising obtaining an initial position estimate from a most recent previously known position.
24. (canceled)
25. The high resolution encoding method of claim 13, comprising obtaining values of said vector function from a look-up table.
26. The high resolution encoding method of claim 17, comprising carrying out an initialization procedure, the initialization procedure comprising compiling said vector function from said variable property.
27. The high resolution encoding method of claim 26, wherein said initiation procedure further comprises: selecting a candidate property and a variation for said variable property; using a simulation of said candidate property and said variation to set up said vector function; and verifying that said vector function fulfils said first and second conditions.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0092] Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
[0093] In the drawings:
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTION
[0103] The present embodiments relate to a high resolution absolute value vector encoder.
[0104] An encoder according to the present embodiments is provided to measure the relative position X of the two parts, part P and part S. According to the specific application, part P may be static and part S moving along a path or part S may be static and part P moving along a path.
[0105] A pattern function is defined and is arranged on a track on the P part of the encoder. This track is linear for a linear encoder, or circular for a rotary encoder, and the property of the track varies along it according to the pattern defined in the pattern function. The pattern is such as to result in a continuously variable property along the track. The property varying along the position on the track may be any one of many suitable properties, able to be sensed by appropriate sensors respectively. For example: [0106] a) variable magnetic polarization, sensible by a hall sensors or magnetic sensors, [0107] b) variable transparency, reflectivity or optical polarization, sensible by optical sensors [0108] c) variable conductivity, sensible by eddy current sensors [0109] d) inductance, sensible by electronic devices
[0110] This list is non-limiting, and other pairings of properties and sensors may be considered by the skilled person and are to be regarded as being within the scope of the present patent.
[0111] A number s of sensors is disposed along and in proximity to the track on encoder part S, at defined positions, to sense the property of the track. During the relative movement of the two parts P and S along the path the sensors move along and in proximity to the patterned track. Each sensor outputs an analog signal which varies with the relative position X of the two encoder parts, according to the property of the track portion in proximity with it. Each sensor output is amplified and/or conditioned by an electronic circuit and input to a processing unit as an analog value A.sub.s (X).
[0112] At each position X, there are thus s values available, and the number s of values of A.sub.s(X) provide a vector V(X)={ . . . , A.sub.s(X), . . . } of dimension s.
[0113] According to the present embodiments, the pattern and the position of the S sensors are designed to give the following mathematical properties of the vector V.
[0114] Condition a) There is a one to one (injective) relation between X and V(X), so that a vector value V(X) obtained at a position X is characteristic of that position.
[0115] Condition b) There exists a threshold ? such that for any two positions X1 and X2, there exists a norm N[V(X.sub.1), V(X.sub.2)] and a function F[V(X.sub.1), V(X.sub.2)] such that
[0116] Either
N[V(X.sub.1)?V(X.sub.2)]>?
[0117] Or
[0118] The function F(X)=F[X, V(X.sub.2)] is monotonous for X1?X?X2
[0119] Previous to the first operation, the encoder undergoes a calibration procedure during which the values V(X) are recorded and stored in a memory of the processing unit, in a table of vectors V.sub.c(X.sub.i).
[0120] Based on the above two properties, an algorithm is run in the processing unit to evaluate the relative position X.sub.0 of P relative to S.
[0121] At a position X.sub.0 the vector has a value A=V(X.sub.0).
[0122] The search algorithm is made in two steps:
[0123] Step 1: Search for a position X such that:
N[V(X)?A]??
[0124] To make this search, a table of the pre-recorded values of V.sub.c(X) is used. Various search methods may be used to optimize this step.
[0125] Step 2: evaluate F(X, A)
[0126] Step 3: Decrease or increase X until F(X, A)?F(X, V.sub.c(X)), or V.sub.c(X)?A
[0127] Step 3 is made possible by the fact that F(X, A) is monotonous, according to the condition b) defined above. The search is then done in the direction, increase or decrease X, that minimize the difference ?F(X, A)?F(X, V.sub.c(X))?.
[0128] The obtained value of X.sub.1 then represents a measure of the actual position X and is output by the processing unit.
[0129] This algorithm is run in the processing unit and, as will be shown, can be optimized and run cyclically at high speed, so that the encoder of the present embodiments may output measured position at a high rate. For example, a rate of 30,000 measured positions per second may be achieved with presently available microprocessors.
[0130] A first advantage of the encoder of this invention is its simplicity. The encoder may be designed with sensors relatively distant from each other, so that standard discrete electronic components of low cost can be used.
[0131] A second advantage is that high precision is not required during the manufacturing process. By contrast, in the prior art citations discussed above, precision may be such that the pre-defined code is obtained, and the position range for each code may be approximately the same for each code in order to maintain the required precision or resolution.
[0132] A third advantage, is that the pattern can be designed with a large number of elements of variable properties. Analog signals may present rapidly increasing or decreasing sections favorable for high resolution position measurements.
[0133] Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
[0134] Reference is now made to
[0135] The variable property may be of many kinds such as, for example: [0136] Variable magnetic field intensity resulting from permanent magnets of different polarities disposed on the rotor at multiple positions [0137] Variable light intensity obtained by variable transparency or reflectivity of parts of the rotor and a number of light sources [0138] Variable light intensity obtained by variant distance between sensors and a number of light sources Variable eddy current losses obtained by the irregular shape of a rotating rotor and a number of high frequency electric coils [0139] Variable inductance obtained by a variable property of the rotor material magnetic properties.
[0140] The above list is non-limiting, and other types of properties and sensors may be conceived in the scope of this patent.
[0141] Eight sensors 103a-105h are static and placed in positions to sense the variable property of the rotating disc 101. The sensors 103a-105h output electrical analog signals respectively A1-A8. The output of the sensor varies continuously with the rotation angle according to the varying property.
[0142] The analog signals A1-A8 are input to an analog to digital converter 105 and their analog values are then input to a processing unit (CPU, 106). The CPU 106 then cyclically processes the signals value A1-A8 value according to the method described further herein, and outputs a high-resolution position value.
[0143] Depending on the type of properties used, specific geometric configurations of the encoder can be used, not limited to a configuration with a disc and sensors in proximity used here. In the scope of this patent, any configuration can be used wherein a number of sensors, each one sensing a variable property of the rotating part (rotor) of the encoder, output analog electric signals varying with the rotation angle of the shaft.
[0144] According to an encoder of the present embodiments, a continuous variable property is designed so that the vector V(X) formed by the signals A1-A8, V(X)={ . . . , A.sub.s(X), . . . } fulfill the two following conditions over the whole range of angular positions X:
[0145] Condition a) There is a one to one (injective) relation between X and V(X), so that a vector value V(X) obtained at a position X is characteristic of that position.
[0146] Condition b) There exists a threshold ? such that for any two positions X1 and X2, there exists a norm N[V(X.sub.1), V(X.sub.2)] and a function F[V(X.sub.1), V(X.sub.2)] such that
[0147] Either
N[V(X.sub.1)?V(X.sub.2)]>?
[0148] Or
[0149] The function F(X)=F[V(X), V(X.sub.2)] is monotonous for X1?X?X2
[0150] Reference is now made to
[0151] Previous to initial operation, the encoder of the present embodiments undergoes a calibration procedure. During that calibration procedure, the values of the vector V of the analog signals An are recorded and stored in tables in the CPU memory over the full range of positions over a turn with sufficient resolution. Vector values retrieved from these tables in the CPU memory are hereinbelow further referred as V.sub.c. Optionally, vector derivative
where X is the angular position, can also be recorded and stored in CPU memory.
[0152] In the described embodiment, the norm N chosen is the square root of the signal difference squared:
N[V(X.sub.1)?V(X.sub.2)]=?{square root over ((V(X.sub.1)?V(X.sub.2)).sup.2)}
[0153] Reference is now made to
[0154] For such an initial search, a simple searching procedure may be to scan the whole range with a step smaller than the smallest width of a segment such as segment 301. However, such a procedure is time consuming, and another searching procedure that can be run at high speed is described hereinbelow.
[0155] Now considering condition b), in the present embodiment, the function F is selected and defined by the scalar vector multiplication:
derivative at X is calculated by the CPU using values retrieved from the calibration tables, or from tables pre-recorded during the calibration procedure.
[0159] Reference is now made to
[0160] The value d=F(X, V)?F(X, V.sub.c(X)), represents a distance between position X and the actual angular position of the encoder X.sub.1. Many common iteration algorithms can then be used which result in a precise estimation of the encoder position X.sub.1, starting for the position X found during the first algorithm step.
[0161] For the particular F function selected in the present embodiment, the F function reaches a null (0) value when X=X.sub.1.
[0162] The first search step resulted in a first position X in proximity with X.sub.1 and we thus can write, in first order approximation
(from equation 1 above)
[0163] Multiplying this equation by
we get a first estimation of the position X.sub.1
[0164] This calculation is iterated several times, each time using for X the estimated value X.sub.1. These iterations converge rapidly and a very precise estimation of the actual position X.sub.1 is obtained after a small number of iterations.
[0165] This iterative algorithm can be run cyclically at high speed, and the CPU can output a precise high resolution position value at a high rate.
[0166] The maximum precision achievable ?X is determined by the possible error ?A.sub.s in the signals A.sub.s due to noise and analog to digital converter resolution, and the amplitude of the vector derivative
[0167] For a vector error ?V, resulting from noise and resolution, the resulting error in position can be approximated to
[0168] To reduce the error in position, the encoder should thus be designed to provide a value of
as high as possible.
[0169] Other iterative algorithms can be conceived of that are enabled by the existence of a function F(X, V) which is monotonous at least in the range of positions X.sub.1?X for which N[Vc(X)?V]<?, wherein V is the vector formed by the values of the sensor signals output at an angular position X.sub.1 of the encoder.
[0170] We have described above the continuation of the algorithm run in the CPU in order to precisely estimate the encoder angular position. The continuation is dependent on initially finding a position X for which N[V.sub.c(X)?V]<?, as described below.
[0171] There are two cases to consider:
[0172] In the first case, for example after powering on the encoder, the encoder's approximate position is not known. In this case a start-up procedure is defined, wherein the CPU program scans the whole range of angular positions with a step smaller than the smallest width of the segments, for example segment 301 in
[0173] In the second case, a first precise estimation of the encoder angular position X is available from a previous cycle. The encoder has a limited rotation speed C, and the CPU algorithm is run within a very short cycle time, so that the actual angular position X.sub.1 of the encoder rotor will be very close to the previously measured position X. If in the range (X?X.sub.1) the function F(X, V) is monotonous, then the step 2 algorithm can be run, and the new position X.sub.1 can be precisely estimated. CPU can thus cyclically measure the encoder angular position if the cycle time is short enough.
[0174] A.sub.s an example, an encoder has a maximum speed of C=12,000 rpm, and the cycle time is dt=30 microsecond. In that example, the encoder angular position may change by C.Math.dt=2.16 degrees within one cycle. Referring to
[0175] Furthermore, it is possible to calculate a position X closer to the actual position of the encoder by adding an increment proportional to the speed. In physical systems the maximum acceleration is limited, so that a speed extrapolation applied to the previously calculated position will provide a closer starting position X for the second step algorithm, and will increase the maximum speed applicable for the encoder.
[0176] Referring to
[0177] Block 1: At encoder power on, the encoder processing unit starts at block 1 and proceeds to block 2.
Block 2:
[0178] a variable for a previous position variable PX is defined and labelled as unknown. [0179] A variable C is defined for an encoder angular velocity, and set to zero: C=0; [0180] Proceed to block 3
Decision Block 3:
[0181] if previous position PX is unknown, proceed to startup procedure of block 4 [0182] if previous position PX is known, proceed to block 5
Block 4:
[0183] Scan all range of positions X with small step until condition N[Vc(X)?V]<? is verified. The step of this search is pre-defined during the calibration procedure [0184] Proceed to block 6
[0185] Blocks 5-11 describe the algorithm cycle, as shown by the dashed line contour 501. CPU program executes cyclically the operations of the cycle at high speed.
Block 5:
[0186] The algorithm cycle is not the first one, a previous position is known and that known position can be used to make a first rough estimate of the present position. A speed estimation C has also been calculated from the previous cycle C=X.sub.1?PX/dt. A position estimation X is then calculated by X=PX+C*dt. [0187] Proceed to Block 6
Block 6:
[0188] A more precise estimation X.sub.1 of the position is calculated by the above-described equation 2
Decision Block 7:
[0190] In order to check whether the position estimation X1 is within the required resolution, the difference [0191] ?X.sub.1?X?<? is checked [0192] The value ? is predefined and set to a value smaller than the required resolution of the encoder. [0193] Alternatively, the difference ?V.sub.c(X)?V?<? can be checked. [0194] The value ? is predefined according to the estimated noise level and analog to digital converters resolution. [0195] If ? is smaller than a predefined value ?, then proceed to block 9 where the value X.sub.1 is output by the encoder. [0196] Otherwise, proceed to block 8 where the value X.sub.1 is used as a new starting point for another iteration.
Block 8
[0197] value X.sub.1 is copied to X as a new starting point for the next iteration. Each iteration will thus go through blocks 6, 7, 8 until the condition of block 7 is verified. The number of iterations will be typically under 5 [0198] Proceed back to block 6
Block 9
[0199] The position value X.sub.1 is output by the encoder [0200] Proceed to block 10
Block 10
[0201] Velocity is calculated from the difference between the present position X.sub.1 and a previous PX. Here dt is the cycle time, or the time difference between calculation of PX and X. [0202] Proceed to block 11
Block 11:
[0203] Record position PX=X.sub.1 for next cycle [0204] Return to Block 5 for following cycle
[0205] Various searching algorithms may be thought of according to the principles of the present disclosure as summarized below: [0206] a) At start (power on), first algorithm cycle, scan all the position range until a position X verifying the condition N[V.sub.c(X)?V]<? is found, and use that as a starting value [0207] b) If it is not a first cycle, estimate a starting position X using the previous cycle position and a physical model of the system [0208] c) Make an iterative search using the monotonous function F to guide the search direction
[0209] The above-described algorithm relies on the two required conditions of the variable property mentioned above: [0210] condition a) There is a one to one (injective) relation between X and V(X), so that a vector value V(X) obtained at a position X is characteristic of that position. [0211] condition b) There exists a threshold ? such that for any two positions X1 and X2, there exists a norm N[V(X.sub.1), V(X.sub.2)] and a function F[V(X.sub.1), V(X.sub.2)] such that
[0212] Either
N[V(X.sub.1)?V(X.sub.2)]>?
[0213] Or
[0214] The function F(X)=F[X,V(X.sub.2)] is monotonous for X1?X?X2
[0215] As defined above, the encoder includes two parts P and S. Part P induces the variable property, which property varies with the relative movement of P and S. To produce the variable property, sensible elements may be arranged on part P according to a geometric pattern. Part S includes relatively distantly placed sensors of this variable property. The variable property thus result in a sensor output signal that varies with the relative positioning between P and S. In order to design a physical arrangement that creates such a variable property, a variable property searching method may be constructed, say using a computer.
[0216] In a computer program, Norm and function F are defined. A threshold ? is defined to be significantly higher than the norm of the maximum noise level of the analog signals.
[0217] A variable maxdVcdt is defined and initialized to zero.
[0218] Searching for a candidate variable property fulfilling the conditions a and b may then be carried out as follows: [0219] 1: in a simulation model, arrange a number of active elements on encoder part P, and sensors on encoder part S according to a number of random dimensions or other parameters. [0220] 2: use a simulation program that calculates the resulting signals A.sub.s(X) of each sensor s and the vector V(X)={ . . . , A.sub.s(X), . . . } for all positions X [0221] 3: check if the function X.fwdarw.V(X) is injective (condition a), if it is not, return to step 1. In general, when using a random arrangement, the probability that the function V(X) is not injective will be very low [0222] 4: check if the condition b is verified. If not, return to 1. [0223] 5: evaluate the minimum value of
If min(|dV.sub.c(X)/dX|)>maxdVcdt then record the present arrangement and set maxdVcdt=min(|dV.sub.c(X)/dX|)
Return to 1.
[0224] The search may be run as long as possible to obtain a value of
to be as high as possible.
[0225] In 1 of the above-described searching method, random selection of a number of dimensions or parameters has been used. Other methods may be used to create a new variable property function each time. For example, artificial intelligence or neuron network techniques could be used with higher efficiency.
[0226] In the above-described embodiment, the vector V(X) was defined as the vector V(X)={ . . . , A.sub.s(X), . . . } where A.sub.s(X) are the sensor signals after being amplified and digitized by an analog to digital converter. However it is possible to use any mathematical combination of the A.sub.s(X) to obtain other signals; for example linear combination B(X)=M.A(X), could be used, where M is a matrix. In particular, the vector V(X)={ . . . B.sub.n(X) . . . } can be of dimension greater or smaller than the number of sensors.
[0227] For example, the signals of two sensors in symmetric position on the S part of a rotary encoder could be summed in one signal to compensate for eccentricity in the rotation of the shaft. In another example, normalized signals
could be used to eliminate imprecision caused by power supply fluctuations affecting all signals with the same factor.
[0228] The vector V(X)={ . . . B.sub.n(X) . . . } may be designed by the searching method described above to verify the same properties a and b.
[0229] Referring to
[0235] This list is non-limiting, and other types of properties and sensors may be considered within the scope of the present patent.
[0236] An encoder head 604 may constitute the S part of the encoder. The encoder head and scale move relative to each other on a linear path. The encoder head includes eight sensors (603a-603h). Each sensor senses the variable property of the scale according to its position on the head and the head position relative to the scale.
[0237] The electric signals from these sensors are then amplified and digitized by an A/D converter (605) and transmitted to a processing unit 606 (CPU).
[0238] The variable property searching method described above is used to design the encoder variable property, and the above-described encoder algorithm is implemented by the processing unit.
[0239] An absolute linear encoder can thus be designed with a simple physical design.
[0240] Referring now to
[0241] In this particular example, 13 permanent magnets 704a-704j are positioned on the circumference of the disc. A random sizing and positioning of these permanent magnets thus implies 13 parameters. The variable property searching method described above may run cyclically, and in each cycle, may select 13 parameter values for the position and size of the permanent magnets and run a simulation program to analyze the sensor signals.
[0242] On the PCB 706 are mounted an analog to digital converter and a processing unit (not shown) to run the encoder algorithm and output the angular position value through electrical wires 707.
[0243] An absolute magnetic encoder of high resolution and very simple construction can thus be manufactured at low cost.
[0244] In this document, the terms comprises, comprising, includes, including, having and their conjugates mean including but not limited to.
[0245] The term consisting of means including and limited to.
[0246] As used herein, the singular form a, an and the include plural references unless the context clearly dictates otherwise.
[0247] It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment, and the text is to be construed as if such a single embodiment is explicitly written out in detail. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention, and the text is to be construed as if such separate embodiments or subcombinations are explicitly set forth herein in detail.
[0248] Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
[0249] Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
[0250] All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting.