Make A axis a switchable between spindle 1 and an axis for milling

This commit is contained in:
uvos 2023-02-05 22:49:09 +01:00
parent c1392c1b9c
commit afb180ab16
3 changed files with 33 additions and 34 deletions

View file

@ -1,21 +1,21 @@
#Real Time Modules #Real Time Modules
loadrt [KINS]KINEMATICS loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_spindles=[TRAJ]SPINDLES
loadrt hal_parport cfg="0 out" loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000 setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0 ctrl_type=p,p,p,p loadrt stepgen step_type=0,0,0,0,0 ctrl_type=p,p,p,p,v
loadrt ilowpass count=1 loadrt ilowpass count=1
loadrt timedelay count=2 loadrt timedelay count=2
loadrt not count=1 loadrt not count=1
loadrt or2 count=3 loadrt or2 count=3
loadrt xor2 count=2 loadrt xor2 count=2
loadrt mux2 count=1 loadrt mux_generic config="bb2"
loadrt and2 count=1
addf parport.0.read base-thread addf parport.0.read base-thread
addf stepgen.make-pulses base-thread addf stepgen.make-pulses base-thread
addf parport.0.write base-thread addf parport.0.write base-thread
addf parport.0.reset base-thread addf parport.0.reset base-thread
addf mux-gen.00 base-thread
addf stepgen.capture-position servo-thread addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread addf motion-command-handler servo-thread
@ -92,17 +92,34 @@ net max-home-z => joint.2.home-sw-in
net max-home-z => joint.2.pos-lim-sw-in net max-home-z => joint.2.pos-lim-sw-in
#A-Axis #A-Axis
#Absolute
setp stepgen.3.position-scale [JOINT_3]SCALE setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1 setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0 setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 36000 setp stepgen.3.dirhold 36000
setp stepgen.3.dirsetup 36000 setp stepgen.3.dirsetup 36000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net astep <= stepgen.3.step
net adir <= stepgen.3.dir net astepAbs stepgen.3.step => mux-gen.00.in-bit-00
net adir stepgen.3.dir
net aenable joint.3.amp-enable-out => stepgen.3.enable net aenable joint.3.amp-enable-out => stepgen.3.enable
#net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
#net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net astep <= mux-gen.00.out-bit
#Velocity
setp stepgen.4.position-scale [JOINT_3]SCALE
setp stepgen.4.steplen 1
setp stepgen.4.stepspace 0
setp stepgen.4.dirhold 36000
setp stepgen.4.dirsetup 36000
setp stepgen.4.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net spindle-1-enable <= spindle.1.on => mux-gen.00.sel-bit-00 stepgen.4.enable
net spindle-1-cmd spindle.1.speed-out => stepgen.4.velocity-cmd
net astepVel <= stepgen.4.step => mux-gen.00.in-bit-01
net estop-out <= iocontrol.0.user-enable-out net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in net estop-ext => iocontrol.0.emc-enable-in
@ -120,20 +137,8 @@ loadusr -Wn cncextension ./cncextension
#Amp enable #Amp enable
net amp-enable halui.machine.is-on => cncextension.wr0 net amp-enable halui.machine.is-on => cncextension.wr0
#Spindle Control #Main Spindle Control
net spindle-main-fwd spindle.0.forward
addf mux2.0 servo-thread
net spindle-select => mux2.0.sel
sets spindle-select 1
net spindle-cmd-rpm <= spindle.0.speed-out
net spindle-cmd-rpm => mux2.0.in0
setp mux2.0.in1 0
net spindle-axis-rpm mux2.0.out => stepgen.3.velocity-cmd
addf and2.0 servo-thread
net spindle-fwd-and spindle.0.forward => and2.0.in0
net spindle-select => and2.0.in1
net spindle-main-fwd <= and2.0.out
net spindle-main-fwd => cncextension.ch0 net spindle-main-fwd => cncextension.ch0
net spindle-main-fwd => cncextension.opt net spindle-main-fwd => cncextension.opt
@ -163,10 +168,8 @@ net spindle-main-inhibit => or2.1.in1
net spindle-inhibit <= or2.1.out net spindle-inhibit <= or2.1.out
net spindle-inhibit => spindle.0.at-speed net spindle-inhibit => spindle.0.at-speed
net spindle-position <= stepgen.3.position-fb
net spindle-position => spindle.0.revs net spindle-position => spindle.0.revs
net spindle-axis-rpm => spindle.0.speed-in net spindle-axis-rpm => spindle.0.speed-in
net spindle-index-enable encoder.3.index-enable <=> spindle.0.index-enable
#MPG #MPG
setp joint.0.jog-vel-mode 0 setp joint.0.jog-vel-mode 0

View file

@ -29,7 +29,7 @@ INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
PYVCP=pannel.xml PYVCP=pannel.xml
OPEN_FILE ="" OPEN_FILE =""
PROGRAM_PREFIX=/home/philipp/linuxcnc/nc_files PROGRAM_PREFIX=/home/philipp/linuxcnc/nc_files
GEOMETRY=XYZA
[FILTER] [FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
@ -50,7 +50,6 @@ REMAP=M600 modalgroup=6 ngc=tool-job-begin
FEATURES=12 FEATURES=12
[EMCMOT] [EMCMOT]
EMCMOT = motmod EMCMOT = motmod
COMM_TIMEOUT = 1.0 COMM_TIMEOUT = 1.0
BASE_PERIOD = 35000 BASE_PERIOD = 35000
@ -77,7 +76,7 @@ MDI_COMMAND = M400
MDI_COMMAND = o<rectangle_probe> call MDI_COMMAND = o<rectangle_probe> call
[TRAJ] [TRAJ]
SPINDLES = 2
COORDINATES = XYZA COORDINATES = XYZA
LINEAR_UNITS = mm LINEAR_UNITS = mm
ANGULAR_UNITS = degree ANGULAR_UNITS = degree
@ -170,17 +169,17 @@ HOME_SEQUENCE = 0
[AXIS_A] [AXIS_A]
MIN_LIMIT = -99999 MIN_LIMIT = -99999
MAX_LIMIT = 99999 MAX_LIMIT = 99999
MAX_VELOCITY = 3.33 MAX_VELOCITY = 500
MAX_ACCELERATION = 2000.0 MAX_ACCELERATION = 2000.0
[JOINT_3] [JOINT_3]
TYPE = ANGULAR TYPE = ANGULAR
HOME = 0.0 HOME = 0.0
MAX_VELOCITY = 3.33 MAX_VELOCITY = 500
MAX_ACCELERATION = 2000.0 MAX_ACCELERATION = 2000.0
STEPGEN_MAXACCEL = 2500.0 STEPGEN_MAXACCEL = 2500.0
#SCALE = 4.6296 #old scale maybe accurate for absolute positon mode? SCALE = 4.6296
SCALE = 27.7776 #SCALE = 4.86
FERROR = 1 FERROR = 1
MIN_FERROR = .25 MIN_FERROR = .25
MIN_LIMIT = -99999 MIN_LIMIT = -99999

View file

@ -3,9 +3,6 @@
net mpg pyvcp.mpg-chkbtn => cncextension.enableMpg net mpg pyvcp.mpg-chkbtn => cncextension.enableMpg
#spindle
net spindle-select <= pyvcp.spindle-select.Milling
# Vacuume and coolant # Vacuume and coolant
addf xor2.0 servo-thread addf xor2.0 servo-thread
net sigVacuumeBtn pyvcp.vacuume-chkbtn => xor2.0.in0 net sigVacuumeBtn pyvcp.vacuume-chkbtn => xor2.0.in0