ABSOLUTE ANGLE CODING AND ANGLE MEASURING DEVICE

An absolute angle coding that includes a first code sequence disposed within 360°, wherein the first code sequence has a first length and is disposed NA times in succession. The absolute angle coding includes a second code sequence disposed within 360°, wherein the second code sequence has a second length and is disposed NB times in succession, wherein the first code sequence and the second code sequence in combination absolutely unambiguously encode said 360°. In addition, NA is greater than or equal to 2 and NB is greater than or equal to 2 and NA is not equal to NB. The first length is not equal to the second length and the first code sequence and the second code sequence are disposed in one common track, in that a part of the first code sequence and a part of the second code sequence are disposed in alternation.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description

In many fields, absolute angle measuring devices are used to determine the position of two bodies moved relative to one another. Compared to systems that measure purely incrementally, absolute angle measuring devices have the advantage that in every relative position, even after the energy supply has been interrupted, correct position information can be output immediately.

The absolute position is embodied by an angle coding. Disposing the position information in a single code track, with code elements disposed in succession in the measurement direction, is especially space-saving. The code elements are disposed in succession in pseudo-random distribution, so that a certain number of successive code elements each form one code word, which unambiguously defines the absolute position. When the scanning unit is displaced relative to the angle coding by a single code element, a new code word is already formed, and over the entire range (360°) to be detected absolutely, a succession of different code words is available. This kind of serial or sequential code is also often called a chain code or a pseudo-random code (PRC).

For determining the absolute position from the scanned code words—also called decoding—a decoding table is used, in which one position is associated with each code word. For associating the absolute position with a scanned code word, the code word forms the address for the decoding table, so that at the output, the absolute position stored in memory for this code word is present and is available for further processing. These nonvolatile tables can be designed today in hardware-wired fashion in an ASIC, to make fast access possible.

The demands in terms of resolution of angle measuring devices are becoming more and more stringent, so that over 360°, many positions have to be encoded unambiguously. The more positions have to be encoded, the more complex is the ensuing decoding. In serial encoding, it is problematic that for high resolution, a very great number of different code words have to be generated and decoded. If the decoding is done by means of tables, a large table is required, in which for every possible code word, one associated absolute position is stored in memory. If the decoding is done with a computer, the result is relatively long computation times.

U.S. Pat. No. 6,330,522 B1 shows a provision for how an angle coding and an angle measuring device can be designed in order to reduce the complexity of decoding. In it, a first code sequence of a first length and a second code sequence of a second length are disposed over 360°, in tracks extending parallel to one another. The first code sequence is disposed five times over 360°, and the second code sequence is disposed fourteen times over 360°. The bit width of the first code sequence differs from the bit width of the second code sequence. The decoder device has a first value set for decoding the first code sequence and a second value set for decoding the second code sequence. The absolute position is unambiguous because of the combination of the two partial positions at every point over 360°.

A disadvantage of a parallel arrangement of code sequences is on the one hand the vulnerability to moiré shifts in scanning, and the relatively few absolutely codable positions over 360°.

It is therefore the object of the invention to disclose an angle coding with which many positions over 360° can be unambiguously encoded, and with which in an angle measuring device, simple decoding of the successions of code words, generated by scanning this angle coding, is made possible.

This object is attained by the angle coding recited in claim 1.

In claim 12, an absolute angle measuring device with an angle coding of this kind is recited.

The absolute angle coding has a plurality of code sequences disposed within 360°, which in combination absolutely unambiguously encode the 360°. The first code sequence has a first length LA and is disposed NA times in succession, and the second code sequence has a second length LB and is disposed NA times in succession, where

NA is greater than or equal to 2 and is an integer or not an integer;

NB is greater than or equal to 2 and is an integer or not an integer;

NA is not equal to NB;

LA and LB are integers

LA is not equal to LB;

Furthermore, the first code sequence and the second code sequence are disposed in one common track, in that a part of the first code sequence and a part of the second code sequence are disposed in alternation. In particular, one code element of the first code sequence is followed by a single code element of the second code sequence each time, and a code element of the second code sequence is followed by a single code element of the first code sequence each time.

