Gantry homing witch XHC_HB04 HandWheel enabled.
07 Oct 2018 14:24 #118512
by Blumax
Gantry homing witch XHC_HB04 HandWheel enabled. was created by Blumax
Hello
I have a 4-axis machine, with two driver / motor / endstop on the Y axis, and LinuxCNC 2.8 (On official LinuxNC 2.7 ISO).
When I start the machine, the user interface displays 0/1/2/3/4 joint for XYYZA, when I do homing it turns into X / Y / Z / A.
All is well, all works!
When I add the line
#INCLUDE XHC_HB04.inc
in the [HAL] section of the file machine.ini,
And after activating this patch manually : github.com/LinuxCNC/linuxcnc/commit/cb93...515812f48d79bf09bcbf
The machine after the homing remains lock on the joints 0/1/2/3/4 and not XYZA.
There are small targets that indicate that the origins have been found.
I would specify, that before I used the handwheel with this same machine but without the kinstype = BOTH and with linuxcnc 2.7
Do you have a solution ?
I have a 4-axis machine, with two driver / motor / endstop on the Y axis, and LinuxCNC 2.8 (On official LinuxNC 2.7 ISO).
When I start the machine, the user interface displays 0/1/2/3/4 joint for XYYZA, when I do homing it turns into X / Y / Z / A.
All is well, all works!
When I add the line
#INCLUDE XHC_HB04.inc
in the [HAL] section of the file machine.ini,
And after activating this patch manually : github.com/LinuxCNC/linuxcnc/commit/cb93...515812f48d79bf09bcbf
The machine after the homing remains lock on the joints 0/1/2/3/4 and not XYZA.
There are small targets that indicate that the origins have been found.
I would specify, that before I used the handwheel with this same machine but without the kinstype = BOTH and with linuxcnc 2.7
Do you have a solution ?
machine.ini
# Generated by stepconf 1.1 at Mon Sep 10 13:20:12 2018
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez Stepconf
[EMC]
MACHINE = TableCNC
DEBUG = 0
VERSION = 1.0
[DISPLAY]
DISPLAY = axis
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 = 11.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 110.00
DEFAULT_ANGULAR_VELOCITY = 1.00
MIN_ANGULAR_VELOCITY = 0
MAX_ANGULAR_VELOCITY = 10.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm .001mm
PROGRAM_PREFIX = /home/blumax/linuxcnc/nc_files
[KINS]
JOINTS = 5
KINEMATICS = trivkins coordinates=XYYZA kinstype=BOTH
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = linuxcnc.var
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000
[HAL]
HALFILE = TableCNC.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
#INCLUDE XHC_HB04.inc
[TRAJ]
COORDINATES = XYZA
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.00
MAX_LINEAR_VELOCITY = 110.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_X]
MAX_VELOCITY = 110.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.001
MAX_LIMIT = 838.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 838.0
MAX_VELOCITY = 110.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 625.0
SCALE = 33.3767964377
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -25.000000
HOME_LATCH_VEL = 14.980467
HOME_SEQUENCE = 1
[AXIS_Y]
MAX_VELOCITY = 110.0
MAX_ACCELERATION = 500.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1425.0
[JOINT_1]
TYPE = LINEAR
HOME = 1425.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1425.0
MAX_VELOCITY = 110.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 625.0
SCALE = 33.2805316344
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 1425.000000
HOME_SEARCH_VEL = 25.000000
HOME_LATCH_VEL = -15.000000
HOME_SEQUENCE = 2
[JOINT_2]
TYPE = LINEAR
HOME = 1425.0
MIN_LIMIT = -0.001
MAX_LIMIT = 1425.0
MAX_VELOCITY = 110.0
MAX_ACCELERATION = 500.0
STEPGEN_MAXACCEL = 625.0
SCALE = 33.2805316344
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 1425.000000
HOME_SEARCH_VEL = 25.000000
HOME_LATCH_VEL = -15.000000
HOME_SEQUENCE = 2
[AXIS_Z]
MAX_VELOCITY = 29.6875
MAX_ACCELERATION = 100.0
MIN_LIMIT = -0.001
MAX_LIMIT = 340.0
[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -0.001
MAX_LIMIT = 340.0
MAX_VELOCITY = 29.6875
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -5.000000
HOME_LATCH_VEL = 1.562500
HOME_SEQUENCE = 0
[AXIS_A]
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 1200.0
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 1200.0
STEPGEN_MAXACCEL = 1500.0
SCALE = 800.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 0.00000
HOME_LATCH_VEL = 0.00000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 3
machine.hal
# Generated by stepconf 1.1 at Mon Sep 10 13:20:12 2018
# Si vous modifiez ce fichier, il sera
# écrasé quand vous relancerez Stepconf
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 2500
loadrt stepgen step_type=0,0,0,0,0
addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset 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
net spindle-cmd-rpm <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed => motion.spindle-at-speed
net probe-in => motion.probe-input
setp parport.0.pin-01-out-invert 1
net xstep => parport.0.pin-01-out
setp parport.0.pin-01-out-reset 1
setp parport.0.pin-02-out-invert 1
net adir => parport.0.pin-02-out
setp parport.0.pin-05-out-invert 1
net astep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
setp parport.0.pin-06-out-invert 1
net yddir => parport.0.pin-06-out
setp parport.0.pin-07-out-invert 1
net zstep => parport.0.pin-07-out
setp parport.0.pin-07-out-reset 1
setp parport.0.pin-08-out-invert 1
net zdir => parport.0.pin-08-out
setp parport.0.pin-09-out-invert 1
net ydstep => parport.0.pin-09-out
setp parport.0.pin-09-out-reset 1
net ygdir => parport.0.pin-14-out
net xdir => parport.0.pin-16-out
setp parport.0.pin-17-out-invert 1
net ygstep => parport.0.pin-17-out
setp parport.0.pin-17-out-reset 1
net probe-in <= parport.0.pin-10-in
net home-x <= parport.0.pin-11-in-not
net home-z <= parport.0.pin-13-in-not
net home-yg <= parport.0.pin-12-in
net home-yd <= parport.0.pin-15-in
setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 40000
setp stepgen.0.dirsetup 80000
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 home-x => joint.0.home-sw-in
setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 40000
setp stepgen.1.dirsetup 80000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ygpos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ygpos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ygstep <= stepgen.1.step
net ygdir <= stepgen.1.dir
net ygenable joint.1.amp-enable-out => stepgen.1.enable
net home-yg => joint.1.home-sw-in
setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 40000
setp stepgen.2.dirsetup 80000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net ydpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net ydpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net ydstep <= stepgen.2.step
net yddir <= stepgen.2.dir
net ydenable joint.2.amp-enable-out => stepgen.2.enable
net home-yd => joint.2.home-sw-in
setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 40000
setp stepgen.3.dirsetup 80000
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 home-z => joint.3.home-sw-in
setp stepgen.4.position-scale [JOINT_4]SCALE
setp stepgen.4.steplen 1
setp stepgen.4.stepspace 0
setp stepgen.4.dirhold 40000
setp stepgen.4.dirsetup 80000
setp stepgen.4.maxaccel [JOINT_4]STEPGEN_MAXACCEL
net apos-cmd joint.4.motor-pos-cmd => stepgen.4.position-cmd
net apos-fb stepgen.4.position-fb => joint.4.motor-pos-fb
net astep <= stepgen.4.step
net adir <= stepgen.4.dir
net aenable joint.4.amp-enable-out => stepgen.4.enable
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
XHC_HB04.inc
#*********************************************************************************************************************
#
# Utilisation d'une Handwheel xhc-hb04 avec LinuxCNC 2.7 (Debian)
#
# Dans le répertoire home/<utilisateur>/linuxcnc/configs/<ma-machine>
#
# 1- Placez une copie du fichier XHC_HB04.inc
#
# 2- Modifiez le fichier <ma-machine>.ini en insérant la ligne ci-dessous (caractère # compris) après la dernière ligne
# de la section [HAL] (probablement en dessous de la ligne "POSTGUI_HALFILE = custom_postgui.hal").
#
# #INCLUDE XHC_HB04.inc
#
# Attention, il faut effectuer cette modification à chaque fois que Stepconf est utilisé car le fichier <ma-machine>.ini
# est réinitialisé par Stepconf.
#
# 3- Dans le fichier XHC_HB04.inc, adaptez à vos préférences les dispositions et commandes et réalisez une nouvelle
# sérigraphie des boutons. La configuration proposée ici me convient pour des découpes de plaques (ctp, balsa, expoxy,
# carbone, etc.) avec une machine 3 axes dont le Gcode provient essentiellment de CamBam (= pas d'axe A).
# J'ai pris l'option de n'utiliser que des valeurs X et Y positives, et en découpe la surface de la plaque étant
# à Z=0 la valeur négative de Z mini est de -30.
#
# Pour plus de détails, consultez :
# - le fichier readme du répertoire usr/share/doc/linuxcnc/examples/sample-configs/sim/axis/xhc-hb04
# on y trouve des informations concernant l'installation sur une distribution autre que Debian
# - http://linuxcnc.org/docs/html/hal/halui_fr.html
# - http://linuxcnc.org/docs/html/man/man1/xhc-hb04.1.html
# - http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Using_A_XHC-HB04_Wireless_MPG_Pendant
# ...Attention toutefois aux infos antérieures à LinuxCNC 2.6 qui peuvent être obsolètes
#
#*********************************************************************************************************************
HALUI = halui
HALFILE = LIB:xhc-hb04.tcl
[XHC_HB04_CONFIG]
layout = 2
coords = x y z a
coefs = 1 1 1 1
scales = 10 10 10 10
threadname = servo-thread
sequence = 3
jogmode = vnormal
require_pendant = yes
inch_or_mm = mm
[XHC_HB04_BUTTONS]
# BOUTONS MACH3
# -------------- --------------
# | reset | stop |
# -------------- -------------- -------------- --------------
# | goto-zero(-i)| start-pause | rewind | probe-z |
# -------------- -------------- -------------- --------------
# | spindle | half(-i) | zero(-i) | safe-z |
# -------------- -------------- -------------- --------------
# | home | macro-1 | macro-2 | macro-3 |
# -------------- -------------- -------------- --------------
# | step | mode | macro-6 | macro-7 |
# -------------- -------------- -------------- --------------
# BOUTONS LINUXCNC
# -------------- --------------
# | A/URGENT | Mode Manuel |
# -------------- -------------- -------------- --------------
# | POM (x/y/z) | START/PAUSE | PASaPAS | STOP |
# -------------- -------------- -------------- --------------
# | BROCHE Start | X maxi | Y maxi | Z maxi |
# -------------- -------------- -------------- --------------
# | BROCHE Stop | X mini | Y mini | Z mini |
# -------------- -------------- -------------- --------------
# | STEP + | STEP - | HOME1 | HOME2 |
# -------------- -------------- -------------- --------------
#-----1ere ligne-----------------------------------------------
reset = halui.estop.activate
stop = halui.mode.manual
#-----2eme ligne-----------------------------------------------
goto-zero = ""
goto-zero-x = halui.joint.0.home
goto-zero-y = halui.joint.1.home
goto-zero-z = halui.joint.2.home
start-pause = std_start_pause
rewind = halui.program.step
probe-z = halui.program.stop
#-----3eme ligne-----------------------------------------------
spindle = halui.spindle.start
half = halui.mdi-command-03
zero = halui.mdi-command-04
safe-z = halui.mdi-command-05
#-----4eme ligne-----------------------------------------------
home = halui.spindle.stop
macro-1 = halui.mdi-command-00
macro-2 = halui.mdi-command-01
macro-3 = halui.mdi-command-02
#-----5eme ligne-----------------------------------------------
step = xhc-hb04.stepsize-up
mode = xhc-hb04.stepsize-down
macro-6 = halui.mdi-command-06
macro-7 = halui.mdi-command-07
[HALUI]
MDI_COMMAND=G0 X0 (00)
MDI_COMMAND=G0 Y0 (01)
MDI_COMMAND=G0 Z20 (02)
MDI_COMMAND=G0 X500 (03)
MDI_COMMAND=G0 Y300 (04)
MDI_COMMAND=G0 Z100 (05)
MDI_COMMAND=G0 X0 Y0 Z50 (06)
MDI_COMMAND=G0 X0 Y300 Z50 (07)
#*********************************************************************************************************************
Please Log in or Create an account to join the conversation.
20 Nov 2018 16:17 #121067
by Blumax
Replied by Blumax on topic Gantry homing witch XHC_HB04 HandWheel enabled.
I find a solution.
I do not know for that reason but it is enough to remove all the lines mentionanat "spindle" of the file xhc-hb04.tcl and the homing is done correctly!
I do not know for that reason but it is enough to remove all the lines mentionanat "spindle" of the file xhc-hb04.tcl and the homing is done correctly!
Please Log in or Create an account to join the conversation.
20 Nov 2018 20:23 - 20 Nov 2018 20:39 #121084
by dgarrett
Replied by dgarrett on topic Gantry homing witch XHC_HB04 HandWheel enabled.
Your photo showsindicating buildbot build number 3850 at commit 88ba2eb.
This commit was made on Sep 6.
Prior to this date, a number of commits were made to incorporate multispindle
functionality begining with commit e3caa92e1
Ref: github.com/LinuxCNC/linuxcnc/commit/e3caa92e1
This commit was followed by a number of updates and bug fixes:
So, the problem you observed may have been fixed by commits made
after your buildbot deb update.
For example, the commit: "5e6943032 Wed Oct 3 07:20:14 2018 -0700 ..."
made changes to the library file xhc-hb04.tcl that could affect your
configuration.
Ref: github.com/LinuxCNC/linuxcnc/commit/5e69...db73e96919e946a389c0
Users of buildbot debs for the master branch may encounter some instability.
It is a good idea to update with consideration of commits made since your
last update especially when substantial changes are made to the master
branch. Commits for the master branch are listed (in order) on github
at:
github.com/LinuxCNC/linuxcnc/commits/master
2.8.0-pre1-3850-g88ba2eb
This commit was made on Sep 6.
$ git show -s 88ba2eb25|grep Date:
Date: Thu Sep 6 15:15:37 2018 +0200
Prior to this date, a number of commits were made to incorporate multispindle
functionality begining with commit e3caa92e1
Ref: github.com/LinuxCNC/linuxcnc/commit/e3caa92e1
This commit was followed by a number of updates and bug fixes:
$ git log --oneline --pretty=format:"%h %ad %s"|cut -b -70|grep -i multispindle
3291d5725 Thu Nov 8 07:37:55 2018 -0700 multispindle: linuxcnctop upda
a2b06c4dc Thu Nov 1 23:32:01 2018 +0000 Multispindle: Remove some debu
58624aab3 Sun Oct 21 13:37:49 2018 +0100 Multispindle: Fix the F9 / F1
2e8f4d3c8 Thu Oct 18 19:13:18 2018 +0100 Multispindle: Further docs up
13434870f Wed Oct 17 23:53:45 2018 +0100 Multispindle: Docs Update
826232c9f Wed Oct 17 23:44:09 2018 +0100 Multispindle: CLean up some c
9b5e9dc3a Wed Oct 17 21:50:03 2018 +0100 Multispindle: add EMCMOT_NUM_
d42d9b097 Tue Oct 16 01:41:52 2018 +0100 Multispindle: Remove debug me
7fb914d19 Tue Oct 16 01:30:24 2018 +0100 Multispindle: Make S commands
5b477ad7e Sun Oct 14 22:36:10 2018 +0100 Multispindle: Make interp_che
bedc7e501 Sun Oct 14 22:36:10 2018 +0100 Multispindle: Make interp_che
5e98296f4 Thu Oct 11 22:58:19 2018 +0100 Multispindle: Fix some wierd
458436175 Tue Oct 9 21:12:57 2018 +0100 Multispindle: Guard against at
eb8d43fad Mon Oct 8 22:27:09 2018 +0100 Multispindle: Fix a bug with s
db55cea24 Thu Oct 4 15:03:58 2018 -0700 Multispindle: update some brok
5e6943032 Wed Oct 3 07:20:14 2018 -0700 Multispindle: update xhc-hb04.
04d8d1d30 Sun Sep 30 10:36:32 2018 +0100 Multispindle: Revert base sim
1fc06379d Sat Sep 29 22:00:13 2018 +0100 Multispindle: Elide some extr
b948dba1a Sat Sep 29 12:14:35 2018 +0100 Multispindle: Change generate
ebb709fc2 Sat Sep 15 14:17:15 2018 +0100 Multispindle: Correct the spi
ac154e06d Fri Sep 28 23:20:52 2018 +0100 Multispindle: Update sample
aa4d20b92 Tue Sep 25 00:35:37 2018 +0100 Multispindle: Modify runtests
5f3c097e5 Mon Sep 24 02:14:05 2018 +0100 multispindle: Update the upda
6431a525b Sun Sep 23 22:10:34 2018 +0100 multispindle: Modify user-int
7d5ccc7b6 Sun Sep 23 22:09:56 2018 +0100 multispindle: Make required c
3f7fdc047 Sun Sep 16 14:37:11 2018 +0100 Multispindle: Switch to using
So, the problem you observed may have been fixed by commits made
after your buildbot deb update.
For example, the commit: "5e6943032 Wed Oct 3 07:20:14 2018 -0700 ..."
made changes to the library file xhc-hb04.tcl that could affect your
configuration.
Ref: github.com/LinuxCNC/linuxcnc/commit/5e69...db73e96919e946a389c0
Users of buildbot debs for the master branch may encounter some instability.
It is a good idea to update with consideration of commits made since your
last update especially when substantial changes are made to the master
branch. Commits for the master branch are listed (in order) on github
at:
github.com/LinuxCNC/linuxcnc/commits/master
Last edit: 20 Nov 2018 20:39 by dgarrett.
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds