S Curves and Linear Motor Sizing

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 S-Curves or 2nd order polynomials in the velocity profile as shown in Figure 1 allows the Jerk to be finite and the motion to be smooth. These S-Curves are programmed in the motion controller and not limited to a specific drive technology. However, this article will focus on S-curves & linear motors sizing in particular because linear motors are used in the most demanding of point to point applications.

figure1

Figure 1: Velocity and Position Profiles

figure2Figure 2: Acceleration and Jerk Profiles

The first step in sizing a linear motor with S-Curves is to determine the motion profile parameters such as maximum velocity (vmax), maximum acceleration (amax) and RMS acceleration (aRMS) given the total move distance (st), total move time (tm) and duty cycle or dwell time (dw). 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 S-Curve 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 S-Curve which have lower speed but higher acceleration requirements than the triangular motion profile. With an acceleration constraint the total move time (tm) may have to be increased since the triangular motion profile already has the lowest acceleration requirements.

The maximum velocity (vmax), maximum acceleration (amax) and RMS acceleration (aRMS) can be calculated for the example of 1 meter in 1 second using the formulas for the triangular profile with full S-Curve in Table 1. The maximum velocity is calculated to be 2.0m/sec with a maximum acceleration of 8.0m/sec2 and a RMS acceleration of 4.62m/sec2. It is important to recognize the penalty for using the full S-Curve velocity profile compared to the standard velocity profile given the same total move distance (st) and total move time (tm). While the maximum velocity is the same for both motion profiles the maximum acceleration is 2X greater in the triangular profile with full S-curve. As shown in Figure 2, the maximum acceleration of the full S-Curve profile occurs at time 0.25 seconds which is the midpoint of the acceleration period. The second penalty for using the full S-Curve 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 PRMS, which is also expressed by the following formula (1.1):

\displaystyle {{P}_{{RMS}}}={{\left( {\frac{{{{F}_{{RMS}}}}}{{{{K}_{m}}}}} \right)}^{2}}

In the above formula FRMS is the continuous force applied by the linear motor and Km is the motor constant which is a measure of the linear motor efficiency. If we let {{F}_{{RMS}}}=m{{a}_{{RMS}}} we get the form of the solution shown in Table 1 where the variable m~ is the total payload.

Motion Parameter Triangular Profile
With Full S-Curve
Triangular Profile
Without Full S-Curve
Factor Units
Vmax \displaystyle \frac{{2.0{{s}_{t}}}}{{{{t}_{m}}}} \displaystyle \frac{{2.0{{s}_{t}}}}{{{{t}_{m}}}} 1.00 m/sec
amax \displaystyle \frac{{8.0{{s}_{t}}}}{{t_{m}^{2}}} \displaystyle \frac{{4.0{{s}_{t}}}}{{t_{m}^{2}}} 2.00 m/sec2
aRMS \displaystyle \frac{1}{{\sqrt{3}}}\frac{{8.0{{s}_{t}}}}{{t_{m}^{2}}} \displaystyle \frac{{4.0{{s}_{t}}}}{{t_{m}^{2}}} 1.15 m/sec2
Prms \displaystyle \left( {\frac{{21.33{{m}^{2}}s_{t}^{2}}}{{k_{m}^{2}t_{m}^{4}}}} \right) \displaystyle \left( {\frac{{16.00{{m}^{2}}s_{t}^{2}}}{{k_{m}^{2}t_{m}^{4}}}} \right) 1.33 Watts

Table 1: A Comparison of Triangular Motion Profile Parameters

For the moment if we assume a maximum velocity constraint (vlim) of 1.5m/sec then a new set of motion parameters needs to be determined using the general S-Curve solution shown in Table 2. The general S-Curve solution defines four new variables: tcv which is the constant velocity time, δ the constant velocity parameter, ts1 the S-Curve acceleration time and γ the S-Curve acceleration parameter. Using the maximum velocity constraint (vlim) of 1.5m/sec, total move distance (st) of 1.0 meter and total move time (tm) 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 S-Curve then the S-curve acceleration parameter will be γ = 0.167. The following is a list of motion profiles along with the constant velocity parameter and the S-curve acceleration parameter:

  • Triangular Profile with no S-Curve: δ = 0, γ = 0
  • Triangular Profile with 50% S-Curve: δ = 0, γ = 0.167
  • Triangular Profile with full S-Curve: δ = 0, γ = 0.250
  • 1/3 Trapezoidal Profile with no S-Curve: δ = 0.333, γ = 0
  • 1/3 Trapezoidal Profile with 50% S-Curve: δ = 0.333, γ = 0.111
  • 1/3 Trapezoidal Profile with full S-Curve: δ = 0.333, γ = 0.167
Motion Parameter General S-Curve Solution Units Notes
Vmax \displaystyle \left( {\frac{2}{{1+\delta }}} \right)\frac{{{{s}_{t}}}}{{{{t}_{m}}}} m/sec {{t}_{{cv}}}=\delta ~{{t}_{m}}

{{t}_{{s1}}}=\gamma {{t}_{m}}

0\le \gamma \le 0.25

0\le \delta \le \displaystyle \left( {\frac{{2{{s}_{t}}}}{{{{v}_{{lim}}}{{t}_{m}}}}-1} \right)

amax \displaystyle \left( {\frac{4}{{\left( {1+\delta } \right)\left( {1-2\gamma -\delta } \right)}}} \right)\frac{{{{s}_{t}}}}{{t_{m}^{2}}} m/sec2
aRMS \displaystyle \sqrt{{1-\frac{8}{3}\gamma -\delta }}~{{a}_{{max}}} m/sec2
jmax \displaystyle \left( {\frac{4}{{\gamma \left( {1+\delta } \right)\left( {1-2\gamma -\delta } \right)}}} \right)\frac{{{{s}_{t}}}}{{t_{m}^{3}}} m/sec3

Table 2: General S-Curve Solution

The next step in sizing a linear motor with S-Curves is to calculate the RMS and peak forces using the S-Curve motion parameters and the total mass which is a combination of a preliminary linear motor coil mass (mc) plus any payload (mp). The peak force is the addition of the peak acceleration force (Fa) plus the peak constant forces (Fc) acting of the system such as gravity (Fg), friction (Ffr) and other external push/pull forces (Fe). 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 (Fat) such as Ironcore linear motors. If the linear bearings have seals then the seal force (Fs) will also increase the friction force. The following formulas are used to calculate the peak force (1.2):

{{F}_{{peak}}}={{F}_{{amax}}}+{{F}_{c}}

{{F}_{{amax}}}=\left( {{{m}_{c}}+{{m}_{p}}} \right){{a}_{{max}}}

{{F}_{c}}={{F}_{g}}+{{F}_{{fr}}}+{{F}_{e}}

{{F}_{g}}=\left( {{{m}_{c}}+{{m}_{p}}} \right)gsin\theta ,~g=9.81~m/se{{c}^{2}}

{{F}_{{fr}}}=\mu \left( {{{m}_{c}}+{{m}_{p}}} \right)gcos\theta +\mu {{F}_{{at}}}+{{F}_{s}}

With the S-Curve motion profile the RMS or root mean square force is calculated knowing the force for both the total move time (tm) and the dwell time (dw). Since the S-Curve 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 (aRMS) will be used to calculate the acceleration force during the total move time (tm). The follow formulas can be used to calculate the RMS force (1.3):

\displaystyle {{F}_{{RMS}}}=\sqrt{{\frac{{F_{{aRMS}}^{2}{{t}_{m}}+F_{c}^{2}{{t}_{m}}+F_{c}^{2}{{t}_{{dw}}}}}{{{{t}_{m}}+{{t}_{{dw}}}}}}}

{{F}_{{aRMS}}}=\left( {{{m}_{c}}+{{m}_{p}}} \right){{a}_{{RMS}}}

{{F}_{c}}={{F}_{g}}+{{F}_{{fr}}}+{{F}_{e}}

The constant forces (Fc) apply to the total move time (tm) and the dwell time (dw) only if the system is tilted at angle (θ) from the horizontal and the friction (Ffr) and external push/pull forces (Fe) 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 (FRMS) of 113N, peak force (Fpeak) of 400N and motor constant (Km) of 10.2N√W. Using formula 1.1 the continuous power dissipated (PRMS) is calculated to be 18.1 Watts which multiplied by the linear motor thermal resistance (Rth) provides the motor temperature rise (ΔT) due to the continuous applied force. The motor thermal resistance (Rth) 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 S-curve 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 S-Curve requirements during the design phase to avoid having to increase the total move time later in the build or testing phases.

References:

  1. ETEL Linear Motor Handbook, Version A.

Should you have any questions about this article please contact us