Interfacing of Position Transducers
Interfacing of Position Transducers
To interface an absolute position transducer to a computer is straightforward. The coded optical encoder, in fact provides a direct digital reading of the robot arm’s absolute position relative to its end stops. The computer only needs to convert the transducer output code into binary code to use in all the subsequent robot control calculations. When a binary code disk is used, such a code conversion is, of course, unnecessary; in both cases, however, there is no real need for hardware interfacing between the optical absolute transducer and the computer since any code conversion is usually done in software using a look-up table stored in ROM.
To interface the other absolute position transducer, namely the potentiometer, is also straightforward. The output of this transducer is a voltage which represents the robot arm absolute position, which means it can be interfaced to the computer with a simple ADC, as shown in Figure 1.
An alternative to this technique can be found in small robots such as those encountered in the educational market and other distributed control systems such as remotely controlled model aeroplanes. The potentiometer in this case is integrated with the actuator, a small permanent-magnet d.c. motor, and some interface electronics to produce an integral, lightweight d.c. servo unit. The principle of operation of such a device is illustrated in Figure 2.
In these units the potentiometer provides the resistance value for a monostable RC charging constant; in other words, the monostable pulse output depends on the potentiometer shaft position. The monostable output is compared with the input signal provided by the microcomputer controller and an error signal is generated. The width of this error signal determines the length of the motor shaft rotation, that is the size of the adjustment necessary to maintain the shaft position under computer control.
This interface technique allows the computer to ‘delegate’ the control of the robot arm to these servo units therefore freeing it for other tasks, and is eminently suitable for use in robot systems with limited computer power such as microcomputer-controlled robots. However, the computer does not have a direct measurement of the robot arm position so that, in robot control terms, this is an open-loop system which is undesirable when requmng high positional accuracy such as in the case of robots handling complex tasks and/or expensive parts.
To interface an incremental position transducer, on the other hand, is more complex. The optical incremental encoder output is a low-voltage pulse train whose frequency is proportional to the shaft angular velocity. In order to measure the shaft position the interface hardware needs to count the number of pulses produced by moving from the last position. However, this latter position must be known at all times for the robot controller to be aware of all the joint positions within the working envelope, because this transducer can provide only an incremental (or relative) position measure ment, that is it can show only how much a robot joint position has changed during the last move operation.
To overcome this problem the robot needs to be reset to a known position after switch-on (usually referred to as the ‘home’ position) and keep track of the joint absolute positions in the computer memory by updating it with the incremental position measurements after each move. Should the memory device storing these joint positions get corrupted for any reason, such as during a power supply surge, the robot would need to be reset again. The main components of the interface for this transducer are therefore an amplifier and a digital counter, as shown in Figure 3.
For reliable operation, however, this simple circuit requires the computer to estimate when the move operation has been completed (i.e. when the counter output has stopped changing) and to know which way the arm is moving (so that it can add or substract the last incremental position measurement from the previous one stored in memory), both of which are difficult to meet in practice because of possible arm oscillations caused by moving inertial loads.
In addition to the amplifier and the digital counter, a more practical interface circuit requires a form of local memory (so that the transducer output data can be held until the computer needs it) and a sequence detection circuit (to determine the direction of rotation by comparison of the two transducer output S).
This is based on the high-resolution Moire fringe type of optical encoder disk which provides directional movement information by virtue of the phase relationship of V1 and V2, for clarity’s sake, the ‘number of revolutions’ counter and associated components have been omitted.
The measurement resolution of the position transducer thus described depends on the line width of the Moire fringe pattern which can be obtained from the manufacturer data sheet; it should be noted, however, that the counter hardware must match this high resolution in terms of position count and may therefore need to be bigger than the ‘standard’ 8-bit width.