Mesa 7i95

More
09 Oct 2021 21:24 - 09 Oct 2021 21:28 #222692 by PCW
Replied by PCW on topic Mesa 7i95
That does not make any sense really, you should get an immediate
error on disconnection:

hm2/hm2_7i95.0: error finishing read! iter=6015

and if you were moving or tried to move, an immediate following error:

joint 2 following error
emc/task/taskintf.cc 948: Error on joint 2, command number 131




 
Last edit: 09 Oct 2021 21:28 by PCW.

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

More
10 Oct 2021 07:03 #222717 by mittim
Replied by mittim on topic Mesa 7i95
This is what my readhmid gives out:
Configuration Name: HOSTMOT2

General configuration information:

  BoardName : MESA7I95
  FPGA Size: 9 KGates
  FPGA Pins: 144
  Number of IO Ports: 2
  Width of one I/O port: 29
  Clock Low frequency: 100.0000 MHz
  Clock High frequency: 200.0000 MHz
  IDROM Type: 3
  Instance Stride 0: 4
  Instance Stride 1: 64
  Register Stride 0: 256
  Register Stride 1: 256

Modules in configuration:

  Module: DPLL
  There are 1 of DPLL in configuration
  Version: 0
  Registers: 7
  BaseAddress: 7000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: WatchDog
  There are 1 of WatchDog in configuration
  Version: 0
  Registers: 3
  BaseAddress: 0C00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: IOPort
  There are 2 of IOPort in configuration
  Version: 0
  Registers: 5
  BaseAddress: 1000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCount
  There are 6 of MuxedQCount in configuration
  Version: 3
  Registers: 5
  BaseAddress: 3600
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCountSel
  There are 1 of MuxedQCountSel in configuration
  Version: 0
  Registers: 0
  BaseAddress: 0000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSerial
  There are 1 of SSerial in configuration
  Version: 0
  Registers: 6
  BaseAddress: 5B00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 64 bytes

  Module: StepGen
  There are 6 of StepGen in configuration
  Version: 2
  Registers: 10
  BaseAddress: 2000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: SSR
  There are 1 of SSR in configuration
  Version: 0
  Registers: 2
  BaseAddress: 7D00
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: InMux
  There are 1 of InMux in configuration
  Version: 0
  Registers: 5
  BaseAddress: 8000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: LED
  There are 1 of LED in configuration
  Version: 0
  Registers: 1
  BaseAddress: 0200
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for Step/DIR+Serial+Encoders
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

TB3-2,3                 0   IOPort       StepGen          0        Step/Table1     (Out)
TB3-4,5                 1   IOPort       StepGen          0        Dir/Table2      (Out)
TB3-8,9                 2   IOPort       StepGen          1        Step/Table1     (Out)
TB3-10,11               3   IOPort       StepGen          1        Dir/Table2      (Out)
TB3-14,15               4   IOPort       StepGen          2        Step/Table1     (Out)
TB3-16,17               5   IOPort       StepGen          2        Dir/Table2      (Out)
TB3-20,21               6   IOPort       StepGen          3        Step/Table1     (Out)
TB3-22,23               7   IOPort       StepGen          3        Dir/Table2      (Out)
TB4-2,3                 8   IOPort       StepGen          4        Step/Table1     (Out)
TB4-4,5                 9   IOPort       StepGen          4        Dir/Table2      (Out)
TB4-8,9                10   IOPort       StepGen          5        Step/Table1     (Out)
TB4-10,11              11   IOPort       StepGen          5        Dir/Table2      (Out)
TB2-14,15              12   IOPort       SSerial          0        RXData0         (In)
TB4-16,17              13   IOPort       SSerial          0        TXData0         (Out)
Internal               14   IOPort       SSerial          0        TXEn0           (Out)
TB4-20,21              15   IOPort       SSerial          0        RXData1         (In)
TB4-22,23              16   IOPort       SSerial          0        TXData1         (Out)
Internal               17   IOPort       SSerial          0        TXEn1           (Out)
TB1-1,2,9,10           18   IOPort       MuxedQCount      0        MuxQ-A          (In)
TB1-4,5,12,13          19   IOPort       MuxedQCount      0        MuxQ-B          (In)
TB1-7,8,15,16          20   IOPort       MuxedQCount      0        MuxQ-IDX        (In)
TB1-17,18 TB2-1,2      21   IOPort       MuxedQCount      1        MuxQ-A          (In)
TB1-20,21 TB2-4,5      22   IOPort       MuxedQCount      1        MuxQ-B          (In)
TB1-23,24,TB2-7,8      23   IOPort       MuxedQCount      1        MuxQ-IDX        (In)
TB2-9,10,17,18         24   IOPort       MuxedQCount      2        MuxQ-A          (In)
TB2-11,12,20,21        25   IOPort       MuxedQCount      2        MuxQ-B          (In)
TB2-15,16,23,24        26   IOPort       MuxedQCount      2        MuxQ-IDX        (In)
Internal               27   IOPort       MuxedQCountSel   0        MuxSel0         (Out)
Internal               28   IOPort       InMux            0        Addr0           (Out)