The code sequences are disposed circularly on a disk or over the circumference of a drum concentrically to the pivot point. A part of the code sequence means that this can be one or more successive code elements of this code sequence. In the exemplary embodiments that follow, this part in each case is a single code element. A code element in each case is a range of the angle coding from which a bit 0 or 1 can be derived.

“Code sequence” means a succession of a plurality of code elements that defines different positions, over the total length of the code sequence, in the grid of a code element.

The term “cyclically continued code sequence” means that at the end of the code sequence, the beginning of this same code sequence ensues again.

The length of a code sequence defines the angle sector that one code sequence includes. Since the code elements of all the code sequences each include identical angle sectors, the length of the code sequence is equal to the number of code elements within the code sequence, and thus to the number of bits that can be derived therefrom.

For generating a shift of the positions of both code sequences, the length of the first code sequence is advantageously not a multiple of the length of the second code sequence. The shifting length of the code sequences is maximal when the length of the first code sequence differs by 1 from the length of the second code sequence, or in other words when one of the two code sequences has one single code element more than the other of the two code sequences.

A first angle coding that is especially simple to decode is obtained if over 360°, the first code sequence is disposed NA times, and the second code sequence is disposed NB times, where NA and NB are both integers.

This angle coding that is especially simple to decode endlessly over the entire circumference (360°) has M1 different absolute positions over 360°, if the angle coding has a number M1=2*KGV (LA, LB) code elements are disposed, where

KGV (LA, LB) is the least common multiple of LA and LB

LA is the length of the first code sequence A;

LB is the length of the second code sequence B

For NA the following is then true: NA=KGV (LA, LB)/LA.

For NB the following is then true: NB=KGV (LA, LB)/LB.

The maximum number of different positions is attainable if LA differs from LB by 1. Then the following is true:


M1max=2*LA*LB

The words (bit patterns) obtained in the scanning of this angle coding by means of a detector array can be decoded by means of two value sets available in a decoding device. The first value set is embodied for decoding a first succession of code words, which occurs in each case upon scanning of the first code sequence and its cyclical continuation. The second value set is embodied for decoding a second succession of code words, which occurs each time upon the scanning of the second code sequence and of its cyclical continuation.

The outcome of the decoding of the first succession of code words is a first partial position within the first code sequence, and the outcome of the decoding of the further succession of code words is a second partial position within the second code sequence. The total position value is obtained from the two partial positions.

If over 360°, a number M2 of absolute positions that differs from M1=2* KGV (LA, LB) is required, in particular M2=2k different positions, then in a second angle coding over 360° the number of the code elements is as follows:


M2<2*KGV (LA, LB), where

KGV (LA, LB) is the least common multiple of LA and LB

LA is the length of the first code sequence A;

LB is the length of the second code sequence B

The first code sequence is disposed NA times, where

NA>2 and NA is not an integer,

so that the first code sequence has a joint, and/or

the second code sequence is disposed NB times, where

NB>2 and NB is not an integer,

so that the second code sequence has a joint.

In other words, in that case at least one of the two code sequences is plotted only partially once within 360°, and the part of this code sequence not plotted is cut out, and the remainder is attached to the next code sequence. At this attachment point, this code sequence is interrupted, since an joint region occurs here, at which in the scanning a new succession of code elements occurs, that is, new bit patterns or words. New bit patterns means that these bit patterns are not a component of the code sequences or their cyclical continuations. The “cutting out” or the “joint” is done at a boundary between two code elements, so that over 360°, a whole number of code elements of all the code sequences is always present.

In this second angle coding, in order to utilize the code sequences well and to enable the highest possible number of positions, the number over 360° is advantageously

M2=2*(KGV (LA, LB)−E*LA), which means that only one of the second code sequences B is incomplete, or

M2=2*(KGV (LA, LB)−E*LB), which means that only one of the first code sequences A is incomplete.

Here, E>0 and is an integer.

The second angle coding now makes it possible to dispose M2=2k code elements over 360°, where k is preferably less than 4 and an integer.

For decoding the words obtained in the scanning of the second angle coding, a further value set is now required besides the first and second value sets. This further value set is designed for decoding the joint in the cyclical continuation of the first and/or second code sequence, that is, the joint region, and it now contains the bit patterns which occur newly in the scanning of the joint region, or in other words which are not a component of the first or second value set.

Further advantageous features of the invention are recited in the dependent claims.

Exemplary embodiments of the invention will be described in further detail in conjunction with the drawings.

FIG. 1 shows a first angle measuring device with a first angle coding in a schematic illustration;

FIG. 2 shows a bit pattern of the detector array of the first angle measuring device;

FIG. 3 is a flow chart with algorithms for ascertaining the position of the first angle measuring device;

FIG. 4 is a graph showing the position of read-out bit patterns (words) based on an example of the first angle coding;

FIG. 5 shows a second angle measuring device with a second angle coding in a schematic illustration;

FIG. 6 is a flow chart with algorithms for ascertaining the position of the second angle measuring device; and

FIG. 7 is a graph showing the position of read-out bit patterns (words) based on an example of the second angle coding.

In the invention, the Nonius principle is employed. For absolute position measurement, two serial code sequences A, B are used, which include different lengths LA and LB. At each position within the measurement range of 360°, the unambiguous absolute position POS is now obtained from the combination of partial positions xA, xB of the plurality of serial code sequences A, B. The advantage of such encoding is that a decoder device 3 has to decode only the relatively short plurality of serial code sequences A, B and their cyclical continuations, and then the unambiguous position POS can be ascertained over 360° by relatively simple relations from these decoded code sequences A, B. If the decoding is done by means of tables, all that is needed is a plurality of small tables. This requires far fewer table entries than there are absolute positions that can be output.

In FIG. 1, a first absolute angle coding 1 and angle measuring device embodied according to the invention are shown schematically. The angle coding 1 is embodied such that within one complete revolution, that is, endlessly over 360°, it defines one unambiguous absolute position POS at every position. To that end, the angle coding 1 comprises a succession, disposed one after the other, of code elements A0 through A4 and B0 through B3, which each include one angle sector of the same size.

The principle of the position measurement is based on the shifting of two code sequences A, B of different lengths LA and LB, where LA, LB are integral and preferably relatively prime. The maximum length to be decoded, M1max, is obtained if LA differs from LB by 1.

Let the first code sequence A be defined by the bit sequence

A0,A1,A2,A3 . . . ALA-1 of length LA.

Let the second code sequence B be defined by the bit sequence

B0,B1,B2,B3 . . . BLB-1 of length LB.

Here, Ai, Bi∈{0;1}. The angle coding 1 is then produced by the alternation disposition of one bit from the code sequence A and then one bit from the code sequence B:

M 1 max = 2 * L A * L B A 0 B 0 A 1 B 1 A 2 B 2 A LA - 1 B LB - 1 A 0 B 0

Because of the different lengths LA, LB of the code sequence A and the code sequence B, the result is a shift between the code sequences A and B. The total encodable length M1max (that is, the length after which the bit pattern repeats) is defined, when LA−LB=1, by


M1max=2*KGV (LA, LB)=2*LA*LB,

where KGV (LA, LB)=the least common multiple of LA and LB.

According to the invention, angle codings with code sequences of arbitrary length difference LA−LB are also possible. In the case where LA−LB is not equal to 1, however, the maximum codable length M1max is less, and the evaluation algorithm may be more complicated, so that here, only the especially advantageous example in which LA differs from LB by 1 will be described in detail.

For the position measurement, the angle coding 1 is scanned, for instance optically, in that the code elements modulate a beam of light as a function of position, so that at the location of a detector array 2 of a scanning unit, a position-dependent distribution of light occurs that is converted by the detector array 2 into electrical scanning signals w. The detector array 2 is a line sensor, with a succession of detector elements disposed in the measurement direction. The detector elements are embodied such that at least one of the detector elements is unambiguously associated with each of the code elements in each relative position, and thus from each of the code elements, one bit, 0 or 1, can be obtained. To that end, in the case of the optical scanning principle, the code elements are reflective or nonreflective, or opaque or nonopaque, and the reflective code elements are for instance assigned the bit value 1 while the nonflective code elements are assigned the bit value 0. The succession of these bits (bit pattern) within one code sequence A, B, whose number is dependent on the scanning length LL, forms one code word w for each of the two code sequences A, B. The scanning signals, that is, the code words w, are delivered to a decoder device 3, which from each of the code words w of one of the code sequences A, B derives a partial position xA, xB, and from these partial positions xA, xB, then forms an absolute position POS therefrom. When the detector array 2 is displaced relative to the angle coding 1 by the width or length of one code element A, B, one new code word w is generated from each of the code sequences A, B.

