How to. 2 or more motors on one axis. Gantry

More
15 Feb 2020 22:45 #157496 by J Crowder
I have tried a very basic config just to get my motors to turn adn I keep getting errors. This is the error:
Error report created by /usr/lib/tcltk/linuxcnc/show_errors.tcl:

Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.8.0-pre1-5422-gfb76f66af
Machine configuration directory is '/home/joe/linuxcnc/configs/my_LinuxCNC_machine'
Machine configuration file is 'my_LinuxCNC_machine.ini'
INIFILE=/home/joe/linuxcnc/configs/my_LinuxCNC_machine/my_LinuxCNC_machine.ini
VERSION=1.1
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=halui
DISPLAY=axis
COORDINATES=YYXZ
KINEMATICS=trivkins coordinates=YYXZ
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Starting HAL User Interface program: halui
Found file(REL): ./my_LinuxCNC_machine.hal
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: Hardware address: 00:60:1b:16:01:41
hm2_eth: discovered 7I96
hm2/hm2_7i96.0: Smart Serial Firmware Version 43
hm2/hm2_7i96.0: 51 I/O Pins used:
hm2/hm2_7i96.0: IO Pin 000 (TB3-01): IOPort
hm2/hm2_7i96.0: IO Pin 001 (TB3-02): IOPort
hm2/hm2_7i96.0: IO Pin 002 (TB3-03): IOPort
hm2/hm2_7i96.0: IO Pin 003 (TB3-04): IOPort
hm2/hm2_7i96.0: IO Pin 004 (TB3-05): IOPort
hm2/hm2_7i96.0: IO Pin 005 (TB3-06): IOPort
hm2/hm2_7i96.0: IO Pin 006 (TB3-07): IOPort
hm2/hm2_7i96.0: IO Pin 007 (TB3-08): IOPort
hm2/hm2_7i96.0: IO Pin 008 (TB3-09): IOPort
hm2/hm2_7i96.0: IO Pin 009 (TB3-10): IOPort
hm2/hm2_7i96.0: IO Pin 010 (TB3-11): IOPort
hm2/hm2_7i96.0: IO Pin 011 (TB3-13/TB3-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i96.0: IO Pin 012 (TB3-15/TB3-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i96.0: IO Pin 013 (TB3-17/TB3-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i96.0: IO Pin 014 (TB3-19/TB3-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i96.0: IO Pin 015 (TB3-21/TB3-22): SSR #0, pin Out-04 (Output)
hm2/hm2_7i96.0: IO Pin 016 (TB3-23/TB3-24): SSR #0, pin Out-05 (Output)
hm2/hm2_7i96.0: IO Pin 017 (TB1-02/TB1-03): StepGen #0, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 018 (TB1-04/TB1-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 019 (TB1-08/TB1-09): StepGen #1, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 020 (TB1-10/TB1-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 021 (TB1-14/TB1-15): StepGen #2, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 022 (TB1-16/TB1-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 023 (TB1-20/TB1-21): StepGen #3, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 024 (TB1-22-TB1-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 025 (TB2-01/TB2-03): IOPort
hm2/hm2_7i96.0: IO Pin 026 (TB2-04/TB2-05): IOPort
hm2/hm2_7i96.0: IO Pin 027 (TB2-07/TB2-08): Encoder #0, pin A (Input)
hm2/hm2_7i96.0: IO Pin 028 (TB2-10/TB2-11): Encoder #0, pin B (Input)
hm2/hm2_7i96.0: IO Pin 029 (TB2-13/TB2-14): Encoder #0, pin Index (Input)
hm2/hm2_7i96.0: IO Pin 030 (TB2-16/TB2-17): IOPort
hm2/hm2_7i96.0: IO Pin 031 (TB2-18/TB2-19): IOPort
hm2/hm2_7i96.0: IO Pin 032 (internal): IOPort
hm2/hm2_7i96.0: IO Pin 033 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i96.0: IO Pin 034 (P1-01): IOPort
hm2/hm2_7i96.0: IO Pin 035 (P1-02): IOPort
hm2/hm2_7i96.0: IO Pin 036 (P1-03): IOPort
hm2/hm2_7i96.0: IO Pin 037 (P1-04): IOPort
hm2/hm2_7i96.0: IO Pin 038 (P1-05): IOPort
hm2/hm2_7i96.0: IO Pin 039 (P1-06): IOPort
hm2/hm2_7i96.0: IO Pin 040 (P1-07): IOPort
hm2/hm2_7i96.0: IO Pin 041 (P1-08): IOPort
hm2/hm2_7i96.0: IO Pin 042 (P1-09): IOPort
hm2/hm2_7i96.0: IO Pin 043 (P1-11): IOPort
hm2/hm2_7i96.0: IO Pin 044 (P1-13): IOPort
hm2/hm2_7i96.0: IO Pin 045 (P1-15): IOPort
hm2/hm2_7i96.0: IO Pin 046 (P1-17): IOPort
hm2/hm2_7i96.0: IO Pin 047 (P1-19): IOPort
hm2/hm2_7i96.0: IO Pin 048 (P1-21): IOPort
hm2/hm2_7i96.0: IO Pin 049 (P1-23): IOPort
hm2/hm2_7i96.0: IO Pin 050 (P1-25): IOPort
hm2/hm2_7i96.0: registered
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
./my_LinuxCNC_machine.hal:147: Pin 'pid.y2.index-enable' does not exist
19103
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime


I have changed the y2 back to y but I get an error that says that signal is already assigned to a different pin or name.

Thoughts? Help?

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

More
15 Feb 2020 23:23 #157497 by rodw
This error message tells it all.
./my_LinuxCNC_machine.hal:147: Pin 'pid.y2.index-enable' does not exist

I would look in your hal file and check that your pids are named as you expect with loadrt and addf statements
The following user(s) said Thank You: J Crowder

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

More
16 Feb 2020 15:15 #157516 by J Crowder
Thank you. That step was missing or I overlooked it.

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

More
17 Feb 2020 13:57 #157606 by J Crowder
So LINUXCNC finally opens without error but I cannot enable the machine (f2). I create a basic ini and hal and it lets me enable the machine but the motors do not turn when I try to jog them from the home screen.

I got the "no hostmot2" error in pncconf but I was able to turn the motors before I modified the hal and ini for the dual motors. I don't know if that matters since I could move the motors, ping the card, etc.

here is my current hal: (I am not sure that I have the # external input signals correctly assigned, I do not have anything connected to those pins yet)
# Generated by PNCconf at Sat Feb 15 16:03:14 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_eth board_ip="192.168.1.121" config=" num_encoders=1 num_pwmgens=0 num_stepgens=4 sserial_port_0=00xxxx"
setp hm2_7i96.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.s

addf hm2_7i96.0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.y2.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf hm2_7i96.0.write servo-thread

# external output signals


# external input signals

# --- ESTOP-EXT ---
net estop-ext <= hm2_7i96.0.gpio.000.in

# --- PROBE-IN ---
net probe-in <= hm2_7i96.0.gpio.001.in

# --- MIN-HOME-X ---
net min-home-x <= hm2_7i96.0.gpio.002.in

# --- MAX-X ---
net max-x <= hm2_7i96.0.gpio.003.in

# --- MIN-HOME-Y2 ---
net min-home-y2 <= hm2_7i96.0.gpio.005.in

# --- MAX-Y ---
net max-y <= hm2_7i96.0.gpio.006.in

# --- MAX-Y2 ---
net max-y2 <= hm2_7i96.0.gpio.007.in

# --- MAX-Z ---
net max-z <= hm2_7i96.0.gpio.009.in



#*******************
# AXIS X JOINT 0
#*******************

setp pid.x.Pgain [JOINT_0]P
setp pid.x.Igain [JOINT_0]I
setp pid.x.Dgain [JOINT_0]D
setp pid.x.bias [JOINT_0]BIAS
setp pid.x.FF0 [JOINT_0]FF0
setp pid.x.FF1 [JOINT_0]FF1
setp pid.x.FF2 [JOINT_0]FF2
setp pid.x.deadband [JOINT_0]DEADBAND
setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.x.error-previous-target true
setp pid.x.maxerror .0005

net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd => pid.x.command
net x-pos-fb => pid.x.feedback
net x-output <= pid.x.output

# Step Gen signals/setup

setp hm2_7i96.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i96.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i96.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i96.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i96.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i96.0.stepgen.00.step_type 0
setp hm2_7i96.0.stepgen.00.control-type 1
setp hm2_7i96.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_7i96.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output <= hm2_7i96.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i96.0.stepgen.00.position-fb
net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_7i96.0.stepgen.00.enable

# ---setup home / limit switch signals---

net min-home-x => joint.0.home-sw-in
net min-home-x => joint.0.neg-lim-sw-in
net max-x => joint.0.pos-lim-sw-in

#*******************
# AXIS Y JOINT 1
#*******************

setp pid.y.Pgain [JOINT_1]P
setp pid.y.Igain [JOINT_1]I
setp pid.y.Dgain [JOINT_1]D
setp pid.y.bias [JOINT_1]BIAS
setp pid.y.FF0 [JOINT_1]FF0
setp pid.y.FF1 [JOINT_1]FF1
setp pid.y.FF2 [JOINT_1]FF2
setp pid.y.deadband [JOINT_1]DEADBAND
setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .0005

net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-pos-fb => pid.y.feedback
net y-output <= pid.y.output

# Step Gen signals/setup

setp hm2_7i96.0.stepgen.03.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i96.0.stepgen.03.dirhold [JOINT_1]DIRHOLD
setp hm2_7i96.0.stepgen.03.steplen [JOINT_1]STEPLEN
setp hm2_7i96.0.stepgen.03.stepspace [JOINT_1]STEPSPACE
setp hm2_7i96.0.stepgen.03.position-scale [JOINT_1]STEP_SCALE
setp hm2_7i96.0.stepgen.03.step_type 0
setp hm2_7i96.0.stepgen.03.control-type 1
setp hm2_7i96.0.stepgen.03.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_7i96.0.stepgen.03.maxvel [JOINT_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd <= joint.1.motor-pos-cmd
net y-vel-cmd <= joint.1.vel-cmd
net y-output <= hm2_7i96.0.stepgen.03.velocity-cmd
net y-pos-fb <= hm2_7i96.0.stepgen.03.position-fb
net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_7i96.0.stepgen.03.enable

# ---setup home / limit switch signals---

net y-home-sw => joint.1.home-sw-in
net y-neg-limit => joint.1.neg-lim-sw-in
net max-y => joint.1.pos-lim-sw-in

#*******************
# AXIS Y JOINT 2
#*******************

setp pid.y2.Pgain [JOINT_2]P
setp pid.y2.Igain [JOINT_2]I
setp pid.y2.Dgain [JOINT_2]D
setp pid.y2.bias [JOINT_2]BIAS
setp pid.y2.FF0 [JOINT_2]FF0
setp pid.y2.FF1 [JOINT_2]FF1
setp pid.y2.FF2 [JOINT_2]FF2
setp pid.y2.deadband [JOINT_2]DEADBAND
setp pid.y2.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.y2.error-previous-target true
setp pid.y2.maxerror .0005

net y2-index-enable <=> pid.y2.index-enable
net y2-enable => pid.y2.enable
net y2-pos-cmd => pid.y2.command
net y2-pos-fb => pid.y2.feedback
net y2-output <= pid.y2.output

# Step Gen signals/setup

setp hm2_7i96.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_7i96.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_7i96.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_7i96.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_7i96.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_7i96.0.stepgen.02.step_type 0
setp hm2_7i96.0.stepgen.02.control-type 1
setp hm2_7i96.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_7i96.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y2-pos-cmd <= joint.2.motor-pos-cmd
net y2-vel-cmd <= joint.2.vel-cmd
net y2-output <= hm2_7i96.0.stepgen.02.velocity-cmd
net y2-pos-fb <= hm2_7i96.0.stepgen.02.position-fb
net y2-pos-fb => joint.2.motor-pos-fb
net y2-enable <= joint.2.amp-enable-out
net y2-enable => hm2_7i96.0.stepgen.02.enable

# ---setup home / limit switch signals---

net y2-home-sw => joint.2.home-sw-in
net y2-neg-limit => joint.2.neg-lim-sw-in
net max-y2 => joint.2.pos-lim-sw-in

#*******************
# AXIS Z JOINT 3
#*******************

setp pid.z.Pgain [JOINT_3]P
setp pid.z.Igain [JOINT_3]I
setp pid.z.Dgain [JOINT_3]D
setp pid.z.bias [JOINT_3]BIAS
setp pid.z.FF0 [JOINT_3]FF0
setp pid.z.FF1 [JOINT_3]FF1
setp pid.z.FF2 [JOINT_3]FF2
setp pid.z.deadband [JOINT_3]DEADBAND
setp pid.z.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .0005

net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-pos-fb => pid.z.feedback
net z-output <= pid.z.output

# Step Gen signals/setup

setp hm2_7i96.0.stepgen.01.dirsetup [JOINT_3]DIRSETUP
setp hm2_7i96.0.stepgen.01.dirhold [JOINT_3]DIRHOLD
setp hm2_7i96.0.stepgen.01.steplen [JOINT_3]STEPLEN
setp hm2_7i96.0.stepgen.01.stepspace [JOINT_3]STEPSPACE
setp hm2_7i96.0.stepgen.01.position-scale [JOINT_3]STEP_SCALE
setp hm2_7i96.0.stepgen.01.step_type 0
setp hm2_7i96.0.stepgen.01.control-type 1
setp hm2_7i96.0.stepgen.01.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_7i96.0.stepgen.01.maxvel [JOINT_3]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd <= joint.3.motor-pos-cmd
net z-vel-cmd <= joint.3.vel-cmd
net z-output <= hm2_7i96.0.stepgen.01.velocity-cmd
net z-pos-fb <= hm2_7i96.0.stepgen.01.position-fb
net z-pos-fb => joint.3.motor-pos-fb
net z-enable <= joint.3.amp-enable-out
net z-enable => hm2_7i96.0.stepgen.01.enable

# ---setup home / limit switch signals---

net z-home-sw => joint.3.home-sw-in
net z-neg-limit => joint.3.neg-lim-sw-in
net max-z => joint.3.pos-lim-sw-in


#******************************
# connect miscellaneous signals
#******************************

# ---HALUI signals---

net axis-select-x halui.axis.x.select
net jog-x-pos halui.axis.x.plus
net jog-x-neg halui.axis.x.minus
net jog-x-analog halui.axis.x.analog
net x-is-homed halui.joint.0.is-homed
net axis-select-y halui.axis.y.select
net jog-y-pos halui.axis.y.plus
net jog-y-neg halui.axis.y.minus
net jog-y-analog halui.axis.y.analog
net y-is-homed halui.joint.1.is-homed
net axis-select-z halui.axis.z.select
net jog-z-pos halui.axis.z.plus
net jog-z-neg halui.axis.z.minus
net jog-z-analog halui.axis.z.analog
net z-is-homed halui.joint.2.is-homed
net jog-selected-pos halui.axis.selected.plus
net jog-selected-neg halui.axis.selected.minus
net spindle-manual-cw halui.spindle.0.forward
net spindle-manual-ccw halui.spindle.0.reverse
net spindle-manual-stop halui.spindle.0.stop
net machine-is-on halui.machine.is-on
net jog-speed halui.axis.jog-speed
net MDI-mode halui.mode.is-mdi

# ---coolant signals---

net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood

# ---probe signal---

net probe-in => motion.probe-input

# ---motion control signals---

net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled

# ---digital in / out signals---

# ---estop signals---

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

# ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed 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

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

More
17 Feb 2020 13:58 #157607 by J Crowder
And my ini:
# Generated by PNCconf at Sat Feb 15 16:03:14 2020
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

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

[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/joe/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyz

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
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
SERVO_PERIOD = 1000000

[HMOT]
# **** This is for info only ****
CARD0=hm2_7i96.0

[HAL]
HALUI = halui
HALFILE = my_LinuxCNC_machine.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=YYXZ

[TRAJ]
COORDINATES = YYXZ
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 0.10
MAX_LINEAR_VELOCITY = 1.00
NO_FORCE_HOMING = 1

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

#******************************************
[AXIS_X]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 3000
STEPSPACE = 3000
STEP_SCALE = 3200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
#******************************************

#******************************************
[AXIS_Y]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 3000
STEPSPACE = 3000
STEP_SCALE = 3200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
HOME_OFFSET = 0.0

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 3000
STEPSPACE = 3000
STEP_SCALE = 3200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
HOME_OFFSET = 0.0
#******************************************

#******************************************
[AXIS_Z]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -4.0
MAX_LIMIT = 0.0

[JOINT_3]
TYPE = LINEAR
HOME = -4.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 3000
STEPSPACE = 3000
STEP_SCALE = 3200.0
MIN_LIMIT = -4.001
MAX_LIMIT = 0.001
HOME_OFFSET = -4.0
#******************************************

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

More
17 Feb 2020 14:05 #157610 by cmorley
Did you home the machine before trying to jog - I'm not sure if pncconf sets up joint jogging before homing.

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

More
17 Feb 2020 14:26 #157615 by tommylight
Do you have an e-stop wired to mesa board ?
If yes, make the input for it inverted.
If no, ommit the line pertaining to e-stop in hal.

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

More
17 Feb 2020 14:30 #157617 by ikkuh
J Crowder, I sense your frustation, I have been there myself. Had some great help from RODW (and others), and am happy to share my working Mesa 7i96 gantry style XYYZ cnc config with you

My XYYZ config (all files including .hal and so on)


Part of the message is hidden for the guests. Please log in or register to see it.


Originally my machine used two standard parallel BOB's. I wanted something more modern so I bought a Mesa 7i96 card (more in and outputs for example for my new control panel) and started of with a new config made with BigJohn's excelent 7i96 tool. I merged the two configs and am very happy how everything works now. I use gmoccapy and a touchscreen right now, also a xhc-hb04 for remote control. Gmoccapy does automatic tool measuring with each tool-change (and moves the spindle to a convient location to change the router bit).
My configs are not optimized and could do with some clean up. But it works for now and I am happy. I am sure you could use some of the settings for your setup.

BigJohn's tool:
gnipsel.com/linuxcnc/7i96/index.html (much better then the pncconf that is supplied with LinuxCNC in my opinion.)

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

More
17 Feb 2020 15:15 #157621 by J Crowder
I turned off the "require homing " before movement option in pncconf before I modified the files.

I went back a created a very generic config and I can jog the motors from the Linuxcnc home page.

I have a lot to learn still. I am reading everything can but some of it is confusing because it is not my controller/ setup and it takes me down a path that does not work for me.

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

More
17 Feb 2020 15:18 #157622 by J Crowder
I do but I am sure it is not wired correctly. I really need to find some good schematics on how others have wired e-stop, limit switches, etc. I search the forums and get caught following some posts that don't really apply to my board/ setup. I will go in an omit all inputs since none of them are connected currently. Will let you know.

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

Time to create page: 0.109 seconds
Powered by Kunena Forum