The details given here are from working with stepper configurations - such as a Taig or Sherline mini/micro-mill, equiped with a stepper-driven rotary table. The particular account I'm drawing from is configuring a CueMonster? cnc router, in which the A axis is a fixed part of the machine (all work is done between centers).
The cuemonster was a machine I wanted to convert to EMC, simply because using the old DOS DeskNC? was very inconvient. However, DeskNC? had one thing in it's favor - it could run the A axis at a good speed, while EMC could only make it go at a very slow crawl.
However, it would take until EMC2 before I'd be try again, and this time I have new options in the [TRAJ] and [AXIS] sections.
############################################################################### # Trajectory planner section ############################################################################### [TRAJ] #+ machine specific settings AXES = 4 # COORDINATES = X Y Z R P W COORDINATES = X Y Z A HOME = 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = .2 DEFAULT_ANGULAR_VELOCITY = 30 MAX_VELOCITY = 1.2 MAX_ANGULAR_VELOCITY = 90 DEFAULT_ACCELERATION = 20.0 MAX_ACCELERATION = 400.0 ############################################################################### # Axes sections ############################################################################### #+ First axis [AXIS_0] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 0.3 MAX_ACCELERATION = 5.0 STEPGEN_MAXVEL = 1.0 STEPGEN_MAXACCEL = 7.0 BACKLASH = 0.000 INPUT_SCALE = 20000 OUTPUT_SCALE = 1.000 MIN_LIMIT = -10.0 MAX_LIMIT = 10.0 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO #+ Fourth axis [AXIS_3] TYPE = ANGULAR HOME = 0.0 MAX_VELOCITY = 60.0 MAX_ACCELERATION = 360.0 STEPGEN_MAXVEL = 70.0 STEPGEN_MAXACCEL = 396.0 BACKLASH = 0.000 INPUT_SCALE = 350 OUTPUT_SCALE = 1.000 MIN_LIMIT = -36000.0 MAX_LIMIT = 36000.0 FERROR = 5.0 MIN_FERROR = 1.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO
The above INI is what I'm using. The XYZ axis' are limited to 18 IPM. On this machine, given my maximum pulse rate, and my A axis worm ratio, and steps per degree: 70 degrees per second. I've set that as my top end for stepgen, and left some leeway.
The above [TRAJ] section is what I've initially tried - keeping linear and angular setting separate. Fire up emc with the Axis GUI, and progress! The jog buttons move everything at the correct rapid speed. However, running a MDI command or gcode program, the A axis is still very slow.
Enter a command, and counting under my breath...A moves at 12 degrees a minute. A-ha! So angular moves are still constrained by linear parameters.
So, changing my [TRAJ] section so that my linear maximum and default velocity is the same as the angular - A now moves speedily under all conditions. The only downside is that doing so makes the jog speed selector useless - it's now too high a scale. However, that's not really needed, as every axis is still constrained by their individual settings.
############################################################################### # Trajectory planner section ############################################################################### [TRAJ] #+ machine specific settings AXES = 4 # COORDINATES = X Y Z R P W COORDINATES = X Y Z A HOME = 0 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 30 DEFAULT_ANGULAR_VELOCITY = 30 MAX_VELOCITY = 90 MAX_ANGULAR_VELOCITY = 90 DEFAULT_ACCELERATION = 20.0 MAX_ACCELERATION = 400.0