For decoding the code words w, the decoding device 3 has two tables TA, TB, that is, table TA for the code sequence A and table TB for the code sequence B. A certain number of code elements is scanned by the detector array 2 to generate the code words w. The number of scanned code elements of the two code sequences A, B is called the scanning length LL and is preferably an even number of code elements or bits. The bit succession (bit pattern) generated by the detector array 2 is decoded into two words w1 and w2, as shown in FIG. 2. For the decoding, the two words w1 and w2 are searched for in the two tables TA, TB of the decoding device 3:

w1→TA; w1→TB; w2→TA; w2→TB in order to attain an association:

w1→wA and w1→wB, respectively, and w2→wA and w2→wB, respectively.

In the search, the following possibilities exist:

Positions Decoding Even-numbered positions XA = TA(w1) (0, 2, 4 . . . ) XB = TB(w2) Odd-numbered positions XA = TA(w2) (1, 3, 5 . . . ) XB = TB(w1)

In these:

    • w1, w2 are the words w read by the angle coding 1
    • xA, xB are partial positions within the code sequences A and B, respectively, and thus within the tables TA and TB, respectively
    • the decoding is the ascertainment of positions xA, xB from the words w1, w2.

In this first exemplary embodiment, the two code sequences A, B are each disposed NA and NB times, respectively, within 360°, and NA and NB are integers. Each code sequence A, B is adjoined by the beginning of the same code sequence A, B again, so that at each seam of successive code sequences A, B, this code sequence A, B is cyclically continued.

The flow chart shown in FIG. 3 and the algorithms given for it describe the calculation of the total position POS from the positions xA, xB. As FIG. 1 schematically shows, the algorithms R1, R2 in the decoding device 3 are implemented in order to ascertain the total position POS by means of the partial positions xA, xB obtained from the tables TA and TB, respectively.

With the angle coding 1 shown as an example in FIG. 1, the results are thus as follows:

length of the code sequence A: LA=5

code sequence A: A0A1A2A3A4

length of the code sequence B: LB=4

code sequence B: B0B1B2B3

scanning length: LL=8

M1max=2*LA*LB=40

KGV (LA, LB)=20

NA=KGV (LA, LB)/LA=4

NB=KGV (LA, LB)/LB=5

The table TA for code sequence A:

Bit Pattern Word w Partial Position xA A0A1A2A3 WA0 0 A1A2A3A4 WA1 1 A2A3A4A0 WA2 2 A3A4A0A1 WA3 3 A4A0A1A2 WA4 4

The table TB for code sequence B:

Bit Pattern Word w Partial Position xB B0B1B2B3 WB0 0 B1B2B3B0 WB1 1 B2B3B0B1 WB2 2 B3B0B1B2 WB3 3

These two tables TA, TB together contain 9 entries, and with these 9 entries, 40 different positions can be decoded unambiguously, specifically over 360° in angular steps corresponding to the width of one code element. The prerequisite for such decoding is that each of the two code sequences A, B is disposed in complete form multiple times over 360°; that is, at the end of one code sequence A, B, that code sequence A, B begins again and is disposed completely until the beginning of the next code sequence A, B.

In FIG. 4, a graph is shown for ascertaining the position POS from read-out bit patterns (words) w based on the example of the first angle coding 1. In the second and third columns, the words w1 and w2 ascertained from the words w of FIG. 2 are shown. The five further columns show the question of whether the words w1 or w2 have been found in the tables TA or TB. A “1” defines “found”. The next column marked “RV” defines the algorithm R1 or R2 to be used. In the following two columns, the partial positions xA and xB are given. The next column contains the value “n” calculated by the rules given in FIG. 3. The last column now contains the position POS calculated in accordance with the corresponding algorithms R1 and R2.

If the position measurement value ascertained from the two code sequences A, B is to be resolved further, then the above-described angle coding 1 can be expanded by one further track or a plurality of further tracks with absolute codes or with incremental graduations.

It can also be advantageous, from the absolute angle coding 1, additionally to derive a periodic incremental signal.

One example of an advantageous arrangement of an additional incremental track 4 is shown in FIG. 1. An incremental track 4 is provided parallel, that is, concentrically, to the track having the code sequences A, B. The graduation period of this incremental track 4 is for instance a fraction of the width of one code element of the code sequences A, B, and the boundaries of the code elements are aligned with boundaries of the graduation period of the incremental track 4. Within one angle sector of one code element, a whole number, advantageously greater than 1, of incremental graduation periods is advantageously disposed. This dimensioning of the incremental track 4 makes it possible to further subdivide the width of one code element. To that end, the incremental graduation 4 is scanned by means of a further detector unit, not shown, which in a known manner generates a plurality of incremental signals phase-offset from one another. These incremental signals are delivered to an interpolator, which further subdivides the incremental signals and outputs an absolute partial position within the width of one code element. The absolute position POS obtained from the absolute angle coding 1 and the partial position obtained from the incremental track 4 are delivered to a combination unit, which from them forms a total position, which over the measurement range of 360° is absolute and thus unambiguous and has a resolution corresponding to the interpolation step ascertained from the incremental graduation.

For many applications, however, an angle coding is now wanted which defines M2=2k different positions over one revolution, that is, within 360°. Below, in conjunction with FIGS. 5 through 7, a second exemplary embodiment of the invention will now be described, in which for forming an angle coding 10, at least one of the code sequences A, B within the 360° is therefore embodied incompletely once, in order to define the desired M2=2k different positions. Once again, the angle coding 10 is defined by the lengths LA and LB of the code sequences A and B, and LA is not equal to LB, and LA and LB are integers. It is thus not possible to select LA and LB such that M2=2*KGV (LA, LB)=2k, where k>0 and an integer. To achieve that, from the angle coding 1 of the maximum length M1max described for the first example, only one range V of the length M2=2k is now adopted.

Let there now also be a detector array 20 with a scanning length LL, with LL being an even number. For this system, there are now two ranges:

First Range: Positions 0 . . . to (M2-LL):

This is the range in which for the angle coding 10, the range V adopted from the angle coding 1 is present, and in which the total position POS can be calculated by means of the algorithms R1 and R2 of the first exemplary embodiment.

Second Range: Positions (M2-LL+1) . . . to(M2-1):

By joining together the range V taken over, a new joint ST is obtained, at which at least one of the code sequences A, B and the cyclical continuation of at least one of the code sequences (in this case the code sequence A) is interrupted. This range over this joint ST dictates special treatment with at least one additional value set for decoding bit patterns, that is, a special table, since the bit patterns generated in the scanning over this joint ST are not present in the tables TA and/or TB.

Further explanations will be made below in terms of one example:

Number of bits required per circumference: M2=32=25

Scanning length: LL=8

LA=5

LB=4

The full angle coding 1 has a length=2*LA*LB=40 positions, and to create the requisite angle coding 10 it is cut off or reduced to a length M2 of 32 positions. In FIGS. 1 and 5, this reduced range is marked V.

The code sequences A and B are defined by the following:

Code sequence A: A0A1A2A3A4

Code sequence B: B0B1B2B3

The tables TA and TB are then defined as follows:

TABLE TA For code sequence A Bit Pattern Word w Partial Position xA A0A1A2A3 WA0 0 A1A2A3A4 WA1 1 A2A3A4A0 WA2 2 A3A4A0A1 WA3 3 A4A0A1A2 WA4 4

TABLE TB For code sequence B Bit Pattern Word w Partial Position xB B0B1B2B3 WB0 0 B1B2B3B0 WB1 1 B2B3B0B1 WB2 2 B3B0B1B2 WB3 3

Now, what happens to the code sequences A and B at the new joint ST?

