The TI-5000JX provides limited support for Parallel Absolute Encoders. Parallel Absolute encoders are functionally similar to many serial encoders because they maintain an absolute position rather than a relative position like the incremental encoders. As with the serial encoders, their resolution is usually stated as some number of bits for representing the count for one revolution. The major difference is that parallel encoders provide an output line for each data bit. This can add up to a lot of lines, and this is one reason that this type of encoder is not typically used with servo motors. Generally parallel output encoders will be used where an absolute position must be obtained on power-up such as with a tool changer or something of that nature. Even though these encoders are not normally used with a brushless motor to provide commutation and positioning information, they will be found in machine tool products which use servo motors. Therefore, servo motor repair shops may get requests from customers to test this type of encoder.
In order to check out this type of encoder, the tester must be able to read each line. The TI-5000JX utilizes all of its signal input capability to support up to 10 bits of parallel signals. There are encoders with more than 10 bits and it is possible to check out these encoders 10 bits at a time. If a demand for testing parallel encoders with resolutions higher than 10 bits occurs, then an adapter module may be developed for the TI-5000JX in the future to directly support high resolution parallel absolute encoders.
Parallel encoder data may be encoded in various ways. Three of the more common codes are Binary, Gray Code, and Binary Coded Decimal (BCD). Ideally, the technician would tell the tester what kind of code the encoder is using, and the tester would convert the data to a position count using that code. Often however, the technician may not have documentation on the encoder and may not know what kind of code is used by it. Because of this, the TI-5000JX approach is to present the bit pattern in each of these codes at the same time. If the technician happens to know that the encoder produces a gray code, then he will look at the gray code display and ignore the other information. If he does not know what kind of code is produced, he can look at all of the codes and decide for himself which code makes sense and therefore is probably the code in
use.
As an example, let’s consider an 8 bit binary encoder. If we turn it through 10 counts, we would see the following patterns:
If we look at the 3 BCD digits generated, things look pretty good until we get to the last display. Then we see 00A. If this were truly binary coded decimal, we will get only decimal numbers (0-9) in this display, and that last position should be 010 instead of 00A. Because of this we can rule out BCD. The Gray Code numbers are out of order and jumping all over the place. This tells us that we are not decoding a gray code. The only numbers then that are moving smoothly from 0 to 10 are in the binary column. We can conclude that this is the correct code.
Some absolute encoders complement the bits when they apply them to the output lines. In other words, when they want to produce a 0 bit they put the line HI and conversely put it LO for a 1 state. For a complemented output example, the lowest two bits when counting from 0 to 3 would change as follows:
Again when the behavior of the count is observed, the technician can usually make a judgment on which code makes sense. Normally with binary encoding, both the TRUE and COMPLEMENT representations will make sense. One count goes up while the other count comes down. In this case, it is not really important to decide whether it is actually TRUE or COMPLEMENT data. You will be able to check it out in either case.
Normally only the TRUE or the COMPLEMENT but not both will make sense for Gray codes and BCD codes. A Tamagawa OAS66 Absolute Encoder is an example of a 10 bit BCD encoder with complement outputs. This encoder will provide position counts from 0 to 359 which can be directly interpreted as degrees rotation.
Some absolute encoders will provide fewer than 10 bits. In these cases, the lines should be connected starting with BIT 0 and working up to the highest bit available. The inputs for the higher bits that are not used should be tied LO (connected to J2 pin 2 ground) if the encoder provides TRUE outputs. If it provides COMPLEMENT outputs, the inputs may be left open and they will pull HI on their own. If it is not known which it is, some experimentation will be necessary. TRUE outputs are probably more common than COMPLEMENT outputs, so TRUE outputs would be a good first guess. Of course if a data sheet is available for the encoder, then no guesswork should be necessary.
Data Display
For the parallel absolute encoders, the Data Display is the only selection at this time. As described above, all codes are displayed at the same time on the Data Display screen. The encoder connected in this example is a 10 bit binary BEI encoder. On this reading alone, TRUE and COMPLEMENT BCD coding possibilities can be eliminated because they include digits outside the 0-9 range. As the encoder is rotated and more codes are observed, it would become obvious that the binary code readings make sense and the gray code readings do not. You will be able rule out various codes as you see results that do not make sense as you rotate the encoder. This is discussed further in sections below on the various codes.
A problem that is often found with absolute encoders is that a single bit or sometimes several bits simply are not changing (stuck bits) as the encoder is rotated. This is most easily observed in the Line States display. This type of problem will also make the count jump rather than changing smoothly. However, the count may also jump if you are looking at the wrong code, so the line states are the most reliable indicator of stuck bits.
The binary and BCD encoders may glitch when they are changing from one position count to the next. That is, there may be a momentary incorrect reading as they change. This does not necessarily indicate a problem with this type of encoder. It is caused by the fact that all the bits do not change at exactly the same instant as the position is moved to a new code. Gray code encoders should not have this problem. In fact, gray codes are used specifically to prevent this problem. Gray codes are designed so that only one bit changes when it moves from one position count to the next. By never changing more than one bit, the problem of several bits not changing simultaneously is defeated.
Line States
The Line States frame displays the states of the 10 lines as a bit pattern for bit 0-9 as a decimal number encoded as true or complement binary. It is this bit pattern that is decoded into the various types of numbers. Even if you cannot make sense of any of the numbers generated by the encoder, you can watch the bit pattern. At a minimum, you would want to see all the lines change state as the encoder is turned. A test showing a line never changing state would probably indicate a faulty output for that line.
Binary Code
The True Binary Code and Complement Binary Code frames display the bit pattern as though it represents binary data. The true data is interpreting a HI bit as being a binary 1, while the complement data is interpreting a LO bit as being a binary 1. Absolute encoders are specified both as true and complement data, so it is important to interpret the data both ways. The left hand section of the display shows the bit pattern as a decimal number encoded as true or complement binary. Both the true and complement numbers in this case are reasonable numbers, so we cannot eliminate either possibility.
In this case, we know that this encoder is binary encoded, and we would find that the binary numbers move smoothly through the count as we go from 0 to 1023. This would tell us that the encoder is most likely binary encoded and is working correctly. Both the true and complement numbers will look good, so we really cannot say which it is. Since we can get a good evaluation on it either way, it does not matter in terms of testing.
The data is shown represented both as a decimal number and a hexadecimal number. Usually you will be interested in the decimal number, but if you are familiar with hexadecimal representation, that display may be beneficial to you.
Gray Code
The True Gray Code and Complement Gray Code frames display data that has been interpreted as gray code data. We look at both true and complement data for the reasons described above for the binary data. In this case, both data representations look good. We cannot conclude that it is not gray code from this single reading. However, as we turn the encoder and watch how the counts change, we would see the gray code data jumping around, and we could conclude that it is not encoded as gray code.
BCD Code
The True BCD Code and Complement BCD Code frames display the bit pattern as a binary coded decimal number. The True BCD box indicates the encoding as BCD code. In this case, the true coding works out to be a reasonable number (265), and it is displayed as such and shows VALID in the Code box. However, the Complement BCD box shows one or more illegal BCD digits, so it indicates an INVALID in the Code box. If we are good with converting bit patterns to BCD digits, we would see that bits 0-3 would represent 10 which is illegal since BCD digits can only range from 0-9. Bits 4-7 would translate to 9 which is legal. The 2 bits, 8 and 9 will always represent a legal digit from 0-3.
Note that, if we do not know which encoding is in use for this encoder, then the INVALID in the Code box will tell us that it is probably not Complement BCD. However, if Complement BCD is the specified encoding for this encoder, then the INVALID would definitely indicate a problem with this encoder.
Comments
0 comments
Please sign in to leave a comment.