S Curves and Linear Motor Sizing
Tom Radigan
Advanced Motion Concepts, Inc.
41 Walker Road Atkinson, NH USA
In high throughput applications standard triangular or trapezoidal motion profiles have been widely utilized to reach a desired position quickly. As shown in Figure 1 the triangular velocity profile consists of a period of constant acceleration to a maximum velocity followed by a period of constant deceleration back to zero. With the standard triangular profile the acceleration increases or decreases almost instantaneously as shown in Figure 2 at time 0.0, 0.5 and 1.0. In these locations the rate of acceleration change (da/dt) is undefined and equal to infinity. The rate of acceleration change is given the name Jerk, j = da/dt and in high throughput applications the undefined jerk will cause impact loading, residual vibration and possibly audible noise. Introducing SCurves or 2^{nd} order polynomials in the velocity profile as shown in Figure 1 allows the Jerk to be finite and the motion to be smooth. These SCurves are programmed in the motion controller and not limited to a specific drive technology. However, this article will focus on Scurves & linear motors sizing in particular because linear motors are used in the most demanding of point to point applications.
The first step in sizing a linear motor with SCurves is to determine the motion profile parameters such as maximum velocity (v_{max}), maximum acceleration (a_{max}) and RMS acceleration (a_{RMS}) given the total move distance (s_{t}), total move time (t_{m}) and duty cycle or dwell time (d_{w}). For example, the application may call for a point to point motion of 1.0 meter in 1.0 second with an 80% duty cycle or dwell time of 0.25 seconds. To calculate the motion parameters we will first assume a triangular profile with full SCurve and then apply, if known, any maximum speed or acceleration constraints. The constraints in maximum velocity may be due to the linear bearings, linear encoder, limited controller data rates or the available supply voltage. The constraints in maximum acceleration may be due to the linear bearings, amplifier peak current or structural stiffness. If there is a speed constraint the motion parameters can be calculated using the 1/3 trapezoidal or general trapezoidal motion profiles with full SCurve which have lower speed but higher acceleration requirements than the triangular motion profile. With an acceleration constraint the total move time (t_{m}) may have to be increased since the triangular motion profile already has the lowest acceleration requirements.
The maximum velocity (v_{max}), maximum acceleration (a_{max}) and RMS acceleration (a_{RMS}) can be calculated for the example of 1 meter in 1 second using the formulas for the triangular profile with full SCurve in Table 1. The maximum velocity is calculated to be 2.0m/sec with a maximum acceleration of 8.0m/sec^{2} and a RMS acceleration of 4.62m/sec^{2}. It is important to recognize the penalty for using the full SCurve velocity profile compared to the standard velocity profile given the same total move distance (s_{t}) and total move time (t_{m}). While the maximum velocity is the same for both motion profiles the maximum acceleration is 2X greater in the triangular profile with full Scurve. As shown in Figure 2, the maximum acceleration of the full SCurve profile occurs at time 0.25 seconds which is the midpoint of the acceleration period. The second penalty for using the full SCurve velocity profile over a standard velocity profile is a 33% increase in the continuous power dissipated by the linear motor. In Table 1 the continuous power is shown by the parameter P_{RMS}, which is also expressed by the following formula (1.1):
In the above formula F_{RMS} is the continuous force applied by the linear motor and K_{m} is the motor constant which is a measure of the linear motor efficiency. If we let we get the form of the solution shown in Table 1 where the variable is the total payload.
Motion Parameter  Triangular Profile With Full SCurve 
Triangular Profile Without Full SCurve 
Factor  Units 
V_{max}  1.00  m/sec  
a_{max}  2.00  m/sec^{2}  
a_{RMS}  1.15  m/sec^{2}  
P_{rms}  1.33  Watts 
Table 1: A Comparison of Triangular Motion Profile Parameters
For the moment if we assume a maximum velocity constraint (v_{lim}) of 1.5m/sec then a new set of motion parameters needs to be determined using the general SCurve solution shown in Table 2. The general SCurve solution defines four new variables: t_{cv} which is the constant velocity time, δ the constant velocity parameter, t_{s1} the SCurve acceleration time and γ the SCurve acceleration parameter. Using the maximum velocity constraint (v_{lim}) of 1.5m/sec, total move distance (s_{t}) of 1.0 meter and total move time (t_{m}) of 1.0 second the constant velocity parameter is calculated to be δ = 0.333 which is the solution for a 1/3 trapezoidal motion profile. The 1/3 trapezoidal motion profile has 1/3 the time in a period of constant acceleration to a maximum velocity followed by 1/3 the time in constant velocity then 1/3 the time in a period of constant deceleration back to zero. For the 1/3 trapezoidal motion profile with full SCurve then the Scurve acceleration parameter will be γ = 0.167. The following is a list of motion profiles along with the constant velocity parameter and the Scurve acceleration parameter:
 Triangular Profile with no SCurve: δ = 0, γ = 0
 Triangular Profile with 50% SCurve: δ = 0, γ = 0.167
 Triangular Profile with full SCurve: δ = 0, γ = 0.250
 1/3 Trapezoidal Profile with no SCurve: δ = 0.333, γ = 0
 1/3 Trapezoidal Profile with 50% SCurve: δ = 0.333, γ = 0.111
 1/3 Trapezoidal Profile with full SCurve: δ = 0.333, γ = 0.167
Motion Parameter  General SCurve Solution  Units  Notes 
V_{max}  m/sec 


a_{max}  m/sec^{2}  
a_{RMS}  m/sec^{2}  
j_{max}  m/sec^{3} 
Table 2: General SCurve Solution
The next step in sizing a linear motor with SCurves is to calculate the RMS and peak forces using the SCurve motion parameters and the total mass which is a combination of a preliminary linear motor coil mass (m_{c}) plus any payload (m_{p}). The peak force is the addition of the peak acceleration force (F_{a}) plus the peak constant forces (F_{c}) acting of the system such as gravity (F_{g}), friction (F_{fr}) and other external push/pull forces (F_{e}). The gravity force applies only if the system is tilted at angle (θ) from the horizontal. The friction force applies if using mechanical bearings with a linear friction coefficient (μ) and a linear motor with attraction forces (F_{at}) such as Ironcore linear motors. If the linear bearings have seals then the seal force (F_{s}) will also increase the friction force. The following formulas are used to calculate the peak force (1.2):
With the SCurve motion profile the RMS or root mean square force is calculated knowing the force for both the total move time (t_{m}) and the dwell time (d_{w}). Since the SCurve acceleration is not constant but a ramp for the acceleration and deceleration phases it can be difficult to calculate the RMS force for each specific phase of motion (acceleration, constant velocity, deceleration and dwell). Instead the RMS acceleration (a_{RMS}) will be used to calculate the acceleration force during the total move time (t_{m}). The follow formulas can be used to calculate the RMS force (1.3):
The constant forces (F_{c}) apply to the total move time (t_{m}) and the dwell time (d_{w}) only if the system is tilted at angle (θ) from the horizontal and the friction (F_{fr}) and external push/pull forces (F_{e}) are greater than zero.
Assuming an air bearing stage with 10kg payload, zero constant forces, a preliminary coil mass of 0.5 kg and a 2.0m/sec peak velocity the RMS and peak forces are calculated to be 43.4N and 84.0N, respectively. Knowing these initial calculated forces a linear motor is selected that has a continuous force (F_{RMS}) of 113N, peak force (F_{peak}) of 400N and motor constant (K_{m}) of 10.2N√W. Using formula 1.1 the continuous power dissipated (P_{RMS}) is calculated to be 18.1 Watts which multiplied by the linear motor thermal resistance (R_{th}) provides the motor temperature rise (ΔT) due to the continuous applied force. The motor thermal resistance (R_{th}) is listed by the manufacturer as 0.87 °C/W and the motor temperature rise (ΔT) is calculated to be 15.7°C. The linear motor temperature rise (ΔT) should be less than the value specified by the manufacturer or the value required to achieve the desired machine accuracy. If we compare the values for the standard triangular motion profile the RMS force is 37.6N, peak force is 42N (0.5X) the continuous power dissipated is 13.6 Watts (33%) and the motor temperature rise is 11.8°C (3.9°C).
The Scurve motion profile is required for most high performance linear motor applications because it reduces impacts into the motion system and increases smoothness of point to point motion. However, the designer must carefully consider the SCurve requirements during the design phase to avoid having to increase the total move time later in the build or testing phases.
References:
 ETEL Linear Motor Handbook, Version A.
Should you have any questions about this article please contact us