Recent PlasmaC Update and No Motion

More
30 Oct 2020 17:47 #187808 by Jean NT76
I have removed the # in the order lines and changed the YES to 1.
This resolved the boot error of linuxcnc.
Nevertheless the z axle still crashed during homing.

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

More
31 Oct 2020 01:42 #187857 by phillc54
I think you would be better off with the home switch near the top of the axis rather than the bottom. When homed you want to be just below the top. If the home switch is at the bottom then the torch could hit the slats before reaching the home switch.

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

More
01 Nov 2020 21:08 #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
01 Nov 2020 21:10 #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
02 Nov 2020 18:06 - 02 Nov 2020 19:32 #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
Attachments:
Last edit: 02 Nov 2020 19:32 by Jean NT76.

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

More
02 Nov 2020 21:41 #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
03 Nov 2020 07:27 #188183 by Jean NT76
The complete config file directory:
Attachments:

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

More
04 Nov 2020 01:49 #188284 by phillc54

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.

More
04 Nov 2020 12:45 #188306 by Jean NT76
Thank you very much.
How do you do the homing without limit switches?

The jog buttons aren't working. Linuxcnc want the homing first.

Testing in the stepconf does not work properly. Y has two motors and cannot be tested. The X doesn't work and Z works properly down and strangely (slip stick) up.

When I am in Linuxcnc and activate one of the limit switches, I get the error message that the a limit switch was hit. Thus I think they must work and are correctly defined with right pin.

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

More
04 Nov 2020 16:57 - 04 Nov 2020 17:05 #188323 by Jean NT76
I have checked now the cabling and found a broken cable.
But now the homing doesn't move the axis anymore, only the value of Z is increasing without movement.

I find it also strange that I cannot manipulate the motors with stepconf. And since the upgrade on linuxcnc 2.8 with debian my latency when up from under 20 000 to over 800 000. (I am using a Dell Latitude D430 with 2GB Ram.)
Last edit: 04 Nov 2020 17:05 by Jean NT76.

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

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