The old system power amplifiers, logic to control limit switches and some other house-keeping electronics are located in a unit called the Translation Unit, situated in the bottom of the PDS. This was interfaced to a VME system built around a 68000 micrprocessor running under FORTH. This VME box was responsible for keeping track of the table position, controlling the drive motors and issuing sample commands to the ADC. It communicated with a PDP-8 computor via a DR11-W interface. The VME box received macrocommands from a DEC workstation, via the PDP, to set up a scan, and sent the sample data to the PDP for temporary storage. At the end of a scan, the data was then transferred to the workstation for off-line processing.
The new electronics to control the two axes are essentially identical and are built on a single commercial prototyping card connected to the isa bus of a 200 MHz PC. Each axis consists of a motion controller chip ( the LM628 ) running a Position Integral Derivative ( PID ) control algorithm. It accepts a number of macro commands from the PC and phase quadrature pulses (further divided by 2) from the axis position encoders to maintain a 32 bit record of the axis position. The internal microprocessor computes a trapezoidal motion profile for a supplied target position, maximum velocity and acceleration. The actual axis position is then compared to the calculated position at regular time intervals and an error signal representing the difference between the actual axis position and the desired position is computed. This is output as a 12 bit number: an external DAC is used to form a bipolar analog drive signal. Alternatively the axis can be driven at constant velocity, following a requested acceleration phase, until commanded to stop, either smoothly with the same acceleration, or abruptly.
Power and space requirements dictate that the necessary power amplifiers are housed in an external rack of electronics. Micro switches mounted on the XY table generate software interrupts when the axis reaches the safe limit of its travel, and physically break the power connections to the relevant motor should the axis exceed its limit of travel. At any time the motion controller can be read to determine the position or velocity of the axis. In addition the control chip can cause an interrupt if certain conditions occur, eg an excessive following error, or the axis has reached some predefined position.
Tests showed that the PID algorithm was prone to instabilities and that better performance was obtained using the original tachos to provide the velocity rather than the "Integral" part of the algorithm. This was especially true in the case of the Y axis, the heavier of the two axes, which exhibits a large amount of stiction.