Advanced Search

Search Results (Searched for: 7i76e)

11 Mar 2024 22:20
Replied by PCW on topic 7i76e to Durapulse connection

7i76e to Durapulse connection

Category: Driver Boards

That's possibly an ini file or GUI setup error.
Can you post your main hal file, ini file, and any postgui hal file?

Sounds like you have a maximum spindle speed limit
somewhere in your configuration files
11 Mar 2024 22:11

7i76e to Durapulse connection

Category: Driver Boards

The spindle started and then stopped:

Err: out of range value for  spindle-speed
TCL error in asynchronous code:

    while executing
"139985691625088updater"
    ("after" script)
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
 
11 Mar 2024 22:05
11 Mar 2024 22:04

7i76e to Durapulse connection

Category: Driver Boards

You mean M3 S12000 from the MDI?
11 Mar 2024 21:56
Replied by PCW on topic 7i76e to Durapulse connection

7i76e to Durapulse connection

Category: Driver Boards

OK that looks reasonable for a 1 RPM commanded speed
Can you try at 12000 RPM?

(and measure the SPINOUT vs SPIN- voltage at 12000 RPM)
11 Mar 2024 21:47

7i76e to Durapulse connection

Category: Driver Boards

andy@file03:~$ cat /home/uploads/spindle.txt
Loaded HAL Components:
ID      Type  Name                                            PID   State

Component Pins:
Owner   Type  Dir         Value  Name
    31  bit   IN          FALSE  spindle.0.amp-fault-in
    31  bit   IN           TRUE  spindle.0.at-speed <== spindle-at-speed
    31  bit   OUT         FALSE  spindle.0.brake ==> spindle-brake
    31  bit   OUT          TRUE  spindle.0.forward ==> spindle-cw
    31  bit   I/O         FALSE  spindle.0.index-enable <=> spindle-index-enable
    31  bit   IN          FALSE  spindle.0.inhibit
    31  bit   IN          FALSE  spindle.0.is-oriented
    31  bit   OUT         FALSE  spindle.0.locked
    31  bit   OUT          TRUE  spindle.0.on ==> spindle-enable
    31  bit   OUT         FALSE  spindle.0.orient
    31  float OUT             0  spindle.0.orient-angle
    31  s32   IN              0  spindle.0.orient-fault
    31  s32   OUT             0  spindle.0.orient-mode
    31  bit   OUT         FALSE  spindle.0.reverse ==> spindle-ccw
    31  float IN              0  spindle.0.revs <== spindle-revs
    31  float OUT    0.01666667  spindle.0.speed-cmd-rps
    31  float IN              0  spindle.0.speed-in <== spindle-vel-fb-rps
    31  float OUT             1  spindle.0.speed-out ==> spindle-vel-cmd-rpm
    31  float OUT             1  spindle.0.speed-out-abs ==> spindle-vel-cmd-rpm-abs
    31  float OUT    0.01666667  spindle.0.speed-out-rps ==> spindle-vel-cmd-rps
    31  float OUT    0.01666667  spindle.0.speed-out-rps-abs ==> spindle-vel-cmd-rps-abs

Pin Aliases:
 Alias                                            Original Name

Signals:
Type          Value  Name     (linked to)
bit            TRUE  spindle-at-speed
                         ==> pyvcp.spindle-at-speed-led
                         ==> spindle.0.at-speed
bit           FALSE  spindle-brake
                         <== spindle.0.brake
bit           FALSE  spindle-ccw
                         ==> hm2_7i76e.0.7i76.0.0.spindir
                         <== spindle.0.reverse
bit            TRUE  spindle-cw
                         <== spindle.0.forward
bit            TRUE  spindle-enable
                         ==> hm2_7i76e.0.7i76.0.0.spinena
                         ==> pid.s.enable
                         <== spindle.0.on
bit           FALSE  spindle-index-enable
                         ==> pid.s.index-enable
                         <=> spindle.0.index-enable
bit           FALSE  spindle-manual-ccw
                         ==> halui.spindle.0.reverse