First, one can see that the code sequence B was cut off precisely at its cyclical continuation (that is, between B3 and B0). Thus if the detector array 20 moves past the joint ST, no problems arise with the code sequence B (“B grid”) and with the table TB: the bit B3 is followed again by the bit B0. The code sequence B and its cyclical continuation are accordingly not interrupted.

Conversely, the code sequence A is interrupted at the joint ST. For the code sequence A, as the detector array 20 passes over the joint ST, new bit patterns now occur, which do not occur in the table TA. The bit A0 is in fact not followed by A1 but rather by A0 again and only then by A1. The new positions of the code sequence A at the joint ST can be summarized in a new table TSTA (“ST” stands for joint; “A” stands for code sequence A).

TABLE TSTA Bit Pattern Word w Partial Position xSTA A3A4A0A0 WSTA0 0 A4A0A0A1 WSTA1 1 A0A0A1A2 WSTA2 2

POSST can now be ascertained by means of the tables TB and TSTA. The associated algorithms R3 and R4 are shown in FIG. 6. It should be noted that these algorithms R3 and R4 are given only as examples, since still other relations may be used instead. The algorithms R1 and R2 correspond to the algorithms R1 and R2 of the first exemplary embodiment (FIG. 3), with the special treatment for the position 31.

Another possibility for ascertaining the positions POSST at the joint ST is to look at the successive bit patterns in their entirety and not to divide them at the joint ST into the two code sequences A and B. To that end, the (LL-1)=7 bit patterns of the joint ST are written into a table TST, in which the word length in this table TST is now LL, or in the example, 8.

TABLE TST Bit Pattern Word w Position xST B0A3B1A4B2A0B3A0 WST0 25 A3B1A4B2A0B3A0B0 WST1 26 B1A4B2A0B3A0B0A1 WST2 27 A4B2A0B3A0B0A1B WST3 28 B2A0B3A0B0A1B1A2 WST4 29 A0B3A0B0A1B1A2B2 WST5 30 B3A0B0A1B1A2B2A3 WST6 31

Finally, for the above example, one code in the associated tables will also be given:

Code sequence A: 01111

Code sequence B: 0100

Angle coding 1 (length 40 bits):

0011101010011010101100101011100010111010

Angle coding 10 (32-bit excerpt V):

00111010100110101011001010111000

TABLE TA for code sequence A Bit Pattern Word w Partial Position xA 0111 WA0 0 1111 WA1 1 1110 WA2 2 1101 WA3 3 1011 WA4 4

TABLE TB for code sequence B Bit Pattern Word w Partial Position xB 0100 WB0 0 1000 WB1 1 0001 WB2 2 0010 WB3 3

TABLE TSTA Bit Pattern Word w Partial Position xSTA 1100 WSTA0 0 1001 WSTA1 1 0011 WSTA2 2

TABLE TST Bit Pattern Word w Position xST 01110000 WST0 25 11100000 WST1 26 11000001 WST2 27 10000011 WST3 28 00000111 WST4 29 00001110 WST5 30 00011101 WST6 31

In the example, one can see that it is especially advantageous if one of the code sequence lengths (LA or LB) is already a power of two. In the second example above, the total length is M2=32 and LB=4. The advantage here is then that only one of the code sequences A or B (specifically only code sequence A) has to be “cut off”. In the other code sequence (in this case the code sequence B), all the code sequences as well as their cyclical continuations are kept complete in their entirety over 360°.

For the number of code elements within 360°, the following then applies:


M2=2*(KGV(LA, LB)−E*LA),

which means that only one of the code sequences B within 360° is incomplete, but all the code sequences A are plotted completely and are cyclically continued, or


M2=2*(KGV(LA, LB)−E*LB),

which means that only one of the code sequences A is incomplete, but all the code sequences A are plotted completely and are cyclically continued, and E is an integer>0.

