User Tools

Site Tools


commands:accel

Command:ACCEL (AC)

MS2000 or RM2000 syntax
Shortcut AC
Format ACCEL [axis] = [time in msec]…
Units millisecond
Remembered Using SS Z
Tiger syntax
Shortcut AC
Format ACCEL [axis] = [time in msec]…
Units millisecond
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the amount of time in milliseconds that it takes an axis motor speed to go from stopped to the maximum speed (S command) during commanded moves long enough that the maximum speed is reached. It is also the duration of the deceleration / ramp-down time at the end of the move.

Setting the acceleration time to less than the motor's intrinsic time constant (~7 ms for the most common motors) is generally foolish. Overly-aggressive acceleration times lead to performance degradation over millions of moves. 25 ms acceleration time is generally only safe for short moves with small stages (i.e. when maximum speed is never reached, see section on small moves) and/or when the speed setting is a small fraction of the maximum. Larger values, e.g. 75ms or 100ms, are recommended for larger stages and/or long moves (where the speed is reached) with speed settings near the maximum, especially in heavy use applications. For stages with very coarse leadscrews and/or very heavy loads it is possible that the stage will not be able to keep up with very short acceleration times; when this happens the error buffer will have errors in the 90s.

Example
AC X=50 Y=50 Z=50
:A
AC X? Y? Z?
:X=50 Y=50 Z=50 A

The command in this example will make the controller take 50 milliseconds to accelerate the motors on each axis during a move command. When the controller gets within 50 milliseconds of finishing the move, it will begin to decelerate the motors back down to the start velocity where the pulses take over to bring the axes within the pulse crossover position error.

Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181
commands/accel.txt · Last modified: 2024/04/04 13:05 by jon