CAD CAM EDM DRO - Yahoo Group Archive

EMC motion interruption?

Posted by confusered
on 2001-12-16 17:07:07 UTC
I have been tuning my EMC set up and can't seem to get rid of an
interrupted motion on all my axis. Set up is a P433 with 64MB RAM,
2MB video card, and NIC. Drivers are Camtronics 5 amp. Machine is a
mill/drill driven with stepper motors via belts.

The interrupted steps can be heard as well as seen during very slow
feeds. For example, if Z is being driven at f0.5 you can see the
motor stop for about one pulse every so many pulses. At higher feeds
it is hard to see but I can hear a definite "beat". The beat rate
increases with feed rate, almost like every so many pulses it stops
for about a pulse length of time.

I'm not sure of the etiquette here but I'm posting my .ini file below
because it may help others. Any help is greatly appreciated.

Also a possible SAFETY ISSUE: If you jog the X from the keyboard and
jog Y before letting up on the X key, X will keep going after all
keays are released.

Thanks, Tom

; Modified by tom on 12/15/01 for tom1emc

; General section
-------------------------------------------------------------
[EMC]

; Version of this INI file
VERSION = $Revision: 1.14 $

; Name of machine, for use with display, etc.
MACHINE = Grizzly Mania

; Name of NML file to use, default is emc.nml
; NML_FILE = sim.nml
NML_FILE = emc.nml

; Debug level, 0 means no messages. See emc/src/emcnml/emcglb.h for
others
; DEBUG = 0x00000003
; DEBUG = 0x00000007
DEBUG = 0x7FFFFFFF

; Line of code that is executed after starting the rs274ngc code.
RS274NGC_STARTUP_CODE=G20

; Sections for display options
------------------------------------------------
[DISPLAY]

; Platform for GUI, e.g., realtime, nonrealtime
PLAT = nonrealtime

; Name of display program, e.g., xemc
DISPLAY = tkemc

; Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.100

; Path to help file
HELP_FILE = doc/help.txt

; Initial display setting for position, RELATIVE or ABSOLUTE
POSITION_OFFSET = RELATIVE

; Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL

; Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.2

; Prefix to be used
PROGRAM_PREFIX = programs/

; Introductory graphic
INTRO_GRAPHIC = emc.gif
INTRO_TIME = 1

; Task controller section
-----------------------------------------------------
[TASK]

; Platform for task controller, e.g., realtime, nonrealtime
PLAT = realtime
; PLAT = nonrealtime

; Name of task controller program, e.g., bridgeporttask
; TASK = bridgeporttask
TASK = minimilltask

; Cycle time, in seconds, that task controller will sleep between
polls
CYCLE_TIME = 0.100

; Part program interpreter section
--------------------------------------------
[RS274NGC]

; File containing interpreter variables
PARAMETER_FILE = sim.var

; Motion control section
------------------------------------------------------
[EMCMOT]

; Platform for motion, e.g., realtime, nonrealtime
PLAT = realtime
; PLAT = nonrealtime

; Name of motion control program
EMCMOT = steppermod.o
; EMCMOT = stgmod.o
; EMCMOT = stg8mod.o
; EMCMOT = emcmotsim

; Key for real OS shared memory, e.g., for simulated motion
SHMEM_KEY = 100

; Base address for physical shared memory, e.g., for real-time motion.
; Note that if you change this, you may need to change OS parameters,
e.g.,
; /etc/lilo.conf
; SHMEM_BASE_ADDRESS = 0x1F00000
SHMEM_BASE_ADDRESS = 0x3F00000

; Address for parallel port used for steppers
PARPORT_IO_ADDRESS = 0x378

; Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0

; Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010

; Base task period, in seconds
; PERIOD = 0.000016

; Trajectory planner section
--------------------------------------------------
[TRAJ]

AXES = 3
COORDINATES = X Y Z
HOME = 0 0 0
LINEAR_UNITS = 0.03937007874016
ANGULAR_UNITS = 1.0
CYCLE_TIME = 0.060
DEFAULT_VELOCITY = 0.2
MAX_VELOCITY = 0.3
DEFAULT_ACCELERATION = 0.4
MAX_ACCELERATION = 0.4
PROBE_INDEX = 0
PROBE_POLARITY = 1

