Resources / Articles / How To Control Stepper Motors

How To Control Stepper Motors

~ Performance Motion Devices

In this article we take a comprehensive look at how to control two-phase stepper motors. We will start with the basics of how step motors work and their strengths and weaknesses relative to other positioning motor types. Then we will show you how they are controlled using traditional techniques and continue with advanced techniques that have come on the scene only recently. We will close with a review of implementation choices available to engineers for cost effective high performance step motor control solutions.

Introduction

Stepper motors, also called step motors, are popular first and foremost because they are easy to use. They do not require an encoder to maintain their position, and unlike DC Brush or Brushless DC motors when used for positioning they do not require a servo control loop. The advantages of stepper motors are low cost, high torque output, and brushless operation. Their main drawbacks are vibration, noise, and a limited speed range.

Where do step motors fit within the larger range of positioning motor choices? Figure 1 shows a graph comparing the torque output to weight ratios for step motors (controlled in two different ways) with DC Brush Motors and three-phase Brushless DC motors.

figure-1-comparison-of-torque-to-weight-ratio

Figure 1: Comparison of Torque to Weight Ratio for Different Positioning Motor Types

Step motors controlled using traditional open-loop methods support high holding torques but their ability to deliver that torque over a working speed range is affected by their tendency to stall. By comparison step motors controlled using an approach called closed loop stepper can have torque output ratings that are comparable and can even exceed those of Brushless DC motors.

In later sections of this article we will talk more about both open loop and closed loop stepper control methods.

Overview of Step Motor Control

figure-2-stepper-motor-control-elements

Figure 2: Stepper Motor Controller Elements

Figure 2 shows a control flow overview of a two-phase step motor controller.  Step motors are multi-phase devices, meaning multiple motor coils in the motor's stator are electrically energized to create rotation. Most step motors have two phases but more exotic configurations such as 3-phase and 5-phase also exist.

Two-phase step motors are usually constructed with 1.8 mechanical degrees per full step (90 electrical degrees). So this means a 1.8 degree stepper has 200 full steps per mechanical rotation. In addition to 1.8 degree step motors, other configurations exist such as .9 degree, 3.6 degree, 7.5 degree, and more.

All stepper motor controllers share several common elements; first there is a source of profile generation which for step motor controllers may be input from a pulse & direction data stream or may be internally generated. Next there is logic or firmware that determines how to command the current in each phase of the step motor so as to achieve the position commanded by the profile generator. After that a current controller explicitly measures the current and commands a voltage value to deliver to each coil. Finally an amplifier delivers the commanded voltages to each coil of the motor.

Note that in this article we will focus on stepper motor controls that use a bipolar drive scheme, meaning they can directly drive both positive and negative current flow.  Unipolar stepper motor drivers also exist but are generally only used for low performance applications. It is worth noting that bipolar drives can always also drive motors that support a unipolar wiring scheme.

Note also that we will not discuss variations of stepper motor construction such as Variable Reluctance (sometimes called iron core) stepper motors versus Hybrid stepper motors versus Permanent Magnet (PM) stepper motors. While there are important differences between these motor types when it comes to considerations of cost and torque output, these differences do not meaningfully affect how they are controlled.

Stepper Motor Magnetics

To better understand how different step motor control techniques work let's look at what's happening inside the motor and how stepper motors generate torque.

figure-3-spinning-bar-magnet

Figure 3: Spinning Bar Magnet Model for Step Motors

Figure 3 shows a magnetic model of a two-phase step motor. Two-phase step motors can be thought of as a spinning bar magnet (the rotor) that interacts with an externally controlled magnetic field (the stator). This external magnetic field is created as a result of current flow in the phase A and phase B stator coils with the orientation (and magnitude) of this vector determined by the sign and magnitude of those individual phase currents.

Both the rotor and the stator generate a net magnetic field vector and it is the interaction of these two vectors that determines how much torque is generated – specifically, the torque generated by the step motor is zero when these magnetic field vectors align with each other (have an angle of 0 degrees or 180 degrees to each other) and is maximum when the two fields are perpendicular to each other (have angles of 90 degrees or 270 degrees).

