RS-232 stepper control exhibits versatility

March 3, 1997
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...

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).

About the Author

W. Stephen Woodward

Steve Woodward has authored over 50 analog-centric circuit designs. A self-proclaimed "certified, card-carrying analog dinosaur," he is a freelance consultant on instrumentation, sensors, and metrology freelance to organizations such as Agilent Technologies, the Jet Propulsion Laboratory, the Woods Hole Oceanographic Institute, Catalyst Semiconductor, Oak Crest Science Institute, and several international universities. With seven patents to his credit, he has written more than 200 professional articles, and has also served as a member of technical staff at the University of North Carolina. He holds a BS (with honors) in engineering from Caltech, Pasadena, Calif., and an MS in computer science from the University of North Carolina, Chapel Hill.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!