[Bdi4emc-help] (no subject)

Jim Fong jimf at embeddedtronics.com
Fri Mar 3 16:50:40 CET 2006


Note: I previously sent this message to the emc-users list but was told this
one was for BDI4 specific questions. The other list was for EMC2 issues. 


I'm currently running BDI 4.38 on a Pentium2-400Mhz PC.  I recently
installed a new 276oz-in stepper motor on my X-axis and trying to tune EMC
for higher rapid speed.  The fastest reliable speed I can get is 25IPM
(500RPM, 20TPI leadscrew, 13333 pulse/second) with my 8microstep driver.
Anymore than 30IPM, you can hear the stepper motor getting rough sounding
(jitter??) and motor stops spinning.  The period is set at 0.000007.  I have
tested it set at 0.000005 (any lower PC locks up and resets) but I still
can't get any faster or more reliable pulse out of the parallel port.  I
played around with the P setting but just makes it worse if set over 1000.  

I currently set the MAX_VELOCITY = .41 (25IPM) since that seems to be the
most reliable speed I can get for now.

Anyone out there running a similiar speed PC and what is your fastest pulse
output? 13,000 steps/sec seems rather slow to me. 

For comparison, I unplugged the parallel cable and hooked it up to my lowly
pentium233 laptop running Turbocnc.  I was able to get the same motor/driver
to spin at 1200RPM with no problems.  At 25IPM (500rpm) the motor sound so
much smoother then EMC.  Actually a little bit scary watching the table move
back and forth at 60IPM since I only have 12" of X travel.

I've been running bdi-2xx for the last 3 years or so and have just recently
upgraded to 4.38 due to hard drive update.

I also went through the archives and saw the reference to Quickstep. I'll do
a apt-get and test it out however I do use backlash compensation on my mill.


Regards,

Jim



# Task controller section
-----------------------------------------------------
[TASK]

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

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

# File containing interpreter variables
PARAMETER_FILE =        emc.var

# Motion control section
------------------------------------------------------
[EMCMOT]

# Name of motion control program
# Don't use an extension with the module name - The script works it out.
EMCMOT =              freqmod
# EMCMOT =              smdromod
# EMCMOT =              vitalmod

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

# Base address the DRO card when using smdromod.o
# DRO_BASE_ADDRESS =      0x200

# Address for parallel port used for steppers
IO_BASE_ADDRESS =    0x278

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

# Trajectory planner section
--------------------------------------------------
[TRAJ]

AXES =                  3
# COORDINATES =         X Y Z R P W
COORDINATES =           X Y Z
HOME =                  0 0 0
LINEAR_UNITS =          0.03937007874016
ANGULAR_UNITS =         1.0
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      0.02
MAX_VELOCITY =          .6
DEFAULT_ACCELERATION =  .7
MAX_ACCELERATION =      2
PROBE_INDEX =           0
PROBE_POLARITY =        1

# Axes sections
---------------------------------------------------------------

# First axis
[AXIS_0]

TYPE =                          LINEAR
UNITS =                         0.03937007874016
HOME =                          0.000
MAX_VELOCITY =                  .41
MAX_ACCELERATION =              2
P = 100.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.0015
BIAS = 0.000
MAX_ERROR = 0.000
DEADBAND = 0.00025
CYCLE_TIME =                    0.001000
INPUT_SCALE =                  -32000    0
OUTPUT_SCALE = -32000.000 0.000
MIN_LIMIT =                     -20.0
MAX_LIMIT =                     20.0
MIN_OUTPUT =                    -20
MAX_OUTPUT =                    20
FERROR = 1.000
MIN_FERROR = 0.100
HOMING_VEL =                    0.1
SETUP_TIME = 			1
HOLD_TIME =			2
HOME_OFFSET =                   0.0

ENABLE_INDEX = x
ENABLE_POLARITY =               0

MIN_LIMIT_SWITCH_INDEX = 1
MIN_LIMIT_SWITCH_POLARITY =     0

MAX_LIMIT_SWITCH_INDEX = 0
MAX_LIMIT_SWITCH_POLARITY =     0

HOME_SWITCH_INDEX = 2
HOME_SWITCH_POLARITY =          1
HOMING_POLARITY =               1
JOGGING_POLARITY =              1

FAULT_INDEX = x
FAULT_POLARITY =                1

DIR_INDEX = 0
STEP_INDEX = 1
 




More information about the Bdi4emc-help mailing list