; Axes sections
---------------------------------------------------------------

; First axis
[AXIS_0]

TYPE = LINEAR
UNITS = 0.03937007874016
HOME = 0.000
MAX_VELOCITY = 0.15
P = 1.000
I = 0.000
D = 0.030
FF0 = 0.000
FF1 = 0.077
FF2 = 0.000
BACKLASH = 0.017
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME = 0.03000
INPUT_SCALE = 4444 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MIN_OUTPUT = -10
MAX_OUTPUT = 10
FERROR = 1.000
MIN_FERROR = 0.100
HOMING_VEL = 0.1
HOME_OFFSET = 0.0
ENABLE_POLARITY = 0
MIN_LIMIT_SWITCH_POLARITY = 1
MAX_LIMIT_SWITCH_POLARITY = 1
HOME_SWITCH_POLARITY = 0
HOMING_POLARITY = 1
JOGGING_POLARITY = 1
FAULT_POLARITY = 1
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS = OZ_IN
ARMATURE_RESISTANCE = 1.10
ARMATURE_INDUCTANCE = 0.0120
BACK_EMF_CONSTANT = 0.0254
ROTOR_INERTIA = 0.0104
DAMPING_FRICTION_COEFFICIENT = 0.083
SHAFT_OFFSET = 0
REVS_PER_UNIT = 10
; Parameters for generic amplifier
AMPLIFIER_GAIN = 1
MAX_OUTPUT_CURRENT = 10
LOAD_RESISTANCE = 1
; parameters for generic encoder
COUNTS_PER_REV = 4096

; Second axis
[AXIS_1]

TYPE = LINEAR
UNITS = 0.03937007874016
HOME = 0.000
MAX_VELOCITY = 0.15
P = 1.000
I = 0.000
D = 0.030
FF0 = 0.000
FF1 = 0.077
FF2 = 0.000
BACKLASH = 0.0175
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME = 0.03000
INPUT_SCALE = 5574 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MIN_OUTPUT = -10
MAX_OUTPUT = 10
FERROR = 1.000
MIN_FERROR = 0.100
HOMING_VEL = 0.1
HOME_OFFSET = 0.000
ENABLE_POLARITY = 0
MIN_LIMIT_SWITCH_POLARITY = 1
MAX_LIMIT_SWITCH_POLARITY = 1
HOME_SWITCH_POLARITY = 0
HOMING_POLARITY = 1
JOGGING_POLARITY = 1
FAULT_POLARITY = 1
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS = OZ_IN
ARMATURE_RESISTANCE = 1.10
ARMATURE_INDUCTANCE = 0.0120
BACK_EMF_CONSTANT = 0.0254
ROTOR_INERTIA = 0.0104
DAMPING_FRICTION_COEFFICIENT = 0.083
SHAFT_OFFSET = 0
REVS_PER_UNIT = 10
; Parameters for generic amplifier
AMPLIFIER_GAIN = 1
MAX_OUTPUT_CURRENT = 10
LOAD_RESISTANCE = 1
; parameters for generic encoder
COUNTS_PER_REV = 4096

; Third axis
[AXIS_2]

TYPE = LINEAR
UNITS = 0.03937007874016
HOME = 0.0
MAX_VELOCITY = 0.15
P = 1.000
I = 0.000
D = 0.030
FF0 = 0.000
FF1 = 0.077
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.000
CYCLE_TIME = 0.03000
INPUT_SCALE = -3822 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MIN_OUTPUT = -10
MAX_OUTPUT = 10
FERROR = 1.000
MIN_FERROR = 0.100
HOMING_VEL = 0.1
HOME_OFFSET = 0.0
ENABLE_POLARITY = 0
MIN_LIMIT_SWITCH_POLARITY = 1
MAX_LIMIT_SWITCH_POLARITY = 1
HOME_SWITCH_POLARITY = 0
HOMING_POLARITY = 1
JOGGING_POLARITY = 1
FAULT_POLARITY = 1
; Parameters for Inland Motor BMHS-0701 X 20
TORQUE_UNITS = OZ_IN
ARMATURE_RESISTANCE = 1.10
ARMATURE_INDUCTANCE = 0.0120
BACK_EMF_CONSTANT = 0.0254
ROTOR_INERTIA = 0.0104
DAMPING_FRICTION_COEFFICIENT = 0.083
SHAFT_OFFSET = 0
REVS_PER_UNIT = 10
; Parameters for generic amplifier
AMPLIFIER_GAIN = 1
MAX_OUTPUT_CURRENT = 10
LOAD_RESISTANCE = 1
; parameters for generic encoder
COUNTS_PER_REV = 4096

; section for main IO controller parameters
-----------------------------------
[EMCIO]

; Platform for IO controller, e.g., realtime, nonrealtime
; PLAT = nonrealtime
PLAT = realtime

; Name of IO controller program, e.g., bridgeportio
; EMCIO = bridgeportio
EMCIO = minimillio
; EMCIO = simio

; cycle time, in seconds
CYCLE_TIME = 0.100

; tool table file
TOOL_TABLE = sim.tbl

; address for parallel port used for auxiliary IO
PARPORT_IO_ADDRESS = 0x278

; wait times in seconds for spindle brake, release
SPINDLE_OFF_WAIT = 1.0
SPINDLE_ON_WAIT = 1.5

; external digital inputs, outputs are always 0 for 0V, 1 for 5/24V

; digital in bits

ESTOP_SENSE_INDEX = 1
LUBE_SENSE_INDEX = 2

; digital in polarity, 0 is inverted, 1 is normal
; controller compares with polarity, equal means on, not equal means
off

ESTOP_SENSE_POLARITY = 1
LUBE_SENSE_POLARITY = 1

; digital out bits

SPINDLE_FORWARD_INDEX = 1
SPINDLE_REVERSE_INDEX = 0
MIST_COOLANT_INDEX = 6
FLOOD_COOLANT_INDEX = 7
SPINDLE_DECREASE_INDEX = 8
SPINDLE_INCREASE_INDEX = 9
ESTOP_WRITE_INDEX = 10
SPINDLE_BRAKE_INDEX = 11
LUBE_WRITE_INDEX = 2

; analog out bits

SPINDLE_ON_INDEX = 3

; digital out polarity, 0 is inverted, 1 is normal
; controller writes the polarity to turn on, opposite of polarity to
turn off

SPINDLE_FORWARD_POLARITY = 0
SPINDLE_REVERSE_POLARITY = 0
MIST_COOLANT_POLARITY = 0
FLOOD_COOLANT_POLARITY = 0
SPINDLE_DECREASE_POLARITY = 1
SPINDLE_INCREASE_POLARITY = 1
ESTOP_WRITE_POLARITY = 1
SPINDLE_BRAKE_POLARITY = 0
SPINDLE_ENABLE_POLARITY = 1

; section for external NML server parameters
----------------------------------
[EMCSERVER]

; Name of NML server, e.g., emcsvr; if not found then none will run
EMCSERVER = emcsvr

; section for emc stripchart parameters
----------------------------------
[EMCSTRIP]

; Name of strip chart display program e.g. emcstripchart; if not
found then none will run
; EMCSTRIP = emcstripchart

; OPTIONS for emcstripchart usually -f something.conf; This file says
which
; variables to plot, colors etc. -u changes the update rate.
OPTIONS = -f emcstrip.conf.ferror

Discussion Thread

confusered 2001-12-16 17:07:07 UTC EMC motion interruption? Tim Goldstein 2001-12-16 17:22:43 UTC RE: [CAD_CAM_EDM_DRO] EMC motion interruption? Ray 2001-12-17 08:06:28 UTC Re: EMC motion interruption? ccs@m... 2001-12-17 08:27:18 UTC Re: [CAD_CAM_EDM_DRO] Re: EMC motion interruption? confusered 2001-12-23 07:26:08 UTC Re: EMC motion interruption?