Recent PlasmaC Update and No Motion

More
6 years 10 hours ago #188044 by Jean NT76
I have only limit switches at the the max travel positions (two per axis). I can also use the upper Z limit switch. But will this really make the difference? I have about 25mm travel after the limit switch prior crashing the Z axis.
Has somebody a working ini an hal with all-limits-homes? One single input for all switches?
Can I have a copy?

Please Log in or Create an account to join the conversation.

More
6 years 10 hours ago #188045 by rodw
If you have limit switches, you can uses shared home/limit switches so it would be worth doing in my view. Be sure the home offset moves the axis off the limit switch though.

Please Log in or Create an account to join the conversation.

More
5 years 11 months ago - 5 years 11 months ago #188129 by Jean NT76
I will resume my issue, maybe my explanations haven't been clear.
The machine worked with Linuxcnc 2.7 for over 4 years but without THC.

Now I have installed debian with 2.8 and the THC150. Stepconf doesn't configure correctly the two motors on the Y axle. I have done the modifications in the ini and hal as explained by RODW and TOMMYLIGHT in the forum.

I have attached a picture of the limit switches of the Z Axis. The torch is mounted floating with the springs and has a separate limit switch.

My issue is that the Z Axis does not react while activating the limit switch during homing prcedure. What result in a crash in the table. I prefer the crash in the table then crashing in the other direction as this could damage my Z axis.
With the linuxcnc 2.7 I removed the torch for homing ( I have too otherwise it crashed), the lower limit switch was hit during homing twice and the machine moved up again on the defined position.

The INI
PAUSED_MOTION_SPEED = 50
TORCH_PULSE_TIME = 1.0
TWOPASS = ON
HALUI = halui

[DISPLAY]
DISPLAY = axis
TOOL_EDITOR = tooledit x y
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 3.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 30.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/jango/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
TOOL_EDITOR = tooledit x y
EMBED_TAB_NAME = Extras
EMBED_TAB_COMMAND = gladevcp -c plasmac_wizards -x {XID} -u ./plasmac/plasmac_wizards.py ./plasmac/plasmac_wizards.glade
EMBED_TAB_NAME = Extras
EMBED_TAB_COMMAND = gladevcp -c plasmac_wizards -x {XID} -u ./plasmac/plasmac_wizards.py ./plasmac/plasmac_wizards.glade
OPEN_FILE = ""
CYCLE_TIME = 0.1
USER_COMMAND_FILE = ./plasmac/plasmac_axis.py
EMBED_TAB_NAME = Statistics
EMBED_TAB_COMMAND = gladevcp -c plasmac_stats -x {XID} -u ./plasmac/plasmac_stats.py -H ./plasmac/plasmac_stats.hal ./plasmac/plasmac_stats.glade

EMBED_TAB_NAME = Run
EMBED_TAB_COMMAND = gladevcp -c plasmac_run -x {XID} -u ./plasmac/plasmac_run.py -H ./plasmac/plasmac_run.hal ./plasmac/plasmac_run_tab.glade
EMBED_TAB_NAME = Config
EMBED_TAB_COMMAND = gladevcp -c plasmac_config -x {XID} -u ./plasmac/plasmac_config.py -H ./plasmac/plasmac_config.hal ./plasmac/plasmac_config.glade
EMBED_TAB_NAME = Extras
EMBED_TAB_COMMAND = gladevcp -c plasmac_wizards -x {XID} -u ./plasmac/plasmac_wizards.py ./plasmac/plasmac_wizards.glade

[EMC]
MACHINE = BurniTHC
DEBUG = 0
VERSION = 1.1

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ
# kinstype=both

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000

[TRAJ]
SPINDLES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 3.00
MAX_LINEAR_VELOCITY = 25.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_X]
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
MAX_VELOCITY = 240.0
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
MAX_ACCELERATION = 800.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -10.0
MAX_LIMIT = 1010.0

[JOINT_0]
#jb 2 lines
HOME_IS_SHARED = 1
HOME_IGNORE_LIMITS = 1
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -10.0
MAX_LIMIT = 1010.0
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -10.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = 1

[AXIS_Y]
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
MAX_VELOCITY = 240.0
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
# set to double the value in the corresponding joint
MAX_ACCELERATION = 800.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -30.0
MAX_LIMIT = 2020.0

