Manufacturers have also developed special-purpose ICs that handle tasks needed to implement both closed-loop motion control and motor speed control. Presently, three chips are available for closed-loop control, one for multiaxis contouring, and a few others for motor speed control.

A general-purpose motion-control IC called the HCTL-1000 is aimed at dc, brushless dc, and stepper motors. The TTL-compatible chip is powered by a single 5-V power supply. Position and velocity control are provided by comparing the host computer-command signal with feedback data from an incremental encoder. The encoder feedback is decoded into quadrature counts and a 24-bit counter keeps track of position. As a result, neither analog compensation nor velocity feedback is necessary.

On-chip software allows a choice of four control modes: position control, proportional velocity control, trapezoidal profiling, and integral velocity control.

In the position-control mode, the motor moves from one point to another without velocity profiling.

Proportional velocity control regulates motor speed using only gain for compensation. Dynamic pole and zero-lead compensation is not used. Actual motor velocity is compared to the specified velocity, and the error calculated.

The trapezoidal mode is used for point-to-point control with velocity control. The final position, acceleration, and maximum velocity are specified. The controller then computes the signal profile needed to conform to these requirements. Motor velocity is monitored during the position change. If maximum velocity is reached before the motor moves half way to the target position, the velocity versus time waveform is trapezoidal. Otherwise it is triangular.

Continuous velocity control is provided by the integral velocity control mode. Here, velocity and acceleration can be changed at any time to profile velocity in time. Once the specified velocity is reached, it is maintained until the command is changed.

Another closed-loop controller, called the GL-1200, produces precise motor control using an external 10-MHz clock which times the circuit output. The chip compares signals generated by a two-channel incremental encoder with the specified position to generate a 12-bit error signal. The error signal provides motor position control. An interesting feature of the GL-1200 is that it calculates the derivative of the position error, and uses that value for system damping. Because the derivative is proportional to velocity, the need for velocity feedback from a tachometer is eliminated.

Recently developed servocontrol chips, called the LM628 and LM629, contain PID filtering functions. Filter constants can be changed on commands from a microprocessor during a move.

The host programs required velocity, acceleration, and position. The host can also program the coefficients of the digital filter used to provide gain, and compensate for following error and motor time constants. The host can interrogate the chip and read the position register and obtain other status information. The servo IC can interrupt the host in the event of critical situations as well, such as if position error exceeds certain bounds (as might occur if the motor stalls, for example).

During a move, a profile generator on the servo chip sends a position signal to a digital summing node. The required position is compared once per sample interval to the actual motor position. The resulting error signal goes through filtering before being sent to the digital/analog converter.

Several years ago, two chips were developed specifically to control simultaneous movement along two axes. There are two basic problems that these chips are designed to solve. To illustrate, consider a milling machine that is to make a 45° cut, relative to the X and Y axis. Unless the motors driving the mill table finish at exactly the same time, the cut will not be a straight line. Instead, it might have a slight curve or actually resemble a staircase.

The other difficulty has to do with maintaining constant cutting-head speed. Actual cutting speed depends on the velocity in both the X and Y directions. In the example, if the cutting speed is specified as 10 ipm, and the head is moved in the X and Y directions at this speed, the actual speed would be 14.14 ipm.

The two chips, the KM3701 and KM3702, both are CMOS devices and can be obtained on PC-compatible plug-in boards as well as separately. The KM3701 microcontroller generates interpolation pulses for the X and Y axis. The information used to calculate the interpolation pulses is received from an external processor. These pulses can be used to control stepping motors in open-loop systems, or the KM3702 in closed-loop designs. The KM3702 is a motion-control chip that generates an output signal proportional to the difference between the specified position and the actual position.

Interpolation pulses are calculated from an algorithm stored on the chip. A feature that differentiates the KM3701 from other interpolation chips is its capacity to generate pulses for parabolic, logarithmic, and exponential functions. This feature allows it to closely approximate complex curves such as those in a wing spar, for example.

Several firms have developed chips for speed control. An example is the LS7263. Intended for speed regulation of three-phase, brushless dc motors, the circuit uses a 3.58-MHz crystal time base to produce ± 0.1% speed control. Speed corrections are made by measuring the tachometer input and varying each winding's drive signal. The chip provides positive braking by shorting the windings together. This places an electrical load on the motor and slows it down.

Overcurrent protection for the windings, drivers, and power supply is provided. This protection circuit uses a fractional-value resistor, connected between the positive supply and the driver's emitters. A potentiometer is connected between the driver and ground, with the wiper wired to the IC's overcurrent input. The wiper tailors the activation current for a particular motor.