bit           FALSE  spindle-manual-cw
                         ==> halui.spindle.0.forward
bit           FALSE  spindle-manual-stop
                         ==> halui.spindle.0.stop
float             1  spindle-output
                         ==> hm2_7i76e.0.7i76.0.0.spinout
                         <== pid.s.output
float             0  spindle-revs
                         ==> spindle.0.revs
float             1  spindle-vel-cmd-rpm
                         <== spindle.0.speed-out
float             1  spindle-vel-cmd-rpm-abs
                         ==> pid.s.command
                         ==> pyvcp.spindle-speed
                         <== spindle.0.speed-out-abs
float    0.01666667  spindle-vel-cmd-rps
                         <== spindle.0.speed-out-rps
float    0.01666667  spindle-vel-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
float             0  spindle-vel-fb-rpm-abs
                         ==> pid.s.feedback
float             0  spindle-vel-fb-rps
                         ==> spindle.0.speed-in

Parameters:
Owner   Type  Dir         Value  Name

Parameter Aliases:
 Alias                                            Original Name

Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name

Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
 
11 Mar 2024 21:39

7i76e to Durapulse connection

Category: Driver Boards

Anything that I may have missed in here??

# Generated by PNCconf at Wed Nov  1 13:06:00 2023
# Using LinuxCNC version:  2.10.0~pre0
# 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="10.10.10.10" config="num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=21xxxxxx" 
setp   hm2_7i76e.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.y2,pid.z,pid.w,pid.s
loadrt abs names=abs.spindle
loadrt lowpass names=lowpass.spindle

addf hm2_7i76e.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.w.do-pid-calcs       servo-thread 
addf pid.s.do-pid-calcs       servo-thread 
addf abs.spindle              servo-thread 
addf lowpass.spindle          servo-thread 
addf hm2_7i76e.0.write        servo-thread 
                                                         
setp hm2_7i76e.0.dpll.01.timer-us -50
setp hm2_7i76e.0.stepgen.timer-number 1

# external output signals
#net estop-out   => hm2_7i76e.0.7i76.0.0.output-07
net coolant-flood => hm2_7i76e.0.7i76.0.0.output-06

# external input signals

# --- MIN-HOME-W ---
net min-home-w     <=  hm2_7i76e.0.7i76.0.0.input-09-not

# --- MIN-HOME-X ---
net min-home-x     <=  hm2_7i76e.0.7i76.0.0.input-08-not

# --- MIN-HOME-Y ---
net min-home-y     <=  hm2_7i76e.0.7i76.0.0.input-12-not

# --- PROBE-IN ---
net probe-in     <=  hm2_7i76e.0.7i76.0.0.input-13-not

# --- MIN-HOME-Y2 ---
net min-home-y2     <=  hm2_7i76e.0.7i76.0.0.input-14-not

# --- MIN-HOME-Z ---
net max-home-z     <=  hm2_7i76e.0.7i76.0.0.input-15-not

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

# ---setup home / limit switch signals---
net min-home-y => joint.1.home-sw-in
net min-home-y => joint.1.neg-lim-sw-in
net y-pos-limit => joint.1.pos-lim-sw-in


#*******************
#  Tandem AXIS Y2 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 for tandem axis

setp   hm2_7i76e.0.stepgen.02.dirsetup        [JOINT_2]DIRSETUP
setp   hm2_7i76e.0.stepgen.02.dirhold         [JOINT_2]DIRHOLD
setp   hm2_7i76e.0.stepgen.02.steplen         [JOINT_2]STEPLEN
setp   hm2_7i76e.0.stepgen.02.stepspace       [JOINT_2]STEPSPACE
setp   hm2_7i76e.0.stepgen.02.position-scale  [JOINT_2]STEP_SCALE
setp   hm2_7i76e.0.stepgen.02.step_type        0
setp   hm2_7i76e.0.stepgen.02.control-type     1
setp   hm2_7i76e.0.stepgen.02.maxaccel         [JOINT_2]STEPGEN_MAXACCEL
setp   hm2_7i76e.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_7i76e.0.stepgen.02.velocity-cmd
net y2-pos-fb     <= hm2_7i76e.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_7i76e.0.stepgen.02.enable