[JOINT_1]
HOME_IS_SHARED = 1
HOME_IGNORE_LIMITS = 1
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -30.0
MAX_LIMIT = 2020.0
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -30.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = -2

[JOINT_2]
HOME_IS_SHARED = 1
HOME_IGNORE_LIMITS = 1
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -30.0
MAX_LIMIT = 2020.0
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25

HOME_OFFSET = -30.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = -2

[AXIS_Z]
# set to double the value in the corresponding joint
MAX_VELOCITY = 60.0
# set to double the value in the corresponding joint
MAX_ACCELERATION = 200.0
# shares the above two equally between the joint and the offset
OFFSET_AV_RATIO = 0.5
MIN_LIMIT = -20.0
MAX_LIMIT = 180.0

[JOINT_3]
HOME_IS_SHARED = 1
HOME_IGNORE_LIMITS = 1
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -20.0
MAX_LIMIT = 180.0
MAX_VELOCITY = 30.0
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 100.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = -20.000000
HOME_SEARCH_VEL = -15.000000
HOME_LATCH_VEL = -5.000000
HOME_SEQUENCE = 0

And the HAL
# Generated by stepconf 1.1 at Sun Oct 25 17:37:13 2020
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hal_parport cfg="0x378 out"
loadrt stepgen step_type=0,0,0,0
loadrt lut5

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf lut5.0 servo-thread

net probe-in => motion.probe-input

net estop-out => parport.0.pin-01-out
setp parport.0.pin-02-out-invert 1
net xdir => parport.0.pin-02-out
net xstep => parport.0.pin-03-out
setp parport.0.pin-04-out-invert 1
net ydir => parport.0.pin-04-out
net ystep => parport.0.pin-05-out
net zdir => parport.0.pin-06-out
net zstep => parport.0.pin-07-out


setp parport.0.pin-08-out-invert 1
net adir => parport.0.pin-08-out
net astep => parport.0.pin-09-out
net all-limit-home <= parport.0.pin-10-in-not

setp lut5.0.function 0x10000
net all-limit-home => lut5.0.in-4
net all-limit <= lut5.0.out
net homing-x <= joint.0.homing => lut5.0.in-0
net homing-y <= joint.1.homing => lut5.0.in-1

net homing-z <= joint.3.homing => lut5.0.in-2

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 15500
setp stepgen.0.dirsetup 20000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net all-limit-home => joint.0.home-sw-in
net all-limit => joint.0.neg-lim-sw-in
net all-limit => joint.0.pos-lim-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 15500
setp stepgen.1.dirsetup 20000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net all-limit-home => joint.1.home-sw-in
net all-limit => joint.1.neg-lim-sw-in
net all-limit => joint.1.pos-lim-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 15500
setp stepgen.2.dirsetup 20000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net apos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net apos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net astep <= stepgen.2.step
net adir <= stepgen.2.dir
net aenable joint.2.amp-enable-out => stepgen.2.enable
net all-limit-home => joint.2.home-sw-in
net all-limit => joint.2.neg-lim-sw-in
net all-limit => joint.2.pos-lim-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 15500
setp stepgen.3.dirsetup 20000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable
net all-limit-home => joint.2.home-sw-in
net all-limit => joint.3.neg-lim-sw-in
net all-limit => joint.3.pos-lim-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

net tool:change iocontrol.0.tool-change => iocontrol.0.tool-changed
net tool:prep iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Last edit: 5 years 11 months ago by Jean NT76.

Please Log in or Create an account to join the conversation.

More
5 years 11 months ago #188156 by phillc54
Can you attach a compressed copy of the complete config directory.

Please Log in or Create an account to join the conversation.

More
5 years 11 months ago #188183 by Jean NT76
The complete config file directory:

Please Log in or Create an account to join the conversation.

More
5 years 11 months ago #188284 by phillc54

Jean NT76 wrote: The complete config file directory:

This config works fine in a sim environment. I don't have limits so I can't test it more than that. Have you checked your the hal pins to make sure that all the switches are connected to the correct pin. Does your Z axis move in the correct direction with the jog buttons?

Please Log in or Create an account to join the conversation.

Moderators: snowgoer540
Time to create page: 0.071 seconds
Powered by Kunena Forum