Need help with homing (only limit switches wired as ONE circuit)

OK, the Z axis seems to work and, when commanded to move 1 inch, moves exactly one inch. Tis tells me that the encoder was installed correctly despite problems with the hub.

Now I moved on to homing. Right now I do NOT use home switches. I have limit switches on all axes, wired as ONE chain in series.

I defined some EMC settings that I thought should do. However, when I tried to home Z, it would reach the limit switch and then EMC fails by complaining that limits were tripped on X and Y. What am I doing wrong.

Maybe I should bite the bullet and wire everything right.

Here's my ppmc.ini file

###################################################################### # EMC controller parameters for generic controller. Make these what you need # for your system.

# General note: Comments can either be preceded with a # or ; - either is # acceptable, although # is in keeping with most linux config files.

# General section ------------------------------------------------------------- [EMC]

# Version of this INI file VERSION = $Revision: 1.13 $

# Name of machine, for use with display, etc. MACHINE = EMC-PPMC

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

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

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

# Name of display program, e.g., xemc DISPLAY = axis # DISPLAY = usrmot # DISPLAY = tkemc

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

# Path to help file HELP_FILE = tkemc.txt

# Initial display setting for position, RELATIVE or MACHINE 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 = /home/ichudov

# Introductory graphic INTRO_GRAPHIC = emc2.gif INTRO_TIME = 2

# Enable popup balloon help BALLOON_HELP = 1

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

# Name of task controller program, e.g., milltask TASK = milltask

# 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 = ppmc.var

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

EMCMOT = motmod

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

# Interval between tries to emcmot, in seconds COMM_WAIT = 0.01

# Servo task period, in nanoseconds SERVO_PERIOD = 1000000

# Hardware Abstraction Layer section

-------------------------------------------------- [HAL]

# The run script first uses halcmd to execute any HALFILE # files, and then to execute any individual HALCMD commands. #

# list of hal config files to run through halcmd # files are executed in the order in which they appear HALFILE = ppmc_load.hal

HALFILE = ppmc_servo.hal HALFILE = ppmc_motion.hal HALFILE = ppmc_io.hal

# list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta

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

AXES = 4 # COORDINATES = X Y Z R P W # Igor # COORDINATES = X Y Z A COORDINATES = X Y Z HOME = 0 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 0.15 MAX_VELOCITY = 2.0 DEFAULT_ACCELERATION = 1.5 MAX_ACCELERATION = 1.5

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

# Scaling: The OUTPUT_SCALE should be the speed # in UNITS/second (inches/sec or mm/sec) that would be # reached if the PWM duty cycle was 100%. It depends on # the power supply voltage, motor RPM/Volt factor, and # gearing/screw pitch. For example: # # Power supply voltage 50V # Motor RPM/V 1000RPM/24V # Gearing: 2 motor revs per 1 screw rev # Screw pitch: 0.2" per turn # # Max motor speed = 50V * 1000RPM/24V = 2083 RPM # Max screw speed = 2083RPM * 1(screw)/2(motor) = 1041RPM # Max table speed = 1041RPM * 0.2"/turn = 208 in/min # Max table speed = 208 in/min / 60 seconds = 3.47 inches/sec # # Since max speed is reached at 100% duty cycle, OUTPUT_SCALE # should be 3.47

# First axis [AXIS_0]

TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 1.9 MAX_ACCELERATION = 2 PID_MAX_VEL = 10 BACKLASH = 0.000 #INPUT_SCALE = -40000 #INPUT_SCALE = -40629.76 INPUT_SCALE = -40640 OUTPUT_SCALE = 1 MIN_LIMIT = -10.0 MAX_LIMIT = 10.0

FERROR = 1 MIN_FERROR = 5

HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES DEADBAND = 1e-06 P = 800.0 I = 25.0 D = 20.0 BIAS = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0

# Second axis [AXIS_1]