# ---setup home / limit switch signals---
net min-home-y2 => joint.2.home-sw-in
net min-home-y2 => 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_7i76e.0.stepgen.03.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_7i76e.0.stepgen.03.dirhold         [JOINT_3]DIRHOLD
setp   hm2_7i76e.0.stepgen.03.steplen         [JOINT_3]STEPLEN
setp   hm2_7i76e.0.stepgen.03.stepspace       [JOINT_3]STEPSPACE
setp   hm2_7i76e.0.stepgen.03.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_7i76e.0.stepgen.03.step_type        0
setp   hm2_7i76e.0.stepgen.03.control-type     1
setp   hm2_7i76e.0.stepgen.03.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_7i76e.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_7i76e.0.stepgen.03.velocity-cmd
net z-pos-fb     <= hm2_7i76e.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_7i76e.0.stepgen.03.enable

# ---setup home / limit switch signals---
net max-home-z  => joint.3.home-sw-in
net max-home-z  => joint.3.neg-lim-sw-in
net z-neg-limit => joint.3.pos-lim-sw-in


#*******************
#  AXIS W JOINT 4
#*******************

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

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

# Step Gen signals/setup

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

# ---closedloop stepper signals---

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

# ---setup home / limit switch signals---
#   net max-home-w  => joint.4.home-sw-in
#   net max-home-w  => joint.4.neg-lim-sw-in
#   net w-neg-limit => joint.4.pos-lim-sw-in
net min-home-w     =>  joint.4.home-sw-in
net min-home-w     =>  joint.4.neg-lim-sw-in
net w-pos-limit    =>  joint.4.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-abs => pid.s.command
net spindle-vel-fb-rpm-abs  => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---digital potentiometer output signals/setup---

setp   hm2_7i76e.0.7i76.0.0.spinout-minlim    [SPINDLE_0]OUTPUT_MIN_LIMIT
setp   hm2_7i76e.0.7i76.0.0.spinout-maxlim    [SPINDLE_0]OUTPUT_MAX_LIMIT
setp   hm2_7i76e.0.7i76.0.0.spinout-scalemax  [SPINDLE_0]OUTPUT_SCALE

net spindle-output      => hm2_7i76e.0.7i76.0.0.spinout
net spindle-enable      => hm2_7i76e.0.7i76.0.0.spinena
net spindle-ccw         => hm2_7i76e.0.7i76.0.0.spindir


# ---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 y2-is-homed    halui.joint.2.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.3.is-homed                            
net axis-select-w  halui.axis.w.select                               
net jog-w-pos      halui.axis.w.plus                                 
net jog-w-neg      halui.axis.w.minus                                
net jog-w-analog   halui.axis.w.analog                               
net w-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---

net tool-change-request    <= iocontrol.0.tool-change
net tool-change-confirmed  => iocontrol.0.tool-changed
net tool-number            <= iocontrol.0.tool-prep-number

#  ---Use external manual tool change dialog---

loadusr -W hal_manualtoolchange                                                                        
net tool-change-request    =>  hal_manualtoolchange.change           
net tool-change-confirmed  <=  hal_manualtoolchange.changed          
net tool-number            =>  hal_manualtoolchange.number           
                                                                                                       
#  ---ignore tool prepare requests---
net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared

 
11 Mar 2024 21:37
Replied by PCW on topic 7i76e to Durapulse connection

7i76e to Durapulse connection

Category: Driver Boards

Can you enable the spindle, set it for 1/2 full speed (12000)
and then post the results of this command (run from a terminal)

halcmd show all spin > spindle.txt

(post spindle.txt here)
11 Mar 2024 21:33

7i76e to Durapulse connection

Category: Driver Boards

Yes, I have it wired up as such.

Pin 1 and Pin 3 = +10.61vdc
Pin 1 and Pin 2 = -12 mV  and this value never changes despite the start up at 83.33hz

The -12 mV is millivolts. So a low.
11 Mar 2024 21:17 - 11 Mar 2024 21:33
Replied by PCW on topic 7i76e to Durapulse connection

7i76e to Durapulse connection

Category: Driver Boards

Analog input

The 7I76E SPIN+,SPINOUT,SPIN- connections
connect to the drives potentiometer connection terminals
usually named something like:

VFD      7I76E
+10V-->SPIN+  potentiometer full speed end
AIN --> SPINOUT potentiometer wiper
GND -->SPIN-  potentiometer zero speed end
11 Mar 2024 20:58

7i76e to Durapulse connection

Category: Driver Boards

One PIN 2(spindle output) of the 7i76e, is that supposed to be connected on the VFD with Analog Input or Analog Output?
11 Mar 2024 16:58
Replied by PCW on topic 7i76e to Durapulse connection

7i76e to Durapulse connection

Category: Driver Boards

Have you checked:

1. The voltage between 7I76E SPIN- and SPIN+
2. The voltage between 7I76E SPIN- and SPINOUT (at various spindle speed settings)
11 Mar 2024 15:51

7i76e to Durapulse connection

Category: Driver Boards

I can control the spindle via the keypad if I config the VFD to do so, no problems.

I can start/stop the spindle with my 7i76e however I cannot change the speed from the 7i76e.
The spindle just ramps up to the START FREQ(83.33Hz) and remains as such even when I click on the plus button in Axis.
The LOWER FREQ is also set to 83.33hz as the spindle docs indicate to not run lower than 5000rpm.

The docs are very well written but, I note that there is confusion around the terminology of AUTO, MANUAL, LOCAL, REMOTE and HOA.

I suspect that the 83.33hz somehow plays a role in the following:
[SPINDLE_0]
P = 0.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 24000.0
OUTPUT_SCALE = 24000
OUTPUT_MIN_LIMIT = 0
OUTPUT_MAX_LIMIT = 24000






 
11 Mar 2024 15:46

mesa7i76e + 7i85s stepper motor + encoder feedback

Category: Driver Boards

thank you meister ,
That's exactly the idea, but how is it configured?
Can you direct me to some specific document?
 

If you use pncconf to create the original hal/ini files, a PID loop will already be setup for each joint.
Changing the joint feedback source and tuning parameters are needed for encoder feedback.
(along with getting the encoder feedback in the correct direction and scaled properly)

Tuning can be done live using the calibrate menu.

_BUT_ as others have mentioned, simple adding encoders to a step/dir system will not solve a
missed step issue (though it can halt the system if this occurs) This is because when a missed
step occurs, the drive had insufficient torque and skipped one or more pole positions (1/50th of a turn)
Having the controller simply add more steps will not fix this (and least not without slowing the motion
significantly so the torque becomes higher)
11 Mar 2024 08:32

mesa7i76e + 7i85s stepper motor + encoder feedback

Category: Driver Boards

Hi Raban,
not realy, i can show you my related part of the .hal
but don't know how to do this with mesa and how to do the real PID-tuning

```
setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAXOUTPUT
setp rio.stepdir15.velocity-scale [JOINT_0]SCALE_OUT
setp rio.stepdir15.position-scale [JOINT_0]SCALE_IN
net j0vel-cmd <= pid.0.output => rio.stepdir15.velocity
net j0pos-cmd <= joint.0.motor-pos-cmd => pid.0.command
net j0pos-fb <= rio.stepdir15.position => joint.0.motor-pos-fb
net j0pos-fb => pid.0.feedback
net j0enable <= joint.0.amp-enable-out => rio.stepdir15.enable
net j0enable => pid.0.enable

```

```
[JOINT_0]
# stepdir15
P = 50.0
I = 0.0
D = 0.0
BIAS = 0.0
FF0 = 0.0
FF1 = 0.0
FF2 = 0.0
DEADBAND = 0.01
MAXOUTPUT = 300
```
Displaying 376 - 390 out of 568 results.
Time to create page: 0.677 seconds
Powered by Kunena Forum