Chuck Lewin, President & CEO

Performance Motion Devices

Motion control engineers spend hours optimizing tuning parameters for their servo-based motion controllers. But what if they are using step motors? And what if, no matter how much time they spend on tuning, they can’t get the performance they want?

The answer, for many motor and control systems, is to focus on the motion profile instead. In the past ten years, advanced profiling features such as asymmetric acceleration and deceleration, 7-segment S-curve profiling, change-on-the-fly, and electronic CAMming have become widely available, providing engineers with new tools that make machines work faster and more efficiently. This article will take you through the mathematics of motion profiles, discuss which profiles work best for which step motor applications. It will also provide insights into how to “tune” your motion profile for maximum performance.

While there are a lot of different motion profiles in use today, a good starting point is the point-to-point move. For a large number of applications including medical automation, scientific instrumentation, pointing systems, and many types of general automation, the point-to-point move is used more frequently than any other motion control profile. Because of this, optimization of this profile will have the largest overall impact on system performance. Point-to-point means that from a stop, the load is accelerated to a constant velocity, and then decelerated such that the final acceleration, and velocity, are zero at the moment the load arrives at the programmed destination.

The two profiles commonly used for point-to-point profiling are the S-curve profile, and its simpler cousin the trapezoidal profile. They are shown in Figure 1.

**Figure 1: S-curve Profile and Trapezoidal Profile**

In the context of a point-to-point move, a full S-curve consists of 7 distinct phases of motion. Phase I starts moving the load from rest at a linearly increasing acceleration until it reaches the maximum acceleration. In Phase II, the profile accelerates at its maximum acceleration rate until it must start decreasing as it approaches the maximum velocity. This occurs in Phase III when the acceleration linearly decreases until it reaches zero. In Phase IV, the control velocity is constant until deceleration begins, at which point the profiles decelerates in a manner symmetric to Phases I, II and III.

A trapezoidal profile, on the other hand, has 3 phases. It is a subset of an S-curve profile, having only the phases corresponding to #2 of the S-curve profile (constant acceleration), #4 (constant velocity), and #6 (constant deceleration). This reduced number of phases underscores the difference between these two profiles: The S-curve profile has extra motion phases which transition between periods of acceleration, and periods of non-acceleration. The trapezoidal profile has instantaneous transitions between these phases. This can be seen in the acceleration graphs of the corresponding velocity profiles for these two profile types. The motion characteristic that defines the change in acceleration, or transitional period, is known as “jerk.” Jerk is defined as the rate of change of acceleration with time. In a trapezoidal profile, the jerk (change in acceleration) is infinite at the phase transitions, while in the S-curve profile the ldquo;jerkldquo; is a constant value—spreading the change in acceleration over a period of time.

That an S-curve profile is smoother than a trapezoidal profile is evident from the above graphs. Why, however, do the S-curve profile result in less load oscillation? The answer to this has to do with the fact that for a given load, the higher the jerk, the greater the amount of unwanted vibration energy will be generated, and the broader the frequency spectrum of the vibration’s energy will be.

This means that the more rapid the change in acceleration, the more powerful the vibrations will be, and the larger the number of vibrational modes will be excited. This is shown in Figure 2. And because vibrational energy is absorbed in the system mechanics, it may cause an increase in settling time or reduced accuracy if the vibration frequency matches resonances in the mechanical and control system.

Since trapezoidal profiles spend their time at full acceleration or full deceleration, they are, from the standpoint of profile execution, faster than S-curve profiles. But if this 'all on'/'all off' approach causes an increase in settling time, the advantage is lost. Often, only a small amount of "S" (transition between acceleration and no acceleration) can substantially reduce induced vibration. And so to optimize throughput the S-curve profile must be 'tuned' for each a given load and given desired transfer speed.

What s-curve form is right for a given system? On an application by application basis, the specific choice of the form of the s-curve will depend on the mechanical nature of the system, and the desired performance specifications. For example in medical applications which involve liquid transfers that should not be jostled, it would be appropriate to choose a profile with no Phase II & VI segment at all, instead spreading the acceleration transitions out as far as possible, thereby maximizing smoothness.

In other applications involving high speed pick and place, overall transfer speed is most important so a good choice might be an s-curve with transition phases (Phases I, III, V, and VII) that are 5-15 % of Phase II & VI. In this case the s-curve profile will add a small amount of time to the overall transfer time, but because of reduced load oscillation at the end of the move, the total effective transfer time can be considerably decreased. Trial and error using a motion measurement system is generally the best way to determine the right amount of "S", because modelling the response to vibrations is complicated, and not always accurate.

The basic math required to execute trapezoidal profiles is straghtforward. There are, however, two forms that can be used; the Continuous Form, that will be familiar from High School Physics, and the Discrete Time Form, which is used in most motion control solutions that utilize microprocessors or DSPs (Digital Signal Processor) to generate a new set of motion parameters at each tick of the motion 'clock'.

**Continuous Form:**

PT = P0 + V0T + 1/2AT2

VT = V0 + AT

and

Pdecel = V2/2A

**Discrete time form:**

PT = PT + VT +1/2A

VT = VT+A

where:

P0 and V0, are the starting position and velocities

PT and VT, are the position and velocity at time T

A is the profile acceleration

Because they are third versus second-order curves, and because there are seven versus three separate motion segments, point-to-point S-curves are more complicated then Trapezoids. In particular it is not simple to calculate the stopping distance for a given set of profile values. Accordingly, many s-curve profiling systems restrict changes-on-the-fly, or do not allow asymmetric profiles. These restrictions allow information about how long, and over what distance, the motion control profile previously took to accelerate to determine when to start decelerating.

**Continuous Form:**

PT = P0 + V0T + 1/2A0T2 + 1/6JT3