TYPE = LINEAR HOME = 0.000

# Igor # MAX_VELOCITY = 1.20 # Igor # MAX_ACCELERATION = 1.25 MAX_VELOCITY = 1.941 MAX_ACCELERATION = 2

PID_MAX_VEL = 10 BACKLASH = 0.000

# Igor # INPUT_SCALE = -128000.0 # Igor # OUTPUT_SCALE = -1.0 #INPUT_SCALE = 40000.0 #INPUT_SCALE = 40629.76 INPUT_SCALE = 40640

OUTPUT_SCALE = 1

MIN_LIMIT = -40.0 MAX_LIMIT = 40.0

# MAX_OUTPUT = 10

# Igor # FERROR = 0.001 # Igor # MIN_FERROR = 0.005 FERROR = 1 MIN_FERROR = 5

HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES DEADBAND = 1e-06 P = 800.0 I = 25.0 D = 10.0 BIAS = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0

# Third axis [AXIS_2]

TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 0.2 # 1.20 MAX_ACCELERATION = 0.2 # 1.2 PID_MAX_VEL = 1.2 BACKLASH = 0.000

INPUT_SCALE = 40640 OUTPUT_SCALE = 1.0

MIN_LIMIT = -10.0 MAX_LIMIT = 10.0 FERROR = 1 # 0.001 MIN_FERROR = 5 # 0.005 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.1 HOME_LATCH_VEL = -0.05 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = YES DEADBAND = 8e-05 P = 800.0 I = 25.0 D = 10.0 BIAS = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0

# Igor # # Fourth axis # Igor # [AXIS_3]

# Igor # TYPE = ANGULAR # Igor # HOME = 0.0 # Igor # MAX_VELOCITY = 65 # Igor # MAX_ACCELERATION = 20.0 # Igor # PID_MAX_VEL = 66.0 # Igor # BACKLASH = 0.000 # Igor # INPUT_SCALE = 1111.111 # Igor # OUTPUT_SCALE = 5.0 # Igor # MIN_LIMIT = -3600.0 # Igor # MAX_LIMIT = 3600.0 # Igor # FERROR = 1.010 # Igor # MIN_FERROR = 1.001 # Igor # HOME_OFFSET = 0.0 # Igor # HOME_SEARCH_VEL = 0.0 # Igor # HOME_LATCH_VEL = 0.0 # Igor # HOME_USE_INDEX = NO # Igor # HOME_IGNORE_LIMITS = NO # Igor # DEADBAND = 0.046 # Igor # P = 150.0 # Igor # I = 100.0 # Igor # D = 0.1 # Igor # BIAS = 0.0 # Igor # FF0 = 0.0 # Igor # FF1 = 1.0 # Igor # FF2 = 1.0

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

# Name of IO controller program, e.g., io EMCIO = io

# cycle time, in seconds CYCLE_TIME = 0.100

# tool table file TOOL_TABLE = ppmc.tbl

# section for external NML server parameters ---------------------------------- [EMCSERVER] # Uncomment the following line if you need to run a remote GUI. # EMCSERVER = emcsvr

Reply to
Ignoramus9140
Loading thread data ...

forget my question

I found out home switch wir> OK, the Z axis seems to work and, when commanded to move 1 inch, moves

--------------------------------------------------

Reply to
Ignoramus9140

This is fun watching.

You are doing very well btw

Gunner, CNC mechanic

-------------------------------------------------------------

------------------------------------------------

-----------------------------------------------------

--------------------------------------------

------------------------------------------------------

--------------------------------------------------

--------------------------------------------------

---------------------------------------------------------------

-----------------------------------

----------------------------------

One could not be a successful Leftwinger without realizing that, in contrast to the popular conception supported by newspapers and mothers of Leftwingers, a goodly number of Leftwingers are not only narrow-minded and dull, but also just stupid. Gunner Asch

Reply to
Gunner Asch

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.