Deceleration (slow down velocity at the end of the move)
Using the well-known motion equations:
a = constant; accel/decel (1a)
v = a * t; or t = v / a (1b)
da = v * t; dd = v * t (1c )
da = distance to accel; dd = distance to decel
A motion planner prepares the move before execution:
The acceleration time can be computed using (1b). Then the distance da for the acceleration portion can be computed using (1c). The motion planner therefore stores P1 (start position P0 + da). Now computing from the endpoint backward, another time t can be found when deceleration must start (1b). With (1c) a deceleration distance dd is computed and the point P2 (Endpoint P3 – dd) is stored.
During execution beginning at P0, the acceleration value is applied to AC until P2. Then the acceleration is set to AC = 0 until P2. As soon as P2 has been passed, the deceleration value is applied to AC (here a negative value different from the acceleration). As a result the motion slows down into point P3. A corresponding graph of the move profile is shown in Figure 7 below.
FIGURE 7: MOVE PROFILE
Figure 6 is used as implementation of this profile with the proper ∆t time increments for integration. The order position loop monitors the momentary position and then simply provides the commands to switch the values in the AC register to the proper values. (Click image to enlarge.)
More articles by Ernst Dummermuth
Note that Figure 6 is used as implementation of Figure 7 with the proper ∆t time increments for integration. The outer position loop monitors the momentary position and then simply provides the commands to switch the values in the AC register to the proper values: P0 (go, apply AC=accel), P1 (AC= 0), P2 (AC=decel) and P3 (AC=0). When P3 is reached the move block provides a “done” signal.
Read our article The Not-So-Odd Couple, by Ernst Dummermuth. This article talks about how motor and its generator are bound together. One does not exist without the other.