It’s interesting to note that although this magnetic model is a useful way to understand the step motor's operation, the actual internal construction of a step motor looks nothing like this. A representation of the actual construction of a step motor is shown below.

figure-4-stator-and-rotor-teeth
Figure 4: Arrangement of Stator and Rotor Teeth

Step motors have 'teeth' both in the stator assembly and the rotor assembly designed to guide magnetic flux.  In the peculiar (and clever) way that step motors work it is these teeth that determine how much motion occurs as the Phase A and B coil currents go through a complete 360 degree electrical cycle. In particular, when the external waveform advances one full electrical cycle the rotor advances by the angle taken up by one rotor tooth. For a 1.8 degree step motor this means there are 50 teeth in the rotor.

How Stepper Motors Generate Motion 

If we plot the angle between the rotor magnetic vector and the stator vector in such a way that the slope of the graph is proportional to the torque we get the graph below.

figure-5-torque-profile-graph-stepper-motors

Figure 5: Torque Profile Graph of Stepper Motors

In this torque profile graph wherever the slope is horizontal there is no torque generated, wherever the slope is positive torque is generated to increase the angle between the rotor and the stator vectors, and wherever the slope is negative torque is generated to decrease the vector angles.

What happens when the step motor coils are energized? The graph above lets us answer the question. As soon as the coils are energized the rotor will move to an equilibrium position as shown, settling to the 'bottom' of the torque profile which is the location where the stator and rotor magnetic vector angles are 180 degrees apart. This is the open loop rotor operation point. If for some reason the rotor is deflected from this equilibrium position and ‘climbs’ up the torque wall the restoring torques will work to return it to the equilibrium position.

To create rotation, the controller moves the open loop operation point forward or backward by changing the stator coil's vector phase angle. Upon doing so the rotor will experience torque since the rotor vector and stator vector are no longer in equilibrium, and the motor rotor then 'falls' forward or backward to maintain itself at the equilibrium position. Think of a ball settling to the bottom of a trough or a surfer riding a wave as it rolls forward.

One key here is that in open loop step motor control the rotor is not actively maintained at a particular position. Instead, the coils are energized at a certain phase angle and the rotor settles to the corresponding equilibrium position.

 

figure-6-open-loop-control-settling-external-force

Figure 6: Open Loop Control Settling Position Under the Influence of an External Force

In a theoretical system with no external force on the rotor the actual position of the rotor would exactly equal the equilibrium position. But in a real system external forces are present and act to influence the location of the rotor. The actual position of the rotor at any moment in time is in fact determined by the sum of these forces - the equilibrium point restoring force and external force.

Where do external forces on the rotor come from? Acceleration and deceleration of the rotor and any attached load will impart rotational inertial torque on the rotor, as will friction and impediments in the mechanics during movement. In real world systems doing real work, external forces are omnipresent and depending on the application may be unpredictable.

Open Loop Stepper Motor Control

With this understanding of how the step motors create torque and rotation lets now look at some open loop drive waveforms.

The diagram below shows two popular waveforms used with step motors; a full step waveform which defines four position states per electrical cycle, and a half stepping waveform which defines eight states per electrical cycle.

figure-7-full-half-step-motor-control-waveforms

Figure 7: Full and Half Step Motor Control Waveforms

Commanding the Phase A and Phase B coil currents using these waveforms through one full electrical cycle will result in the stepper motor rotating four full steps, which for a 1.8 degree stepper means 7.2 degrees of mechanical motion. Correspondingly a 1.8 degree stepper undergoes one complete mechanical rotation if driven by 50 full 360 degree electrical cycles.

Step-Related Motor Dynamics

While full and half step control waveforms are easy to implement they suffer from a significant problem called mid-range instability, which is the tendency of the step motor to stall or lose torque at a specific velocity in the 'mid-range' of its overall speed torque curve.

The graph below shows the position of the step motor's rotor in response to a full step (90 electrical degree) stator command change.

figure-8-ringing-single-full-step-advance

Figure 8: Ringing After Single Full Step Advance

