[Home]TuningRotaryAxis

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

Tuning for using a rotary axis

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).

Problems with rotary axis

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.

Example configuration

###############################################################################
# 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

Figuring it out

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

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited April 16, 2007 1:43 am by Asdfqwega (diff)
Search:
Published under a Creative Commons License