Re: Feb. 17 EMC First look
- Subject: Re: Feb. 17 EMC First look
- From: "Matt Shaver" <mshaver-at-erols.com>
- Date: Sat, 19 Feb 2000 00:46:30 -0500
- Content-Transfer-Encoding: 7bit
- Content-Type: text/plain; charset=ISO-8859-1
> From: Clint Bach <clintbach-at-earthlink.net>
> The good news is that everything seems to be running well. As a test I
> ran the program which sent the machine into the NaN runaway and it ran
> just fine. This is a major improvement!!!
Good! Also fixed is an obscure bug I had with M codes. Unless you control the
spindle and coolant using bridgeportio (and wrote a very peculiar program)
you'd never notice, but it's nice to know that all sorts of little
improvements are folded into the release all the time.
> I noticed a "suspicious" sound in the stepper motors occasionally. Like
> they are hunting between steps or something else but haven't had a
> chance to check into it. All in all it seems to be much better so far.
You might want to take freqmod.o for a spin in place of steppermod.o. I'll
append a .ini file to the end of this message that I used on a Bridgeport
with stepper motors that you can use as an example. there are more parameters
to set, but you may get increased performance.
> At first I couldn't get the machine to run at all... I tracked the
> problem down to the simple fact that I had not plugged other end of the
> parallel cable into the controller... As I say, it's not foolproof until
> a fool proves it! And I'm just the fool to prove it. Does anybody else
> do dumb things like that?
The other day I was working at night, without sufficient light, and I wired
110Vac directly to ground. I turned on the machine and I heard a pop, then
nothing worked. luckily I only blew a $6.00 fuse, rather than, say, a
motherboard (imagine if I had put 110 into the parallel port!). Don't worry,
dumb mistakes come with the territory. I have a good friend, Mike, who says,
"The more you try to do, the more problems you have".
Matt
; EMC controller parameters for generic controller. Make these what you need
; for your system.
; Modification history:
; 1-Oct-1999 FMP added ENABLE_POLARITY which was left out
; 29-Sep-1999 FMP added HOME_OFFSET
; 15-Sep-1999 FMP added PID gains and FAULT_POLARITY, which were left out;
; added motor simulation parameters
; General section
-------------------------------------------------------------
[EMC]
; Version of this INI file
VERSION = $Revision: 1.16 $
; Name of machine, for use with display, etc.
MACHINE = Bridgeport BOSS
; Name of NML file to use, default is emc.nml
NML_FILE = emc.nml
; Debug level, 0 means no messages. See emc/src/emcnml/emcglb.h for others
DEBUG = 0x00000003
; DEBUG = 0x7FFFFFFF
; Sections for display options
------------------------------------------------
[DISPLAY]
; Platform for GUI
PLAT = linux_2_0_36
; Name of display program, e.g., xemc
; DISPLAY = tkemc
DISPLAY = xemc
; DISPLAY = yemc
; DISPLAY = keystick
; DISPLAY = emcpanel
; 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 = /root/Desktop/Unique/
; Task controller section
-----------------------------------------------------
[TASK]
; Platform for task controller
PLAT = linux_2_0_36
; 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]
; Platform for motion, e.g., rtlinux_09J, linux_2_0_36
PLAT = rtlinux_09J
; PLAT = linux_2_0_36
; Name of motion control program
EMCMOT = freqmod.o
; 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 = 0x7F00000
; SHMEM_BASE_ADDRESS = 0x3F00000
; Base address of Servo To Go board
STG_BASE_ADDRESS = 0x200
; STG_BASE_ADDRESS = 0x300
; Address for parallel port used for steppers
PARPORT_IO_ADDRESS = 0x278
; Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0
; Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010
; 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.005
DEFAULT_VELOCITY = 0.9
MAX_VELOCITY = 0.9
DEFAULT_ACCELERATION = 0.75
MAX_ACCELERATION = 0.75
; Axes sections
---------------------------------------------------------------
; First axis
[AXIS_0]
TYPE = LINEAR
UNITS = 0.03937007874016
HOME = 0.000
P = 50.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
CYCLE_TIME = 0.0005
INPUT_SCALE = -4000 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -0.001
MAX_LIMIT = 18.001
MIN_OUTPUT = -1.0
MAX_OUTPUT = 1.0
FERROR = 100.000
HOMING_VEL = 0.1
HOME_OFFSET = 0.0495
ENABLE_POLARITY = 1
MIN_LIMIT_SWITCH_POLARITY = 0
MAX_LIMIT_SWITCH_POLARITY = 0
HOME_SWITCH_POLARITY = 0
HOMING_POLARITY = 0
JOGGING_POLARITY = 0
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
P = 50.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
CYCLE_TIME = 0.0005
INPUT_SCALE = -4000 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -0.001
MAX_LIMIT = 11.751
MIN_OUTPUT = -0.93
MAX_OUTPUT = 0.93
FERROR = 100.000
HOMING_VEL = 0.1
HOME_OFFSET = 0.077
ENABLE_POLARITY = 1
MIN_LIMIT_SWITCH_POLARITY = 0
MAX_LIMIT_SWITCH_POLARITY = 0
HOME_SWITCH_POLARITY = 0
HOMING_POLARITY = 0
JOGGING_POLARITY = 0
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.000
P = 50.000
I = 0.000
D = 0.000
FF0 = 0.000
FF1 = 0.000
FF2 = 0.000
BACKLASH = 0.000
BIAS = 0.000
MAX_ERROR = 0.000
CYCLE_TIME = 0.0005
INPUT_SCALE = 4000 0
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT = -4.751
MAX_LIMIT = 0.001
MIN_OUTPUT = -1.0
MAX_OUTPUT = 1.0
FERROR = 100.000
HOMING_VEL = 0.1
HOME_OFFSET = -0.1
ENABLE_POLARITY = 1
MIN_LIMIT_SWITCH_POLARITY = 0
MAX_LIMIT_SWITCH_POLARITY = 0
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., linux_2_0_36
PLAT = linux_2_0_36
; 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 = emc.tbl
; address for parallel port used for auxiliary IO
PARPORT_IO_ADDRESS = 0x3BC
; wait times in seconds for spindle brake, release
SPINDLE_OFF_WAIT = 0.5
SPINDLE_ON_WAIT = 0.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_DECREASE_INDEX = 2
;SPINDLE_INCREASE_INDEX = 9
SPINDLE_INCREASE_INDEX = 3
;ESTOP_WRITE_INDEX = 10
ESTOP_WRITE_INDEX = 8
;SPINDLE_BRAKE_INDEX = 11
SPINDLE_BRAKE_INDEX = 4
; 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
ESTOP_WRITE_POLARITY = 0
SPINDLE_BRAKE_POLARITY = 0
SPINDLE_ENABLE_POLARITY = 1
; section for external NML server parameters
----------------------------------
[EMCSERVER]
; Platform for NML server, e.g., linux_2_0_36
PLAT = linux_2_0_36
; Name of NML server, e.g., emcsvr; if not found then none will run
; EMCSERVER = emcsvr
Date Index |
Thread Index |
Back to archive index |
Back to Mailing List Page
Problems or questions? Contact