What causes step-related motion ringing? After the stator command position instantly jumps by 90 electrical degrees, the rotor tries to reach its new settling position. But like a skateboarder in a U-shaped depression the rotor will overshoot, return, overshoot again ,etc...

Microstepping Control

The relatively ‘jumpy’ motion that full and half stepping induces along with the attendant noise and vibration are general challenges for step motors using an open loop control method. Happily, an alternate open loop drive scheme called microstepping can solve most (but not all) of these problems.

Microstepping waveforms go far beyond full step or half step waveforms by driving the motor with what is essentially a sinusoidal waveform, thereby nearly eliminating the step ringing problem. Microstepping controllers use the term microstep to reference each small position increment, and the resolution of the waveform is expressed as microsteps per full step, with most controllers offering at least 64 microsteps/full step.

figure-9-two-phase-microstepping-waveform

Figure 9: 2-Phase Microstepping Waveform

Beyond just smoothing out the drive waveform microstepping also increases the positioning resolution. For example in a full step scheme with a 1.8 degree step motor there are 200 addressable locations per mechanical motor rotation. With a 64 microstep per full step microstepping control scheme the motor now has 200 full steps/rotation * 64 microsteps/full step= 12,800 addressable locations per mechanical rotation.

Is microstepping resolution equal to accuracy? No. As we discussed earlier the actual position of the rotor at any given time is the sum of the internal equilibrium-restoring force and whatever external forces may be present on the rotor. Therefore in a given application the exact actual profile path will vary somewhat from the theoretical commanded position, typically up to 30 electrical degrees which for a 1.8 degree step motor translates to about .15 mechanical degrees.

When microstepping was first introduced it was considered a high end feature. Nowadays it is a common, widely used feature. Relative to its implementation cost, its very significant benefits in smoothness, noise reduction, and torque output make it an assumed feature of mid to high-end step motor controllers.

Microstepping is included in all step motor control products from PMD. Reference the MC54113 Step Motor Control IC, the MC74113 or MC75113 Step Motor Control ICs, Atlas Digital Amplifier and the ION/CME N-Series Digital Drive for details.

Determining Open Loop Stepper Control Settings

Now that we have an understanding of how step motors create motion and the different open loop techniques whereby they are controlled, let's take a look at how to determine the control settings.

In particular, to get the motor moving we need to specify a drive current. This is the magnitude of the sinusoidal drive signals the controller will send to the motor coils. For a given motor the maximum safe current (sometimes listed as the nominal or continuous current) should appear on the motor data sheet. For a particular application you may not want to use the maximum value however. While more current equals more torque, more current also equals more heat in the motor and the drive.

How do you select the right drive current for a given step motor application? Most engineers use a trial and error approach, experimenting with the trajectory parameters of the move and the load. This is typically done by commanding a high drive current and setting up the system for the worst case conditions (highest anticipated acceleration, highest anticipated velocity, and heaviest anticipated load). If the move proceeds successfully the current command is lowered till the load stalls.

When the motor stalls this means it has exceeded what is known as its pull-out torque. Pull-out torque varies with the motor speed, and is essentially equal to the torque speed curve of the motor.  In any case, once this stall-inducing current command value is determined a current command roughly 50% greater can be used in the actual application to introduce a level of safety margin.

Stepper Motor Control At-Rest Function

This is a good time to mention a few additional features of open loop step motor controllers that extend their basic function. The first such feature we will discuss is an At-Rest function.

What this means is that the stepper motor driver supports two separately programmable current command levels; one that is applied when the axis is being commanded to move, and one that is applied when the axis is at rest. At-Rest is a common and useful feature that reduces heat generation in the motor and the drive. Its benefit boils down to the ability to not send more current to the motor then needed.

figure-10-stepper-motor-controller-at-rest
Figure 10: Stepper Motor Controller with At-Rest Signal Input

The diagram above shows a controller with an At-Rest signal input. Supporting an At-Rest signal input is a common feature of step motor drives. Alternatively if the stepper motor controller includes a built-in profile generation function then no At-Rest signal is needed since whether the axis is at rest or not can be directly determined from the trajectory generator.

Stepper Motor Stall Detection

