A number of “smart” motion-control chips, commonly called “indexers,” are available that will do a bang-up job of generating accurate ramps and slews in stepper-motor-driven actuators. But if the motion profile demanded by an application is really peculiar, such as a trigonometric cosine curve (like that in this application example), the convenience of use evaporates quickly.
The circuit shown uses an inexpensive universal asynchronous receiver/transmitter (IM6402 UART) and a few additional devices to allow precise timing of step-by-step motor control via PC generation of RS-232 character sequences (see the figure). Timing of arbitrarily complex step sequences will be as accurate as the crystal-controlled COM port baud rate (<< 0.1%), even when controlled from a “sloppy” programming environment such as interpreted BASIC.
Control of individual stepper stator windings is achieved by connecting UART output bits directly to the motor drive circuits. Thus, by transmitting the appropriate ASCII character, motion-generation software can specify any combination of winding excitations. Carefully generated sequences of characters can therefore produce any desired sequence of steps. Clockwise fullspeed rotation of the armature through a complete eight half-step cycle would be produced, for example, by transmitting the character sequence: “IAEDFBJH”. Counterclockwise rotation results from simply reversing the character order: “HJBFDEAI”.
The phase-drive circuits illustrated implement pulse-modulated constant-current via resistors R1, R2, and R3, and comparators A3 and A4. The specific circuit topology used here, in which a portion of the sense resistance (R2, R3) is independent for each winding pair, and a portion (R1) is common to both, maintains constant motor power dissipation over the half-step excitation sequence. This works by reducing the winding current by a factor of (R1 + R2)/(2R1 + R2) = 4.5/6.3 = 0.71 = 2−1/2 for those steps where both windings are driven simultaneously.
The Airpax Inc. linear actuator mentioned in the schematic (C&H Sales, stock number SSM9201) produces a movement of 0.001 inches per half-step at rates of up to 960 Hz, and was used with the circuit and example program (see the listing).