IO Connections for I/O+Expansion
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

Internal               29   IOPort       InMux            0        Addr1           (Out)
Internal               30   IOPort       InMux            0        Addr2           (Out)
Internal               31   IOPort       InMux            0        Addr3           (Out)
Internal               32   IOPort       InMux            0        Addr4           (Out)
Internal               33   IOPort       InMux            0        Data0           (In)
TB3 13,14              34   IOPort       SSR              0        Out-00          (Out)
TB3 15,16              35   IOPort       SSR              0        Out-01          (Out)
TB3 17,18              36   IOPort       SSR              0        Out-02          (Out)
TB3-19,20              37   IOPort       SSR              0        Out-03          (Out)
TB3-21,22              38   IOPort       SSR              0        Out-04          (Out)
TB3-23,24              39   IOPort       SSR              0        Out-05          (Out)
Internal               40   IOPort       SSR              0        AC Ref          (Out)
P1-01/DB25-01          41   IOPort       None           
P1-02/DB25-14          42   IOPort       None           
P1-03/DB25-02          43   IOPort       None           
P1-04/DB25-15          44   IOPort       None           
P1-05/DB25-03          45   IOPort       None           
P1-06/DB25-16          46   IOPort       None           
P1-07/DB25-04          47   IOPort       None           
P1-08/DB25-17          48   IOPort       None           
P1-09/DB25-05          49   IOPort       None           
P1-11/DB25-06          50   IOPort       None           
P1-13/DB25-07          51   IOPort       None           
P1-15/DB25-08          52   IOPort       None           
P1-17/DB25-09          53   IOPort       None           
P1-19/DB25-10          54   IOPort       None           
P1-21/DB25-11          55   IOPort       None           
P1-23/DB25-12          56   IOPort       None           
P1-25/DB25-13          57   IOPort       None 

 

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

More
10 Oct 2021 07:19 #222718 by mittim
Replied by mittim on topic Mesa 7i95
I deleted all .ini and .hal files ran pncconf and stepconf again, changed "7i76" to "7i75" and now I´m getting stepgen outputs.

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

More
10 Oct 2021 11:52 #222741 by mittim
Replied by mittim on topic Mesa 7i95
I am currently trying to edit the .hal and .ini to my gantry style Y-Axes. Y on joint1 and Y2 on joint2. Motor connected to joint1 does move, while motor on joint2 does not. Also there is no movement in the DRO when moving Y.
# Erstellt von PNCconf am Sun Oct 10 09:27:11 2021
# Using LinuxCNC version:  Master (2.9)
# Änderungen an dieser Datei werden beim nächsten
# 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=6 sserial_port_0=0xxxxx" 
setp    hm2_7i95.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.a,pid.c,pid.s

addf hm2_7i95.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.a.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf hm2_7i95.0.write         servo-thread

# external output signals


# external input signals