In FIG. 7, a graph is shown for ascertaining the position POS from read-out bit patterns (words) w based on the example of the second angle coding 10. In the second and third columns, the words w1 and w2 ascertained from the words w of FIG. 2 are shown. The six further columns show the question of whether the words w1 or w2 have been found in the tables TA, TB, TSTA. A “1” defines “found”. The next column marked “RV” defines the algorithm R1, R2, R3 or R4 to be used. In the following three columns, the partial positions xA, xB and xSTA are given. The next column contains the value “n” calculated by the rules given in FIG. 6. The last column now contains the position POS calculated in accordance with the corresponding algorithms R1, R2, R3, and R4.

The decoder device 3, 30 is advantageously embodied as an ASIC, and the required tables T, that is, the value sets required, are each hard-wired in the production of the ASIC. Alternatively, the tables T or value sets could instead be stored in memory in read-only memories, such as EPROMs.

In the second angle measuring device, a mixed form of memories is especially advantageous; on the one hand, fast access to the memory data, that is, the value sets, is attained, and on the other, rapid adaptation to the intended use is made possible. This is attained on the one hand because the value set TA, TB for the code sequences A and B and their cyclical continuations is embodied in hard-wired form, and in addition, a memory that is also programmable after the mask production is provided, and the individually required value set TST, TSTA of the joint ST is stored in this programmable memory, in other words, in the tables TST and TSTA, respectively. The programmable memory is a read-only memory and is embodied for instance as an EPROM.

As shown schematically in FIG. 5, the absolute angle coding 10 in the example of FIG. 1 can be expanded with an incremental graduation 40. Once again within one angle sector of one code element, a whole number, advantageously greater than 1, of incremental graduation periods is disposed.

The invention can be especially advantageously used on the optical scanning principle, since an optically scannable angle coding 1, 10 with a maximum number of possible different positions over 360° (one revolution of the angle coding 1, 10) can be produced replicably, and thus especially high-resolution position measurement is made possible. The detector array 2, 20 and the decoder device 3, 30 can be accommodated jointly in an opto-ASIC.

However, the invention is not limited to the optical scanning principle, but can also be used with magnetic, inductive and capacitive scanning principles.

Claims

1-15. (canceled)

16. An absolute angle coding comprising:

a first code sequence disposed within 360°, wherein said first code sequence has a first length and is disposed NA times in succession;
a second code sequence disposed within 360°, wherein said second code sequence has a second length and is disposed NB times in succession, wherein said first code sequence and said second code sequence in combination absolutely unambiguously encode said 360°, wherein:
NA is greater than or equal to 2;
NB is greater than or equal to 2 and NA is not equal to NB;
said first length is not equal to said second length; and
said first code sequence and said second code sequence are disposed in one common track, in that a part of said first code sequence and a part of said second code sequence are disposed in alternation.

17. The absolute angle coding as defined by claim 16, wherein said first length is not an integral multiple of said second length.

18. The absolute angle coding as defined by claim 17, wherein said first length differs by 1 from said second length.

19. The absolute angle coding as defined by claim 16, wherein NA and NB are integers.

20. The absolute angle coding as defined by claim 19, wherein one code element of said first code sequence and one code element of said second code sequence are disposed in alternation, and over 360°, a number M1=2*KGV (LA, LB) code elements are disposed, where KGV (LA, LB) is the least common multiple of LA and LB, wherein LA is said first length and LB is the second length.

21. The absolute angle coding as defined by claim 20, wherein over 360°, a number M1=2*LA*LB code elements are disposed.

22. The absolute angle coding as defined by claim 16, wherein one code element of said first code sequence and one code element of said second code sequence are disposed in alternation, and over 360°, a number M2<2*KGV (LA, LB) code elements are disposed, where

KGV (LA, LB) is the least common multiple of LA and LB, wherein LA is the first length and LB is the second length.

23. The absolute angle coding as defined by claim 22, wherein over 360°, M2=2k code elements are disposed, where k is greater than 4 and is an integer.

24. The absolute angle coding as defined by claim 22, wherein over 360°, a number M2=2*(KGV (LA, LB)−E * LA) is disposed, or

a number M2=2*(KGV (LA, LB)−E * LB) is disposed,
where E is an integer>0.

25. The absolute angle coding as defined by claim 24, wherein over 360°, M2=2k code elements are disposed, where k is greater than 4 and is an integer.

26. An absolute angle measuring device, comprising:

an angle coding comprising:
a first code sequence disposed within 360°, wherein said first code sequence has a first length and is disposed NA times in succession;
a second code sequence disposed within 360°, wherein said second code sequence has a second length and is disposed NB times in succession, wherein said first code sequence and said second code sequence in combination absolutely unambiguously encode said 360°, wherein:
NA is greater than or equal to 2;
NB is greater than or equal to 2 and NA is not equal to NB;
said first length is not equal to said second length; and
said first code sequence and said second code sequence are disposed in one common track, in that a part of said first code sequence and a part of said second code sequence are disposed in alternation; and
a detector array for scanning said first code sequence and said second code sequence and for generating code words; and
a decoding device for decoding said code words and for generating position values.

27. The absolute angle measuring device as defined by claim 26, wherein said first length is not an integral multiple of said second length.

28. The absolute angle measuring device as defined by claim 27, wherein said first length differs by 1 from said second length.

29. The absolute angle measuring device as defined by claim 26, wherein NA and NB are integers.

30. The absolute angle measuring device as defined by claim 29, wherein one code element of said first code sequence and one code element of said second code sequence are disposed in alternation, and over 360°, a number M1=2*KGV (LA, LB) code elements are disposed, where

KGV (LA, LB) is the least common multiple of LA and LB, wherein LA is said first length and LB is the second length.

31. The absolute angle measuring device as defined by claim 30, wherein over 360°, a number M1=2*LA*LB code elements are disposed.

32. The absolute angle measuring device as defined by claim 26, wherein one code element of said first code sequence and one code element of said second code sequence are disposed in alternation, and over 360°, a number M2<2*KGV (LA, LB) code elements are disposed, where

KGV (LA, LB) is the least common multiple of LA and LB, wherein LA is the first length and LB is the second length.

33. The absolute angle measuring device as defined by claim 32, wherein over 360°, M2=2k code elements are disposed, where k is greater than 4 and is an integer.

34. The absolute angle measuring device as defined by claim 33, wherein over 360°, a number M2=2*(KGV (LA, LB)−E * LA) is disposed, or

a number M2=2*(KGV (LA, LB)−E * LB) is disposed,
where E is an integer>0.

35. The absolute angle measuring device as defined by claim 34, wherein over 360°, M2=2k code elements are disposed, where k is greater than 4 and is an integer.

36. The absolute angle measuring device as defined by claim 26, wherein said decoding device comprises a first value set for decoding a first succession of code words, which occurs each time upon scanning of one of said first code sequence and of its cyclical continuation; and

said decoding device comprises a second value set for decoding a second succession of code words, which occurs each time upon scanning of one of said second code sequence and of its cyclical continuation.

37. The absolute angle measuring device as defined by claim 36, wherein

wherein one code element of said first code sequence and one code element of said second code sequence are disposed in alternation, and over 360°, a number M2<2*KGV (LA, LB) code elements are disposed, where
KGV (LA, LB) is the least common multiple of LA and LB, wherein LA is the first length and LB is the second length; and
said decoding device comprises:
a second value set for decoding a second succession of code words, which occurs each time upon scanning of one of said second code sequence and of its cyclical continuation; and
a third value set, which is suitable for decoding a joint of said first code sequence and/or of said second code sequence.

38. The absolute angle measuring device as defined by claim 37, wherein said third value set is stored in a programmable read-only memory, and said first value set and said second value set are in hard-wired form.

39. The absolute angle measuring device as defined by claim 26, further comprising an incremental track disposed concentrically to said absolute angle coding, and within one code element, a whole number of incremental graduation periods is disposed.

40. The absolute angle measuring device as defined by claim 40, wherein within one code element a whole number greater than 1 of incremental graduation periods is disposed.

Patent History
Publication number: 20110208475
Type: Application
Filed: Oct 1, 2009
Publication Date: Aug 25, 2011
Applicant: Dr. Johannes Heidenhain GmbH (Traunreut)
Inventor: Christoph Lingk (Traunstein)
Application Number: 13/126,699
Classifications
Current U.S. Class: Angular Position (702/151)
International Classification: G06F 15/00 (20060101);