Another useful stepper motor control feature associated with open loop control is known as stall detection. As discussed, in the open loop control scheme phase A and B current command signals are sent to the motor with the expectation that the actual motor position will match the commanded position. In the real world however step motors can miss steps or entirely stall resulting in motion coming to a halt.

What causes stepper motor stall? Stepper motor stall can occur for a few reasons including overly aggressive trajectory profiles, internal or external friction forces, or external forces such as the mechanism being driven encountering an impediment. Unfortunately, during motion even a single lost step is generally a catastrophic event with motion coming to a complete stop. This can be understood from the torque profile diagram, reproduced below.

figure-11-torque-profile-lost-step

Figure 11: Torque Profile Graph Showing Lost Step

A lost step means the rotor position experienced such a large external force that it went 'up and over' the highest part of the force diagram. Once this happens, since the trajectory generator keeps moving (unaffected by what has happened), the rotor cannot 'catch the wave' again and quickly falls further and further behind. An analogy is a surfer who isn’t quite able to catch a wave and thereafter stays stationary while additional waves roll past. So needless to say stepper motor stall is a serious problem and an inherent concern with open loop stepper motor control.

Happily, there are remedies. The first and most straightforward is to add an encoder to the step motor. The encoder tracks the rotor position and as soon as the difference between the commanded position and the actual rotor position (this is called the position error) exceeds a threshold a stall is recognized and further motion halted.

How-best to recover from a stall is application dependent, but by adding the ability to recognize a stall safety and reliability of the overall machine is maintained. This is especially true for multi-axis systems where one axis can only move safely after another axis has arrived at its programmed destination position.

Encoder input is a common offering in mid to higher end stepper motor controllers but is usually not offered in low end control products.

Electronic Stall Detection

An alternate method for stall detection is known as electronic stall detection. This approach uses special circuitry in the amplifier to detect a back-EMF signature indicating a stall. Sinusoidal back-EMF voltage waveforms are produced by the phase A and B coils roughly in proportion to the rotation speed of the motor.

In theory these signatures can reliably indicate a stall. In practice electronic stall detection doesn't always deliver 100% reliability. This is because back-EMF signal generation is dependent on rotation speed of the motor and inductance of the motor coils, both of which can vary widely from one application to the next. Adding to this are other aspects of actual step motor motion such as ringing which further obfuscates interpretation of the back-EMF signals.

Nevertheless electronic stall detection avoids the cost of an encoder and may provide a helpful additional level of machine operation safety. It is a fairly common offering across the spectrum of stepper motor controllers but its implementation (and its practical effectiveness) is vendor specific - there is no one universal approach used for electronic stall detection.

Many step motor controller product offerings include some sort of stall detection, either encoder-based, electronic, or sometimes both. PMD supports encoder-based stall detection because it provides 100% accurate stall detection. Reference the MC54113 Step Motor Control IC, the MC74113 or MC75113 Step Motor Control ICs, or the ION/CME N-Series Digital Drive for details.

Stepper Motor Current Control

So far we have focused on how step motors generate torque and motion, and the impact different drive waveforms have on the resultant motion.

The next area of stepper motor control we will discuss is 'downstream' of these factors - namely how to convert the commanded current waveform for each motor coil into actual current that matches the commanded as closely as possible. This aspect of the overall step motor control problem is called current control.

Why do step motors even need a current controller? The answer is inductance and back-EMF. Inductance means that the voltage differential we introduce across the motor coil only reaches a steady state current after some amount of time has elapsed. Back-EMF in the moving motor only makes matters worse because a back-EMF-reduced command voltage will not generate the expected current flow.

Current controllers handle both of these challenges by measuring the actual current flow through the coil and commanding voltage in such a way that the desired current is achieved. For step motors active current control is particularly important because step motors have a large number of electrical cycles per mechanical rotation.

A reference diagram for a step motor controller is reproduced and shown below. The current controller inputs a desired current for both the Phase A and Phase B coils and outputs a command voltage to the amplifier. If a digital switching amplifier is used (by far the most common type used today) the amplifier functions by applying the motor drive voltage (shown as HV in the diagram) in an all-on/all-off manner to the coil.