VT = V0 + A0T + 1/2 JT2

AT = A0 + JT

**Discrete time form:**

PT = PT + VT +1/2AT + 1/6J

VT = VT+AT + 1/2JT

AT = AT+JT

where

P0, V0, and A0 are the starting position, velocity, and accelerations

PT , VT, and AT are the position, velocity, and acceleration at time T

J is the profile jerk (time rate of change of acceleration)

The ultimate goal of any profile is to match the motion system characteristics to the desired application. Trapezoidal and S-curve profiles work well when the motion system's torque response curve is fairly flat. In other words, when the output torque does not vary that much over the range of velocities the system will be experiencing. This is true for most servo motor systems, whether DC Brush or Brushless DC.

Step motors, however, do not have flat torque and speed curves. Torque output is non-linear, sometimes having a large drop at a location called the 'mid-range instability', and generally having drop-off at higher velocities. Figure 3 gives examples of typical torque and speed curves for servo and step-motor systems.

Mid-range instability occurs at the step frequency when the motor's natural resonance frequency matches the current step rate. To address mid-range instability, the most common technique is to use a non-zero starting velocity. This means that the profile instantly 'jumps' to a programmed velocity upon initial acceleration, and while decelerating. This is shown in Figure 4. While crude, this technique sometimes provides better results than a smooth ramp for zero, particularly for systems that do not use a microstepping drive technique.

To address drop-off of torque at higher velocities, a Parabolic profile, shown in figure 5 can be used. The corresponding acceleration curve has the characteristic that the acceleration is smallest when the velocity is highest. This is a good match for step-motor systems, because there is less torque available at higher speeds. But notice that starting and ending accelerations are very high, and there is no "S" phase where the acceleration smoothly transitions to zero. So if load oscillation is a problem, parabolic profiles may not work as well as an S-curve, despite the fact that a standard s-curve profile is not optimized for a step motor from the standpoint of the torque/speed curve.

Parabolic profiles are closely related to S-curves because they are third-order moves. And as was the case for S-curve profiles, calculating the distance to deceleration is complicated, particularly if profile changes-on-the-fly are allowed.

**Continuous Form:**

PT = P0 + V0T + 1/2A0T2 - 1/6JT3

VT = V0 + A0T - 1/2 JT2

AT = A0 - JT

**Discrete Time Form:**

PT = PT + VT +1/2AT - 1/6J

VT = VT+AT - 1/2JT

AT = AT- JT

where

P0, V0, and A0 are the starting position, velocity, and accelerations

PT , VT, and AT are the position, velocity, and acceleration at time T

J is the jerk (time rate of change of acceleration)

The ultimate in point-to-point profile generation, or in fact for other types of profiles including continuous path generation such as is used in CNC (Computer Numerical Control) machine tools, is to construct a custom profile that compensates for the exact load and motor characteristics of the system. Such a profile would accelerate the motor, taking into account the available motor torque at each velocity point, the mechanical resonances at each velocity point, and the actuator or arm kinematics in the mechanism.

Since motor torque curves do not follow simple mathematical principles, and because the equations for kinematic compensation are complex, these calculations are generally calculated in advance, and stored in a table of motion 'vectors'. This table is generally set up as an array of position or time vectors, with a corresponding entry for velocity and acceleration at each point of the curve.

In this configuration the motion engine is merely providing a generic capability to download and execute a list of vectors, and the responsibility of the calculations falls to the user. Despite this extra work, if special conditions exist, such as when motors or mechanisms are highly non-linear, table-driven point-to-point profiles can provide a meaningful performance increase, and may be worth the effort.

Beyond point-to-point moves, there is a broad range of motion applications that require repetitive motion, indexed by a master timer or -encoder. Such applications fall under the category of electronic CAMs, which includes the related but simpler approach known as electronic gearing.

CAMs typically also use downloadable tables. In this case, the tables are used to define a target position for each location of the master encoder or each tick of the master clock. The user can download a trapezoidal profile, an s-curve profile, or more commonly, a custom profile that replicates the function of a specially-shaped mechanical CAM.

There are a number of ways to specify the relationship between the master clock and the controlled axis. The most common is to define the number of encoder counts that make up a 360 degree 'rotation' of the master encoder, and then allow one or more output points to be defined at each degree position of the table. When executing the table, after reading the last location of the table the motion controller will 'wrap' back, and restart from the first. Because of this, the beginning and ending position targets must be the same, or very similar, to avoid a discontinuous jump in motion.

A variation on this approach is to treat each table entry as a relative distance to move rather than as an absolute desired axis location. Using this approach there is no requirement that the first and last entries in the table match up.

Electronic Gearing is a simpler version of camming where the relationship between the master can be expressed as a fixed ratio to the driven axis. Gear ratios can be positive or negative, and can be greater or less than one, meaning that the driven axis can amplify, or reduce, the motion specified by the master encoder.

Choosing the right motion control profile can improve smoothness, reduce wear, and lower transfer times for a broad range of motion control applications. Trapezoidal profiles are useful, but limited, because there is no way to define transitions between acceleration regions. S-curves solve this problem, but are correspondingly more complex mathematically. Another important profile for point-to-point moves is the parabolic profile, generally used only for step-motor based systems. Table-based approaches to motion profiling are also popular, and in particular, downloadable electronic cams are widely used in a number of industries.

**Performance Motion Devices** gives design engineers and developers the motion control ICs, motor control boards, digital amplifiers, and digital drives they need to optimize performance of their step motor applications. To quickly get started building your next innovative automation and robotics system, we also have easy-to-use and implement Developer Kits.

- S-curve Profiles Deep Dive
- Keep Your Step Motor Position with A Closed Loop Motion Control System
- Motion Controller Design Deep Dive