#*******************
#  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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.x.maxerror 0.012700

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_7i95.0.stepgen.00.dirsetup        [JOINT_0]DIRSETUP
setp   hm2_7i95.0.stepgen.00.dirhold         [JOINT_0]DIRHOLD
setp   hm2_7i95.0.stepgen.00.steplen         [JOINT_0]STEPLEN
setp   hm2_7i95.0.stepgen.00.stepspace       [JOINT_0]STEPSPACE
setp   hm2_7i95.0.stepgen.00.position-scale  [JOINT_0]STEP_SCALE
setp   hm2_7i95.0.stepgen.00.step_type        0
setp   hm2_7i95.0.stepgen.00.control-type     1
setp   hm2_7i95.0.stepgen.00.maxaccel         [JOINT_0]STEPGEN_MAXACCEL
setp   hm2_7i95.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_7i95.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_7i95.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_7i95.0.stepgen.00.enable

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

net x-home-sw     =>  joint.0.home-sw-in
net x-neg-limit     =>  joint.0.neg-lim-sw-in
net x-pos-limit     =>  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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.y.maxerror 0.012700

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_7i95.0.stepgen.01.dirsetup        [JOINT_1]DIRSETUP
setp   hm2_7i95.0.stepgen.01.dirhold         [JOINT_1]DIRHOLD
setp   hm2_7i95.0.stepgen.01.steplen         [JOINT_1]STEPLEN
setp   hm2_7i95.0.stepgen.01.stepspace       [JOINT_1]STEPSPACE
setp   hm2_7i95.0.stepgen.01.position-scale  [JOINT_1]STEP_SCALE
setp   hm2_7i95.0.stepgen.01.step_type        0
setp   hm2_7i95.0.stepgen.01.control-type     1
setp   hm2_7i95.0.stepgen.01.maxaccel         [JOINT_1]STEPGEN_MAXACCEL
setp   hm2_7i95.0.stepgen.01.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_7i95.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_7i95.0.stepgen.01.position-fb
net y-pos-fb     => joint.1.motor-pos-fb
net y-enable     <= joint.1.amp-enable-out
net y-enable     => hm2_7i95.0.stepgen.01.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 y-pos-limit     =>  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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.y2.maxerror 0.012700

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_7i95.0.stepgen.02.dirsetup        [JOINT_2]DIRSETUP
setp   hm2_7i95.0.stepgen.02.dirhold         [JOINT_2]DIRHOLD
setp   hm2_7i95.0.stepgen.02.steplen         [JOINT_2]STEPLEN
setp   hm2_7i95.0.stepgen.02.stepspace       [JOINT_2]STEPSPACE
setp   hm2_7i95.0.stepgen.02.position-scale  [JOINT_2]STEP_SCALE
setp   hm2_7i95.0.stepgen.02.step_type       0
setp   hm2_7i95.0.stepgen.02.control-type    1
setp   hm2_7i95.0.stepgen.02.maxaccel        [JOINT_2]STEPGEN_MAXACCEL
setp   hm2_7i95.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_7i95.0.stepgen.02.velocity-cmd
net y2-pos-fb     <= hm2_7i95.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_7i95.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 y2-pos-limit     =>  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
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.z.maxerror 0.012700

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_7i95.0.stepgen.03.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_7i95.0.stepgen.03.dirhold         [JOINT_3]DIRHOLD
setp   hm2_7i95.0.stepgen.03.steplen         [JOINT_3]STEPLEN
setp   hm2_7i95.0.stepgen.03.stepspace       [JOINT_3]STEPSPACE
setp   hm2_7i95.0.stepgen.03.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_7i95.0.stepgen.03.step_type        0
setp   hm2_7i95.0.stepgen.03.control-type     1
setp   hm2_7i95.0.stepgen.03.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_7i95.0.stepgen.03.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_7i95.0.stepgen.03.velocity-cmd
net z-pos-fb     <= hm2_7i95.0.stepgen.03.position-fb
net z-pos-fb     => joint.3.motor-pos-fb
net z-enable     <= joint.3.amp-enable-out
net z-enable     => hm2_7i95.0.stepgen.03.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 z-pos-limit     =>  joint.3.pos-lim-sw-in

#*******************
#  AXIS A JOINT 4
#*******************

setp   pid.a.Pgain     [JOINT_4]P
setp   pid.a.Igain     [JOINT_4]I
setp   pid.a.Dgain     [JOINT_4]D
setp   pid.a.bias      [JOINT_4]BIAS
setp   pid.a.FF0       [JOINT_4]FF0
setp   pid.a.FF1       [JOINT_4]FF1
setp   pid.a.FF2       [JOINT_4]FF2
setp   pid.a.deadband  [JOINT_4]DEADBAND
setp   pid.a.maxoutput [JOINT_4]MAX_OUTPUT
setp   pid.a.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.a.maxerror 0.012700

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

# Step Gen signals/setup

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

# ---closedloop stepper signals---

net a-pos-cmd    <= joint.4.motor-pos-cmd
net a-vel-cmd    <= joint.4.vel-cmd
net a-output     <= hm2_7i95.0.stepgen.04.velocity-cmd
net a-pos-fb     <= hm2_7i95.0.stepgen.04.position-fb
net a-pos-fb     => joint.4.motor-pos-fb
net a-enable     <= joint.4.amp-enable-out
net a-enable     => hm2_7i95.0.stepgen.04.enable

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

net a-home-sw     =>  joint.4.home-sw-in
net a-neg-limit     =>  joint.4.neg-lim-sw-in
net a-pos-limit     =>  joint.4.pos-lim-sw-in

#*******************
#  AXIS C JOINT 5
#*******************

setp   pid.c.Pgain     [JOINT_5]P
setp   pid.c.Igain     [JOINT_5]I
setp   pid.c.Dgain     [JOINT_5]D
setp   pid.c.bias      [JOINT_5]BIAS
setp   pid.c.FF0       [JOINT_5]FF0
setp   pid.c.FF1       [JOINT_5]FF1
setp   pid.c.FF2       [JOINT_5]FF2
setp   pid.c.deadband  [JOINT_5]DEADBAND
setp   pid.c.maxoutput [JOINT_5]MAX_OUTPUT
setp   pid.c.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.c.maxerror 0.012700

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

# Step Gen signals/setup

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

# ---closedloop stepper signals---

net c-pos-cmd    <= joint.5.motor-pos-cmd
net c-vel-cmd    <= joint.5.vel-cmd
net c-output     <= hm2_7i95.0.stepgen.05.velocity-cmd
net c-pos-fb     <= hm2_7i95.0.stepgen.05.position-fb
net c-pos-fb     => joint.5.motor-pos-fb
net c-enable     <= joint.5.amp-enable-out
net c-enable     => hm2_7i95.0.stepgen.05.enable

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

net c-home-sw     =>  joint.5.home-sw-in
net c-neg-limit     =>  joint.5.neg-lim-sw-in
net c-pos-limit     =>  joint.5.pos-lim-sw-in


#*******************
#  SPINDLE
#*******************

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

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm     => pid.s.command
net spindle-vel-fb-rpm      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs    <=  spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  spindle.0.speed-out
net spindle-vel-cmd-rpm-abs    <=  spindle.0.speed-out-abs
net spindle-enable             <=  spindle.0.on
net spindle-cw                 <=  spindle.0.forward
net spindle-ccw                <=  spindle.0.reverse
net spindle-brake              <=  spindle.0.brake
net spindle-revs               =>  spindle.0.revs
net spindle-at-speed           =>  spindle.0.at-speed
net spindle-vel-fb-rps         =>  spindle.0.speed-in
net spindle-index-enable      <=>  spindle.0.index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


#******************************
# 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 axis-select-a  halui.axis.a.select
net jog-a-pos      halui.axis.a.plus
net jog-a-neg      halui.axis.a.minus
net jog-a-analog   halui.axis.a.analog
net a-is-homed     halui.joint.3.is-homed
net axis-select-c  halui.axis.c.select
net jog-c-pos      halui.axis.c.plus
net jog-c-neg      halui.axis.c.minus
net jog-c-analog   halui.axis.c.analog
net c-is-homed     halui.joint.4.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-out     =>  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
# Erstellt von PNCconf am Sun Oct 10 09:27:11 2021
# Using LinuxCNC version:  Master (2.9)
# Änderungen an dieser Datei werden beim nächsten
# overwritten when you run PNCconf again

[EMC]
MACHINE = my-mill
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/tim/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 6.000000
MAX_LINEAR_VELOCITY = 25.000000
MIN_LINEAR_VELOCITY = 0.500000
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xyzac
CYCLE_TIME = 100

[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_7i95.0

[HAL]
HALUI = halui
HALFILE = my-mill.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]

[KINS]
JOINTS = 6
KINEMATICS = trivkins coordinates=XYYZAC

[TRAJ]
COORDINATES =  XYYZAC
MAX_ANGULAR_VELOCITY = 360.00
DEFAULT_ANGULAR_VELOCITY = 36.00
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 2.50
MAX_LINEAR_VELOCITY = 25.00

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

#******************************************
[AXIS_X]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -0.01
MAX_LIMIT = 200.01

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.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 = 31.25
STEPGEN_MAXACCEL = 937.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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 200.01
HOME_OFFSET = 0.0
#******************************************

#******************************************
[AXIS_Y]
MAX_VELOCITY = 5.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -0.01
MAX_LIMIT = 1000

[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.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 =  10
STEPGEN_MAXACCEL = 937.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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 1001
HOME_OFFSET = 0.0

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.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 = 10
STEPGEN_MAXACCEL = 937.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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -0.01
MAX_LIMIT = 1001
HOME_OFFSET = 0.0
#******************************************

#******************************************
[AXIS_Z]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -100.01
MAX_LIMIT = 0.01

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.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 = 31.25
STEPGEN_MAXACCEL = 937.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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -100.01
MAX_LIMIT = 0.01
HOME_OFFSET = 0.0
#******************************************

#******************************************
[AXIS_A]
MAX_VELOCITY = 3.60
MAX_ACCELERATION = 1200.0
MIN_LIMIT = -1e+59
MAX_LIMIT = 1e+55

[JOINT_4]
TYPE = ANGULAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.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 = 50.00
STEPGEN_MAXACCEL = 1500.00
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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -1e+59
MAX_LIMIT = 1e+55
HOME_OFFSET = 0.0
#******************************************

#******************************************
[AXIS_C]
MAX_VELOCITY = 3.6
MAX_ACCELERATION = 1200.0
MIN_LIMIT = -1e+59
MAX_LIMIT = 1e+55

[JOINT_5]
TYPE = ANGULAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.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 = 50.00
STEPGEN_MAXACCEL = 1500.00
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    = 5000
STEPSPACE  = 5000
STEP_SCALE = 1000.0
MIN_LIMIT = -1e+59
MAX_LIMIT = 1e+55
HOME_OFFSET = 0.0
#******************************************

[SPINDLE_0]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 2000

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

More
10 Oct 2021 14:32 #222749 by PCW
Replied by PCW on topic Mesa 7i95
Is the machine homed?
You should only be able to jog joints (not axis) before being homed

You can trace motion issues back up the chain by looking (via halshow or halscope)
to see if the commanded joint position is changing as expected

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

More
10 Oct 2021 16:34 #222768 by mittim
Replied by mittim on topic Mesa 7i95
Yes, now it´s moving. Thanks

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

More
10 Oct 2021 16:47 #222772 by mittim
Replied by mittim on topic Mesa 7i95
Why do I have to home every single joint before being able to jog and home full axes? Isn´t that dangerous for a gantry type machine, only homing y2 for example?

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

More
10 Oct 2021 17:17 #222774 by PCW
Replied by PCW on topic Mesa 7i95
You would be expected to setup the linked joints to home simultaneously
This is done by using a negative sequence number for linked joints:

linuxcnc.org/docs/html/config/ini-homing.html

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

More
10 Oct 2021 17:33 #222778 by mittim
Replied by mittim on topic Mesa 7i95
Okay, have to look that up. This is what I´m getting right now before and after homing:
 
Attachments:

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

More
10 Oct 2021 17:50 #222783 by rodw
Replied by rodw on topic Mesa 7i95
As Peter says, you need HOME_SEQUENCE=N for each joint in your ini.
Joints 1 & 2 (your Y axis) need to be HOME_SEQUENCE=-1
Joint 3 (your Z) is usually HOME_SEQUENCE=0 so it lifts up out of the way at the beginning
All of the rest could be HOME_SEQUENCE=1 so they all home simulteneously or you could continue the sequence to do them in sequence eg use 1,2,3 to set the order you want.

What does it look like after that?

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

Moderators: PCWjmelson
Time to create page: 0.411 seconds
Powered by Kunena Forum