figure-12-control-flow-of-stepper-controller-current
Figure 12: Control Flow of Stepper Motor Controller Showing Current Control

Actual current flow in each coil is measured using a dropping resistor or Hall sensor, and the measured current is then used in some way, along with the commanded current, to determine the length of time the HV switch will be 'on' versus ‘off’ at any moment in time.

Fixed Off-Time Stepper Motor Current Control

There are a number of current control schemes in common use, but two techniques are worth talking about here, especially if we limit ourselves to switching amplifiers which, because of their efficiency, dominate the step motor amplifier space today.

The first current control method we will discuss is called fixed off-time current control. It works by applying 100% of the motor voltage to the coil until a comparator indicates that the measured current exceeds the commanded current, at which point the voltage turns off for a fixed period of time.

figure-13-fixed-off-time-current-control
Figure 13: Fixed Off Time Current Control

Some fixed off time controllers offer selectable slow decay versus fast decay control, which specifies whether current will decay while circulating through the coil (slow decay) or while connected to ground (fast decay). The graph above shows representative waveforms for drive voltage and actual current using the fixed off time current control scheme.

Fixed off time control is simple to implement and has the benefit of needing minimal tuning to work for a wide range of step motor sizes and coil inductances. For these reasons it is the current control method of choice for lower performance step motor controller offerings.

It has the disadvantage that current accuracy can be poor particularly when the commanded current is decreasing. This is because during the fixed period of drive off time there is no ability to control current and yet when the commanded current is decreasing current drive is mostly (or entirely) off. While selectable fast/slow decay mode can help, this problem is somewhat inherent to the control scheme and may result in increased noise, motor vibration, and heat generation.

Current Loop Stepper Motor Current Control

A more advanced current control scheme also in common use is known as digital current loop control. Such controllers use a fixed frequency PWM (Pulse Width Modulation) amplifier drive along with a PI (proportional, integral) current control servo loop to determine the voltage commands for each coil.

A typical implementation of such a switching bridge setup for a two-phase stepper is shown below:

figure-14-fixed-frequency-voltage-current-measurement
Figure 14: Fixed Frequency Voltage Drive and Current Measurement

This control scheme outputs switch signal commands for two H-bridges, one for each phase coil. The current is measured using dropping resistors connected to the ground leg of each switch circuit. Leg current sensing provides very stable current measurement but requires a special algorithm to combine simultaneous measurements from multiple sensors.

Coupled with this switcher is a PI current servo loop, shown below. One such loop is executed for each motor phase. The two control settings, Kp and Ki (proportional gain and integral gain) are most often determined automatically by an auto-tuning algorithm provided by the vendor. Alternatively, square wave commands can be injected and the gains adjusted till tracking is accurate and stable.

 

figure-15-current-control-single-phase
Figure 15: Current Loop Control Flow for Single Phase

The big benefit of the digital current loop method is that it allows explicit, accurate control of the motor coil currents at all times with no 'off' periods in the control cycle. Current control can be highly accurate whether the command current is increasing or decreasing. This in turn means more accurate motion tracking, less noise, vibration, and heat generation.

PI current loop control is a common feature of higher end step motor controllers including all step motor control products from PMD. Reference the MC54113 Step Motor Control IC, the MC74113 or MC75113 Step Motor Control ICs, Atlas Digital Amplifier and the ION/CME N-Series Digital Drive for details.

Closed Loop Stepper Control

We will now switch to discussion of an alternate scheme called closed loop stepper control, which is a control technique that has emerged relatively recently but is beginning to gain traction both among controls vendors and manufacturers of step motors.

Closed loop stepper motor controller operation is different in several key ways from open loop step motor operation. The first is that it requires an encoder to be attached to the step motor, one with a fairly high resolution. For standard 1.8 degree step motors the encoder should have no less than 2,000 counts per mechanical rotation.

The second difference is that the motor is operated like a Brushless DC motor in the sense that it commutates the phase angle using the encoder position rather than by using the commanded trajectory position. Redrawing our 'torque profile' diagram, the figure below shows how commutation means the step motor is operated at the steepest part of the torque profile rather than at the open loop equilibrium point.

figure-16-closed-loop-stepper-phase-angle

Figure 16: Closed Loop Stepper Phase Angle Operation Point

The third difference is that rather than being constant, the height of the waveform continuously varies according to the output of a position PID loop. This position PID loop explicitly, actively, controls the position of the rotor maintaining it at the closed loop stepper operation point. Again, this is the same way a Brushless DC motor is operated except that Brushless DC motors are three-phase motors and here we are controlling a two-phase motor.

The graph below shows this control structure. The profile generator position output is input to a PID Position Servo Loop the output of which is then commutated with each phased current command going to a current loop, one for each motor phase.

figure-17-PID-control-loop
Figure 17: PID Control Loop

Operating the step motor like a servo motor has a number of advantages over open loop control. One advantage is that only the actual amount of current needed to generate a particular torque is applied. So a big advantage of closed loop stepper is greater energy efficiency and less heat generation in the motor.

Another advantage is that lost steps and the tendency to stall are eliminated. Even if a commanded trajectory is too aggressive and the actual motor position falls behind the PID loop will adjust the current so that the motor eventually catches up.

Another advantage is explicit control over positioning resolution and accuracy. Since the encoder determines the location of the motor the positioning accuracy becomes unlinked from the step motor's degrees per step rating. With closed loop stepper the position resolution is determined solely by the resolution of the encoder and therefore a step motor could achieve 2,000 resolvable locations per rotation or 50,000 resolvable locations depending on the encoder used.

Closed Loop Stepper Enables High Acceleration

Beyond these important advantages the 'killer app' of closed loop stepper is in fact acceleration. It is primarily this feature that has driven its increased adoption in the market. For a given step motor, the effective available acceleration rate will be approximately 2 times higher than the same motor operating with an open loop microstepping scheme. This is because there is no need to 'dial down' the trajectory acceleration to accommodate worst case changes in friction and load to avoid a stall condition.

The scope trace below provides an example of this, showing a 3.6 degree step motor (one designed specifically for closed loop stepper operation) accelerating from a standstill to full speed back to a standstill in 4.25 mSec, all the while never having a position error (the difference between the commanded position and the actual motor position) of more than a few encoder counts.

figure-18-pro-motion-high-acceleration-closed-loop-stepper

Figure 18: PMD’s Pro-Motion Software Program Screenshot Showing High Acceleration of Closed Loop Stepper Move

This screen capture is from PMD's Pro-Motion software package, which lets you trace four variables simultaneously at up to 20,000 samples per second. The controller used was PMD's ION/CME N-Series Digital Drive. In the above screen capture the commanded velocity is shown in yellow and the position error in green. The position PID motor output command is shown in red and the amplifier bus voltage is shown in blue.

Note that the unit of time, which comprises the horizontal axis, is cycles (in this case the servo cycle of PMD's Magellan Motion Control IC), with one cycle having a duration of 51.2 uSec. In this particular setup the motor accelerates from a velocity of 0 to 125,000 counts per second (30 revs/sec) in 37 cycles which is equivalent to 1.89 mSec, for an effective acceleration rate of 15,850 rev/sec2.

Closed Loop Stepper is still a relatively new feature that is offered by only a few step motor controller vendors, however a number of PMD products now provide this feature. Reference the MC54113 Step Motor Control IC, the MC74113 Step Motor Control IC and the ION/CME N-Series Digital Drive for details.

Stepper Motor Trajectory Profiles

With our discussion of different control schemes complete, let’s proceed to profile generation. The profile trajectories used with step motors are generally not different than those used with servo motors such as DC Brush or Brushless DC motors. The diagrams below show the velocity and acceleration profiles for two of the most popular trajectory types; a point-to-point s-curve profile and a point-to-point trajectory profile.

figure-19-s-curve-trapezoidal-point-to-point

Figure 19: S-Curve and Trapezoidal Point-to-Point Moves

Either of these trajectories can be used effectively with step motors. If the load is compliant and has a tendency to resonate an S-curve profile would be chosen because it avoids abrupt changes in acceleration that excite resonances in loads, otherwise a trapezoidal profile is the preferred choice.

White Paper
You may also be interested in: Mathematics of Motion Control Profiles

 

Non-Zero Starting Velocity Profile

There is one specialty profile for step motors which is designed to skirt excessive torque reduction which can occur at low motion speeds (the so-called mid-range instability). This profile simply jumps past that point on the acceleration ramp from the outset and during deceleration by starting or ending with a programmable non-zero velocity. Such a profile is shown below.

figure-20-trapezoidal-profile-non-zero-starting-velocity

Figure 20: Trapezoidal Profile with Non-Zero Starting Velocity

This profile type is mainly used with full or half step systems. With microstepping control the mid-range instability effect is small or non-existent and thus this profile type is typically not used.

Pulse & Direction Profile

The last 'profile' to discuss here is the very common approach of actually separating the profile generation function from the step motor drive function using pulse & direction signals.

The diagram below shows these signals which consist of a pulse (also called step) signal and a direction signal. The receiving step motor controller increments the commanded position by one at each pulse when the direction signal indicates positive and decrements the commanded position by one when the direction signal indicates negative.

figure-21-pulse-and-direction-signals

Figure 21: Pulse & Direction Signals

Before the advent of microstepping controllers typical commanded pulse rates that a step motor drive might see were 50,000 pulses per second or lower. Nowadays pulse rates can easily exceed 1 Mpulses/sec depending on the programmed microstep/full step ratio.

Design Choices When Using Stepper Motor Control Products

To close out this "How to" article we look at practical choices for integrating step motor-based controllers into your overall machine controller. There are a few popular configurations and depending on the control architecture of your machine hopefully at least one of them will be a match.

Approach 1 – Pulse & Direction Commanded Stepper Control IC With Integrated Amplifier

This approach uses a low-cost single IC step motor controller which includes amplifiers and accepts pulse & direction signals from an external host. The host can be a microcontroller, a PLC, or any source of a pulse & direction data stream.

figure-22-stepper-control-IC-internal-amplifier
Figure 22: Stepper Control IC with Internal Amplifier

Single IC solutions which directly integrate step motor amplification are the lowest cost approach and sometimes support microstepping and encoder input. These products have limitations however, which include low current drive levels (typically driving in the range of 2A per phase or less) and use of lower performance fixed-off time current control.

Approach 2 – Pulse & Direction Commanded Stepper Control IC With Amplifier Drive Signal Output

This approach uses an IC step motor controller that accepts pulse & direction signals from an external host and generates control signals to drive switching bridge amplifiers.

figure-23-stepper-control-IC-amplifier-drive
Figure 23: Stepper Control IC with Amplifier Drive Signal Output

ICs such as these often provide more sophisticated digital current loop control and have the advantage of being able to control switching amplifier circuitry that can drive whatever current level your motors require. These ICs also tend to provide more sophisticated safety controls including overcurrent detect, over and undervoltage detect, and i2t current foldback. Many of the products in this category also support encoder input. Relatively few IC products provide support for closed loop stepper, but PMD is an exception and does provide ICs that support this function.

Several vendors offer ICs in this product category including PMD. Reference PMD’s MC74113 and MC75113 ICs.

Approach 3 – Stepper Control IC With Internal Profile Generation

This approach uses an IC-based step motor controller which includes profile generation and related high-level control features.

figure-24-stepper-control-ic-internal-profile
Figure 24: Stepper Control IC with Internal Profile Generation

ICs such as these handle more or less the whole motion control problem by integrating profile generation function, microstepping (or closed loop stepper) control and current control. To control ICs of this type user software executes on a host PC or microcontroller to command the IC. Communication between the host and the motion IC occurs via packets sent over SPI (Serial Peripheral Interface), CANbus, RS232, or RS485.

The packets sent by the host encode high level commands which have meanings such as "Set destination position to 123,456” or “Report the current encoder position”. Packet commands set control parameters, execute profiles, query the status of the controller, and more. For PMD products a ‘Magellan’ packet protocol provides this command protocol which is accessible via a C-language library called C-Motion.

There are a few vendors who provide ICs in this category including PMD. Reference PMD’s MC54113 IC.

Approach 4 - Stepper Motor Driver With Pulse & Direction Input or Internal Profile Generation

This approach uses a PCB or module-based step motor controller eliminating the need to design a board using IC components.

figure-25-stepper-motor-control-drive
Figure 25: Stepper Motor Control Drive

Off-the-shelf step motor drive products come in many flavors and run the gamut from simple pulse & direction input drives with fixed off-time current control to sophisticated products that can not only generate their own profiles and provide sophisticated control techniques such as digital current loops, but can even download and execute user-written application code directly allowing complete standalone operation of the motor controller.

Similarly there is a wide range of power drive capability from these module or board-based products extending to 1KW and beyond. A further variation of this small universe of products interfaces to the host controller via a variety of field or industrial bus such as Profibus, CANopen, DeviceNet, EtherNet/IP, Profinet, and EtherCAT.

A large number of vendors offer products in this category including PMD. Reference PMD’s Atlas Digital AmplifiersION/CME N-Series Digital Drives, and ION/CME 500 Digital Drives.

Summary

Step motors are an excellent choice for a wide range of precision positioning motor control applications. They have continually evolved to offer performance that can sometimes equal or even exceed those of more expensive motors such as three-phase Brushless DC motors.

Traditional step motor control techniques such as full and half step waveforms have similarly evolved to more sophisticated microstepping and closed loop stepper techniques, further expanding the design choices available to today’s machine designer.

PMD Products That Provide Step Motor Control

Performance Motion Devices has been producing motion control ICs that provide advanced position and torque control of step motor, DC Brush, and Brushless DC motors for more than twenty-five years. Since that time, we have also incorporated these ICs into plug and play modules and boards. All of these products are controlled by C-Motion, PMD's easy to use motion control language and are ideal for use in a wide range of medical, laboratory automation, and industrial motion control applications.

Juno Motion Control ICs

Juno Step Motor Control ICs

The MC74113 and MC74113N are members of the Juno family of ICs and are perfect for building low cost, high performance stepper motor controllers. Juno ICs feature advanced two-phase waveform generation, high/low switching amplifier control signals, leg current sensing, and more. Available in packages as small as 7mm x 7mm and costing $12 in quantity, these ICs are an ideal solution to upgrade your existing pulse & direction controller for microstepping or closed loop stepper operation, or for starting your next machine design project from scratch.

Learn more >>

 

MC58113 Motion Control Chips

Magellan Step Motor Control ICs

The MC54113 IC is part of PMD's popular Magellan Motion Control IC Family and provides advanced microstepping or closed loop stepper control of two-phase step motors. Standard features include s-curve profiling, high/low switching amplifier control signals, direct encoder input, and much more. Whether used for laboratory automation, pump control, pointing systems, or general-purpose automation, the MC54113 IC is an ideal solution for your next machine design.

Learn more >>

 

pmd-motion-control-amplifers-1

Atlas Step Motor Amplifier

Atlas Step Motor Amplifiers are compact single-axis amplifiers that provide high-performance microstepping control of two-phase step motors. Atlas amplifiers come in both a vertical and horizontal mounting configuration and are available in three power ranges: 75W, 250W, and 500W.

Learn more >>

 

pmd-ion-cme-n-series-digital-drive-300x300

ION/CME N-Series Digital Drives

N-Series ION Digital Drives combine a single axis Magellan IC and a high performance digital amplifier into an ultra-compact PCB-mountable package. In addition to advanced step motor control, N-Series IONs provide S-curve point to point profiling, downloadable user code, general purpose digital and analog I/O, and much more. With these all-in-one devices building a step motor-based machine controller is a snap.

Learn more >>

 

pmd-motion-control-drives-1

ION/CME 500 Digital Drives

ION/CME 500 Digital Drives combine a single axis Magellan IC and an ultra-efficient digital amplifier in a compact rugged package for control of step motors. In addition to advanced S-curve & trapezoidal profiles, cam profile support, and intelligent motor performance analysis software, IONs are loaded with safety functions such as over current, over voltage, and over temperature detect. These easy-to-use plug-and-play devices will quickly get your next step motor project up and running.

Learn more >>

 

You may also be interested in:

 

Tags:

Step Motors
x