Stepper motors in industrial motor control

By Richard Colson, Total Motion Systems.

The phrase “motion control” is widely used to describe the accurate control of parameters such as torque, speed, acceleration and position using electronically controlled motors in the power range up to about 5kW.  There are a number of different types of motor used in motion control but here we will answer a few questions that are commonly asked on the subject of stepper motors.

What is a stepper motor?

Cross section though a motor showing rotor and stator teeth

It is essentially a permanent magnet DC motor which has been constructed with the permanent magnet in the rotor and the windings in the stator. The rotor magnets are enclosed in a stack of thin iron laminations with teeth on the outer radial surface.  The stator, besides having windings, also has toothed laminations.  The teeth allow the magnetic flux to be focused. The stator has a number of separate windings, usually four.  By energising these in a sequential fashion the rotor can be made to move in discrete angular steps.  There are various types of construction but by far the most common is known as a “two phase” motor and has a basic step angle of 1.8 degrees (200 steps per rev.).  Looking at the diagram (above right) it can be seen that the stator consists of four windings and eight poles.  The tooth pitch on the stator corresponds to 52 teeth in a full circle and that on the rotor corresponds to 50 teeth.  Two opposing teeth line up on only two points in the circle 180 degrees opposed.  By stepping the coil energisation by a quarter of a revolution to the next pole another two tooth pairs line up.  This results in a vernier effect which produces 200 steps per revolution.

How is it driven?
Well firstly, from the previous description it will be apparent that since the motor has no rotor windings it cannot have a commutator, as would a normal DC motor.  It must therefore be commutated electronically.  Steppers are normally driven by a transistorised amplifier, often called a “drive”.  This has two H bridges so that it can control current in both directions through both phases.  Since the motor usually has four separate windings two windings are normally wired in series or parallel.  This enables different torque and speed characteristics to be obtained. The drive works at a voltage of at least 24V but often much higher (up to 300V in some case).  Current sensing and pulse width modulation is used to keep the average current within the thermal limits of the motor.  The high voltage overcomes the inductance (electrical inertia) of the motor, enabling a fast current rise time and therefore high torque at reasonable speeds.  The drive will normally include a power supply, a translator to control the bridge switching, various protection circuits, and sometimes an oscillator for simple speed control.  This arrangement results in a motor/drive system that provides very high torque at low speeds. Note that unless the drive is de-energised the windings will still be passing current at standstill. The motor has what is called “holding torque” this is very convenient in positioning applications.

Stepper driven by two H bridges

Stand alone stepper controller

How do I control it?
As mentioned above many stepper drives include an oscillator which enables the motor to be driven in either direction at various speeds by means of an external potentiometer and switches. However, this does not enable position control.  Usually accurate position control is required.  This is achieved using a microprocessor controlled indexer.  The indexer takes data from its own program code, a PC or other data source and generates the required number of pulses at a predetermined rate.  These are fed to the translater which controls the H bridges.  In this way it is possible to control distance, acceleration rate, final velocity and deceleration rate precisely.  This results in what is called a trapezoidal move profile.  This consists of a linear acceleration, followed by a constant speed section, followed in turn by a linear deceleration.  There are various types of indexer suitable for different applications.  These range from a single card with digital switches (thumbwheels) to a multi-axis computer bus card which can co-ordinate complex move profiles between a number of motors.  Stand alone indexers can be programmed from a PC or PLC via a serial communications port (RS232C) or USB port and store pre-programmed move sequences in non-volatile memory.  This enables automatic control of the motor on power up without a PC or operators panel.  Most stepper controllers will also have provision for limit and home switches and some additional inputs and outputs (digital or analogue) for process interfacing.  Often they will also have provision for encoder feedback.  This makes it possible to enable automatic position checking or encoder following where the stepper can be made to follow another motor axis such as a conveyor.  It is important to realise that if power goes off position is lost. This is why provision is made for a home switch input so the motor can be positioned at the correct place and internal counters zeroed on power up.

What is Microstepping?
This is an electronic control technique used to reduce the size of the motor steps to less than the basic (usually 200) step size.  This is done by proportioning the current between the two phases. Instead of switching the next phase fully on and the last fully off we increase the next phase current by a small amount and decrease the previous phase current by a similar amount.  Thus the current is varied from coil to coil in a sinusoidal fashion, gradually on and gradually off in small increments.  This has the effect of positioning the rotor somewhere in-between two full steps. This can provide a resolution as high as 25000 steps per revolution.  The purpose of this is to give much smoother and hence much quieter rotation at low speeds. The possibility of motor and mechanical resonance is also reduced.  It does not however increase the accuracy.  Note that this is a drive function.  The motor does not change.

What about reliability ?
Since the motor has only one moving part the only wear takes place in the rotor bearings which are usually sealed ball bearings and will run as supplied for many years.  Modern electronics is extremely reliable.  Any failure if it occurs will usually be a component failure and occurs in the first few days of operation.  For these reasons stepper systems can be expected to run faultlessly for many years without attention.  Problems when they do occur are usually associated with faulty wiring, excessive age in the drive circuits or motor misuse such as mechanical shaft damage, faulty couplings etc…  Since stepper motors remain energised almost all the time they are built to run hot (often as high as 120 degrees Celsius).  As the windings are in the stator they dissipate heat easily, and since the drives are current regulated a mechanically stalled motor cannot be damaged.  Servo motor vendors make much of the argument that stepper motors can resonate at certain speeds but in practice this is very rarely a problem.  Natural frequencies are normally in the range 100-300 Hz.  As this represents a low speed in terms of motor RPM this range is normally passed through quickly during acceleration and therefore is not noticed.  In any case microstepping and correct sizing almost always avoids this problem.

Can steppers be used in closed loop positioning systems?
Steppers work very well open loop (no position feedback) provided they are sized correctly and the system is not faulty.  Most failure modes cause a complete stop so in a well designed system there is no danger of losing steps and not being aware of it.  However, closed loop positioning systems using a stepper motor are increasingly common and most current stepper controllers can operate in a mode called “position maintenance”.  On the completion of a move a comparison is made between the number of pulses received back from an encoder and the programmed move and a correction made if necessary.  This takes place very fast and is not apparent to an observer.  Position maintenance can be used in a production process if the cost of position loss is high or if the accuracy of the mechanical system is insufficient.  Position maintenance should not be confused with the real time positioning of a closed loop servo system.

What can I use a stepper for?

X/Y positioning table with stepper motors fitted

Steppers are widely used in industrial automation.  Applications include such things a feeding material to length, multi axis positioning in engraving and cutting operations, scanning, medical dosing, work piece positioning in quality control applications and many others.  In fact almost any application that requires position control of a linear or rotary axis.

How do I design a stepper system?
Any stepper motor vendor worth his salt will have applications engineers to assist the customer. If you are not familiar with the technology it is wise to use these services which are usually provided free of charge. If you are going to be a regular stepper and motion control user it is worth doing some studying or better still attend a seminar or training course on the subject. Serious motion control companies will usually offer training. As a customer you will need to provide some vital data on your application. The most important things are:-

  • A general description of your application
  • What are the motors required to drive, for example screw, belt, shaft, drum etc.
  • How many axes are required and are they co-ordinated, e.g. circular interpolation.
  • Describe the required moves in terms of length and time to complete them.
  • What is the load that has to be moved.
  • What is the environment.
  • What supply voltage is available.
  • Any special control requirements and interfacing.

In most motion control systems there is usually a requirement to start and stop repeatedly at reasonable speeds. This means that most of the motor power is expended in accelerating and decelerating the load. Load inertia is therefore of prime importance. Fortunately this is easy to calculate in most systems. If you do not know or do not have the ability to calculate this yourself then you will need to provide the data required. Inertia matching is important because the load inertia must be matched to the motor’s own rotor inertia. If this is not done poor acceleration performance and instability may result. It is worth noting that stepper motors are only practical up to a power of about 500watts. Above this the power losses in the motor due to heating become too great for efficient operation and it is usually better to use a servo motor.

What about sizes and specifications?
Stepper motors are very conveniently manufactured to an international standard frame size and conform to the NEMA system.  A Nema 23 size motor refers to a motor with a front flange 2.3 inches (57.2mm) square.  Each frame size may be available in a variety of stack lengths.  The word “stack” refers to a single magnet/lamination stack on the rotor.  A two stack motor will have two magnet/lamination sets.  Thus a two stack motor will be approximately twice the length of a single stack motor and have twice the torque.  This has two advantages, firstly  commonality of parts and secondly an increase in torque without increasing the diameter.  This results in a better torque to inertia ratio making the motor more efficient at accelerating a load.  It is also a convenient system for design engineers who underestimate the torque requirement and are then able to fit a more powerful motor without mechanical modifications.  Frame sizes range from Nema 08 (0.8 inches dia) to Nema 42 (4.2 inches dia.)

Some recent developments
Thanks to the ever increasing miniaturisation of electronics stepper motors are now available with integrated drive electronics.  Some even have simple programmable controls built in.  These tend to be small motors of less than 100 watts and supply voltage rarely exceeds 24V.  They are therefore limited to low power applications at moderate speeds, usually less than 500 RPM.  However, this can result in large savings on installation and wiring for some applications.

Finally a few DO’s and DONT’s
DO deal with a reliable and knowledgeable sales outlet.  Cheaper is often not better.  DO be prepared to provide full information on your application.  DON’T expect instant answers and prices, your application must be studied before recommendations can be made on the optimum solution. When you receive a new system DON’T switch it on immediately.  DO read the documentation provided carefully and follow the advice and recommendations given.  Motion control is rarely simple so a little study will provide its rewards.  If your system does not work as you expect DON’T jump to conclusions but read your documentation again or recheck you programming before calling your supplier.  Lastly never disassemble a stepper motor.  If you do you will cause de-magnetisation which will render the motor unusable.


One Response to Stepper motors in industrial motor control

  1. integrated stepper motor says:

    UIrobot featured Stepper Motor Controllers and Stepper Motor Drivers size only 42.3*42.3*13.5mm include parallel port stepper motor driver, serial port (RS232) and network(CAN Protocol) Stepper Motor Controller which can be directly mounted onto size 42/57/86/110mm (They are NEMA17, NEMA23, NEMA34 and NEMA42 step motors) stepper motors. Ultra-miniature size, high performance, standalone workable or as built-in control and drive unit, easy wiring and strong driving force are the unique selling point of UIM stepper motor controllers and stepper motor drivers.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: