Re: Feb. 17 EMC First look


> 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